<?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>201002</bug_id>
          
          <creation_ts>2019-08-21 15:35:28 -0700</creation_ts>
          <short_desc>Try to recover nicely when getting an unexpected schema in the service workers database</short_desc>
          <delta_ts>2019-08-22 16:28:53 -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>WebKit2</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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1563741</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-08-21 15:35:28 -0700</bug_when>
    <thetext>Try to recover nicely when getting an unexpected schema in the service workers database instead of crashing the network process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563742</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-08-21 15:35:47 -0700</bug_when>
    <thetext>&lt;rdar://problem/54574991&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563746</commentid>
    <comment_count>2</comment_count>
      <attachid>376935</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-08-21 15:38:08 -0700</bug_when>
    <thetext>Created attachment 376935
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563767</commentid>
    <comment_count>3</comment_count>
      <attachid>376941</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-08-21 15:49:25 -0700</bug_when>
    <thetext>Created attachment 376941
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563978</commentid>
    <comment_count>4</comment_count>
      <attachid>376941</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-08-22 00:54:42 -0700</bug_when>
    <thetext>Comment on attachment 376941
Patch

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

&gt; Source/WebCore/workers/service/server/RegistrationDatabase.cpp:173
&gt; +        openSQLiteDatabase(fullFilename);

It seems a bit strange to be able to recover ensureValidRecordsTable but not importRecords error.
An error in importRecords is probably unrecoverable as well. In that case, we currently proceed with zero registration but we will no longer be able to push changes since push changes try to import before pushing changes.

m_database-&gt;open error cases seem more difficult.
Some error cases are recoverable (process suspension) but others are probably not recoverable.
It might be safer to not flush it for now.

We could cover all these cases by calling SQLiteFileSystem::deleteDatabaseFile(fullFilename) in scopeExit conditionally on a boolean storing whether recoverable or not.

As a side note, it seems that if process suspension happens exactly at the time we try to open the database to import the service worker registrations, we will load zero registrations.
Then, when being unsuspended, we will consider that there are zero registrations. At the first push change, we will import the registrations before pushing the changes.
I am not sure this code path is correct. Maybe we should make sure to restart import at unsuspension time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1564157</commentid>
    <comment_count>5</comment_count>
      <attachid>377032</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-08-22 12:03:49 -0700</bug_when>
    <thetext>Created attachment 377032
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1564172</commentid>
    <comment_count>6</comment_count>
      <attachid>377034</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-08-22 12:31:48 -0700</bug_when>
    <thetext>Created attachment 377034
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1564292</commentid>
    <comment_count>7</comment_count>
      <attachid>377034</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-22 16:28:52 -0700</bug_when>
    <thetext>Comment on attachment 377034
Patch

Clearing flags on attachment: 377034

Committed r249035: &lt;https://trac.webkit.org/changeset/249035&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1564293</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-22 16:28:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>376935</attachid>
            <date>2019-08-21 15:38:08 -0700</date>
            <delta_ts>2019-08-21 15:49:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201002-20190821153807.patch</filename>
            <type>text/plain</type>
            <size>9782</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4OTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjZlZmU5Mzg1M2ZmMDJk
YTIxNjU5NjkwMWY3ODljNmM2ZjlkYmE1Yi4uNGExODg5MTI0ODZhYWU1YjM0ZjAwYmNmOTZkNDg1
ODQ2MTMwNTNlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE5LTA4LTIxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgVHJ5IHRvIHJlY292ZXIgbmlj
ZWx5IHdoZW4gZ2V0dGluZyBhbiB1bmV4cGVjdGVkIHNjaGVtYSBpbiB0aGUgc2VydmljZSB3b3Jr
ZXJzIGRhdGFiYXNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDEwMDIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU0NTc0OTkxPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRyeSB0byByZWNvdmVyIG5p
Y2VseSB3aGVuIGdldHRpbmcgYW4gdW5leHBlY3RlZCBzY2hlbWEgaW4gdGhlIHNlcnZpY2Ugd29y
a2VycyBkYXRhYmFzZSBpbnN0ZWFkCisgICAgICAgIG9mIGNyYXNoaW5nIHRoZSBuZXR3b3JrIHBy
b2Nlc3MuIFRvIHJlY292ZXIsIHdlIGRlbGV0ZSB0aGUgZGF0YWJhc2UgZmlsZSBhbmQgcmUtY3Jl
YXRlIGl0LgorCisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25E
YXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZWdpc3RyYXRpb25EYXRhYmFzZTo6b3Bl
blNRTGl0ZURhdGFiYXNlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlZ2lzdHJhdGlvbkRhdGFiYXNl
OjplbnN1cmVWYWxpZFJlY29yZHNUYWJsZSk6CisKIDIwMTktMDgtMjEgIEplciBOb2JsZSAgPGpl
ci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRvcHQgQVZTeXN0ZW1Db250cm9sbGVyX0Fj
dGl2ZUF1ZGlvUm91dGVEaWRDaGFuZ2VOb3RpZmljYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvUmVnaXN0cmF0aW9uRGF0YWJhc2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25EYXRhYmFz
ZS5jcHAKaW5kZXggOTJjYmEwODVkM2FjZjZhMjkzZjA2YjU1ZGY0NWY0ZGZjNzkzZmJkMy4uNDYx
NDIwOTdiYzliM2U2YmY1YzE4ZTVlZjVmNzVlOWY2ZjJiODJmMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25EYXRhYmFzZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25E
YXRhYmFzZS5jcHAKQEAgLTE2NCw4ICsxNjQsMTUgQEAgdm9pZCBSZWdpc3RyYXRpb25EYXRhYmFz
ZTo6b3BlblNRTGl0ZURhdGFiYXNlKGNvbnN0IFN0cmluZyYgZnVsbEZpbGVuYW1lKQogICAgIG1f
ZGF0YWJhc2UtPmRpc2FibGVUaHJlYWRpbmdDaGVja3MoKTsKICAgICAKICAgICBlcnJvck1lc3Nh
Z2UgPSBlbnN1cmVWYWxpZFJlY29yZHNUYWJsZSgpOwotICAgIGlmICghZXJyb3JNZXNzYWdlLmlz
TnVsbCgpKQorICAgIGlmICghZXJyb3JNZXNzYWdlLmlzTnVsbCgpKSB7CisgICAgICAgIFJFTEVB
U0VfTE9HX0VSUk9SKFNlcnZpY2VXb3JrZXIsICJlbnN1cmVWYWxpZFJlY29yZHNUYWJsZSBmYWls
ZWQsIHJlYXNvbjogJXtwdWJsaWN9cyIsIGVycm9yTWVzc2FnZS51dGY4KCkuZGF0YSgpKTsKKyAg
ICAgICAgLy8gRGVsZXRlIHRoZSBkYXRhYmFzZSBhbmQgcmUtY3JlYXRlIGl0LgorICAgICAgICBz
Y29wZUV4aXQucmVsZWFzZSgpOworICAgICAgICBtX2RhdGFiYXNlID0gbnVsbHB0cjsKKyAgICAg
ICAgU1FMaXRlRmlsZVN5c3RlbTo6ZGVsZXRlRGF0YWJhc2VGaWxlKGZ1bGxGaWxlbmFtZSk7Cisg
ICAgICAgIG9wZW5TUUxpdGVEYXRhYmFzZShmdWxsRmlsZW5hbWUpOwogICAgICAgICByZXR1cm47
CisgICAgfQogICAgIAogICAgIGVycm9yTWVzc2FnZSA9IGltcG9ydFJlY29yZHMoKTsKICAgICBp
ZiAoIWVycm9yTWVzc2FnZS5pc051bGwoKSkKQEAgLTIxOSwxMCArMjI2LDcgQEAgU3RyaW5nIFJl
Z2lzdHJhdGlvbkRhdGFiYXNlOjplbnN1cmVWYWxpZFJlY29yZHNUYWJsZSgpCiAgICAgaWYgKGN1
cnJlbnRTY2hlbWEgPT0gcmVjb3Jkc1RhYmxlU2NoZW1hKCkgfHwgY3VycmVudFNjaGVtYSA9PSBy
ZWNvcmRzVGFibGVTY2hlbWFBbHRlcm5hdGUoKSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAg
IC8vIFRoaXMgZGF0YWJhc2UgaGFzIGEgUmVjb3JkcyB0YWJsZSBidXQgaXQgaXMgbm90IGEgc2No
ZW1hIHdlIGV4cGVjdC4KLSAgICAvLyBUcnlpbmcgdG8gcmVjb3ZlciBieSBkZWxldGluZyB0aGUg
ZGF0YSBjb250YWluZWQgd2l0aGluIGlzIGRhbmdlcm91cyBzbwotICAgIC8vIHdlIHNob3VsZCBj
b25zaWRlciB0aGlzIGFuIHVucmVjb3ZlcmFibGUgZXJyb3IuCi0gICAgUkVMRUFTRV9BU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gbWFrZVN0cmluZygiVW5leHBlY3RlZCBzY2hlbWE6
ICIsIGN1cnJlbnRTY2hlbWEpOwogfQogCiBzdGF0aWMgU3RyaW5nIHVwZGF0ZVZpYUNhY2hlVG9T
dHJpbmcoU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlIHVwZGF0ZSkKZGlmZiAtLWdpdCBhL1Rv
b2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiMDUyNmE0NmU3MWIzMmQyZWQ5
NTNiOTM2MWFiMmZjMDdkYWQyZjQzLi5lZjI0NTYxOWUwYTk2ZWMyY2QzNjAzZDUzM2UwOTAyMjY0
YzM3YjZhIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTYgQEAKKzIwMTktMDgtMjEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KKworICAgICAgICBUcnkgdG8gcmVjb3ZlciBuaWNlbHkgd2hlbiBnZXR0aW5nIGFuIHVu
ZXhwZWN0ZWQgc2NoZW1hIGluIHRoZSBzZXJ2aWNlIHdvcmtlcnMgZGF0YWJhc2UKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTAwMgorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNTQ1NzQ5OTE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIEFQSSB0ZXN0IGNvdmVyYWdlLgorCisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9TZXJ2aWNlV29ya2VyQmFzaWMu
bW06CisKIDIwMTktMDgtMjAgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgUHV0IGtleWdlbiBlbGVtZW50IGJlaGluZCBhIHJ1bnRpbWUgZmxhZyBhbmQgZGlzYWJs
ZSBpdCBieSBkZWZhdWx0CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJL
aXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDdjNjVhMjE4N2NhMTYz
N2E3MjRjYThkMmUzMWZiN2VlYzQ1OWU2YmMuLmZlYjBjODNhMmI1ODAxNzc1ZWFjZjczN2Q1OTUy
ZjFhZWU5NWE2ODggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQ
SS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMTgsNiArMjE4LDcgQEAK
IAkJNDYxMkMyQjkyMTBBNkFDRTAwQjc4OEE2IC8qIExvYWRGaWxlVGhlblJlbG9hZC5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2MTJDMkI4MjEwQTZB
QkYwMEI3ODhBNiAvKiBMb2FkRmlsZVRoZW5SZWxvYWQubW0gKi87IH07CiAJCTQ2Mzk3Qjk1MURD
MkM4NTAwMDlBNzhBRSAvKiBET01Ob2RlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDYzOTdCOTQxREMyQzg1MDAwOUE3OEFFIC8qIERPTU5vZGUubW0g
Ki87IH07CiAJCTQ2NDdCMTI2MUVCQTNCODUwMDQxRDdFRiAvKiBQcm9jZXNzRGlkVGVybWluYXRl
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2NDdC
MTI1MUVCQTNCNzMwMDQxRDdFRiAvKiBQcm9jZXNzRGlkVGVybWluYXRlLmNwcCAqLzsgfTsKKwkJ
NDY0Qzc2NEQyMzBERjg1QzAwQUZCMDIwIC8qIEJhZFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25z
LTQuc3FsaXRlMyBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0NjRDNzY0QzIzMERGODMyMDBBRkIwMjAgLyogQmFkU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbnMtNC5zcWxpdGUzICovOyB9OwogCQk0NjZDMzg0MzIxMDYzN0RFMDA2QTg4REUgLyog
bm90aWZ5LXJlc291cmNlTG9hZE9ic2VydmVyLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY2QzM4NDIyMTA2MzdDRTAwNkE4OERFIC8q
IG5vdGlmeS1yZXNvdXJjZUxvYWRPYnNlcnZlci5odG1sICovOyB9OwogCQk0NjdDNTY1MzIxQjVF
RDEzMDA1NzUxNkQgLyogR2V0U2Vzc2lvbkNvb2tpZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2N0M1NjUxMjFCNUVDREYwMDU3NTE2
RCAvKiBHZXRTZXNzaW9uQ29va2llLmh0bWwgKi87IH07CiAJCTQ2N0M1NjU0MjFCNUVEMTMwMDU3
NTE2RCAvKiBTZXRTZXNzaW9uQ29va2llLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY3QzU2NTIyMUI1RUNERjAwNTc1MTZEIC8qIFNl
dFNlc3Npb25Db29raWUuaHRtbCAqLzsgfTsKQEAgLTExNDYsNiArMTE0Nyw3IEBACiAJCQkJQzlD
OUNENDMyMUU2QTY4NjAwMTlEQjk2IC8qIGF1dG9wbGF5aW5nLW11bHRpcGxlLW1lZGlhLWVsZW1l
bnRzLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJMkUxNEE1MjkxRDNGRTk2QjAwMTBG
MzVCIC8qIGF1dG9wbGF5aW5nLXZpZGVvLXdpdGgtYXVkaW8uaHRtbCBpbiBDb3B5IFJlc291cmNl
cyAqLywKIAkJCQlGNDFBQjlBMDFFRjQ2OTZCMDA4M0ZBMDggLyogYmFja2dyb3VuZC1pbWFnZS1s
aW5rLWFuZC1pbnB1dC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAorCQkJCTQ2NEM3NjREMjMw
REY4NUMwMEFGQjAyMCAvKiBCYWRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9ucy00LnNxbGl0ZTMg
aW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJMkRFNzFCMDAxRDQ5QzNFRDAwOTA0MDk0IC8qIGJs
aW5raW5nLWRpdi5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTdDNDg2QkExMUFBMTI1
NjcwMDNGNkY5QiAvKiBidW5kbGUtZmlsZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJ
CTI2REY1QTYzMTVBMkEyN0UwMDM2ODlDMiAvKiBDYW5jZWxMb2FkRnJvbVJlc291cmNlTG9hZERl
bGVnYXRlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCkBAIC0xNjg5LDYgKzE2OTEsNyBAQAog
CQk0NjEyQzJCODIxMEE2QUJGMDBCNzg4QTYgLyogTG9hZEZpbGVUaGVuUmVsb2FkLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTG9hZEZpbGVUaGVuUmVsb2FkLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NjM5N0I5NDFEQzJDODUwMDA5QTc4QUUg
LyogRE9NTm9kZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERP
TU5vZGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2NDdCMTI1MUVCQTNCNzMw
MDQxRDdFRiAvKiBQcm9jZXNzRGlkVGVybWluYXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFByb2Nlc3NEaWRUZXJtaW5hdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk0NjRDNzY0QzIzMERGODMyMDBBRkIwMjAgLyogQmFkU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbnMtNC5zcWxpdGUzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gZmlsZTsgcGF0aCA9ICJCYWRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9ucy00LnNxbGl0ZTMiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NjU2QTc1NzIw
RjkwNTRGMDAwMkUyMUYgLyogU2ltcGxlU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbnMtNC5zcWxp
dGUzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZmls
ZTsgcGF0aCA9ICJTaW1wbGVTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9ucy00LnNxbGl0ZTMiOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NjZDMzg0MjIxMDYzN0NFMDA2QTg4REUgLyog
bm90aWZ5LXJlc291cmNlTG9hZE9ic2VydmVyLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBh
dGggPSAibm90aWZ5LXJlc291cmNlTG9hZE9ic2VydmVyLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0NjdDNTY1MTIxQjVFQ0RGMDA1NzUxNkQgLyogR2V0U2Vzc2lvbkNvb2tp
ZS5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gR2V0U2Vzc2lvbkNvb2tpZS5odG1s
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzE0OSw2ICszMTUyLDcgQEAKIAkJCQlD
OUM5Q0Q0MjIxRTZBNjY3MDAxOURCOTYgLyogYXV0b3BsYXlpbmctbXVsdGlwbGUtbWVkaWEtZWxl
bWVudHMuaHRtbCAqLywKIAkJCQkyRTE0QTUyODFEM0ZFOEI4MDAxMEYzNUIgLyogYXV0b3BsYXlp
bmctdmlkZW8td2l0aC1hdWRpby5odG1sICovLAogCQkJCUY0MUFCOTk3MUVGNDY5MkMwMDgzRkEw
OCAvKiBiYWNrZ3JvdW5kLWltYWdlLWxpbmstYW5kLWlucHV0Lmh0bWwgKi8sCisJCQkJNDY0Qzc2
NEMyMzBERjgzMjAwQUZCMDIwIC8qIEJhZFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25zLTQuc3Fs
aXRlMyAqLywKIAkJCQkyREU3MUFGRjFENDlDMkYwMDA5MDQwOTQgLyogYmxpbmtpbmctZGl2Lmh0
bWwgKi8sCiAJCQkJMkVGRjA2QzQxRDg4Njc3MDAwMDRCQjMwIC8qIGNoYW5nZS12aWRlby1zb3Vy
Y2Utb24tY2xpY2suaHRtbCAqLywKIAkJCQkyRUZGMDZDNjFEODg2QTU2MDAwNEJCMzAgLyogY2hh
bmdlLXZpZGVvLXNvdXJjZS1vbi1lbmQuaHRtbCAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvU2VydmljZVdvcmtlckJhc2ljLm1tIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9TZXJ2aWNlV29ya2VyQmFzaWMubW0KaW5k
ZXggODI2MWUzNjkwOGQ5NmRiZTI5YjMxZDllZTY3MGRmMGQwMTY4NzAwNi4uMjljYTNmYmM4YTE0
YTlhMjIzMjQwYWRiZGU0OWZkY2U2ZGVkYTcyMSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9TZXJ2aWNlV29ya2VyQmFzaWMubW0KKysrIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9TZXJ2aWNlV29ya2VyQmFzaWMubW0KQEAg
LTE4NjYsMyArMTg2NiwzMCBAQCBURVNUKFNlcnZpY2VXb3JrZXJzLCBTdXNwZW5kTmV0d29ya1By
b2Nlc3MpCiAKICAgICBFWFBFQ1RfVFJVRShbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJd
IGZpbGVFeGlzdHNBdFBhdGg6c3dEQlBhdGgucGF0aF0pOwogfQorCitURVNUKFdlYktpdCwgU2Vy
dmljZVdvcmtlckRhdGFiYXNlV2l0aFJlY29yZHNUYWJsZUJ1dFVuZXhwZWN0ZWRTY2hlbWEpCit7
CisgICAgLy8gQ29weSB0aGUgYmFrZWQgZGF0YWJhc2UgZmlsZXMgdG8gdGhlIGRhdGFiYXNlIGRp
cmVjdG9yeQorICAgIE5TVVJMICp1cmwxID0gW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JS
ZXNvdXJjZTpAIkJhZFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25zLTQiIHdpdGhFeHRlbnNpb246
QCJzcWxpdGUzIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdOworCisg
ICAgTlNVUkwgKnN3UGF0aCA9IFtOU1VSTCBmaWxlVVJMV2l0aFBhdGg6W0Aifi9MaWJyYXJ5L0Nh
Y2hlcy9UZXN0V2ViS2l0QVBJL1dlYktpdC9TZXJ2aWNlV29ya2Vycy8iIHN0cmluZ0J5RXhwYW5k
aW5nVGlsZGVJblBhdGhdXTsKKyAgICBbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIHJl
bW92ZUl0ZW1BdFVSTDpzd1BhdGggZXJyb3I6bmlsXTsKKyAgICBFWFBFQ1RfRkFMU0UoW1tOU0Zp
bGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBmaWxlRXhpc3RzQXRQYXRoOnN3UGF0aC5wYXRoXSk7
CisKKyAgICBbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGNyZWF0ZURpcmVjdG9yeUF0
VVJMOnN3UGF0aCB3aXRoSW50ZXJtZWRpYXRlRGlyZWN0b3JpZXM6WUVTIGF0dHJpYnV0ZXM6bmls
IGVycm9yOm5pbF07CisgICAgW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBjb3B5SXRl
bUF0VVJMOnVybDEgdG9VUkw6W3N3UGF0aCBVUkxCeUFwcGVuZGluZ1BhdGhDb21wb25lbnQ6QCJT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9ucy00LnNxbGl0ZTMiXSBlcnJvcjpuaWxdOworCisgICAg
YXV0byB3ZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tfV0tXZWJzaXRl
RGF0YVN0b3JlQ29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIHdlYnNpdGVEYXRhU3Rv
cmVDb25maWd1cmF0aW9uLmdldCgpLl9zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5
ID0gc3dQYXRoOworICAgIGF1dG8gZGF0YVN0b3JlID0gYWRvcHROUyhbW1dLV2Vic2l0ZURhdGFT
dG9yZSBhbGxvY10gX2luaXRXaXRoQ29uZmlndXJhdGlvbjp3ZWJzaXRlRGF0YVN0b3JlQ29uZmln
dXJhdGlvbi5nZXQoKV0pOworCisgICAgLy8gRmV0Y2ggU1cgcmVjb3JkcworICAgIGF1dG8gd2Vi
c2l0ZURhdGFUeXBlcyA9IGFkb3B0TlMoW1tOU1NldCBhbGxvY10gaW5pdFdpdGhBcnJheTpAW1dL
V2Vic2l0ZURhdGFUeXBlU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbnNdXSk7CisgICAgc3RhdGlj
IGJvb2wgcmVhZHlUb0NvbnRpbnVlOworICAgIFtkYXRhU3RvcmUgZmV0Y2hEYXRhUmVjb3Jkc09m
VHlwZXM6d2Vic2l0ZURhdGFUeXBlcy5nZXQoKSBjb21wbGV0aW9uSGFuZGxlcjpeKE5TQXJyYXk8
V0tXZWJzaXRlRGF0YVJlY29yZCAqPiAqZGF0YVJlY29yZHMpIHsKKyAgICAgICAgRVhQRUNUX0VR
KDBVLCBkYXRhUmVjb3Jkcy5jb3VudCk7CisgICAgICAgIHJlYWR5VG9Db250aW51ZSA9IHRydWU7
CisgICAgfV07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZyZWFkeVRvQ29udGludWUp
OworICAgIHJlYWR5VG9Db250aW51ZSA9IGZhbHNlOworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>376941</attachid>
            <date>2019-08-21 15:49:25 -0700</date>
            <delta_ts>2019-08-22 12:03:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201002-20190821154924.patch</filename>
            <type>text/plain</type>
            <size>11592</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4OTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjZlZmU5Mzg1M2ZmMDJk
YTIxNjU5NjkwMWY3ODljNmM2ZjlkYmE1Yi4uNGExODg5MTI0ODZhYWU1YjM0ZjAwYmNmOTZkNDg1
ODQ2MTMwNTNlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE5LTA4LTIxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgVHJ5IHRvIHJlY292ZXIgbmlj
ZWx5IHdoZW4gZ2V0dGluZyBhbiB1bmV4cGVjdGVkIHNjaGVtYSBpbiB0aGUgc2VydmljZSB3b3Jr
ZXJzIGRhdGFiYXNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDEwMDIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU0NTc0OTkxPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRyeSB0byByZWNvdmVyIG5p
Y2VseSB3aGVuIGdldHRpbmcgYW4gdW5leHBlY3RlZCBzY2hlbWEgaW4gdGhlIHNlcnZpY2Ugd29y
a2VycyBkYXRhYmFzZSBpbnN0ZWFkCisgICAgICAgIG9mIGNyYXNoaW5nIHRoZSBuZXR3b3JrIHBy
b2Nlc3MuIFRvIHJlY292ZXIsIHdlIGRlbGV0ZSB0aGUgZGF0YWJhc2UgZmlsZSBhbmQgcmUtY3Jl
YXRlIGl0LgorCisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25E
YXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZWdpc3RyYXRpb25EYXRhYmFzZTo6b3Bl
blNRTGl0ZURhdGFiYXNlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlZ2lzdHJhdGlvbkRhdGFiYXNl
OjplbnN1cmVWYWxpZFJlY29yZHNUYWJsZSk6CisKIDIwMTktMDgtMjEgIEplciBOb2JsZSAgPGpl
ci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRvcHQgQVZTeXN0ZW1Db250cm9sbGVyX0Fj
dGl2ZUF1ZGlvUm91dGVEaWRDaGFuZ2VOb3RpZmljYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvUmVnaXN0cmF0aW9uRGF0YWJhc2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25EYXRhYmFz
ZS5jcHAKaW5kZXggOTJjYmEwODVkM2FjZjZhMjkzZjA2YjU1ZGY0NWY0ZGZjNzkzZmJkMy4uNDYx
NDIwOTdiYzliM2U2YmY1YzE4ZTVlZjVmNzVlOWY2ZjJiODJmMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25EYXRhYmFzZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25E
YXRhYmFzZS5jcHAKQEAgLTE2NCw4ICsxNjQsMTUgQEAgdm9pZCBSZWdpc3RyYXRpb25EYXRhYmFz
ZTo6b3BlblNRTGl0ZURhdGFiYXNlKGNvbnN0IFN0cmluZyYgZnVsbEZpbGVuYW1lKQogICAgIG1f
ZGF0YWJhc2UtPmRpc2FibGVUaHJlYWRpbmdDaGVja3MoKTsKICAgICAKICAgICBlcnJvck1lc3Nh
Z2UgPSBlbnN1cmVWYWxpZFJlY29yZHNUYWJsZSgpOwotICAgIGlmICghZXJyb3JNZXNzYWdlLmlz
TnVsbCgpKQorICAgIGlmICghZXJyb3JNZXNzYWdlLmlzTnVsbCgpKSB7CisgICAgICAgIFJFTEVB
U0VfTE9HX0VSUk9SKFNlcnZpY2VXb3JrZXIsICJlbnN1cmVWYWxpZFJlY29yZHNUYWJsZSBmYWls
ZWQsIHJlYXNvbjogJXtwdWJsaWN9cyIsIGVycm9yTWVzc2FnZS51dGY4KCkuZGF0YSgpKTsKKyAg
ICAgICAgLy8gRGVsZXRlIHRoZSBkYXRhYmFzZSBhbmQgcmUtY3JlYXRlIGl0LgorICAgICAgICBz
Y29wZUV4aXQucmVsZWFzZSgpOworICAgICAgICBtX2RhdGFiYXNlID0gbnVsbHB0cjsKKyAgICAg
ICAgU1FMaXRlRmlsZVN5c3RlbTo6ZGVsZXRlRGF0YWJhc2VGaWxlKGZ1bGxGaWxlbmFtZSk7Cisg
ICAgICAgIG9wZW5TUUxpdGVEYXRhYmFzZShmdWxsRmlsZW5hbWUpOwogICAgICAgICByZXR1cm47
CisgICAgfQogICAgIAogICAgIGVycm9yTWVzc2FnZSA9IGltcG9ydFJlY29yZHMoKTsKICAgICBp
ZiAoIWVycm9yTWVzc2FnZS5pc051bGwoKSkKQEAgLTIxOSwxMCArMjI2LDcgQEAgU3RyaW5nIFJl
Z2lzdHJhdGlvbkRhdGFiYXNlOjplbnN1cmVWYWxpZFJlY29yZHNUYWJsZSgpCiAgICAgaWYgKGN1
cnJlbnRTY2hlbWEgPT0gcmVjb3Jkc1RhYmxlU2NoZW1hKCkgfHwgY3VycmVudFNjaGVtYSA9PSBy
ZWNvcmRzVGFibGVTY2hlbWFBbHRlcm5hdGUoKSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAg
IC8vIFRoaXMgZGF0YWJhc2UgaGFzIGEgUmVjb3JkcyB0YWJsZSBidXQgaXQgaXMgbm90IGEgc2No
ZW1hIHdlIGV4cGVjdC4KLSAgICAvLyBUcnlpbmcgdG8gcmVjb3ZlciBieSBkZWxldGluZyB0aGUg
ZGF0YSBjb250YWluZWQgd2l0aGluIGlzIGRhbmdlcm91cyBzbwotICAgIC8vIHdlIHNob3VsZCBj
b25zaWRlciB0aGlzIGFuIHVucmVjb3ZlcmFibGUgZXJyb3IuCi0gICAgUkVMRUFTRV9BU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gbWFrZVN0cmluZygiVW5leHBlY3RlZCBzY2hlbWE6
ICIsIGN1cnJlbnRTY2hlbWEpOwogfQogCiBzdGF0aWMgU3RyaW5nIHVwZGF0ZVZpYUNhY2hlVG9T
dHJpbmcoU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlIHVwZGF0ZSkKZGlmZiAtLWdpdCBhL1Rv
b2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiMDUyNmE0NmU3MWIzMmQyZWQ5
NTNiOTM2MWFiMmZjMDdkYWQyZjQzLi5lZjI0NTYxOWUwYTk2ZWMyY2QzNjAzZDUzM2UwOTAyMjY0
YzM3YjZhIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTYgQEAKKzIwMTktMDgtMjEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KKworICAgICAgICBUcnkgdG8gcmVjb3ZlciBuaWNlbHkgd2hlbiBnZXR0aW5nIGFuIHVu
ZXhwZWN0ZWQgc2NoZW1hIGluIHRoZSBzZXJ2aWNlIHdvcmtlcnMgZGF0YWJhc2UKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTAwMgorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNTQ1NzQ5OTE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIEFQSSB0ZXN0IGNvdmVyYWdlLgorCisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9TZXJ2aWNlV29ya2VyQmFzaWMu
bW06CisKIDIwMTktMDgtMjAgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgUHV0IGtleWdlbiBlbGVtZW50IGJlaGluZCBhIHJ1bnRpbWUgZmxhZyBhbmQgZGlzYWJs
ZSBpdCBieSBkZWZhdWx0CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJL
aXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDdjNjVhMjE4N2NhMTYz
N2E3MjRjYThkMmUzMWZiN2VlYzQ1OWU2YmMuLmZlYjBjODNhMmI1ODAxNzc1ZWFjZjczN2Q1OTUy
ZjFhZWU5NWE2ODggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQ
SS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMTgsNiArMjE4LDcgQEAK
IAkJNDYxMkMyQjkyMTBBNkFDRTAwQjc4OEE2IC8qIExvYWRGaWxlVGhlblJlbG9hZC5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2MTJDMkI4MjEwQTZB
QkYwMEI3ODhBNiAvKiBMb2FkRmlsZVRoZW5SZWxvYWQubW0gKi87IH07CiAJCTQ2Mzk3Qjk1MURD
MkM4NTAwMDlBNzhBRSAvKiBET01Ob2RlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDYzOTdCOTQxREMyQzg1MDAwOUE3OEFFIC8qIERPTU5vZGUubW0g
Ki87IH07CiAJCTQ2NDdCMTI2MUVCQTNCODUwMDQxRDdFRiAvKiBQcm9jZXNzRGlkVGVybWluYXRl
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2NDdC
MTI1MUVCQTNCNzMwMDQxRDdFRiAvKiBQcm9jZXNzRGlkVGVybWluYXRlLmNwcCAqLzsgfTsKKwkJ
NDY0Qzc2NEQyMzBERjg1QzAwQUZCMDIwIC8qIEJhZFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25z
LTQuc3FsaXRlMyBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0NjRDNzY0QzIzMERGODMyMDBBRkIwMjAgLyogQmFkU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbnMtNC5zcWxpdGUzICovOyB9OwogCQk0NjZDMzg0MzIxMDYzN0RFMDA2QTg4REUgLyog
bm90aWZ5LXJlc291cmNlTG9hZE9ic2VydmVyLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY2QzM4NDIyMTA2MzdDRTAwNkE4OERFIC8q
IG5vdGlmeS1yZXNvdXJjZUxvYWRPYnNlcnZlci5odG1sICovOyB9OwogCQk0NjdDNTY1MzIxQjVF
RDEzMDA1NzUxNkQgLyogR2V0U2Vzc2lvbkNvb2tpZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2N0M1NjUxMjFCNUVDREYwMDU3NTE2
RCAvKiBHZXRTZXNzaW9uQ29va2llLmh0bWwgKi87IH07CiAJCTQ2N0M1NjU0MjFCNUVEMTMwMDU3
NTE2RCAvKiBTZXRTZXNzaW9uQ29va2llLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY3QzU2NTIyMUI1RUNERjAwNTc1MTZEIC8qIFNl
dFNlc3Npb25Db29raWUuaHRtbCAqLzsgfTsKQEAgLTExNDYsNiArMTE0Nyw3IEBACiAJCQkJQzlD
OUNENDMyMUU2QTY4NjAwMTlEQjk2IC8qIGF1dG9wbGF5aW5nLW11bHRpcGxlLW1lZGlhLWVsZW1l
bnRzLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJMkUxNEE1MjkxRDNGRTk2QjAwMTBG
MzVCIC8qIGF1dG9wbGF5aW5nLXZpZGVvLXdpdGgtYXVkaW8uaHRtbCBpbiBDb3B5IFJlc291cmNl
cyAqLywKIAkJCQlGNDFBQjlBMDFFRjQ2OTZCMDA4M0ZBMDggLyogYmFja2dyb3VuZC1pbWFnZS1s
aW5rLWFuZC1pbnB1dC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAorCQkJCTQ2NEM3NjREMjMw
REY4NUMwMEFGQjAyMCAvKiBCYWRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9ucy00LnNxbGl0ZTMg
aW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJMkRFNzFCMDAxRDQ5QzNFRDAwOTA0MDk0IC8qIGJs
aW5raW5nLWRpdi5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTdDNDg2QkExMUFBMTI1
NjcwMDNGNkY5QiAvKiBidW5kbGUtZmlsZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJ
CTI2REY1QTYzMTVBMkEyN0UwMDM2ODlDMiAvKiBDYW5jZWxMb2FkRnJvbVJlc291cmNlTG9hZERl
bGVnYXRlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCkBAIC0xNjg5LDYgKzE2OTEsNyBAQAog
CQk0NjEyQzJCODIxMEE2QUJGMDBCNzg4QTYgLyogTG9hZEZpbGVUaGVuUmVsb2FkLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTG9hZEZpbGVUaGVuUmVsb2FkLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NjM5N0I5NDFEQzJDODUwMDA5QTc4QUUg
LyogRE9NTm9kZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERP
TU5vZGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2NDdCMTI1MUVCQTNCNzMw
MDQxRDdFRiAvKiBQcm9jZXNzRGlkVGVybWluYXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFByb2Nlc3NEaWRUZXJtaW5hdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk0NjRDNzY0QzIzMERGODMyMDBBRkIwMjAgLyogQmFkU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbnMtNC5zcWxpdGUzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gZmlsZTsgcGF0aCA9ICJCYWRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9ucy00LnNxbGl0ZTMiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NjU2QTc1NzIw
RjkwNTRGMDAwMkUyMUYgLyogU2ltcGxlU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbnMtNC5zcWxp
dGUzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZmls
ZTsgcGF0aCA9ICJTaW1wbGVTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9ucy00LnNxbGl0ZTMiOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NjZDMzg0MjIxMDYzN0NFMDA2QTg4REUgLyog
bm90aWZ5LXJlc291cmNlTG9hZE9ic2VydmVyLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBh
dGggPSAibm90aWZ5LXJlc291cmNlTG9hZE9ic2VydmVyLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0NjdDNTY1MTIxQjVFQ0RGMDA1NzUxNkQgLyogR2V0U2Vzc2lvbkNvb2tp
ZS5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gR2V0U2Vzc2lvbkNvb2tpZS5odG1s
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzE0OSw2ICszMTUyLDcgQEAKIAkJCQlD
OUM5Q0Q0MjIxRTZBNjY3MDAxOURCOTYgLyogYXV0b3BsYXlpbmctbXVsdGlwbGUtbWVkaWEtZWxl
bWVudHMuaHRtbCAqLywKIAkJCQkyRTE0QTUyODFEM0ZFOEI4MDAxMEYzNUIgLyogYXV0b3BsYXlp
bmctdmlkZW8td2l0aC1hdWRpby5odG1sICovLAogCQkJCUY0MUFCOTk3MUVGNDY5MkMwMDgzRkEw
OCAvKiBiYWNrZ3JvdW5kLWltYWdlLWxpbmstYW5kLWlucHV0Lmh0bWwgKi8sCisJCQkJNDY0Qzc2
NEMyMzBERjgzMjAwQUZCMDIwIC8qIEJhZFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25zLTQuc3Fs
aXRlMyAqLywKIAkJCQkyREU3MUFGRjFENDlDMkYwMDA5MDQwOTQgLyogYmxpbmtpbmctZGl2Lmh0
bWwgKi8sCiAJCQkJMkVGRjA2QzQxRDg4Njc3MDAwMDRCQjMwIC8qIGNoYW5nZS12aWRlby1zb3Vy
Y2Utb24tY2xpY2suaHRtbCAqLywKIAkJCQkyRUZGMDZDNjFEODg2QTU2MDAwNEJCMzAgLyogY2hh
bmdlLXZpZGVvLXNvdXJjZS1vbi1lbmQuaHRtbCAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQmFkU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbnMt
NC5zcWxpdGUzIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9CYWRTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9ucy00LnNxbGl0ZTMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjQxMTUzYmYwMGU5
ZmQ2MjA3YmJkMjkxNTA4NzEwY2ViZThiZDQ0OQpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMjA0
ODAKemNtZUkzUGo0R1Y2dXw4eVBfVCR2aTktKVk7JGIxI21YYjlVUlYjYGo7VFRzJEdJNSZOMXFw
JCoqP3FSQjhTaVglCnpXQEE8O0ghZ140emU4Xyk0KV9GfGtAeWZDZDkjMDxxQDwzOzM5MntBPyMj
fS1IfUIxRi1tR01NPUlCWEo3PSpFawp6WDBDeWNPTHQwWllvKlRzTn5Pe3xVMm8rMThzIWBMTU9t
ODRNUFcoNFVVS2ZrPTRRM0RSKFZtWHl0d19Ge2FZZj4Kek8tejZaRmFhak8xZWdGNVU7PDNRNjhR
MFN7bnApVHdmeGczI3l5c0poQE9na29vNUBKISl8LWZnK1k2XypNKFlNCnpUWjJYZzBCUj9nKUxf
djRkSTAtPHhgdz9UXiFLNkQtKyRjTz5rUXk9ZCNfaTRFdlR0VE9obUFmc1A8SGQhXjdUNgp6IWJY
TXQpd2BDaUhwOT8mNFIpc0pvZWFiYll3JnIwWGgqaSh8MldscEQlXzZpTy1YNW1BIXshWnA7Pmh4
bmU8OD4KeiZzQjdTKEk1I3xeVFNodCFONDQkN2V+UyoyVEJUJENUK0xaLUBSZWJuTk5xUFJVQ1F2
cjVtb0lIUWU4T0dWQ184CnokWT52Um5wWG5pdXpTI0pjZTw3ND9aNEszO25sfGt7dlFPa0h7UUo0
dTlpejhAYlA8bkQoT0BHJGM+RmtwR1d5Uwp6YWRhOykqdzZLRSpAMTFeK1p9dTMhfn5jQzZKUD5O
ZkMoQEdDY3AlazAyNSNXT24/Y3o8Xj0zLWBTdiR7UEUzRmEKekZhYWpPMWVnRjVVOzwybDJgflhC
enl6NFVZZT5OVXskSCo8RCR6ZURDY3AlazAyNSNXT24/YjYwVmM0N3p8V29YCnpyaGZTVCEmfXYo
PWtIY09kfmEkQHM3RXREYTM7YmA8Nn1wdChJfkJhKU17TytadDN+OUwyWChxdzclNWdOQTJJPQp6
ZDRCTmNjWW9+N0xLUFhreWF6cFpvQHRHOD82fCgpSik8cT1KKXZvKklZeTFUMigpcGZ0WiVfTTRt
PX1OJl9GQkUKemdkZ2JHS3c1Tz50fXcmRTIkYE5GME1CbCQqQURJZDQ7dUJlZC1iTWNyY18rJHJ8
cD9POVh4O3RPJmtUOG1VVztsCnpXI2IhckJxMkBwMSU+KzdIST9iTVUxd0AkPGwhflYrOVZQa1B3
USkyLTd1dHFVKXY7Uj9nWTBiVlIpNFVWVHJjcQp6Wmx0JVJua2VVNElKdmY/M0JraUNYJnRMTEZ2
JUJtISR7dktKeGwxZ3Y2MS1IXiliM3BTX2YpQWghZz9PeVVzfmAKeit4Iz53b2l7MD9AO1AwVlNJ
cU1talc9QzclTXQyTzFeIW5Rd1QqbT09YDZIMiZFbW17QEhEMWllUjtBb0VzZSF8Cnp3Xn5KZldY
ZXImPD1qbSlnQElQYDQwWS07TmdjLXFnYmZSZ3B2SXRNJnFKTXhrcnp9cTdnRUMxSndySGlXc0lx
cwp6Nyg9NWwycHtiMUt1byo1JDA5KCNGdXdANUxNJGYpRDUqfnkobCtIR25LRF5BeWJFJnwxXn4k
V3FJO09SMl49SEQKejhodWNLT3o3cmkmUlJueElZJFZQOGpTKk5OOD9FcXBuVkRuZkd5Rz9uanxB
WiVQTXk7KXBQP05HKUFQTz42e05lCnprbzJObXFGRmY2TnhSJXhKVWdrNE1qanAza0E+T3xZWnRQ
YXpkVHNUUzEhNEc3MWg/bFVUWGk2SDUtVDRzIWNpUwp6Zj4rVVMtZ0xZKXhRZSQxRyVnI3h7TGF1
JDdEKlJ4aWVrPEVhfV9OTjdjUUtXQmotKTN3aU8qWlJpdVNpeXYlPHMKejNZMXNxRCR8akNLOXpx
NzNLeTlHNkpQPk5mQyhAR0NjcCVrMDI1I1dPbj9kZVJ8en49KktoeGV1VkRXTTxtfDR3CgpsaXRl
cmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL1NlcnZpY2VXb3JrZXJCYXNpYy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvU2VydmljZVdvcmtlckJhc2ljLm1tCmluZGV4IDgyNjFlMzY5MDhk
OTZkYmUyOWIzMWQ5ZWU2NzBkZjBkMDE2ODcwMDYuLjI5Y2EzZmJjOGExNGE5YTIyMzI0MGFkYmRl
NDlmZGNlNmRlZGE3MjEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvU2VydmljZVdvcmtlckJhc2ljLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvU2VydmljZVdvcmtlckJhc2ljLm1tCkBAIC0xODY2LDMgKzE4NjYs
MzAgQEAgVEVTVChTZXJ2aWNlV29ya2VycywgU3VzcGVuZE5ldHdvcmtQcm9jZXNzKQogCiAgICAg
RVhQRUNUX1RSVUUoW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBmaWxlRXhpc3RzQXRQ
YXRoOnN3REJQYXRoLnBhdGhdKTsKIH0KKworVEVTVChXZWJLaXQsIFNlcnZpY2VXb3JrZXJEYXRh
YmFzZVdpdGhSZWNvcmRzVGFibGVCdXRVbmV4cGVjdGVkU2NoZW1hKQoreworICAgIC8vIENvcHkg
dGhlIGJha2VkIGRhdGFiYXNlIGZpbGVzIHRvIHRoZSBkYXRhYmFzZSBkaXJlY3RvcnkKKyAgICBO
U1VSTCAqdXJsMSA9IFtbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJCYWRT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9ucy00IiB3aXRoRXh0ZW5zaW9uOkAic3FsaXRlMyIgc3Vi
ZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXTsKKworICAgIE5TVVJMICpzd1Bh
dGggPSBbTlNVUkwgZmlsZVVSTFdpdGhQYXRoOltAIn4vTGlicmFyeS9DYWNoZXMvVGVzdFdlYktp
dEFQSS9XZWJLaXQvU2VydmljZVdvcmtlcnMvIiBzdHJpbmdCeUV4cGFuZGluZ1RpbGRlSW5QYXRo
XV07CisgICAgW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSByZW1vdmVJdGVtQXRVUkw6
c3dQYXRoIGVycm9yOm5pbF07CisgICAgRVhQRUNUX0ZBTFNFKFtbTlNGaWxlTWFuYWdlciBkZWZh
dWx0TWFuYWdlcl0gZmlsZUV4aXN0c0F0UGF0aDpzd1BhdGgucGF0aF0pOworCisgICAgW1tOU0Zp
bGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBjcmVhdGVEaXJlY3RvcnlBdFVSTDpzd1BhdGggd2l0
aEludGVybWVkaWF0ZURpcmVjdG9yaWVzOllFUyBhdHRyaWJ1dGVzOm5pbCBlcnJvcjpuaWxdOwor
ICAgIFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gY29weUl0ZW1BdFVSTDp1cmwxIHRv
VVJMOltzd1BhdGggVVJMQnlBcHBlbmRpbmdQYXRoQ29tcG9uZW50OkAiU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbnMtNC5zcWxpdGUzIl0gZXJyb3I6bmlsXTsKKworICAgIGF1dG8gd2Vic2l0ZURh
dGFTdG9yZUNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZp
Z3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAgICB3ZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlv
bi5nZXQoKS5fc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeSA9IHN3UGF0aDsKKyAg
ICBhdXRvIGRhdGFTdG9yZSA9IGFkb3B0TlMoW1tXS1dlYnNpdGVEYXRhU3RvcmUgYWxsb2NdIF9p
bml0V2l0aENvbmZpZ3VyYXRpb246d2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uZ2V0KCld
KTsKKworICAgIC8vIEZldGNoIFNXIHJlY29yZHMKKyAgICBhdXRvIHdlYnNpdGVEYXRhVHlwZXMg
PSBhZG9wdE5TKFtbTlNTZXQgYWxsb2NdIGluaXRXaXRoQXJyYXk6QFtXS1dlYnNpdGVEYXRhVHlw
ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25zXV0pOworICAgIHN0YXRpYyBib29sIHJlYWR5VG9D
b250aW51ZTsKKyAgICBbZGF0YVN0b3JlIGZldGNoRGF0YVJlY29yZHNPZlR5cGVzOndlYnNpdGVE
YXRhVHlwZXMuZ2V0KCkgY29tcGxldGlvbkhhbmRsZXI6XihOU0FycmF5PFdLV2Vic2l0ZURhdGFS
ZWNvcmQgKj4gKmRhdGFSZWNvcmRzKSB7CisgICAgICAgIEVYUEVDVF9FUSgwVSwgZGF0YVJlY29y
ZHMuY291bnQpOworICAgICAgICByZWFkeVRvQ29udGludWUgPSB0cnVlOworICAgIH1dOworICAg
IFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmcmVhZHlUb0NvbnRpbnVlKTsKKyAgICByZWFkeVRv
Q29udGludWUgPSBmYWxzZTsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377032</attachid>
            <date>2019-08-22 12:03:49 -0700</date>
            <delta_ts>2019-08-22 12:31:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201002-20190822120348.patch</filename>
            <type>text/plain</type>
            <size>13444</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4OTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjZlZmU5Mzg1M2ZmMDJk
YTIxNjU5NjkwMWY3ODljNmM2ZjlkYmE1Yi4uZDlhMTI1MmYxMGJkMzY1NDYxZmM2OWEwYTRkZjZl
MzViMDA2Y2VjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE5LTA4LTIxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgVHJ5IHRvIHJlY292ZXIgbmlj
ZWx5IHdoZW4gZ2V0dGluZyBhbiB1bmV4cGVjdGVkIHNjaGVtYSBpbiB0aGUgc2VydmljZSB3b3Jr
ZXJzIGRhdGFiYXNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDEwMDIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU0NTc0OTkxPgorCisgICAgICAg
IFJldmlld2VkIGJ5IFlvdWVubiBGYWJsZXQuCisKKyAgICAgICAgVHJ5IHRvIHJlY292ZXIgbmlj
ZWx5IHdoZW4gZ2V0dGluZyBhbiB1bmV4cGVjdGVkIHNjaGVtYSBpbiB0aGUgc2VydmljZSB3b3Jr
ZXJzIGRhdGFiYXNlIGluc3RlYWQKKyAgICAgICAgb2YgY3Jhc2hpbmcgdGhlIG5ldHdvcmsgcHJv
Y2Vzcy4gVG8gcmVjb3Zlciwgd2UgZGVsZXRlIHRoZSBkYXRhYmFzZSBmaWxlIGFuZCByZS1jcmVh
dGUgaXQuCisKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1JlZ2lzdHJhdGlvbkRh
dGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlZ2lzdHJhdGlvbkRhdGFiYXNlOjpvcGVu
U1FMaXRlRGF0YWJhc2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVnaXN0cmF0aW9uRGF0YWJhc2U6
OmVuc3VyZVZhbGlkUmVjb3Jkc1RhYmxlKToKKwogMjAxOS0wOC0yMSAgSmVyIE5vYmxlICA8amVy
Lm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBBZG9wdCBBVlN5c3RlbUNvbnRyb2xsZXJfQWN0
aXZlQXVkaW9Sb3V0ZURpZENoYW5nZU5vdGlmaWNhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25EYXRhYmFzZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1JlZ2lzdHJhdGlvbkRhdGFiYXNl
LmNwcAppbmRleCA5MmNiYTA4NWQzYWNmNmEyOTNmMDZiNTVkZjQ1ZjRkZmM3OTNmYmQzLi5lNzJk
NGM5ZDQyYzY2NzU3ZjYzYWZmMmFiZGQ4MWM0ZjMxYjgyNmIwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1JlZ2lzdHJhdGlvbkRhdGFiYXNlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1JlZ2lzdHJhdGlvbkRh
dGFiYXNlLmNwcApAQCAtMTM0LDI3ICsxMzQsMTUgQEAgdm9pZCBSZWdpc3RyYXRpb25EYXRhYmFz
ZTo6b3BlblNRTGl0ZURhdGFiYXNlKGNvbnN0IFN0cmluZyYgZnVsbEZpbGVuYW1lKQogCiAgICAg
TE9HKFNlcnZpY2VXb3JrZXIsICJTZXJ2aWNlV29ya2VyIFJlZ2lzdHJhdGlvbkRhdGFiYXNlIG9w
ZW5pbmcgZmlsZSAlcyIsIGZ1bGxGaWxlbmFtZS51dGY4KCkuZGF0YSgpKTsKIAotICAgIFN0cmlu
ZyBlcnJvck1lc3NhZ2U7Ci0gICAgYXV0byBzY29wZUV4aXQgPSBtYWtlU2NvcGVFeGl0KFt0aGlz
LCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIGVycm9yTWVzc2FnZSA9ICZlcnJvck1l
c3NhZ2VdIHsKLSAgICAgICAgQVNTRVJUX1VOVVNFRChlcnJvck1lc3NhZ2UsICFlcnJvck1lc3Nh
Z2UtPmlzTnVsbCgpKTsKLQotI2lmIFJFTEVBU0VfTE9HX0RJU0FCTEVECi0gICAgICAgIExPR19F
UlJPUigiRmFpbGVkIHRvIG9wZW4gU2VydmljZSBXb3JrZXIgcmVnaXN0cmF0aW9uIGRhdGFiYXNl
OiAlcyIsIGVycm9yTWVzc2FnZS0+dXRmOCgpLmRhdGEoKSk7Ci0jZWxzZQotICAgICAgICBSRUxF
QVNFX0xPR19FUlJPUihTZXJ2aWNlV29ya2VyLCAiRmFpbGVkIHRvIG9wZW4gU2VydmljZSBXb3Jr
ZXIgcmVnaXN0cmF0aW9uIGRhdGFiYXNlOiAle3B1YmxpY31zIiwgZXJyb3JNZXNzYWdlLT51dGY4
KCkuZGF0YSgpKTsKLSNlbmRpZgotCi0gICAgICAgIG1fZGF0YWJhc2UgPSBudWxscHRyOwotICAg
ICAgICBjYWxsT25NYWluVGhyZWFkKFtwcm90ZWN0ZWRUaGlzID0gcHJvdGVjdGVkVGhpcy5jb3B5
UmVmKCldIHsKLSAgICAgICAgICAgIHByb3RlY3RlZFRoaXMtPmRhdGFiYXNlRmFpbGVkVG9PcGVu
KCk7Ci0gICAgICAgIH0pOwotICAgIH0pOwotCiAgICAgU1FMaXRlRmlsZVN5c3RlbTo6ZW5zdXJl
RGF0YWJhc2VEaXJlY3RvcnlFeGlzdHMobV9kYXRhYmFzZURpcmVjdG9yeSk7CiAKICAgICBtX2Rh
dGFiYXNlID0gbWFrZVVuaXF1ZTxTUUxpdGVEYXRhYmFzZT4oKTsKICAgICBpZiAoIW1fZGF0YWJh
c2UtPm9wZW4oZnVsbEZpbGVuYW1lKSkgewotICAgICAgICBlcnJvck1lc3NhZ2UgPSAiRmFpbGVk
IHRvIG9wZW4gcmVnaXN0cmF0aW9uIGRhdGFiYXNlIjsKKyAgICAgICAgUkVMRUFTRV9MT0dfRVJS
T1IoU2VydmljZVdvcmtlciwgIkZhaWxlZCB0byBvcGVuIFNlcnZpY2UgV29ya2VyIHJlZ2lzdHJh
dGlvbiBkYXRhYmFzZSIpOworICAgICAgICBtX2RhdGFiYXNlID0gbnVsbHB0cjsKKyAgICAgICAg
Y2FsbE9uTWFpblRocmVhZChbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpXSB7
CisgICAgICAgICAgICBkYXRhYmFzZUZhaWxlZFRvT3BlbigpOworICAgICAgICB9KTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIApAQCAtMTYzLDE1ICsxNTEsMjYgQEAgdm9pZCBSZWdpc3RyYXRp
b25EYXRhYmFzZTo6b3BlblNRTGl0ZURhdGFiYXNlKGNvbnN0IFN0cmluZyYgZnVsbEZpbGVuYW1l
KQogICAgIC8vIG5lY2Vzc2FyeSBydW4gb24gdGhlIHNhbWUgdGhyZWFkIGV2ZXJ5IHRpbWUgKGFz
IHBlciBHQ0QgZG9jdW1lbnRhdGlvbikuCiAgICAgbV9kYXRhYmFzZS0+ZGlzYWJsZVRocmVhZGlu
Z0NoZWNrcygpOwogICAgIAotICAgIGVycm9yTWVzc2FnZSA9IGVuc3VyZVZhbGlkUmVjb3Jkc1Rh
YmxlKCk7Ci0gICAgaWYgKCFlcnJvck1lc3NhZ2UuaXNOdWxsKCkpCisgICAgYXV0byBkb1JlY292
ZXJ5QXR0ZW1wdCA9IFsmXSB7CisgICAgICAgIC8vIERlbGV0ZSB0aGUgZGF0YWJhc2UgYW5kIHJl
LWNyZWF0ZSBpdC4KKyAgICAgICAgbV9kYXRhYmFzZSA9IG51bGxwdHI7CisgICAgICAgIFNRTGl0
ZUZpbGVTeXN0ZW06OmRlbGV0ZURhdGFiYXNlRmlsZShmdWxsRmlsZW5hbWUpOworICAgICAgICBv
cGVuU1FMaXRlRGF0YWJhc2UoZnVsbEZpbGVuYW1lKTsKKyAgICB9OworICAgIAorICAgIFN0cmlu
ZyBlcnJvck1lc3NhZ2UgPSBlbnN1cmVWYWxpZFJlY29yZHNUYWJsZSgpOworICAgIGlmICghZXJy
b3JNZXNzYWdlLmlzTnVsbCgpKSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFNlcnZpY2VX
b3JrZXIsICJlbnN1cmVWYWxpZFJlY29yZHNUYWJsZSBmYWlsZWQsIHJlYXNvbjogJXtwdWJsaWN9
cyIsIGVycm9yTWVzc2FnZS51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgZG9SZWNvdmVyeUF0dGVt
cHQoKTsKICAgICAgICAgcmV0dXJuOworICAgIH0KICAgICAKICAgICBlcnJvck1lc3NhZ2UgPSBp
bXBvcnRSZWNvcmRzKCk7Ci0gICAgaWYgKCFlcnJvck1lc3NhZ2UuaXNOdWxsKCkpCisgICAgaWYg
KCFlcnJvck1lc3NhZ2UuaXNOdWxsKCkpIHsKKyAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoU2Vy
dmljZVdvcmtlciwgImltcG9ydFJlY29yZHMgZmFpbGVkLCByZWFzb246ICV7cHVibGljfXMiLCBl
cnJvck1lc3NhZ2UudXRmOCgpLmRhdGEoKSk7CisgICAgICAgIGRvUmVjb3ZlcnlBdHRlbXB0KCk7
CiAgICAgICAgIHJldHVybjsKLQotICAgIHNjb3BlRXhpdC5yZWxlYXNlKCk7CisgICAgfQogfQog
CiB2b2lkIFJlZ2lzdHJhdGlvbkRhdGFiYXNlOjppbXBvcnRSZWNvcmRzSWZOZWNlc3NhcnkoKQpA
QCAtMjE5LDEwICsyMTgsNyBAQCBTdHJpbmcgUmVnaXN0cmF0aW9uRGF0YWJhc2U6OmVuc3VyZVZh
bGlkUmVjb3Jkc1RhYmxlKCkKICAgICBpZiAoY3VycmVudFNjaGVtYSA9PSByZWNvcmRzVGFibGVT
Y2hlbWEoKSB8fCBjdXJyZW50U2NoZW1hID09IHJlY29yZHNUYWJsZVNjaGVtYUFsdGVybmF0ZSgp
KQogICAgICAgICByZXR1cm4geyB9OwogCi0gICAgLy8gVGhpcyBkYXRhYmFzZSBoYXMgYSBSZWNv
cmRzIHRhYmxlIGJ1dCBpdCBpcyBub3QgYSBzY2hlbWEgd2UgZXhwZWN0LgotICAgIC8vIFRyeWlu
ZyB0byByZWNvdmVyIGJ5IGRlbGV0aW5nIHRoZSBkYXRhIGNvbnRhaW5lZCB3aXRoaW4gaXMgZGFu
Z2Vyb3VzIHNvCi0gICAgLy8gd2Ugc2hvdWxkIGNvbnNpZGVyIHRoaXMgYW4gdW5yZWNvdmVyYWJs
ZSBlcnJvci4KLSAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBt
YWtlU3RyaW5nKCJVbmV4cGVjdGVkIHNjaGVtYTogIiwgY3VycmVudFNjaGVtYSk7CiB9CiAKIHN0
YXRpYyBTdHJpbmcgdXBkYXRlVmlhQ2FjaGVUb1N0cmluZyhTZXJ2aWNlV29ya2VyVXBkYXRlVmlh
Q2FjaGUgdXBkYXRlKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IGIwNTI2YTQ2ZTcxYjMyZDJlZDk1M2I5MzYxYWIyZmMwN2RhZDJmNDMuLmU0YzU0
NTA1MDMwYzhjOWNlOTM1NmU0MmIyOWE1ZTI2YzExMmVlMmQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0No
YW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxOS0wOC0y
MSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFRyeSB0byByZWNv
dmVyIG5pY2VseSB3aGVuIGdldHRpbmcgYW4gdW5leHBlY3RlZCBzY2hlbWEgaW4gdGhlIHNlcnZp
Y2Ugd29ya2VycyBkYXRhYmFzZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjAxMDAyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NDU3NDk5MT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBZb3Vlbm4gRmFibGV0LgorCisgICAgICAgIEFkZCBBUEkgdGVz
dCBjb3ZlcmFnZS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvU2VydmljZVdvcmtlckJhc2ljLm1tOgorCiAyMDE5LTA4LTIwICBSeW9zdWtlIE5p
d2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFB1dCBrZXlnZW4gZWxlbWVudCBiZWhp
bmQgYSBydW50aW1lIGZsYWcgYW5kIGRpc2FibGUgaXQgYnkgZGVmYXVsdApkaWZmIC0tZ2l0IGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCA3YzY1YTIxODdjYTE2MzdhNzI0Y2E4ZDJlMzFmYjdlZWM0NTllNmJjLi5m
ZWIwYzgzYTJiNTgwMTc3NWVhY2Y3MzdkNTk1MmYxYWVlOTVhNjg4IDEwMDY0NAotLS0gYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagor
KysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMjE4LDYgKzIxOCw3IEBACiAJCTQ2MTJDMkI5MjEwQTZBQ0UwMEI3ODhBNiAv
KiBMb2FkRmlsZVRoZW5SZWxvYWQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0NjEyQzJCODIxMEE2QUJGMDBCNzg4QTYgLyogTG9hZEZpbGVUaGVuUmVs
b2FkLm1tICovOyB9OwogCQk0NjM5N0I5NTFEQzJDODUwMDA5QTc4QUUgLyogRE9NTm9kZS5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2Mzk3Qjk0MURD
MkM4NTAwMDlBNzhBRSAvKiBET01Ob2RlLm1tICovOyB9OwogCQk0NjQ3QjEyNjFFQkEzQjg1MDA0
MUQ3RUYgLyogUHJvY2Vzc0RpZFRlcm1pbmF0ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjQ3QjEyNTFFQkEzQjczMDA0MUQ3RUYgLyogUHJvY2Vz
c0RpZFRlcm1pbmF0ZS5jcHAgKi87IH07CisJCTQ2NEM3NjREMjMwREY4NUMwMEFGQjAyMCAvKiBC
YWRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9ucy00LnNxbGl0ZTMgaW4gQ29weSBSZXNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY0Qzc2NEMyMzBERjgzMjAwQUZC
MDIwIC8qIEJhZFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25zLTQuc3FsaXRlMyAqLzsgfTsKIAkJ
NDY2QzM4NDMyMTA2MzdERTAwNkE4OERFIC8qIG5vdGlmeS1yZXNvdXJjZUxvYWRPYnNlcnZlci5o
dG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ2NkMzODQyMjEwNjM3Q0UwMDZBODhERSAvKiBub3RpZnktcmVzb3VyY2VMb2FkT2JzZXJ2ZXIu
aHRtbCAqLzsgfTsKIAkJNDY3QzU2NTMyMUI1RUQxMzAwNTc1MTZEIC8qIEdldFNlc3Npb25Db29r
aWUuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0NjdDNTY1MTIxQjVFQ0RGMDA1NzUxNkQgLyogR2V0U2Vzc2lvbkNvb2tpZS5odG1sICov
OyB9OwogCQk0NjdDNTY1NDIxQjVFRDEzMDA1NzUxNkQgLyogU2V0U2Vzc2lvbkNvb2tpZS5odG1s
IGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2
N0M1NjUyMjFCNUVDREYwMDU3NTE2RCAvKiBTZXRTZXNzaW9uQ29va2llLmh0bWwgKi87IH07CkBA
IC0xMTQ2LDYgKzExNDcsNyBAQAogCQkJCUM5QzlDRDQzMjFFNkE2ODYwMDE5REI5NiAvKiBhdXRv
cGxheWluZy1tdWx0aXBsZS1tZWRpYS1lbGVtZW50cy5odG1sIGluIENvcHkgUmVzb3VyY2VzICov
LAogCQkJCTJFMTRBNTI5MUQzRkU5NkIwMDEwRjM1QiAvKiBhdXRvcGxheWluZy12aWRlby13aXRo
LWF1ZGlvLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJRjQxQUI5QTAxRUY0Njk2QjAw
ODNGQTA4IC8qIGJhY2tncm91bmQtaW1hZ2UtbGluay1hbmQtaW5wdXQuaHRtbCBpbiBDb3B5IFJl
c291cmNlcyAqLywKKwkJCQk0NjRDNzY0RDIzMERGODVDMDBBRkIwMjAgLyogQmFkU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbnMtNC5zcWxpdGUzIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTJE
RTcxQjAwMUQ0OUMzRUQwMDkwNDA5NCAvKiBibGlua2luZy1kaXYuaHRtbCBpbiBDb3B5IFJlc291
cmNlcyAqLywKIAkJCQk3QzQ4NkJBMTFBQTEyNTY3MDAzRjZGOUIgLyogYnVuZGxlLWZpbGUuaHRt
bCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQkyNkRGNUE2MzE1QTJBMjdFMDAzNjg5QzIgLyog
Q2FuY2VsTG9hZEZyb21SZXNvdXJjZUxvYWREZWxlZ2F0ZS5odG1sIGluIENvcHkgUmVzb3VyY2Vz
ICovLApAQCAtMTY4OSw2ICsxNjkxLDcgQEAKIAkJNDYxMkMyQjgyMTBBNkFCRjAwQjc4OEE2IC8q
IExvYWRGaWxlVGhlblJlbG9hZC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IExvYWRGaWxlVGhlblJlbG9hZC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDYzOTdCOTQxREMyQzg1MDAwOUE3OEFFIC8qIERPTU5vZGUubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01Ob2RlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0NjQ3QjEyNTFFQkEzQjczMDA0MUQ3RUYgLyogUHJvY2Vzc0RpZFRlcm1pbmF0
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQcm9jZXNzRGlkVGVy
bWluYXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDY0Qzc2NEMyMzBERjgz
MjAwQUZCMDIwIC8qIEJhZFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25zLTQuc3FsaXRlMyAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGZpbGU7IHBhdGgg
PSAiQmFkU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbnMtNC5zcWxpdGUzIjsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDY1NkE3NTcyMEY5MDU0RjAwMDJFMjFGIC8qIFNpbXBsZVNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25zLTQuc3FsaXRlMyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGZpbGU7IHBhdGggPSAiU2ltcGxlU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbnMtNC5zcWxpdGUzIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDY2QzM4NDIyMTA2MzdDRTAwNkE4OERFIC8qIG5vdGlmeS1yZXNvdXJjZUxvYWRPYnNlcnZlci5o
dG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gIm5vdGlmeS1yZXNvdXJjZUxvYWRPYnNl
cnZlci5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDY3QzU2NTEyMUI1RUNE
RjAwNTc1MTZEIC8qIEdldFNlc3Npb25Db29raWUuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsg
cGF0aCA9IEdldFNlc3Npb25Db29raWUuaHRtbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTMxNDksNiArMzE1Miw3IEBACiAJCQkJQzlDOUNENDIyMUU2QTY2NzAwMTlEQjk2IC8qIGF1
dG9wbGF5aW5nLW11bHRpcGxlLW1lZGlhLWVsZW1lbnRzLmh0bWwgKi8sCiAJCQkJMkUxNEE1Mjgx
RDNGRThCODAwMTBGMzVCIC8qIGF1dG9wbGF5aW5nLXZpZGVvLXdpdGgtYXVkaW8uaHRtbCAqLywK
IAkJCQlGNDFBQjk5NzFFRjQ2OTJDMDA4M0ZBMDggLyogYmFja2dyb3VuZC1pbWFnZS1saW5rLWFu
ZC1pbnB1dC5odG1sICovLAorCQkJCTQ2NEM3NjRDMjMwREY4MzIwMEFGQjAyMCAvKiBCYWRTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9ucy00LnNxbGl0ZTMgKi8sCiAJCQkJMkRFNzFBRkYxRDQ5QzJG
MDAwOTA0MDk0IC8qIGJsaW5raW5nLWRpdi5odG1sICovLAogCQkJCTJFRkYwNkM0MUQ4ODY3NzAw
MDA0QkIzMCAvKiBjaGFuZ2UtdmlkZW8tc291cmNlLW9uLWNsaWNrLmh0bWwgKi8sCiAJCQkJMkVG
RjA2QzYxRDg4NkE1NjAwMDRCQjMwIC8qIGNoYW5nZS12aWRlby1zb3VyY2Utb24tZW5kLmh0bWwg
Ki8sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0Jh
ZFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25zLTQuc3FsaXRlMyBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvQmFkU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbnMtNC5zcWxp
dGUzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmY0MTE1M2JmMDBlOWZkNjIwN2JiZDI5MTUwODcxMGNlYmU4YmQ0NDkK
R0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDIwNDgwCnpjbWVJM1BqNEdWNnV8OHlQX1Qkdmk5LSlZ
OyRiMSNtWGI5VVJWI2BqO1RUcyRHSTUmTjFxcCQqKj9xUkI4U2lYJQp6V0BBPDtIIWdeNHplOF8p
NClfRnxrQHlmQ2Q5IzA8cUA8MzszOTJ7QT8jI30tSH1CMUYtbUdNTT1JQlhKNz0qRWsKelgwQ3lj
T0x0MFpZbypUc05+T3t8VTJvKzE4cyFgTE1PbTg0TVBXKDRVVUtmaz00UTNEUihWbVh5dHdfRnth
WWY+CnpPLXo2WkZhYWpPMWVnRjVVOzwzUTY4UTBTe25wKVR3ZnhnMyN5eXNKaEBPZ2tvbzVASiEp
fC1mZytZNl8qTShZTQp6VFoyWGcwQlI/ZylMX3Y0ZEkwLTx4YHc/VF4hSzZELSskY08+a1F5PWQj
X2k0RXZUdFRPaG1BZnNQPEhkIV43VDYKeiFiWE10KXdgQ2lIcDk/JjRSKXNKb2VhYmJZdyZyMFho
KmkofDJXbHBEJV82aU8tWDVtQSF7IVpwOz5oeG5lPDg+Cnomc0I3UyhJNSN8XlRTaHQhTjQ0JDdl
flMqMlRCVCRDVCtMWi1AUmVibk5OcVBSVUNRdnI1bW9JSFFlOE9HVkNfOAp6JFk+dlJucFhuaXV6
UyNKY2U8NzQ/WjRLMztubHxre3ZRT2tIe1FKNHU5aXo4QGJQPG5EKE9ARyRjPkZrcEdXeVMKemFk
YTspKnc2S0UqQDExXitafXUzIX5+Y0M2SlA+TmZDKEBHQ2NwJWswMjUjV09uP2N6PF49My1gU3Yk
e1BFM0ZhCnpGYWFqTzFlZ0Y1VTs8MmwyYH5YQnp5ejRVWWU+TlV7JEgqPEQkemVEQ2NwJWswMjUj
V09uP2I2MFZjNDd6fFdvWAp6cmhmU1QhJn12KD1rSGNPZH5hJEBzN0V0RGEzO2JgPDZ9cHQoSX5C
YSlNe08rWnQzfjlMMlgocXc3JTVnTkEyST0KemQ0Qk5jY1lvfjdMS1BYa3lhenBab0B0Rzg/Nnwo
KUopPHE9Sil2bypJWXkxVDIoKXBmdFolX000bT19TiZfRkJFCnpnZGdiR0t3NU8+dH13JkUyJGBO
RjBNQmwkKkFESWQ0O3VCZWQtYk1jcmNfKyRyfHA/TzlYeDt0TyZrVDhtVVc7bAp6VyNiIXJCcTJA
cDElPis3SEk/Yk1VMXdAJDxsIX5WKzlWUGtQd1EpMi03dXRxVSl2O1I/Z1kwYlZSKTRVVlRyY3EK
elpsdCVSbmtlVTRJSnZmPzNCa2lDWCZ0TExGdiVCbSEke3ZLSnhsMWd2NjEtSF4pYjNwU19mKUFo
IWc/T3lVc35gCnoreCM+d29pezA/QDtQMFZTSXFNbWpXPUM3JU10Mk8xXiFuUXdUKm09PWA2SDIm
RW1te0BIRDFpZVI7QW9Fc2UhfAp6d15+SmZXWGVyJjw9am0pZ0BJUGA0MFktO05nYy1xZ2JmUmdw
dkl0TSZxSk14a3J6fXE3Z0VDMUp3ckhpV3NJcXMKejcoPTVsMnB7YjFLdW8qNSQwOSgjRnV3QDVM
TSRmKUQ1Kn55KGwrSEduS0ReQXliRSZ8MV5+JFdxSTtPUjJePUhECno4aHVjS096N3JpJlJSbnhJ
WSRWUDhqUypOTjg/RXFwblZEbmZHeUc/bmp8QVolUE15OylwUD9ORylBUE8+NntOZQp6a28yTm1x
RkZmNk54UiV4SlVnazRNampwM2tBPk98WVp0UGF6ZFRzVFMxITRHNzFoP2xVVFhpNkg1LVQ0cyFj
aVMKemY+K1VTLWdMWSl4UWUkMUclZyN4e0xhdSQ3RCpSeGllazxFYX1fTk43Y1FLV0JqLSkzd2lP
KlpSaXVTaXl2JTxzCnozWTFzcUQkfGpDSzl6cTczS3k5RzZKUD5OZkMoQEdDY3AlazAyNSNXT24/
ZGVSfHp+PSpLaHhldVZEV008bXw0dwoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9TZXJ2aWNlV29ya2VyQmFz
aWMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1NlcnZpY2VXb3Jr
ZXJCYXNpYy5tbQppbmRleCA4MjYxZTM2OTA4ZDk2ZGJlMjliMzFkOWVlNjcwZGYwZDAxNjg3MDA2
Li4yOWNhM2ZiYzhhMTRhOWEyMjMyNDBhZGJkZTQ5ZmRjZTZkZWRhNzIxIDEwMDY0NAotLS0gYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1NlcnZpY2VXb3JrZXJCYXNpYy5t
bQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1NlcnZpY2VXb3Jr
ZXJCYXNpYy5tbQpAQCAtMTg2NiwzICsxODY2LDMwIEBAIFRFU1QoU2VydmljZVdvcmtlcnMsIFN1
c3BlbmROZXR3b3JrUHJvY2VzcykKIAogICAgIEVYUEVDVF9UUlVFKFtbTlNGaWxlTWFuYWdlciBk
ZWZhdWx0TWFuYWdlcl0gZmlsZUV4aXN0c0F0UGF0aDpzd0RCUGF0aC5wYXRoXSk7CiB9CisKK1RF
U1QoV2ViS2l0LCBTZXJ2aWNlV29ya2VyRGF0YWJhc2VXaXRoUmVjb3Jkc1RhYmxlQnV0VW5leHBl
Y3RlZFNjaGVtYSkKK3sKKyAgICAvLyBDb3B5IHRoZSBiYWtlZCBkYXRhYmFzZSBmaWxlcyB0byB0
aGUgZGF0YWJhc2UgZGlyZWN0b3J5CisgICAgTlNVUkwgKnVybDEgPSBbW05TQnVuZGxlIG1haW5C
dW5kbGVdIFVSTEZvclJlc291cmNlOkAiQmFkU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbnMtNCIg
d2l0aEV4dGVuc2lvbjpAInNxbGl0ZTMiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVz
b3VyY2VzIl07CisKKyAgICBOU1VSTCAqc3dQYXRoID0gW05TVVJMIGZpbGVVUkxXaXRoUGF0aDpb
QCJ+L0xpYnJhcnkvQ2FjaGVzL1Rlc3RXZWJLaXRBUEkvV2ViS2l0L1NlcnZpY2VXb3JrZXJzLyIg
c3RyaW5nQnlFeHBhbmRpbmdUaWxkZUluUGF0aF1dOworICAgIFtbTlNGaWxlTWFuYWdlciBkZWZh
dWx0TWFuYWdlcl0gcmVtb3ZlSXRlbUF0VVJMOnN3UGF0aCBlcnJvcjpuaWxdOworICAgIEVYUEVD
VF9GQUxTRShbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGZpbGVFeGlzdHNBdFBhdGg6
c3dQYXRoLnBhdGhdKTsKKworICAgIFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gY3Jl
YXRlRGlyZWN0b3J5QXRVUkw6c3dQYXRoIHdpdGhJbnRlcm1lZGlhdGVEaXJlY3RvcmllczpZRVMg
YXR0cmlidXRlczpuaWwgZXJyb3I6bmlsXTsKKyAgICBbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1h
bmFnZXJdIGNvcHlJdGVtQXRVUkw6dXJsMSB0b1VSTDpbc3dQYXRoIFVSTEJ5QXBwZW5kaW5nUGF0
aENvbXBvbmVudDpAIlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25zLTQuc3FsaXRlMyJdIGVycm9y
Om5pbF07CisKKyAgICBhdXRvIHdlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uID0gYWRvcHRO
UyhbW19XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisgICAg
d2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uZ2V0KCkuX3NlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25EaXJlY3RvcnkgPSBzd1BhdGg7CisgICAgYXV0byBkYXRhU3RvcmUgPSBhZG9wdE5TKFtb
V0tXZWJzaXRlRGF0YVN0b3JlIGFsbG9jXSBfaW5pdFdpdGhDb25maWd1cmF0aW9uOndlYnNpdGVE
YXRhU3RvcmVDb25maWd1cmF0aW9uLmdldCgpXSk7CisKKyAgICAvLyBGZXRjaCBTVyByZWNvcmRz
CisgICAgYXV0byB3ZWJzaXRlRGF0YVR5cGVzID0gYWRvcHROUyhbW05TU2V0IGFsbG9jXSBpbml0
V2l0aEFycmF5OkBbV0tXZWJzaXRlRGF0YVR5cGVTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uc11d
KTsKKyAgICBzdGF0aWMgYm9vbCByZWFkeVRvQ29udGludWU7CisgICAgW2RhdGFTdG9yZSBmZXRj
aERhdGFSZWNvcmRzT2ZUeXBlczp3ZWJzaXRlRGF0YVR5cGVzLmdldCgpIGNvbXBsZXRpb25IYW5k
bGVyOl4oTlNBcnJheTxXS1dlYnNpdGVEYXRhUmVjb3JkICo+ICpkYXRhUmVjb3JkcykgeworICAg
ICAgICBFWFBFQ1RfRVEoMFUsIGRhdGFSZWNvcmRzLmNvdW50KTsKKyAgICAgICAgcmVhZHlUb0Nv
bnRpbnVlID0gdHJ1ZTsKKyAgICB9XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJnJl
YWR5VG9Db250aW51ZSk7CisgICAgcmVhZHlUb0NvbnRpbnVlID0gZmFsc2U7Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377034</attachid>
            <date>2019-08-22 12:31:48 -0700</date>
            <delta_ts>2019-08-22 16:28:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201002-20190822123148.patch</filename>
            <type>text/plain</type>
            <size>13446</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5MDI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjQzNTYyOGI0NzIxMTBk
YzA3ZTk5ODc3ZDJkMzBkNGE2ZGYzOWMxNi4uNDM1ZTlmNDIyNTU2OTJhMjJjNWNjYjY5YmQwZDc2
ZjVjYzJiN2UwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE5LTA4LTIyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgVHJ5IHRvIHJlY292ZXIgbmlj
ZWx5IHdoZW4gZ2V0dGluZyBhbiB1bmV4cGVjdGVkIHNjaGVtYSBpbiB0aGUgc2VydmljZSB3b3Jr
ZXJzIGRhdGFiYXNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDEwMDIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU0NTc0OTkxPgorCisgICAgICAg
IFJldmlld2VkIGJ5IFlvdWVubiBGYWJsZXQuCisKKyAgICAgICAgVHJ5IHRvIHJlY292ZXIgbmlj
ZWx5IHdoZW4gZ2V0dGluZyBhbiB1bmV4cGVjdGVkIHNjaGVtYSBpbiB0aGUgc2VydmljZSB3b3Jr
ZXJzIGRhdGFiYXNlIGluc3RlYWQKKyAgICAgICAgb2YgY3Jhc2hpbmcgdGhlIG5ldHdvcmsgcHJv
Y2Vzcy4gVG8gcmVjb3Zlciwgd2UgZGVsZXRlIHRoZSBkYXRhYmFzZSBmaWxlIGFuZCByZS1jcmVh
dGUgaXQuCisKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1JlZ2lzdHJhdGlvbkRh
dGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlZ2lzdHJhdGlvbkRhdGFiYXNlOjpvcGVu
U1FMaXRlRGF0YWJhc2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVnaXN0cmF0aW9uRGF0YWJhc2U6
OmVuc3VyZVZhbGlkUmVjb3Jkc1RhYmxlKToKKwogMjAxOS0wOC0yMiAgUnlvc3VrZSBOaXdhICA8
cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBNYWtlIEltYWdlQnVmZmVyIGFuZCBTVkcncyBG
aWx0ZXJEYXRhIGlzb2hlYXAnZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9zZXJ2ZXIvUmVnaXN0cmF0aW9uRGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25EYXRhYmFzZS5jcHAKaW5kZXggNDY0
MWMwZGFmZDllNDE4ZWM2OTY3N2Q2MDNiMDRiZWIxODM1OWU0My4uNjU3MmY0MDEyNGMyM2U3YjE4
ZTI3OWFkZjNmYzYxYjA2NWUyNzA1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25EYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25EYXRhYmFzZS5jcHAKQEAg
LTEzNSwyNyArMTM1LDE1IEBAIHZvaWQgUmVnaXN0cmF0aW9uRGF0YWJhc2U6Om9wZW5TUUxpdGVE
YXRhYmFzZShjb25zdCBTdHJpbmcmIGZ1bGxGaWxlbmFtZSkKIAogICAgIExPRyhTZXJ2aWNlV29y
a2VyLCAiU2VydmljZVdvcmtlciBSZWdpc3RyYXRpb25EYXRhYmFzZSBvcGVuaW5nIGZpbGUgJXMi
LCBmdWxsRmlsZW5hbWUudXRmOCgpLmRhdGEoKSk7CiAKLSAgICBTdHJpbmcgZXJyb3JNZXNzYWdl
OwotICAgIGF1dG8gc2NvcGVFeGl0ID0gbWFrZVNjb3BlRXhpdChbdGhpcywgcHJvdGVjdGVkVGhp
cyA9IG1ha2VSZWYoKnRoaXMpLCBlcnJvck1lc3NhZ2UgPSAmZXJyb3JNZXNzYWdlXSB7Ci0gICAg
ICAgIEFTU0VSVF9VTlVTRUQoZXJyb3JNZXNzYWdlLCAhZXJyb3JNZXNzYWdlLT5pc051bGwoKSk7
Ci0KLSNpZiBSRUxFQVNFX0xPR19ESVNBQkxFRAotICAgICAgICBMT0dfRVJST1IoIkZhaWxlZCB0
byBvcGVuIFNlcnZpY2UgV29ya2VyIHJlZ2lzdHJhdGlvbiBkYXRhYmFzZTogJXMiLCBlcnJvck1l
c3NhZ2UtPnV0ZjgoKS5kYXRhKCkpOwotI2Vsc2UKLSAgICAgICAgUkVMRUFTRV9MT0dfRVJST1Io
U2VydmljZVdvcmtlciwgIkZhaWxlZCB0byBvcGVuIFNlcnZpY2UgV29ya2VyIHJlZ2lzdHJhdGlv
biBkYXRhYmFzZTogJXtwdWJsaWN9cyIsIGVycm9yTWVzc2FnZS0+dXRmOCgpLmRhdGEoKSk7Ci0j
ZW5kaWYKLQotICAgICAgICBtX2RhdGFiYXNlID0gbnVsbHB0cjsKLSAgICAgICAgY2FsbE9uTWFp
blRocmVhZChbcHJvdGVjdGVkVGhpcyA9IHByb3RlY3RlZFRoaXMuY29weVJlZigpXSB7Ci0gICAg
ICAgICAgICBwcm90ZWN0ZWRUaGlzLT5kYXRhYmFzZUZhaWxlZFRvT3BlbigpOwotICAgICAgICB9
KTsKLSAgICB9KTsKLQogICAgIFNRTGl0ZUZpbGVTeXN0ZW06OmVuc3VyZURhdGFiYXNlRGlyZWN0
b3J5RXhpc3RzKGRhdGFiYXNlRGlyZWN0b3J5KTsKIAogICAgIG1fZGF0YWJhc2UgPSBtYWtlVW5p
cXVlPFNRTGl0ZURhdGFiYXNlPigpOwogICAgIGlmICghbV9kYXRhYmFzZS0+b3BlbihmdWxsRmls
ZW5hbWUpKSB7Ci0gICAgICAgIGVycm9yTWVzc2FnZSA9ICJGYWlsZWQgdG8gb3BlbiByZWdpc3Ry
YXRpb24gZGF0YWJhc2UiOworICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihTZXJ2aWNlV29ya2Vy
LCAiRmFpbGVkIHRvIG9wZW4gU2VydmljZSBXb3JrZXIgcmVnaXN0cmF0aW9uIGRhdGFiYXNlIik7
CisgICAgICAgIG1fZGF0YWJhc2UgPSBudWxscHRyOworICAgICAgICBjYWxsT25NYWluVGhyZWFk
KFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyldIHsKKyAgICAgICAgICAgIGRh
dGFiYXNlRmFpbGVkVG9PcGVuKCk7CisgICAgICAgIH0pOwogICAgICAgICByZXR1cm47CiAgICAg
fQogCkBAIC0xNjQsMTUgKzE1MiwyNiBAQCB2b2lkIFJlZ2lzdHJhdGlvbkRhdGFiYXNlOjpvcGVu
U1FMaXRlRGF0YWJhc2UoY29uc3QgU3RyaW5nJiBmdWxsRmlsZW5hbWUpCiAgICAgLy8gbmVjZXNz
YXJ5IHJ1biBvbiB0aGUgc2FtZSB0aHJlYWQgZXZlcnkgdGltZSAoYXMgcGVyIEdDRCBkb2N1bWVu
dGF0aW9uKS4KICAgICBtX2RhdGFiYXNlLT5kaXNhYmxlVGhyZWFkaW5nQ2hlY2tzKCk7CiAgICAg
Ci0gICAgZXJyb3JNZXNzYWdlID0gZW5zdXJlVmFsaWRSZWNvcmRzVGFibGUoKTsKLSAgICBpZiAo
IWVycm9yTWVzc2FnZS5pc051bGwoKSkKKyAgICBhdXRvIGRvUmVjb3ZlcnlBdHRlbXB0ID0gWyZd
IHsKKyAgICAgICAgLy8gRGVsZXRlIHRoZSBkYXRhYmFzZSBhbmQgcmUtY3JlYXRlIGl0LgorICAg
ICAgICBtX2RhdGFiYXNlID0gbnVsbHB0cjsKKyAgICAgICAgU1FMaXRlRmlsZVN5c3RlbTo6ZGVs
ZXRlRGF0YWJhc2VGaWxlKGZ1bGxGaWxlbmFtZSk7CisgICAgICAgIG9wZW5TUUxpdGVEYXRhYmFz
ZShmdWxsRmlsZW5hbWUpOworICAgIH07CisgICAgCisgICAgU3RyaW5nIGVycm9yTWVzc2FnZSA9
IGVuc3VyZVZhbGlkUmVjb3Jkc1RhYmxlKCk7CisgICAgaWYgKCFlcnJvck1lc3NhZ2UuaXNOdWxs
KCkpIHsKKyAgICAgICAgUkVMRUFTRV9MT0dfRVJST1IoU2VydmljZVdvcmtlciwgImVuc3VyZVZh
bGlkUmVjb3Jkc1RhYmxlIGZhaWxlZCwgcmVhc29uOiAle3B1YmxpY31zIiwgZXJyb3JNZXNzYWdl
LnV0ZjgoKS5kYXRhKCkpOworICAgICAgICBkb1JlY292ZXJ5QXR0ZW1wdCgpOwogICAgICAgICBy
ZXR1cm47CisgICAgfQogICAgIAogICAgIGVycm9yTWVzc2FnZSA9IGltcG9ydFJlY29yZHMoKTsK
LSAgICBpZiAoIWVycm9yTWVzc2FnZS5pc051bGwoKSkKKyAgICBpZiAoIWVycm9yTWVzc2FnZS5p
c051bGwoKSkgeworICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihTZXJ2aWNlV29ya2VyLCAiaW1w
b3J0UmVjb3JkcyBmYWlsZWQsIHJlYXNvbjogJXtwdWJsaWN9cyIsIGVycm9yTWVzc2FnZS51dGY4
KCkuZGF0YSgpKTsKKyAgICAgICAgZG9SZWNvdmVyeUF0dGVtcHQoKTsKICAgICAgICAgcmV0dXJu
OwotCi0gICAgc2NvcGVFeGl0LnJlbGVhc2UoKTsKKyAgICB9CiB9CiAKIHZvaWQgUmVnaXN0cmF0
aW9uRGF0YWJhc2U6OmltcG9ydFJlY29yZHNJZk5lY2Vzc2FyeSgpCkBAIC0yMjAsMTAgKzIxOSw3
IEBAIFN0cmluZyBSZWdpc3RyYXRpb25EYXRhYmFzZTo6ZW5zdXJlVmFsaWRSZWNvcmRzVGFibGUo
KQogICAgIGlmIChjdXJyZW50U2NoZW1hID09IHJlY29yZHNUYWJsZVNjaGVtYSgpIHx8IGN1cnJl
bnRTY2hlbWEgPT0gcmVjb3Jkc1RhYmxlU2NoZW1hQWx0ZXJuYXRlKCkpCiAgICAgICAgIHJldHVy
biB7IH07CiAKLSAgICAvLyBUaGlzIGRhdGFiYXNlIGhhcyBhIFJlY29yZHMgdGFibGUgYnV0IGl0
IGlzIG5vdCBhIHNjaGVtYSB3ZSBleHBlY3QuCi0gICAgLy8gVHJ5aW5nIHRvIHJlY292ZXIgYnkg
ZGVsZXRpbmcgdGhlIGRhdGEgY29udGFpbmVkIHdpdGhpbiBpcyBkYW5nZXJvdXMgc28KLSAgICAv
LyB3ZSBzaG91bGQgY29uc2lkZXIgdGhpcyBhbiB1bnJlY292ZXJhYmxlIGVycm9yLgotICAgIFJF
TEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIG1ha2VTdHJpbmcoIlVuZXhw
ZWN0ZWQgc2NoZW1hOiAiLCBjdXJyZW50U2NoZW1hKTsKIH0KIAogc3RhdGljIFN0cmluZyB1cGRh
dGVWaWFDYWNoZVRvU3RyaW5nKFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZSB1cGRhdGUpCmRp
ZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggM2Y1MjM0
YWYyZDQxMjNlNmJlMTNjN2JiMmVjODQwMzBkYjAzNWZiMy4uYWU5NzQzYzI1MDk3MTE4YjY5ZmQw
OWViN2QzZTdmZGEyY2I1NGViYyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rv
b2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTA4LTIyICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgVHJ5IHRvIHJlY292ZXIgbmljZWx5IHdoZW4g
Z2V0dGluZyBhbiB1bmV4cGVjdGVkIHNjaGVtYSBpbiB0aGUgc2VydmljZSB3b3JrZXJzIGRhdGFi
YXNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDEw
MDIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU0NTc0OTkxPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IFlvdWVubiBGYWJsZXQuCisKKyAgICAgICAgQWRkIEFQSSB0ZXN0IGNvdmVyYWdlLgorCisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9TZXJ2aWNl
V29ya2VyQmFzaWMubW06CisKIDIwMTktMDgtMjIgIEpvbmF0aGFuIEJlZGFyZCAgPGpiZWRhcmRA
YXBwbGUuY29tPgogCiAgICAgICAgIHJlc3VsdHMud2Via2l0Lm9yZzogUmVtb3ZlIGJyYW5jaCBh
bmQgcmVwb3NpdG9yeSBpbmZvcm1hdGlvbiBmcm9tIGNvbW1pdCB0b29sdGlwCmRpZmYgLS1naXQg
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGJhNzE0NTFlNjk2NjBjODAxNWI5MzcyZWU4MzRhNmViMGEwZmRhZWEu
LmE3MzE4NGUzMzNhNzc4NTBlNDY5ZWY0ZmUyMzEwMGE3NDkxNDk4NzEgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCkBAIC0yMTgsNiArMjE4LDcgQEAKIAkJNDYxMkMyQjkyMTBBNkFDRTAwQjc4OEE2
IC8qIExvYWRGaWxlVGhlblJlbG9hZC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQ2MTJDMkI4MjEwQTZBQkYwMEI3ODhBNiAvKiBMb2FkRmlsZVRoZW5S
ZWxvYWQubW0gKi87IH07CiAJCTQ2Mzk3Qjk1MURDMkM4NTAwMDlBNzhBRSAvKiBET01Ob2RlLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDYzOTdCOTQx
REMyQzg1MDAwOUE3OEFFIC8qIERPTU5vZGUubW0gKi87IH07CiAJCTQ2NDdCMTI2MUVCQTNCODUw
MDQxRDdFRiAvKiBQcm9jZXNzRGlkVGVybWluYXRlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2NDdCMTI1MUVCQTNCNzMwMDQxRDdFRiAvKiBQcm9j
ZXNzRGlkVGVybWluYXRlLmNwcCAqLzsgfTsKKwkJNDY0Qzc2NEQyMzBERjg1QzAwQUZCMDIwIC8q
IEJhZFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25zLTQuc3FsaXRlMyBpbiBDb3B5IFJlc291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjRDNzY0QzIzMERGODMyMDBB
RkIwMjAgLyogQmFkU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbnMtNC5zcWxpdGUzICovOyB9Owog
CQk0NjZDMzg0MzIxMDYzN0RFMDA2QTg4REUgLyogbm90aWZ5LXJlc291cmNlTG9hZE9ic2VydmVy
Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDY2QzM4NDIyMTA2MzdDRTAwNkE4OERFIC8qIG5vdGlmeS1yZXNvdXJjZUxvYWRPYnNlcnZl
ci5odG1sICovOyB9OwogCQk0NjdDNTY1MzIxQjVFRDEzMDA1NzUxNkQgLyogR2V0U2Vzc2lvbkNv
b2tpZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQ2N0M1NjUxMjFCNUVDREYwMDU3NTE2RCAvKiBHZXRTZXNzaW9uQ29va2llLmh0bWwg
Ki87IH07CiAJCTQ2N0M1NjU0MjFCNUVEMTMwMDU3NTE2RCAvKiBTZXRTZXNzaW9uQ29va2llLmh0
bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDY3QzU2NTIyMUI1RUNERjAwNTc1MTZEIC8qIFNldFNlc3Npb25Db29raWUuaHRtbCAqLzsgfTsK
QEAgLTExNDcsNiArMTE0OCw3IEBACiAJCQkJQzlDOUNENDMyMUU2QTY4NjAwMTlEQjk2IC8qIGF1
dG9wbGF5aW5nLW11bHRpcGxlLW1lZGlhLWVsZW1lbnRzLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMg
Ki8sCiAJCQkJMkUxNEE1MjkxRDNGRTk2QjAwMTBGMzVCIC8qIGF1dG9wbGF5aW5nLXZpZGVvLXdp
dGgtYXVkaW8uaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQlGNDFBQjlBMDFFRjQ2OTZC
MDA4M0ZBMDggLyogYmFja2dyb3VuZC1pbWFnZS1saW5rLWFuZC1pbnB1dC5odG1sIGluIENvcHkg
UmVzb3VyY2VzICovLAorCQkJCTQ2NEM3NjREMjMwREY4NUMwMEFGQjAyMCAvKiBCYWRTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9ucy00LnNxbGl0ZTMgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJ
MkRFNzFCMDAxRDQ5QzNFRDAwOTA0MDk0IC8qIGJsaW5raW5nLWRpdi5odG1sIGluIENvcHkgUmVz
b3VyY2VzICovLAogCQkJCTdDNDg2QkExMUFBMTI1NjcwMDNGNkY5QiAvKiBidW5kbGUtZmlsZS5o
dG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTI2REY1QTYzMTVBMkEyN0UwMDM2ODlDMiAv
KiBDYW5jZWxMb2FkRnJvbVJlc291cmNlTG9hZERlbGVnYXRlLmh0bWwgaW4gQ29weSBSZXNvdXJj
ZXMgKi8sCkBAIC0xNjkwLDYgKzE2OTIsNyBAQAogCQk0NjEyQzJCODIxMEE2QUJGMDBCNzg4QTYg
LyogTG9hZEZpbGVUaGVuUmVsb2FkLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gTG9hZEZpbGVUaGVuUmVsb2FkLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0NjM5N0I5NDFEQzJDODUwMDA5QTc4QUUgLyogRE9NTm9kZS5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTU5vZGUubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTQ2NDdCMTI1MUVCQTNCNzMwMDQxRDdFRiAvKiBQcm9jZXNzRGlkVGVybWlu
YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFByb2Nlc3NEaWRU
ZXJtaW5hdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NjRDNzY0QzIzMERG
ODMyMDBBRkIwMjAgLyogQmFkU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbnMtNC5zcWxpdGUzICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZmlsZTsgcGF0
aCA9ICJCYWRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9ucy00LnNxbGl0ZTMiOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0NjU2QTc1NzIwRjkwNTRGMDAwMkUyMUYgLyogU2ltcGxlU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbnMtNC5zcWxpdGUzICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZmlsZTsgcGF0aCA9ICJTaW1wbGVTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9ucy00LnNxbGl0ZTMiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0NjZDMzg0MjIxMDYzN0NFMDA2QTg4REUgLyogbm90aWZ5LXJlc291cmNlTG9hZE9ic2VydmVy
Lmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAibm90aWZ5LXJlc291cmNlTG9hZE9i
c2VydmVyLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NjdDNTY1MTIxQjVF
Q0RGMDA1NzUxNkQgLyogR2V0U2Vzc2lvbkNvb2tpZS5odG1sICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1s
OyBwYXRoID0gR2V0U2Vzc2lvbkNvb2tpZS5odG1sOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMzE1Miw2ICszMTU1LDcgQEAKIAkJCQlDOUM5Q0Q0MjIxRTZBNjY3MDAxOURCOTYgLyog
YXV0b3BsYXlpbmctbXVsdGlwbGUtbWVkaWEtZWxlbWVudHMuaHRtbCAqLywKIAkJCQkyRTE0QTUy
ODFEM0ZFOEI4MDAxMEYzNUIgLyogYXV0b3BsYXlpbmctdmlkZW8td2l0aC1hdWRpby5odG1sICov
LAogCQkJCUY0MUFCOTk3MUVGNDY5MkMwMDgzRkEwOCAvKiBiYWNrZ3JvdW5kLWltYWdlLWxpbmst
YW5kLWlucHV0Lmh0bWwgKi8sCisJCQkJNDY0Qzc2NEMyMzBERjgzMjAwQUZCMDIwIC8qIEJhZFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25zLTQuc3FsaXRlMyAqLywKIAkJCQkyREU3MUFGRjFENDlD
MkYwMDA5MDQwOTQgLyogYmxpbmtpbmctZGl2Lmh0bWwgKi8sCiAJCQkJMkVGRjA2QzQxRDg4Njc3
MDAwMDRCQjMwIC8qIGNoYW5nZS12aWRlby1zb3VyY2Utb24tY2xpY2suaHRtbCAqLywKIAkJCQky
RUZGMDZDNjFEODg2QTU2MDAwNEJCMzAgLyogY2hhbmdlLXZpZGVvLXNvdXJjZS1vbi1lbmQuaHRt
bCAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
QmFkU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbnMtNC5zcWxpdGUzIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9CYWRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9ucy00LnNx
bGl0ZTMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjQxMTUzYmYwMGU5ZmQ2MjA3YmJkMjkxNTA4NzEwY2ViZThiZDQ0
OQpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMjA0ODAKemNtZUkzUGo0R1Y2dXw4eVBfVCR2aTkt
KVk7JGIxI21YYjlVUlYjYGo7VFRzJEdJNSZOMXFwJCoqP3FSQjhTaVglCnpXQEE8O0ghZ140emU4
Xyk0KV9GfGtAeWZDZDkjMDxxQDwzOzM5MntBPyMjfS1IfUIxRi1tR01NPUlCWEo3PSpFawp6WDBD
eWNPTHQwWllvKlRzTn5Pe3xVMm8rMThzIWBMTU9tODRNUFcoNFVVS2ZrPTRRM0RSKFZtWHl0d19G
e2FZZj4Kek8tejZaRmFhak8xZWdGNVU7PDNRNjhRMFN7bnApVHdmeGczI3l5c0poQE9na29vNUBK
ISl8LWZnK1k2XypNKFlNCnpUWjJYZzBCUj9nKUxfdjRkSTAtPHhgdz9UXiFLNkQtKyRjTz5rUXk9
ZCNfaTRFdlR0VE9obUFmc1A8SGQhXjdUNgp6IWJYTXQpd2BDaUhwOT8mNFIpc0pvZWFiYll3JnIw
WGgqaSh8MldscEQlXzZpTy1YNW1BIXshWnA7Pmh4bmU8OD4KeiZzQjdTKEk1I3xeVFNodCFONDQk
N2V+UyoyVEJUJENUK0xaLUBSZWJuTk5xUFJVQ1F2cjVtb0lIUWU4T0dWQ184CnokWT52Um5wWG5p
dXpTI0pjZTw3ND9aNEszO25sfGt7dlFPa0h7UUo0dTlpejhAYlA8bkQoT0BHJGM+RmtwR1d5Uwp6
YWRhOykqdzZLRSpAMTFeK1p9dTMhfn5jQzZKUD5OZkMoQEdDY3AlazAyNSNXT24/Y3o8Xj0zLWBT
diR7UEUzRmEKekZhYWpPMWVnRjVVOzwybDJgflhCenl6NFVZZT5OVXskSCo8RCR6ZURDY3AlazAy
NSNXT24/YjYwVmM0N3p8V29YCnpyaGZTVCEmfXYoPWtIY09kfmEkQHM3RXREYTM7YmA8Nn1wdChJ
fkJhKU17TytadDN+OUwyWChxdzclNWdOQTJJPQp6ZDRCTmNjWW9+N0xLUFhreWF6cFpvQHRHOD82
fCgpSik8cT1KKXZvKklZeTFUMigpcGZ0WiVfTTRtPX1OJl9GQkUKemdkZ2JHS3c1Tz50fXcmRTIk
YE5GME1CbCQqQURJZDQ7dUJlZC1iTWNyY18rJHJ8cD9POVh4O3RPJmtUOG1VVztsCnpXI2IhckJx
MkBwMSU+KzdIST9iTVUxd0AkPGwhflYrOVZQa1B3USkyLTd1dHFVKXY7Uj9nWTBiVlIpNFVWVHJj
cQp6Wmx0JVJua2VVNElKdmY/M0JraUNYJnRMTEZ2JUJtISR7dktKeGwxZ3Y2MS1IXiliM3BTX2Yp
QWghZz9PeVVzfmAKeit4Iz53b2l7MD9AO1AwVlNJcU1talc9QzclTXQyTzFeIW5Rd1QqbT09YDZI
MiZFbW17QEhEMWllUjtBb0VzZSF8Cnp3Xn5KZldYZXImPD1qbSlnQElQYDQwWS07TmdjLXFnYmZS
Z3B2SXRNJnFKTXhrcnp9cTdnRUMxSndySGlXc0lxcwp6Nyg9NWwycHtiMUt1byo1JDA5KCNGdXdA
NUxNJGYpRDUqfnkobCtIR25LRF5BeWJFJnwxXn4kV3FJO09SMl49SEQKejhodWNLT3o3cmkmUlJu
eElZJFZQOGpTKk5OOD9FcXBuVkRuZkd5Rz9uanxBWiVQTXk7KXBQP05HKUFQTz42e05lCnprbzJO
bXFGRmY2TnhSJXhKVWdrNE1qanAza0E+T3xZWnRQYXpkVHNUUzEhNEc3MWg/bFVUWGk2SDUtVDRz
IWNpUwp6Zj4rVVMtZ0xZKXhRZSQxRyVnI3h7TGF1JDdEKlJ4aWVrPEVhfV9OTjdjUUtXQmotKTN3
aU8qWlJpdVNpeXYlPHMKejNZMXNxRCR8akNLOXpxNzNLeTlHNkpQPk5mQyhAR0NjcCVrMDI1I1dP
bj9kZVJ8en49KktoeGV1VkRXTTxtfDR3CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1n
aXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1NlcnZpY2VXb3JrZXJC
YXNpYy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvU2VydmljZVdv
cmtlckJhc2ljLm1tCmluZGV4IDgyNjFlMzY5MDhkOTZkYmUyOWIzMWQ5ZWU2NzBkZjBkMDE2ODcw
MDYuLjI5Y2EzZmJjOGExNGE5YTIyMzI0MGFkYmRlNDlmZGNlNmRlZGE3MjEgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvU2VydmljZVdvcmtlckJhc2lj
Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvU2VydmljZVdv
cmtlckJhc2ljLm1tCkBAIC0xODY2LDMgKzE4NjYsMzAgQEAgVEVTVChTZXJ2aWNlV29ya2Vycywg
U3VzcGVuZE5ldHdvcmtQcm9jZXNzKQogCiAgICAgRVhQRUNUX1RSVUUoW1tOU0ZpbGVNYW5hZ2Vy
IGRlZmF1bHRNYW5hZ2VyXSBmaWxlRXhpc3RzQXRQYXRoOnN3REJQYXRoLnBhdGhdKTsKIH0KKwor
VEVTVChXZWJLaXQsIFNlcnZpY2VXb3JrZXJEYXRhYmFzZVdpdGhSZWNvcmRzVGFibGVCdXRVbmV4
cGVjdGVkU2NoZW1hKQoreworICAgIC8vIENvcHkgdGhlIGJha2VkIGRhdGFiYXNlIGZpbGVzIHRv
IHRoZSBkYXRhYmFzZSBkaXJlY3RvcnkKKyAgICBOU1VSTCAqdXJsMSA9IFtbTlNCdW5kbGUgbWFp
bkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJCYWRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9ucy00
IiB3aXRoRXh0ZW5zaW9uOkAic3FsaXRlMyIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5y
ZXNvdXJjZXMiXTsKKworICAgIE5TVVJMICpzd1BhdGggPSBbTlNVUkwgZmlsZVVSTFdpdGhQYXRo
OltAIn4vTGlicmFyeS9DYWNoZXMvVGVzdFdlYktpdEFQSS9XZWJLaXQvU2VydmljZVdvcmtlcnMv
IiBzdHJpbmdCeUV4cGFuZGluZ1RpbGRlSW5QYXRoXV07CisgICAgW1tOU0ZpbGVNYW5hZ2VyIGRl
ZmF1bHRNYW5hZ2VyXSByZW1vdmVJdGVtQXRVUkw6c3dQYXRoIGVycm9yOm5pbF07CisgICAgRVhQ
RUNUX0ZBTFNFKFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gZmlsZUV4aXN0c0F0UGF0
aDpzd1BhdGgucGF0aF0pOworCisgICAgW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBj
cmVhdGVEaXJlY3RvcnlBdFVSTDpzd1BhdGggd2l0aEludGVybWVkaWF0ZURpcmVjdG9yaWVzOllF
UyBhdHRyaWJ1dGVzOm5pbCBlcnJvcjpuaWxdOworICAgIFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0
TWFuYWdlcl0gY29weUl0ZW1BdFVSTDp1cmwxIHRvVVJMOltzd1BhdGggVVJMQnlBcHBlbmRpbmdQ
YXRoQ29tcG9uZW50OkAiU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbnMtNC5zcWxpdGUzIl0gZXJy
b3I6bmlsXTsKKworICAgIGF1dG8gd2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24gPSBhZG9w
dE5TKFtbX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAg
ICB3ZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5nZXQoKS5fc2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbkRpcmVjdG9yeSA9IHN3UGF0aDsKKyAgICBhdXRvIGRhdGFTdG9yZSA9IGFkb3B0TlMo
W1tXS1dlYnNpdGVEYXRhU3RvcmUgYWxsb2NdIF9pbml0V2l0aENvbmZpZ3VyYXRpb246d2Vic2l0
ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKworICAgIC8vIEZldGNoIFNXIHJlY29y
ZHMKKyAgICBhdXRvIHdlYnNpdGVEYXRhVHlwZXMgPSBhZG9wdE5TKFtbTlNTZXQgYWxsb2NdIGlu
aXRXaXRoQXJyYXk6QFtXS1dlYnNpdGVEYXRhVHlwZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25z
XV0pOworICAgIHN0YXRpYyBib29sIHJlYWR5VG9Db250aW51ZTsKKyAgICBbZGF0YVN0b3JlIGZl
dGNoRGF0YVJlY29yZHNPZlR5cGVzOndlYnNpdGVEYXRhVHlwZXMuZ2V0KCkgY29tcGxldGlvbkhh
bmRsZXI6XihOU0FycmF5PFdLV2Vic2l0ZURhdGFSZWNvcmQgKj4gKmRhdGFSZWNvcmRzKSB7Cisg
ICAgICAgIEVYUEVDVF9FUSgwVSwgZGF0YVJlY29yZHMuY291bnQpOworICAgICAgICByZWFkeVRv
Q29udGludWUgPSB0cnVlOworICAgIH1dOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigm
cmVhZHlUb0NvbnRpbnVlKTsKKyAgICByZWFkeVRvQ29udGludWUgPSBmYWxzZTsKK30K
</data>

          </attachment>
      

    </bug>

</bugzilla>