<?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>174588</bug_id>
          
          <creation_ts>2017-07-17 10:40:27 -0700</creation_ts>
          <short_desc>Modernize content extension code</short_desc>
          <delta_ts>2017-07-17 13:48:47 -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>New Bugs</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1329602</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-07-17 10:40:27 -0700</bug_when>
    <thetext>Modernize content extension code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1329603</commentid>
    <comment_count>1</comment_count>
      <attachid>315675</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-07-17 10:47:54 -0700</bug_when>
    <thetext>Created attachment 315675
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1329615</commentid>
    <comment_count>2</comment_count>
      <attachid>315675</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-07-17 10:58:47 -0700</bug_when>
    <thetext>Comment on attachment 315675
Patch

Should probably apply cleanly, but r=me when it does.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1329621</commentid>
    <comment_count>3</comment_count>
      <attachid>315681</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-07-17 11:06:46 -0700</bug_when>
    <thetext>Created attachment 315681
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1329677</commentid>
    <comment_count>4</comment_count>
      <attachid>315699</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-07-17 12:51:05 -0700</bug_when>
    <thetext>Created attachment 315699
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1329678</commentid>
    <comment_count>5</comment_count>
      <attachid>315700</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-07-17 12:54:39 -0700</bug_when>
    <thetext>Created attachment 315700
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1329696</commentid>
    <comment_count>6</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-07-17 13:48:47 -0700</bug_when>
    <thetext>http://trac.webkit.org/r219573</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>315675</attachid>
            <date>2017-07-17 10:47:54 -0700</date>
            <delta_ts>2017-07-17 11:06:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174588-20170717104753.patch</filename>
            <type>text/plain</type>
            <size>6983</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDIxOTU2
MikKKysrIENoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDE3LTA3
LTE3ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgTW9kZXJuaXplIGNvbnRlbnQgZXh0ZW5zaW9uIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NDU4OAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9V
c2VyQ29udGVudC9XZWJVc2VyQ29udGVudENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJVc2VyQ29udGVudENvbnRyb2xsZXI6OmFkZENvbnRlbnRSdWxlTGlzdHMpOgorCiAyMDE3
LTA3LTE3ICBLb25zdGFudGluIFRva2FyZXYgIDxhbm51bGVuQHlhbmRleC5ydT4KIAogICAgICAg
ICBbQ01ha2VdIENyZWF0ZSB0YXJnZXRzIGJlZm9yZSBXRUJLSVRfSU5DTFVERV9DT05GSUdfRklM
RVNfSUZfRVhJU1RTIGlzIGNhbGxlZApJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjE5NDUyKQor
KysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAg
QEAKKzIwMTctMDctMTcgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9y
Zz4KKworICAgICAgICBNb2Rlcm5pemUgY29udGVudCBleHRlbnNpb24gY29kZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc0NTg4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gY2hhbmdlIGluIGJlaGF2
aW9yLiAgSnVzdCB1c2UgUmVmIGluc3RlYWQgb2YgUmVmUHRyIHdoZXJlIHBvc3NpYmxlLgorCisg
ICAgICAgICogY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvbi5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDb250ZW50RXh0ZW5zaW9uczo6Q29udGVudEV4dGVuc2lvbjo6Y3JlYXRlKToK
KyAgICAgICAgKiBjb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uLmg6CisgICAgICAg
ICogY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvbnNCYWNrZW5kLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNvbnRlbnRFeHRlbnNpb25zOjpDb250ZW50RXh0ZW5zaW9uc0JhY2tlbmQ6
OmFkZENvbnRlbnRFeHRlbnNpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudEV4dGVuc2lv
bnM6OkNvbnRlbnRFeHRlbnNpb25zQmFja2VuZDo6YWN0aW9uc0ZvclJlc291cmNlTG9hZCk6Cisg
ICAgICAgICogY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvbnNCYWNrZW5kLmg6CisK
IDIwMTctMDctMTMgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFtHQ3J5cHRdIEltcGxlbWVudCBDcnlwdG9LZXlSU0EgU1BLSSBleHBvcnRzCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5z
aW9uLmNwcAkocmV2aXNpb24gMjE5NDUyKQorKysgU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVu
c2lvbnMvQ29udGVudEV4dGVuc2lvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2LDcgKzM2LDcg
QEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIG5hbWVzcGFjZSBDb250ZW50RXh0ZW5zaW9ucyB7CiAK
LVJlZlB0cjxDb250ZW50RXh0ZW5zaW9uPiBDb250ZW50RXh0ZW5zaW9uOjpjcmVhdGUoY29uc3Qg
U3RyaW5nJiBpZGVudGlmaWVyLCBSZWY8Q29tcGlsZWRDb250ZW50RXh0ZW5zaW9uPiYmIGNvbXBp
bGVkRXh0ZW5zaW9uKQorUmVmPENvbnRlbnRFeHRlbnNpb24+IENvbnRlbnRFeHRlbnNpb246OmNy
ZWF0ZShjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIFJlZjxDb21waWxlZENvbnRlbnRFeHRlbnNp
b24+JiYgY29tcGlsZWRFeHRlbnNpb24pCiB7CiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ29u
dGVudEV4dGVuc2lvbihpZGVudGlmaWVyLCBXVEZNb3ZlKGNvbXBpbGVkRXh0ZW5zaW9uKSkpOwog
fQpJbmRleDogU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lv
bi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbnRl
bnRFeHRlbnNpb24uaAkocmV2aXNpb24gMjE5NDUyKQorKysgU291cmNlL1dlYkNvcmUvY29udGVu
dGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC00MSw3ICs0
MSw3IEBAIGNsYXNzIENvbXBpbGVkQ29udGVudEV4dGVuc2lvbjsKIAogY2xhc3MgQ29udGVudEV4
dGVuc2lvbiA6IHB1YmxpYyBSZWZDb3VudGVkPENvbnRlbnRFeHRlbnNpb24+IHsKIHB1YmxpYzoK
LSAgICBzdGF0aWMgUmVmUHRyPENvbnRlbnRFeHRlbnNpb24+IGNyZWF0ZShjb25zdCBTdHJpbmcm
IGlkZW50aWZpZXIsIFJlZjxDb21waWxlZENvbnRlbnRFeHRlbnNpb24+JiYpOworICAgIHN0YXRp
YyBSZWY8Q29udGVudEV4dGVuc2lvbj4gY3JlYXRlKGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwg
UmVmPENvbXBpbGVkQ29udGVudEV4dGVuc2lvbj4mJik7CiAKICAgICBjb25zdCBTdHJpbmcmIGlk
ZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KICAgICBjb25zdCBDb21w
aWxlZENvbnRlbnRFeHRlbnNpb24mIGNvbXBpbGVkRXh0ZW5zaW9uKCkgY29uc3QgeyByZXR1cm4g
bV9jb21waWxlZEV4dGVuc2lvbi5nZXQoKTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvY29udGVu
dGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvbnNCYWNrZW5kLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uc0JhY2tlbmQu
Y3BwCShyZXZpc2lvbiAyMTk0NTIpCisrKyBTb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9u
cy9Db250ZW50RXh0ZW5zaW9uc0JhY2tlbmQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCwxOSAr
NDgsMTQgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBuYW1lc3BhY2UgQ29udGVudEV4dGVuc2lv
bnMgewogICAgIAotdm9pZCBDb250ZW50RXh0ZW5zaW9uc0JhY2tlbmQ6OmFkZENvbnRlbnRFeHRl
bnNpb24oY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBSZWZQdHI8Q29tcGlsZWRDb250ZW50RXh0
ZW5zaW9uPiBjb21waWxlZENvbnRlbnRFeHRlbnNpb24pCit2b2lkIENvbnRlbnRFeHRlbnNpb25z
QmFja2VuZDo6YWRkQ29udGVudEV4dGVuc2lvbihjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIFJl
ZjxDb21waWxlZENvbnRlbnRFeHRlbnNpb24+IGNvbXBpbGVkQ29udGVudEV4dGVuc2lvbikKIHsK
ICAgICBBU1NFUlQoIWlkZW50aWZpZXIuaXNFbXB0eSgpKTsKICAgICBpZiAoaWRlbnRpZmllci5p
c0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKLQotICAgIGlmICghY29tcGlsZWRDb250ZW50RXh0
ZW5zaW9uKSB7Ci0gICAgICAgIHJlbW92ZUNvbnRlbnRFeHRlbnNpb24oaWRlbnRpZmllcik7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBSZWZQdHI8Q29udGVudEV4dGVuc2lvbj4gZXh0
ZW5zaW9uID0gQ29udGVudEV4dGVuc2lvbjo6Y3JlYXRlKGlkZW50aWZpZXIsIGFkb3B0UmVmKCpj
b21waWxlZENvbnRlbnRFeHRlbnNpb24ubGVha1JlZigpKSk7Ci0gICAgbV9jb250ZW50RXh0ZW5z
aW9ucy5zZXQoaWRlbnRpZmllciwgV1RGTW92ZShleHRlbnNpb24pKTsKKyAgICAKKyAgICBhdXRv
IGNvbnRlbnRFeHRlbnNpb24gPSBDb250ZW50RXh0ZW5zaW9uOjpjcmVhdGUoaWRlbnRpZmllciwg
V1RGTW92ZShjb21waWxlZENvbnRlbnRFeHRlbnNpb24pKTsKKyAgICBtX2NvbnRlbnRFeHRlbnNp
b25zLnNldChpZGVudGlmaWVyLCBXVEZNb3ZlKGNvbnRlbnRFeHRlbnNpb24pKTsKIH0KIAogdm9p
ZCBDb250ZW50RXh0ZW5zaW9uc0JhY2tlbmQ6OnJlbW92ZUNvbnRlbnRFeHRlbnNpb24oY29uc3Qg
U3RyaW5nJiBpZGVudGlmaWVyKQpAQCAtODgsNyArODMsNiBAQCBWZWN0b3I8QWN0aW9uPiBDb250
ZW50RXh0ZW5zaW9uc0JhY2tlbmQ6CiAgICAgVmVjdG9yPEFjdGlvbj4gZmluYWxBY3Rpb25zOwog
ICAgIFJlc291cmNlRmxhZ3MgZmxhZ3MgPSByZXNvdXJjZUxvYWRJbmZvLmdldFJlc291cmNlRmxh
Z3MoKTsKICAgICBmb3IgKGF1dG8mIGNvbnRlbnRFeHRlbnNpb24gOiBtX2NvbnRlbnRFeHRlbnNp
b25zLnZhbHVlcygpKSB7Ci0gICAgICAgIFJFTEVBU0VfQVNTRVJUKGNvbnRlbnRFeHRlbnNpb24p
OwogICAgICAgICBjb25zdCBDb21waWxlZENvbnRlbnRFeHRlbnNpb24mIGNvbXBpbGVkRXh0ZW5z
aW9uID0gY29udGVudEV4dGVuc2lvbi0+Y29tcGlsZWRFeHRlbnNpb24oKTsKICAgICAgICAgCiAg
ICAgICAgIERGQUJ5dGVjb2RlSW50ZXJwcmV0ZXIgd2l0aG91dENvbmRpdGlvbnNJbnRlcnByZXRl
cihjb21waWxlZEV4dGVuc2lvbi5maWx0ZXJzV2l0aG91dENvbmRpdGlvbnNCeXRlY29kZSgpLCBj
b21waWxlZEV4dGVuc2lvbi5maWx0ZXJzV2l0aG91dENvbmRpdGlvbnNCeXRlY29kZUxlbmd0aCgp
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRFeHRlbnNp
b25zQmFja2VuZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNp
b25zL0NvbnRlbnRFeHRlbnNpb25zQmFja2VuZC5oCShyZXZpc2lvbiAyMTk0NTIpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uc0JhY2tlbmQuaAko
d29ya2luZyBjb3B5KQpAQCAtNTYsNyArNTYsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBTZXQgYSBs
aXN0IG9mIHJ1bGVzIGZvciBhIGdpdmVuIG5hbWUuIElmIHRoZXJlIHdlcmUgZXhpc3RpbmcgcnVs
ZXMgZm9yIHRoZSBuYW1lLCB0aGV5IGFyZSBvdmVycmlkZW4uCiAgICAgLy8gVGhlIGlkZW50aWZp
ZXIgY2Fubm90IGJlIGVtcHR5LgotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYWRkQ29udGVudEV4
dGVuc2lvbihjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIFJlZlB0cjxDb21waWxlZENvbnRlbnRF
eHRlbnNpb24+KTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGFkZENvbnRlbnRFeHRlbnNpb24o
Y29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBSZWY8Q29tcGlsZWRDb250ZW50RXh0ZW5zaW9uPik7
CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZW1vdmVDb250ZW50RXh0ZW5zaW9uKGNvbnN0IFN0
cmluZyYgaWRlbnRpZmllcik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZW1vdmVBbGxDb250
ZW50RXh0ZW5zaW9ucygpOwogCkBAIC02OSw3ICs2OSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMg
Y29uc3QgU3RyaW5nJiBkaXNwbGF5Tm9uZUNTU1J1bGUoKTsKIAogcHJpdmF0ZToKLSAgICBIYXNo
TWFwPFN0cmluZywgUmVmUHRyPENvbnRlbnRFeHRlbnNpb24+PiBtX2NvbnRlbnRFeHRlbnNpb25z
OworICAgIEhhc2hNYXA8U3RyaW5nLCBSZWY8Q29udGVudEV4dGVuc2lvbj4+IG1fY29udGVudEV4
dGVuc2lvbnM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBDb250ZW50RXh0ZW5zaW9ucwpJbmRleDog
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Vc2VyQ29udGVudC9XZWJVc2VyQ29udGVudENvbnRy
b2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvVXNlckNv
bnRlbnQvV2ViVXNlckNvbnRlbnRDb250cm9sbGVyLmNwcAkocmV2aXNpb24gMjE5NDUyKQorKysg
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Vc2VyQ29udGVudC9XZWJVc2VyQ29udGVudENvbnRy
b2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNDMsNyArMzQzLDcgQEAgdm9pZCBXZWJVc2Vy
Q29udGVudENvbnRyb2xsZXI6OmFkZENvbnRlbgogewogICAgIGZvciAoY29uc3QgYXV0byYgY29u
dGVudFJ1bGVMaXN0IDogY29udGVudFJ1bGVMaXN0cykgewogICAgICAgICBXZWJDb21waWxlZENv
bnRlbnRSdWxlTGlzdERhdGEgY29udGVudFJ1bGVMaXN0RGF0YSA9IGNvbnRlbnRSdWxlTGlzdC5z
ZWNvbmQ7Ci0gICAgICAgIFJlZlB0cjxXZWJDb21waWxlZENvbnRlbnRSdWxlTGlzdD4gY29tcGls
ZWRDb250ZW50UnVsZUxpc3QgPSBXZWJDb21waWxlZENvbnRlbnRSdWxlTGlzdDo6Y3JlYXRlKFdU
Rk1vdmUoY29udGVudFJ1bGVMaXN0RGF0YSkpOworICAgICAgICBhdXRvIGNvbXBpbGVkQ29udGVu
dFJ1bGVMaXN0ID0gV2ViQ29tcGlsZWRDb250ZW50UnVsZUxpc3Q6OmNyZWF0ZShXVEZNb3ZlKGNv
bnRlbnRSdWxlTGlzdERhdGEpKTsKIAogICAgICAgICBtX2NvbnRlbnRFeHRlbnNpb25CYWNrZW5k
LmFkZENvbnRlbnRFeHRlbnNpb24oY29udGVudFJ1bGVMaXN0LmZpcnN0LCBXVEZNb3ZlKGNvbXBp
bGVkQ29udGVudFJ1bGVMaXN0KSk7CiAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>315681</attachid>
            <date>2017-07-17 11:06:46 -0700</date>
            <delta_ts>2017-07-17 12:51:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174588-20170717110646.patch</filename>
            <type>text/plain</type>
            <size>7035</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxOTU2MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE3LTA3LTE3ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW9kZXJuaXpl
IGNvbnRlbnQgZXh0ZW5zaW9uIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE3NDU4OAorCisgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcu
CisKKyAgICAgICAgTm8gY2hhbmdlIGluIGJlaGF2aW9yLiAgSnVzdCB1c2UgUmVmIGluc3RlYWQg
b2YgUmVmUHRyIHdoZXJlIHBvc3NpYmxlLgorCisgICAgICAgICogY29udGVudGV4dGVuc2lvbnMv
Q29udGVudEV4dGVuc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50RXh0ZW5zaW9u
czo6Q29udGVudEV4dGVuc2lvbjo6Y3JlYXRlKToKKyAgICAgICAgKiBjb250ZW50ZXh0ZW5zaW9u
cy9Db250ZW50RXh0ZW5zaW9uLmg6CisgICAgICAgICogY29udGVudGV4dGVuc2lvbnMvQ29udGVu
dEV4dGVuc2lvbnNCYWNrZW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRFeHRlbnNp
b25zOjpDb250ZW50RXh0ZW5zaW9uc0JhY2tlbmQ6OmFkZENvbnRlbnRFeHRlbnNpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6Q29udGVudEV4dGVuc2lvbnM6OkNvbnRlbnRFeHRlbnNpb25zQmFja2Vu
ZDo6YWN0aW9uc0ZvclJlc291cmNlTG9hZCk6CisgICAgICAgICogY29udGVudGV4dGVuc2lvbnMv
Q29udGVudEV4dGVuc2lvbnNCYWNrZW5kLmg6CisKIDIwMTctMDctMTcgIEtvbnN0YW50aW4gVG9r
YXJldiAgPGFubnVsZW5AeWFuZGV4LnJ1PgogCiAgICAgICAgIFtDTWFrZV0gQ3JlYXRlIHRhcmdl
dHMgYmVmb3JlIFdFQktJVF9JTkNMVURFX0NPTkZJR19GSUxFU19JRl9FWElTVFMgaXMgY2FsbGVk
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9u
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250
ZW50RXh0ZW5zaW9uLmNwcAkocmV2aXNpb24gMjE5NTYyKQorKysgU291cmNlL1dlYkNvcmUvY29u
dGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2
LDcgKzM2LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIG5hbWVzcGFjZSBDb250ZW50RXh0ZW5z
aW9ucyB7CiAKLVJlZlB0cjxDb250ZW50RXh0ZW5zaW9uPiBDb250ZW50RXh0ZW5zaW9uOjpjcmVh
dGUoY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBSZWY8Q29tcGlsZWRDb250ZW50RXh0ZW5zaW9u
PiYmIGNvbXBpbGVkRXh0ZW5zaW9uKQorUmVmPENvbnRlbnRFeHRlbnNpb24+IENvbnRlbnRFeHRl
bnNpb246OmNyZWF0ZShjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIFJlZjxDb21waWxlZENvbnRl
bnRFeHRlbnNpb24+JiYgY29tcGlsZWRFeHRlbnNpb24pCiB7CiAgICAgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgQ29udGVudEV4dGVuc2lvbihpZGVudGlmaWVyLCBXVEZNb3ZlKGNvbXBpbGVkRXh0ZW5z
aW9uKSkpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVu
dEV4dGVuc2lvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNp
b25zL0NvbnRlbnRFeHRlbnNpb24uaAkocmV2aXNpb24gMjE5NTYyKQorKysgU291cmNlL1dlYkNv
cmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBA
IC00MSw3ICs0MSw3IEBAIGNsYXNzIENvbXBpbGVkQ29udGVudEV4dGVuc2lvbjsKIAogY2xhc3Mg
Q29udGVudEV4dGVuc2lvbiA6IHB1YmxpYyBSZWZDb3VudGVkPENvbnRlbnRFeHRlbnNpb24+IHsK
IHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmUHRyPENvbnRlbnRFeHRlbnNpb24+IGNyZWF0ZShjb25z
dCBTdHJpbmcmIGlkZW50aWZpZXIsIFJlZjxDb21waWxlZENvbnRlbnRFeHRlbnNpb24+JiYpOwor
ICAgIHN0YXRpYyBSZWY8Q29udGVudEV4dGVuc2lvbj4gY3JlYXRlKGNvbnN0IFN0cmluZyYgaWRl
bnRpZmllciwgUmVmPENvbXBpbGVkQ29udGVudEV4dGVuc2lvbj4mJik7CiAKICAgICBjb25zdCBT
dHJpbmcmIGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KICAgICBj
b25zdCBDb21waWxlZENvbnRlbnRFeHRlbnNpb24mIGNvbXBpbGVkRXh0ZW5zaW9uKCkgY29uc3Qg
eyByZXR1cm4gbV9jb21waWxlZEV4dGVuc2lvbi5nZXQoKTsgfQpJbmRleDogU291cmNlL1dlYkNv
cmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvbnNCYWNrZW5kLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9u
c0JhY2tlbmQuY3BwCShyZXZpc2lvbiAyMTk1NjIpCisrKyBTb3VyY2UvV2ViQ29yZS9jb250ZW50
ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uc0JhY2tlbmQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00OCwxOSArNDgsMTQgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBuYW1lc3BhY2UgQ29udGVu
dEV4dGVuc2lvbnMgewogICAgIAotdm9pZCBDb250ZW50RXh0ZW5zaW9uc0JhY2tlbmQ6OmFkZENv
bnRlbnRFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBSZWZQdHI8Q29tcGlsZWRD
b250ZW50RXh0ZW5zaW9uPiBjb21waWxlZENvbnRlbnRFeHRlbnNpb24pCit2b2lkIENvbnRlbnRF
eHRlbnNpb25zQmFja2VuZDo6YWRkQ29udGVudEV4dGVuc2lvbihjb25zdCBTdHJpbmcmIGlkZW50
aWZpZXIsIFJlZjxDb21waWxlZENvbnRlbnRFeHRlbnNpb24+IGNvbXBpbGVkQ29udGVudEV4dGVu
c2lvbikKIHsKICAgICBBU1NFUlQoIWlkZW50aWZpZXIuaXNFbXB0eSgpKTsKICAgICBpZiAoaWRl
bnRpZmllci5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKLQotICAgIGlmICghY29tcGlsZWRD
b250ZW50RXh0ZW5zaW9uKSB7Ci0gICAgICAgIHJlbW92ZUNvbnRlbnRFeHRlbnNpb24oaWRlbnRp
Zmllcik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBSZWZQdHI8Q29udGVudEV4dGVu
c2lvbj4gZXh0ZW5zaW9uID0gQ29udGVudEV4dGVuc2lvbjo6Y3JlYXRlKGlkZW50aWZpZXIsIGFk
b3B0UmVmKCpjb21waWxlZENvbnRlbnRFeHRlbnNpb24ubGVha1JlZigpKSk7Ci0gICAgbV9jb250
ZW50RXh0ZW5zaW9ucy5zZXQoaWRlbnRpZmllciwgV1RGTW92ZShleHRlbnNpb24pKTsKKyAgICAK
KyAgICBhdXRvIGNvbnRlbnRFeHRlbnNpb24gPSBDb250ZW50RXh0ZW5zaW9uOjpjcmVhdGUoaWRl
bnRpZmllciwgV1RGTW92ZShjb21waWxlZENvbnRlbnRFeHRlbnNpb24pKTsKKyAgICBtX2NvbnRl
bnRFeHRlbnNpb25zLnNldChpZGVudGlmaWVyLCBXVEZNb3ZlKGNvbnRlbnRFeHRlbnNpb24pKTsK
IH0KIAogdm9pZCBDb250ZW50RXh0ZW5zaW9uc0JhY2tlbmQ6OnJlbW92ZUNvbnRlbnRFeHRlbnNp
b24oY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyKQpAQCAtODgsNyArODMsNiBAQCBWZWN0b3I8QWN0
aW9uPiBDb250ZW50RXh0ZW5zaW9uc0JhY2tlbmQ6CiAgICAgVmVjdG9yPEFjdGlvbj4gZmluYWxB
Y3Rpb25zOwogICAgIFJlc291cmNlRmxhZ3MgZmxhZ3MgPSByZXNvdXJjZUxvYWRJbmZvLmdldFJl
c291cmNlRmxhZ3MoKTsKICAgICBmb3IgKGF1dG8mIGNvbnRlbnRFeHRlbnNpb24gOiBtX2NvbnRl
bnRFeHRlbnNpb25zLnZhbHVlcygpKSB7Ci0gICAgICAgIFJFTEVBU0VfQVNTRVJUKGNvbnRlbnRF
eHRlbnNpb24pOwogICAgICAgICBjb25zdCBDb21waWxlZENvbnRlbnRFeHRlbnNpb24mIGNvbXBp
bGVkRXh0ZW5zaW9uID0gY29udGVudEV4dGVuc2lvbi0+Y29tcGlsZWRFeHRlbnNpb24oKTsKICAg
ICAgICAgCiAgICAgICAgIERGQUJ5dGVjb2RlSW50ZXJwcmV0ZXIgd2l0aG91dENvbmRpdGlvbnNJ
bnRlcnByZXRlcihjb21waWxlZEV4dGVuc2lvbi5maWx0ZXJzV2l0aG91dENvbmRpdGlvbnNCeXRl
Y29kZSgpLCBjb21waWxlZEV4dGVuc2lvbi5maWx0ZXJzV2l0aG91dENvbmRpdGlvbnNCeXRlY29k
ZUxlbmd0aCgpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbnRl
bnRFeHRlbnNpb25zQmFja2VuZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2NvbnRl
bnRleHRlbnNpb25zL0NvbnRlbnRFeHRlbnNpb25zQmFja2VuZC5oCShyZXZpc2lvbiAyMTk1NjIp
CisrKyBTb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uc0Jh
Y2tlbmQuaAkod29ya2luZyBjb3B5KQpAQCAtNTYsNyArNTYsNyBAQCBwdWJsaWM6CiAKICAgICAv
LyBTZXQgYSBsaXN0IG9mIHJ1bGVzIGZvciBhIGdpdmVuIG5hbWUuIElmIHRoZXJlIHdlcmUgZXhp
c3RpbmcgcnVsZXMgZm9yIHRoZSBuYW1lLCB0aGV5IGFyZSBvdmVycmlkZW4uCiAgICAgLy8gVGhl
IGlkZW50aWZpZXIgY2Fubm90IGJlIGVtcHR5LgotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYWRk
Q29udGVudEV4dGVuc2lvbihjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIFJlZlB0cjxDb21waWxl
ZENvbnRlbnRFeHRlbnNpb24+KTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGFkZENvbnRlbnRF
eHRlbnNpb24oY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBSZWY8Q29tcGlsZWRDb250ZW50RXh0
ZW5zaW9uPik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZW1vdmVDb250ZW50RXh0ZW5zaW9u
KGNvbnN0IFN0cmluZyYgaWRlbnRpZmllcik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZW1v
dmVBbGxDb250ZW50RXh0ZW5zaW9ucygpOwogCkBAIC02OSw3ICs2OSw3IEBAIHB1YmxpYzoKICAg
ICBzdGF0aWMgY29uc3QgU3RyaW5nJiBkaXNwbGF5Tm9uZUNTU1J1bGUoKTsKIAogcHJpdmF0ZToK
LSAgICBIYXNoTWFwPFN0cmluZywgUmVmUHRyPENvbnRlbnRFeHRlbnNpb24+PiBtX2NvbnRlbnRF
eHRlbnNpb25zOworICAgIEhhc2hNYXA8U3RyaW5nLCBSZWY8Q29udGVudEV4dGVuc2lvbj4+IG1f
Y29udGVudEV4dGVuc2lvbnM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBDb250ZW50RXh0ZW5zaW9u
cwpJbmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxOTU2MykKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTctMDctMTcgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBNb2Rlcm5pemUg
Y29udGVudCBleHRlbnNpb24gY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTc0NTg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4K
KworICAgICAgICAqIFdlYlByb2Nlc3MvVXNlckNvbnRlbnQvV2ViVXNlckNvbnRlbnRDb250cm9s
bGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVXNlckNvbnRlbnRDb250cm9sbGVyOjphZGRD
b250ZW50UnVsZUxpc3RzKToKKwogMjAxNy0wNy0xNyAgS29uc3RhbnRpbiBUb2thcmV2ICA8YW5u
dWxlbkB5YW5kZXgucnU+CiAKICAgICAgICAgW0NNYWtlXSBDcmVhdGUgdGFyZ2V0cyBiZWZvcmUg
V0VCS0lUX0lOQ0xVREVfQ09ORklHX0ZJTEVTX0lGX0VYSVNUUyBpcyBjYWxsZWQKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Vc2VyQ29udGVudC9XZWJVc2VyQ29udGVudENvbnRyb2xs
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Vc2VyQ29udGVu
dC9XZWJVc2VyQ29udGVudENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAyMTk1NjIpCisrKyBTb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvVXNlckNvbnRlbnQvV2ViVXNlckNvbnRlbnRDb250cm9sbGVy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQzLDcgKzM0Myw3IEBAIHZvaWQgV2ViVXNlckNvbnRl
bnRDb250cm9sbGVyOjphZGRDb250ZW4KIHsKICAgICBmb3IgKGNvbnN0IGF1dG8mIGNvbnRlbnRS
dWxlTGlzdCA6IGNvbnRlbnRSdWxlTGlzdHMpIHsKICAgICAgICAgV2ViQ29tcGlsZWRDb250ZW50
UnVsZUxpc3REYXRhIGNvbnRlbnRSdWxlTGlzdERhdGEgPSBjb250ZW50UnVsZUxpc3Quc2Vjb25k
OwotICAgICAgICBSZWZQdHI8V2ViQ29tcGlsZWRDb250ZW50UnVsZUxpc3Q+IGNvbXBpbGVkQ29u
dGVudFJ1bGVMaXN0ID0gV2ViQ29tcGlsZWRDb250ZW50UnVsZUxpc3Q6OmNyZWF0ZShXVEZNb3Zl
KGNvbnRlbnRSdWxlTGlzdERhdGEpKTsKKyAgICAgICAgYXV0byBjb21waWxlZENvbnRlbnRSdWxl
TGlzdCA9IFdlYkNvbXBpbGVkQ29udGVudFJ1bGVMaXN0OjpjcmVhdGUoV1RGTW92ZShjb250ZW50
UnVsZUxpc3REYXRhKSk7CiAKICAgICAgICAgbV9jb250ZW50RXh0ZW5zaW9uQmFja2VuZC5hZGRD
b250ZW50RXh0ZW5zaW9uKGNvbnRlbnRSdWxlTGlzdC5maXJzdCwgV1RGTW92ZShjb21waWxlZENv
bnRlbnRSdWxlTGlzdCkpOwogICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>315699</attachid>
            <date>2017-07-17 12:51:05 -0700</date>
            <delta_ts>2017-07-17 12:54:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174588-20170717125104.patch</filename>
            <type>text/plain</type>
            <size>12922</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxOTU2MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE3LTA3LTE3ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW9kZXJuaXpl
IGNvbnRlbnQgZXh0ZW5zaW9uIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE3NDU4OAorCisgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcu
CisKKyAgICAgICAgTm8gY2hhbmdlIGluIGJlaGF2aW9yLiAgSnVzdCB1c2UgUmVmIGluc3RlYWQg
b2YgUmVmUHRyIHdoZXJlIHBvc3NpYmxlLgorCisgICAgICAgICogY29udGVudGV4dGVuc2lvbnMv
Q29udGVudEV4dGVuc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50RXh0ZW5zaW9u
czo6Q29udGVudEV4dGVuc2lvbjo6Y3JlYXRlKToKKyAgICAgICAgKiBjb250ZW50ZXh0ZW5zaW9u
cy9Db250ZW50RXh0ZW5zaW9uLmg6CisgICAgICAgICogY29udGVudGV4dGVuc2lvbnMvQ29udGVu
dEV4dGVuc2lvbnNCYWNrZW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRFeHRlbnNp
b25zOjpDb250ZW50RXh0ZW5zaW9uc0JhY2tlbmQ6OmFkZENvbnRlbnRFeHRlbnNpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6Q29udGVudEV4dGVuc2lvbnM6OkNvbnRlbnRFeHRlbnNpb25zQmFja2Vu
ZDo6YWN0aW9uc0ZvclJlc291cmNlTG9hZCk6CisgICAgICAgICogY29udGVudGV4dGVuc2lvbnMv
Q29udGVudEV4dGVuc2lvbnNCYWNrZW5kLmg6CisKIDIwMTctMDctMTcgIEtvbnN0YW50aW4gVG9r
YXJldiAgPGFubnVsZW5AeWFuZGV4LnJ1PgogCiAgICAgICAgIFtDTWFrZV0gQ3JlYXRlIHRhcmdl
dHMgYmVmb3JlIFdFQktJVF9JTkNMVURFX0NPTkZJR19GSUxFU19JRl9FWElTVFMgaXMgY2FsbGVk
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9u
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250
ZW50RXh0ZW5zaW9uLmNwcAkocmV2aXNpb24gMjE5NTYyKQorKysgU291cmNlL1dlYkNvcmUvY29u
dGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2
LDcgKzM2LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIG5hbWVzcGFjZSBDb250ZW50RXh0ZW5z
aW9ucyB7CiAKLVJlZlB0cjxDb250ZW50RXh0ZW5zaW9uPiBDb250ZW50RXh0ZW5zaW9uOjpjcmVh
dGUoY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBSZWY8Q29tcGlsZWRDb250ZW50RXh0ZW5zaW9u
PiYmIGNvbXBpbGVkRXh0ZW5zaW9uKQorUmVmPENvbnRlbnRFeHRlbnNpb24+IENvbnRlbnRFeHRl
bnNpb246OmNyZWF0ZShjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIFJlZjxDb21waWxlZENvbnRl
bnRFeHRlbnNpb24+JiYgY29tcGlsZWRFeHRlbnNpb24pCiB7CiAgICAgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgQ29udGVudEV4dGVuc2lvbihpZGVudGlmaWVyLCBXVEZNb3ZlKGNvbXBpbGVkRXh0ZW5z
aW9uKSkpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVu
dEV4dGVuc2lvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNp
b25zL0NvbnRlbnRFeHRlbnNpb24uaAkocmV2aXNpb24gMjE5NTYyKQorKysgU291cmNlL1dlYkNv
cmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBA
IC00MSw3ICs0MSw3IEBAIGNsYXNzIENvbXBpbGVkQ29udGVudEV4dGVuc2lvbjsKIAogY2xhc3Mg
Q29udGVudEV4dGVuc2lvbiA6IHB1YmxpYyBSZWZDb3VudGVkPENvbnRlbnRFeHRlbnNpb24+IHsK
IHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmUHRyPENvbnRlbnRFeHRlbnNpb24+IGNyZWF0ZShjb25z
dCBTdHJpbmcmIGlkZW50aWZpZXIsIFJlZjxDb21waWxlZENvbnRlbnRFeHRlbnNpb24+JiYpOwor
ICAgIHN0YXRpYyBSZWY8Q29udGVudEV4dGVuc2lvbj4gY3JlYXRlKGNvbnN0IFN0cmluZyYgaWRl
bnRpZmllciwgUmVmPENvbXBpbGVkQ29udGVudEV4dGVuc2lvbj4mJik7CiAKICAgICBjb25zdCBT
dHJpbmcmIGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KICAgICBj
b25zdCBDb21waWxlZENvbnRlbnRFeHRlbnNpb24mIGNvbXBpbGVkRXh0ZW5zaW9uKCkgY29uc3Qg
eyByZXR1cm4gbV9jb21waWxlZEV4dGVuc2lvbi5nZXQoKTsgfQpJbmRleDogU291cmNlL1dlYkNv
cmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvbnNCYWNrZW5kLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9u
c0JhY2tlbmQuY3BwCShyZXZpc2lvbiAyMTk1NjIpCisrKyBTb3VyY2UvV2ViQ29yZS9jb250ZW50
ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uc0JhY2tlbmQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00OCwxOSArNDgsMTQgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBuYW1lc3BhY2UgQ29udGVu
dEV4dGVuc2lvbnMgewogICAgIAotdm9pZCBDb250ZW50RXh0ZW5zaW9uc0JhY2tlbmQ6OmFkZENv
bnRlbnRFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBSZWZQdHI8Q29tcGlsZWRD
b250ZW50RXh0ZW5zaW9uPiBjb21waWxlZENvbnRlbnRFeHRlbnNpb24pCit2b2lkIENvbnRlbnRF
eHRlbnNpb25zQmFja2VuZDo6YWRkQ29udGVudEV4dGVuc2lvbihjb25zdCBTdHJpbmcmIGlkZW50
aWZpZXIsIFJlZjxDb21waWxlZENvbnRlbnRFeHRlbnNpb24+IGNvbXBpbGVkQ29udGVudEV4dGVu
c2lvbikKIHsKICAgICBBU1NFUlQoIWlkZW50aWZpZXIuaXNFbXB0eSgpKTsKICAgICBpZiAoaWRl
bnRpZmllci5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKLQotICAgIGlmICghY29tcGlsZWRD
b250ZW50RXh0ZW5zaW9uKSB7Ci0gICAgICAgIHJlbW92ZUNvbnRlbnRFeHRlbnNpb24oaWRlbnRp
Zmllcik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBSZWZQdHI8Q29udGVudEV4dGVu
c2lvbj4gZXh0ZW5zaW9uID0gQ29udGVudEV4dGVuc2lvbjo6Y3JlYXRlKGlkZW50aWZpZXIsIGFk
b3B0UmVmKCpjb21waWxlZENvbnRlbnRFeHRlbnNpb24ubGVha1JlZigpKSk7Ci0gICAgbV9jb250
ZW50RXh0ZW5zaW9ucy5zZXQoaWRlbnRpZmllciwgV1RGTW92ZShleHRlbnNpb24pKTsKKyAgICAK
KyAgICBhdXRvIGNvbnRlbnRFeHRlbnNpb24gPSBDb250ZW50RXh0ZW5zaW9uOjpjcmVhdGUoaWRl
bnRpZmllciwgV1RGTW92ZShjb21waWxlZENvbnRlbnRFeHRlbnNpb24pKTsKKyAgICBtX2NvbnRl
bnRFeHRlbnNpb25zLnNldChpZGVudGlmaWVyLCBXVEZNb3ZlKGNvbnRlbnRFeHRlbnNpb24pKTsK
IH0KIAogdm9pZCBDb250ZW50RXh0ZW5zaW9uc0JhY2tlbmQ6OnJlbW92ZUNvbnRlbnRFeHRlbnNp
b24oY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyKQpAQCAtODgsNyArODMsNiBAQCBWZWN0b3I8QWN0
aW9uPiBDb250ZW50RXh0ZW5zaW9uc0JhY2tlbmQ6CiAgICAgVmVjdG9yPEFjdGlvbj4gZmluYWxB
Y3Rpb25zOwogICAgIFJlc291cmNlRmxhZ3MgZmxhZ3MgPSByZXNvdXJjZUxvYWRJbmZvLmdldFJl
c291cmNlRmxhZ3MoKTsKICAgICBmb3IgKGF1dG8mIGNvbnRlbnRFeHRlbnNpb24gOiBtX2NvbnRl
bnRFeHRlbnNpb25zLnZhbHVlcygpKSB7Ci0gICAgICAgIFJFTEVBU0VfQVNTRVJUKGNvbnRlbnRF
eHRlbnNpb24pOwogICAgICAgICBjb25zdCBDb21waWxlZENvbnRlbnRFeHRlbnNpb24mIGNvbXBp
bGVkRXh0ZW5zaW9uID0gY29udGVudEV4dGVuc2lvbi0+Y29tcGlsZWRFeHRlbnNpb24oKTsKICAg
ICAgICAgCiAgICAgICAgIERGQUJ5dGVjb2RlSW50ZXJwcmV0ZXIgd2l0aG91dENvbmRpdGlvbnNJ
bnRlcnByZXRlcihjb21waWxlZEV4dGVuc2lvbi5maWx0ZXJzV2l0aG91dENvbmRpdGlvbnNCeXRl
Y29kZSgpLCBjb21waWxlZEV4dGVuc2lvbi5maWx0ZXJzV2l0aG91dENvbmRpdGlvbnNCeXRlY29k
ZUxlbmd0aCgpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbnRl
bnRFeHRlbnNpb25zQmFja2VuZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2NvbnRl
bnRleHRlbnNpb25zL0NvbnRlbnRFeHRlbnNpb25zQmFja2VuZC5oCShyZXZpc2lvbiAyMTk1NjIp
CisrKyBTb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uc0Jh
Y2tlbmQuaAkod29ya2luZyBjb3B5KQpAQCAtNTYsNyArNTYsNyBAQCBwdWJsaWM6CiAKICAgICAv
LyBTZXQgYSBsaXN0IG9mIHJ1bGVzIGZvciBhIGdpdmVuIG5hbWUuIElmIHRoZXJlIHdlcmUgZXhp
c3RpbmcgcnVsZXMgZm9yIHRoZSBuYW1lLCB0aGV5IGFyZSBvdmVycmlkZW4uCiAgICAgLy8gVGhl
IGlkZW50aWZpZXIgY2Fubm90IGJlIGVtcHR5LgotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYWRk
Q29udGVudEV4dGVuc2lvbihjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIFJlZlB0cjxDb21waWxl
ZENvbnRlbnRFeHRlbnNpb24+KTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGFkZENvbnRlbnRF
eHRlbnNpb24oY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBSZWY8Q29tcGlsZWRDb250ZW50RXh0
ZW5zaW9uPik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZW1vdmVDb250ZW50RXh0ZW5zaW9u
KGNvbnN0IFN0cmluZyYgaWRlbnRpZmllcik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZW1v
dmVBbGxDb250ZW50RXh0ZW5zaW9ucygpOwogCkBAIC02OSw3ICs2OSw3IEBAIHB1YmxpYzoKICAg
ICBzdGF0aWMgY29uc3QgU3RyaW5nJiBkaXNwbGF5Tm9uZUNTU1J1bGUoKTsKIAogcHJpdmF0ZToK
LSAgICBIYXNoTWFwPFN0cmluZywgUmVmUHRyPENvbnRlbnRFeHRlbnNpb24+PiBtX2NvbnRlbnRF
eHRlbnNpb25zOworICAgIEhhc2hNYXA8U3RyaW5nLCBSZWY8Q29udGVudEV4dGVuc2lvbj4+IG1f
Y29udGVudEV4dGVuc2lvbnM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBDb250ZW50RXh0ZW5zaW9u
cwpJbmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxOTU2MykKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTctMDctMTcgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBNb2Rlcm5pemUg
Y29udGVudCBleHRlbnNpb24gY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTc0NTg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4K
KworICAgICAgICAqIFdlYlByb2Nlc3MvVXNlckNvbnRlbnQvV2ViVXNlckNvbnRlbnRDb250cm9s
bGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVXNlckNvbnRlbnRDb250cm9sbGVyOjphZGRD
b250ZW50UnVsZUxpc3RzKToKKwogMjAxNy0wNy0xNyAgS29uc3RhbnRpbiBUb2thcmV2ICA8YW5u
dWxlbkB5YW5kZXgucnU+CiAKICAgICAgICAgW0NNYWtlXSBDcmVhdGUgdGFyZ2V0cyBiZWZvcmUg
V0VCS0lUX0lOQ0xVREVfQ09ORklHX0ZJTEVTX0lGX0VYSVNUUyBpcyBjYWxsZWQKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Vc2VyQ29udGVudC9XZWJVc2VyQ29udGVudENvbnRyb2xs
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Vc2VyQ29udGVu
dC9XZWJVc2VyQ29udGVudENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAyMTk1NjIpCisrKyBTb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvVXNlckNvbnRlbnQvV2ViVXNlckNvbnRlbnRDb250cm9sbGVy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQzLDcgKzM0Myw3IEBAIHZvaWQgV2ViVXNlckNvbnRl
bnRDb250cm9sbGVyOjphZGRDb250ZW4KIHsKICAgICBmb3IgKGNvbnN0IGF1dG8mIGNvbnRlbnRS
dWxlTGlzdCA6IGNvbnRlbnRSdWxlTGlzdHMpIHsKICAgICAgICAgV2ViQ29tcGlsZWRDb250ZW50
UnVsZUxpc3REYXRhIGNvbnRlbnRSdWxlTGlzdERhdGEgPSBjb250ZW50UnVsZUxpc3Quc2Vjb25k
OwotICAgICAgICBSZWZQdHI8V2ViQ29tcGlsZWRDb250ZW50UnVsZUxpc3Q+IGNvbXBpbGVkQ29u
dGVudFJ1bGVMaXN0ID0gV2ViQ29tcGlsZWRDb250ZW50UnVsZUxpc3Q6OmNyZWF0ZShXVEZNb3Zl
KGNvbnRlbnRSdWxlTGlzdERhdGEpKTsKKyAgICAgICAgYXV0byBjb21waWxlZENvbnRlbnRSdWxl
TGlzdCA9IFdlYkNvbXBpbGVkQ29udGVudFJ1bGVMaXN0OjpjcmVhdGUoV1RGTW92ZShjb250ZW50
UnVsZUxpc3REYXRhKSk7CiAKICAgICAgICAgbV9jb250ZW50RXh0ZW5zaW9uQmFja2VuZC5hZGRD
b250ZW50RXh0ZW5zaW9uKGNvbnRlbnRSdWxlTGlzdC5maXJzdCwgV1RGTW92ZShjb21waWxlZENv
bnRlbnRSdWxlTGlzdCkpOwogICAgIH0KSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxOTU2OSkKKysrIFRvb2xzL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE3LTA3LTE3ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW9kZXJuaXplIGNv
bnRlbnQgZXh0ZW5zaW9uIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3NDU4OAorCisgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCisK
KyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ29udGVudEV4dGVuc2lvbnMu
Y3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6SW5NZW1vcnlDb21waWxlZENvbnRlbnRFeHRl
bnNpb246OmNyZWF0ZUZyb21GaWx0ZXIpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6dGVzdFJl
cXVlc3QpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6bWFrZUJhY2tlbmQpOgorICAgICAgICAo
VGVzdFdlYktpdEFQSTo6VEVTVF9GKToKKwogMjAxNy0wNy0xNyAgQnJhZHkgRWlkc29uICA8YmVp
ZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgV0tIVFRQQ29va2llU3RvcmUgb2JzZXJ2aW5nIG9u
bHkgd29ya3Mgb24gdGhlIGRlZmF1bHQgY29va2llIHN0b3JlLgpJbmRleDogVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJDb3JlL0NvbnRlbnRFeHRlbnNpb25zLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ29udGVudEV4dGVuc2lvbnMuY3Bw
CShyZXZpc2lvbiAyMTk1NjIpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUv
Q29udGVudEV4dGVuc2lvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDgsNyArMTQ4LDcgQEAg
cHJpdmF0ZToKIAogY2xhc3MgSW5NZW1vcnlDb21waWxlZENvbnRlbnRFeHRlbnNpb24gOiBwdWJs
aWMgQ29udGVudEV4dGVuc2lvbnM6OkNvbXBpbGVkQ29udGVudEV4dGVuc2lvbiB7CiBwdWJsaWM6
Ci0gICAgc3RhdGljIFJlZlB0cjxJbk1lbW9yeUNvbXBpbGVkQ29udGVudEV4dGVuc2lvbj4gY3Jl
YXRlRnJvbUZpbHRlcihTdHJpbmcmJiBmaWx0ZXIpCisgICAgc3RhdGljIFJlZjxJbk1lbW9yeUNv
bXBpbGVkQ29udGVudEV4dGVuc2lvbj4gY3JlYXRlRnJvbUZpbHRlcihTdHJpbmcmJiBmaWx0ZXIp
CiAgICAgewogICAgICAgICBDb21waWxlZENvbnRlbnRFeHRlbnNpb25EYXRhIGV4dGVuc2lvbkRh
dGE7CiAgICAgICAgIEluTWVtb3J5Q29udGVudEV4dGVuc2lvbkNvbXBpbGF0aW9uQ2xpZW50IGNs
aWVudChleHRlbnNpb25EYXRhKTsKQEAgLTE1Niw3ICsxNTYsNiBAQCBwdWJsaWM6CiAgICAgICAg
IGlmIChjb21waWxlckVycm9yKSB7CiAgICAgICAgICAgICAvLyBDb21waWxpbmcgc2hvdWxkIGFs
d2F5cyBzdWNjZWVkIGhlcmUuIFdlIGhhdmUgb3RoZXIgdGVzdHMgZm9yIGNvbXBpbGUgZmFpbHVy
ZXMuCiAgICAgICAgICAgICBFWFBFQ1RfVFJVRShmYWxzZSk7Ci0gICAgICAgICAgICByZXR1cm4g
bnVsbHB0cjsKICAgICAgICAgfQogCiAgICAgICAgIHJldHVybiBJbk1lbW9yeUNvbXBpbGVkQ29u
dGVudEV4dGVuc2lvbjo6Y3JlYXRlKFdURk1vdmUoZXh0ZW5zaW9uRGF0YSkpOwpAQCAtMTkwLDcg
KzE4OSw3IEBAIHByaXZhdGU6CiAgICAgQ29tcGlsZWRDb250ZW50RXh0ZW5zaW9uRGF0YSBtX2Rh
dGE7CiB9OwogCi12b2lkIHN0YXRpYyB0ZXN0UmVxdWVzdChDb250ZW50RXh0ZW5zaW9uczo6Q29u
dGVudEV4dGVuc2lvbnNCYWNrZW5kIGNvbnRlbnRFeHRlbnNpb25zQmFja2VuZCwgY29uc3QgUmVz
b3VyY2VMb2FkSW5mbyYgcmVzb3VyY2VMb2FkSW5mbywgVmVjdG9yPENvbnRlbnRFeHRlbnNpb25z
OjpBY3Rpb25UeXBlPiBleHBlY3RlZEFjdGlvbnMsIGJvb2wgaWdub3JlUHJldmlvdXNSdWxlcyA9
IGZhbHNlKQordm9pZCBzdGF0aWMgdGVzdFJlcXVlc3QoY29uc3QgQ29udGVudEV4dGVuc2lvbnM6
OkNvbnRlbnRFeHRlbnNpb25zQmFja2VuZCYgY29udGVudEV4dGVuc2lvbnNCYWNrZW5kLCBjb25z
dCBSZXNvdXJjZUxvYWRJbmZvJiByZXNvdXJjZUxvYWRJbmZvLCBWZWN0b3I8Q29udGVudEV4dGVu
c2lvbnM6OkFjdGlvblR5cGU+IGV4cGVjdGVkQWN0aW9ucywgYm9vbCBpZ25vcmVQcmV2aW91c1J1
bGVzID0gZmFsc2UpCiB7CiAgICAgYXV0byBhY3Rpb25zID0gY29udGVudEV4dGVuc2lvbnNCYWNr
ZW5kLmFjdGlvbnNGb3JSZXNvdXJjZUxvYWQocmVzb3VyY2VMb2FkSW5mbyk7CiAgICAgdW5zaWdu
ZWQgZXhwZWN0ZWRTaXplID0gYWN0aW9ucy5zaXplKCk7CkBAIC0yMjIsNyArMjIxLDcgQEAgQ29u
dGVudEV4dGVuc2lvbnM6OkNvbnRlbnRFeHRlbnNpb25zQmFjawogICAgIEF0b21pY1N0cmluZzo6
aW5pdCgpOwogICAgIGF1dG8gZXh0ZW5zaW9uID0gSW5NZW1vcnlDb21waWxlZENvbnRlbnRFeHRl
bnNpb246OmNyZWF0ZUZyb21GaWx0ZXIoanNvbik7CiAgICAgQ29udGVudEV4dGVuc2lvbnM6OkNv
bnRlbnRFeHRlbnNpb25zQmFja2VuZCBiYWNrZW5kOwotICAgIGJhY2tlbmQuYWRkQ29udGVudEV4
dGVuc2lvbigidGVzdEZpbHRlciIsIGV4dGVuc2lvbik7CisgICAgYmFja2VuZC5hZGRDb250ZW50
RXh0ZW5zaW9uKCJ0ZXN0RmlsdGVyIiwgV1RGTW92ZShleHRlbnNpb24pKTsKICAgICByZXR1cm4g
YmFja2VuZDsKIH0KIApAQCAtMjQzLDcgKzI0Miw3IEBAIFRFU1RfRihDb250ZW50RXh0ZW5zaW9u
VGVzdCwgQmFzaWMpCiAKICAgICB0ZXN0UmVxdWVzdChiYWNrZW5kLCBtYWluRG9jdW1lbnRSZXF1
ZXN0KCJodHRwOi8vd2Via2l0Lm9yZy8iKSwgeyBDb250ZW50RXh0ZW5zaW9uczo6QWN0aW9uVHlw
ZTo6QmxvY2tMb2FkIH0pOwogfQotCisgICAgCiBURVNUX0YoQ29udGVudEV4dGVuc2lvblRlc3Qs
IFNpbmdsZUNoYXJhY3RlcikKIHsKICAgICBhdXRvIG1hdGNoQmFja2VuZCA9IG1ha2VCYWNrZW5k
KCJbe1wiYWN0aW9uXCI6e1widHlwZVwiOlwiYmxvY2tcIn0sXCJ0cmlnZ2VyXCI6e1widXJsLWZp
bHRlclwiOlwiXnpcIn19XSIpOwpAQCAtNDgyLDcgKzQ4MSw3IEBAIFRFU1RfRihDb250ZW50RXh0
ZW5zaW9uVGVzdCwgRHVwbGljYXRlZE0KICAgICB0ZXN0UmVxdWVzdChiYWNrZW5kLCBtYWluRG9j
dW1lbnRSZXF1ZXN0KCJodHRwczovL3ByZS5vcmcvcHJlIiksIHsgfSk7CiAgICAgdGVzdFJlcXVl
c3QoYmFja2VuZCwgbWFpbkRvY3VtZW50UmVxdWVzdCgiaHR0cHM6Ly9wb3N0Lm9yZy9wb3N0Iiks
IHsgfSk7CiB9Ci0KKyAgICAKIFRFU1RfRihDb250ZW50RXh0ZW5zaW9uVGVzdCwgVW5kaXN0aW5n
dWlzaGFibGVBY3Rpb25JbnNpZGVQcmVmaXhUcmVlKQogewogICAgIC8vIEluIHRoaXMgY2FzZSwg
dGhlIHR3byBhY3Rpb25zIGFyZSB1bmRpc3Rpbmd1aXNoYWJsZS4gVGhlIGFjdGlvbnMgb2YgInBy
ZWZpeCIgYXBwZWFyIGluc2lkZSB0aGUgcHJlZml4dHJlZQpAQCAtODY4LDggKzg2Nyw4IEBAIFRF
U1RfRihDb250ZW50RXh0ZW5zaW9uVGVzdCwgTXVsdGlwbGVFeHQKICAgICBhdXRvIGV4dGVuc2lv
bjEgPSBJbk1lbW9yeUNvbXBpbGVkQ29udGVudEV4dGVuc2lvbjo6Y3JlYXRlRnJvbUZpbHRlcigi
W3tcImFjdGlvblwiOntcInR5cGVcIjpcImJsb2NrXCJ9LFwidHJpZ2dlclwiOntcInVybC1maWx0
ZXJcIjpcImJsb2NrX2xvYWRcIn19XSIpOwogICAgIGF1dG8gZXh0ZW5zaW9uMiA9IEluTWVtb3J5
Q29tcGlsZWRDb250ZW50RXh0ZW5zaW9uOjpjcmVhdGVGcm9tRmlsdGVyKCJbe1wiYWN0aW9uXCI6
e1widHlwZVwiOlwiYmxvY2stY29va2llc1wifSxcInRyaWdnZXJcIjp7XCJ1cmwtZmlsdGVyXCI6
XCJibG9ja19jb29raWVzXCJ9fV0iKTsKICAgICBDb250ZW50RXh0ZW5zaW9uczo6Q29udGVudEV4
dGVuc2lvbnNCYWNrZW5kIGJhY2tlbmQ7Ci0gICAgYmFja2VuZC5hZGRDb250ZW50RXh0ZW5zaW9u
KCJ0ZXN0RmlsdGVyMSIsIGV4dGVuc2lvbjEpOwotICAgIGJhY2tlbmQuYWRkQ29udGVudEV4dGVu
c2lvbigidGVzdEZpbHRlcjIiLCBleHRlbnNpb24yKTsKKyAgICBiYWNrZW5kLmFkZENvbnRlbnRF
eHRlbnNpb24oInRlc3RGaWx0ZXIxIiwgV1RGTW92ZShleHRlbnNpb24xKSk7CisgICAgYmFja2Vu
ZC5hZGRDb250ZW50RXh0ZW5zaW9uKCJ0ZXN0RmlsdGVyMiIsIFdURk1vdmUoZXh0ZW5zaW9uMikp
OwogICAgIAogICAgIC8vIFRoZXNlIGVhY2ggaGF2ZSB0d28gZGlzcGxheTpub25lIHN0eWxlc2hl
ZXRzLiBUaGUgc2Vjb25kIG9uZSBpcyBpbXBsaWVkIGJ5IHVzaW5nIHRoZSBkZWZhdWx0IHBhcmFt
ZXRlciBpZ25vcmVQcmV2aW91c1J1bGVzID0gZmFsc2UuCiAgICAgdGVzdFJlcXVlc3QoYmFja2Vu
ZCwgbWFpbkRvY3VtZW50UmVxdWVzdCgiaHR0cDovL3dlYmtpdC5vcmciKSwgeyBDb250ZW50RXh0
ZW5zaW9uczo6QWN0aW9uVHlwZTo6Q1NTRGlzcGxheU5vbmVTdHlsZVNoZWV0IH0pOwpAQCAtODgz
LDggKzg4Miw4IEBAIFRFU1RfRihDb250ZW50RXh0ZW5zaW9uVGVzdCwgTXVsdGlwbGVFeHQKICAg
ICBhdXRvIGlnbm9yZUV4dGVuc2lvbjIgPSBJbk1lbW9yeUNvbXBpbGVkQ29udGVudEV4dGVuc2lv
bjo6Y3JlYXRlRnJvbUZpbHRlcigiW3tcImFjdGlvblwiOntcInR5cGVcIjpcImJsb2NrLWNvb2tp
ZXNcIn0sXCJ0cmlnZ2VyXCI6e1widXJsLWZpbHRlclwiOlwiYmxvY2tfY29va2llc1wifX0sIgog
ICAgICAgICAie1wiYWN0aW9uXCI6e1widHlwZVwiOlwiaWdub3JlLXByZXZpb3VzLXJ1bGVzXCJ9
LFwidHJpZ2dlclwiOntcInVybC1maWx0ZXJcIjpcImlnbm9yZTJcIn19XSIpOwogICAgIENvbnRl
bnRFeHRlbnNpb25zOjpDb250ZW50RXh0ZW5zaW9uc0JhY2tlbmQgYmFja2VuZFdpdGhJZ25vcmU7
Ci0gICAgYmFja2VuZFdpdGhJZ25vcmUuYWRkQ29udGVudEV4dGVuc2lvbigidGVzdEZpbHRlcjEi
LCBpZ25vcmVFeHRlbnNpb24xKTsKLSAgICBiYWNrZW5kV2l0aElnbm9yZS5hZGRDb250ZW50RXh0
ZW5zaW9uKCJ0ZXN0RmlsdGVyMiIsIGlnbm9yZUV4dGVuc2lvbjIpOworICAgIGJhY2tlbmRXaXRo
SWdub3JlLmFkZENvbnRlbnRFeHRlbnNpb24oInRlc3RGaWx0ZXIxIiwgV1RGTW92ZShpZ25vcmVF
eHRlbnNpb24xKSk7CisgICAgYmFja2VuZFdpdGhJZ25vcmUuYWRkQ29udGVudEV4dGVuc2lvbigi
dGVzdEZpbHRlcjIiLCBXVEZNb3ZlKGlnbm9yZUV4dGVuc2lvbjIpKTsKICAgICAKICAgICB0ZXN0
UmVxdWVzdChiYWNrZW5kV2l0aElnbm9yZSwgbWFpbkRvY3VtZW50UmVxdWVzdCgiaHR0cDovL3dl
YmtpdC5vcmciKSwgeyBDb250ZW50RXh0ZW5zaW9uczo6QWN0aW9uVHlwZTo6Q1NTRGlzcGxheU5v
bmVTdHlsZVNoZWV0LCBDb250ZW50RXh0ZW5zaW9uczo6QWN0aW9uVHlwZTo6Q1NTRGlzcGxheU5v
bmVTdHlsZVNoZWV0IH0sIHRydWUpOwogICAgIHRlc3RSZXF1ZXN0KGJhY2tlbmRXaXRoSWdub3Jl
LCBtYWluRG9jdW1lbnRSZXF1ZXN0KCJodHRwOi8vd2Via2l0Lm9yZy9ibG9ja19sb2FkL2lnbm9y
ZTEuaHRtbCIpLCB7IENvbnRlbnRFeHRlbnNpb25zOjpBY3Rpb25UeXBlOjpDU1NEaXNwbGF5Tm9u
ZVN0eWxlU2hlZXQgfSwgdHJ1ZSk7CkBAIC0yODc1LDUgKzI4NzQsNSBAQCBURVNUX0YoQ29udGVu
dEV4dGVuc2lvblRlc3QsIFZhbGlkU2VsZWN0CiB7CiAgICAgRVhQRUNUX1RSVUUoV2ViQ29yZTo6
Q29udGVudEV4dGVuc2lvbnM6OmlzVmFsaWRDU1NTZWxlY3RvcigiYVtocmVmKj1oc3ZdIikpOwog
fQotCisgICAgCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>315700</attachid>
            <date>2017-07-17 12:54:39 -0700</date>
            <delta_ts>2017-07-17 12:58:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174588-20170717125439.patch</filename>
            <type>text/plain</type>
            <size>11971</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxOTU2MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE3LTA3LTE3ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW9kZXJuaXpl
IGNvbnRlbnQgZXh0ZW5zaW9uIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE3NDU4OAorCisgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcu
CisKKyAgICAgICAgTm8gY2hhbmdlIGluIGJlaGF2aW9yLiAgSnVzdCB1c2UgUmVmIGluc3RlYWQg
b2YgUmVmUHRyIHdoZXJlIHBvc3NpYmxlLgorCisgICAgICAgICogY29udGVudGV4dGVuc2lvbnMv
Q29udGVudEV4dGVuc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50RXh0ZW5zaW9u
czo6Q29udGVudEV4dGVuc2lvbjo6Y3JlYXRlKToKKyAgICAgICAgKiBjb250ZW50ZXh0ZW5zaW9u
cy9Db250ZW50RXh0ZW5zaW9uLmg6CisgICAgICAgICogY29udGVudGV4dGVuc2lvbnMvQ29udGVu
dEV4dGVuc2lvbnNCYWNrZW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRFeHRlbnNp
b25zOjpDb250ZW50RXh0ZW5zaW9uc0JhY2tlbmQ6OmFkZENvbnRlbnRFeHRlbnNpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6Q29udGVudEV4dGVuc2lvbnM6OkNvbnRlbnRFeHRlbnNpb25zQmFja2Vu
ZDo6YWN0aW9uc0ZvclJlc291cmNlTG9hZCk6CisgICAgICAgICogY29udGVudGV4dGVuc2lvbnMv
Q29udGVudEV4dGVuc2lvbnNCYWNrZW5kLmg6CisKIDIwMTctMDctMTcgIEtvbnN0YW50aW4gVG9r
YXJldiAgPGFubnVsZW5AeWFuZGV4LnJ1PgogCiAgICAgICAgIFtDTWFrZV0gQ3JlYXRlIHRhcmdl
dHMgYmVmb3JlIFdFQktJVF9JTkNMVURFX0NPTkZJR19GSUxFU19JRl9FWElTVFMgaXMgY2FsbGVk
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9u
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250
ZW50RXh0ZW5zaW9uLmNwcAkocmV2aXNpb24gMjE5NTYyKQorKysgU291cmNlL1dlYkNvcmUvY29u
dGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2
LDcgKzM2LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIG5hbWVzcGFjZSBDb250ZW50RXh0ZW5z
aW9ucyB7CiAKLVJlZlB0cjxDb250ZW50RXh0ZW5zaW9uPiBDb250ZW50RXh0ZW5zaW9uOjpjcmVh
dGUoY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBSZWY8Q29tcGlsZWRDb250ZW50RXh0ZW5zaW9u
PiYmIGNvbXBpbGVkRXh0ZW5zaW9uKQorUmVmPENvbnRlbnRFeHRlbnNpb24+IENvbnRlbnRFeHRl
bnNpb246OmNyZWF0ZShjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIFJlZjxDb21waWxlZENvbnRl
bnRFeHRlbnNpb24+JiYgY29tcGlsZWRFeHRlbnNpb24pCiB7CiAgICAgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgQ29udGVudEV4dGVuc2lvbihpZGVudGlmaWVyLCBXVEZNb3ZlKGNvbXBpbGVkRXh0ZW5z
aW9uKSkpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVu
dEV4dGVuc2lvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNp
b25zL0NvbnRlbnRFeHRlbnNpb24uaAkocmV2aXNpb24gMjE5NTYyKQorKysgU291cmNlL1dlYkNv
cmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvbi5oCSh3b3JraW5nIGNvcHkpCkBA
IC00MSw3ICs0MSw3IEBAIGNsYXNzIENvbXBpbGVkQ29udGVudEV4dGVuc2lvbjsKIAogY2xhc3Mg
Q29udGVudEV4dGVuc2lvbiA6IHB1YmxpYyBSZWZDb3VudGVkPENvbnRlbnRFeHRlbnNpb24+IHsK
IHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmUHRyPENvbnRlbnRFeHRlbnNpb24+IGNyZWF0ZShjb25z
dCBTdHJpbmcmIGlkZW50aWZpZXIsIFJlZjxDb21waWxlZENvbnRlbnRFeHRlbnNpb24+JiYpOwor
ICAgIHN0YXRpYyBSZWY8Q29udGVudEV4dGVuc2lvbj4gY3JlYXRlKGNvbnN0IFN0cmluZyYgaWRl
bnRpZmllciwgUmVmPENvbXBpbGVkQ29udGVudEV4dGVuc2lvbj4mJik7CiAKICAgICBjb25zdCBT
dHJpbmcmIGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KICAgICBj
b25zdCBDb21waWxlZENvbnRlbnRFeHRlbnNpb24mIGNvbXBpbGVkRXh0ZW5zaW9uKCkgY29uc3Qg
eyByZXR1cm4gbV9jb21waWxlZEV4dGVuc2lvbi5nZXQoKTsgfQpJbmRleDogU291cmNlL1dlYkNv
cmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvbnNCYWNrZW5kLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9u
c0JhY2tlbmQuY3BwCShyZXZpc2lvbiAyMTk1NjIpCisrKyBTb3VyY2UvV2ViQ29yZS9jb250ZW50
ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uc0JhY2tlbmQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00OCwxOSArNDgsMTQgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBuYW1lc3BhY2UgQ29udGVu
dEV4dGVuc2lvbnMgewogICAgIAotdm9pZCBDb250ZW50RXh0ZW5zaW9uc0JhY2tlbmQ6OmFkZENv
bnRlbnRFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBSZWZQdHI8Q29tcGlsZWRD
b250ZW50RXh0ZW5zaW9uPiBjb21waWxlZENvbnRlbnRFeHRlbnNpb24pCit2b2lkIENvbnRlbnRF
eHRlbnNpb25zQmFja2VuZDo6YWRkQ29udGVudEV4dGVuc2lvbihjb25zdCBTdHJpbmcmIGlkZW50
aWZpZXIsIFJlZjxDb21waWxlZENvbnRlbnRFeHRlbnNpb24+IGNvbXBpbGVkQ29udGVudEV4dGVu
c2lvbikKIHsKICAgICBBU1NFUlQoIWlkZW50aWZpZXIuaXNFbXB0eSgpKTsKICAgICBpZiAoaWRl
bnRpZmllci5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKLQotICAgIGlmICghY29tcGlsZWRD
b250ZW50RXh0ZW5zaW9uKSB7Ci0gICAgICAgIHJlbW92ZUNvbnRlbnRFeHRlbnNpb24oaWRlbnRp
Zmllcik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBSZWZQdHI8Q29udGVudEV4dGVu
c2lvbj4gZXh0ZW5zaW9uID0gQ29udGVudEV4dGVuc2lvbjo6Y3JlYXRlKGlkZW50aWZpZXIsIGFk
b3B0UmVmKCpjb21waWxlZENvbnRlbnRFeHRlbnNpb24ubGVha1JlZigpKSk7Ci0gICAgbV9jb250
ZW50RXh0ZW5zaW9ucy5zZXQoaWRlbnRpZmllciwgV1RGTW92ZShleHRlbnNpb24pKTsKKyAgICAK
KyAgICBhdXRvIGNvbnRlbnRFeHRlbnNpb24gPSBDb250ZW50RXh0ZW5zaW9uOjpjcmVhdGUoaWRl
bnRpZmllciwgV1RGTW92ZShjb21waWxlZENvbnRlbnRFeHRlbnNpb24pKTsKKyAgICBtX2NvbnRl
bnRFeHRlbnNpb25zLnNldChpZGVudGlmaWVyLCBXVEZNb3ZlKGNvbnRlbnRFeHRlbnNpb24pKTsK
IH0KIAogdm9pZCBDb250ZW50RXh0ZW5zaW9uc0JhY2tlbmQ6OnJlbW92ZUNvbnRlbnRFeHRlbnNp
b24oY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyKQpAQCAtODgsNyArODMsNiBAQCBWZWN0b3I8QWN0
aW9uPiBDb250ZW50RXh0ZW5zaW9uc0JhY2tlbmQ6CiAgICAgVmVjdG9yPEFjdGlvbj4gZmluYWxB
Y3Rpb25zOwogICAgIFJlc291cmNlRmxhZ3MgZmxhZ3MgPSByZXNvdXJjZUxvYWRJbmZvLmdldFJl
c291cmNlRmxhZ3MoKTsKICAgICBmb3IgKGF1dG8mIGNvbnRlbnRFeHRlbnNpb24gOiBtX2NvbnRl
bnRFeHRlbnNpb25zLnZhbHVlcygpKSB7Ci0gICAgICAgIFJFTEVBU0VfQVNTRVJUKGNvbnRlbnRF
eHRlbnNpb24pOwogICAgICAgICBjb25zdCBDb21waWxlZENvbnRlbnRFeHRlbnNpb24mIGNvbXBp
bGVkRXh0ZW5zaW9uID0gY29udGVudEV4dGVuc2lvbi0+Y29tcGlsZWRFeHRlbnNpb24oKTsKICAg
ICAgICAgCiAgICAgICAgIERGQUJ5dGVjb2RlSW50ZXJwcmV0ZXIgd2l0aG91dENvbmRpdGlvbnNJ
bnRlcnByZXRlcihjb21waWxlZEV4dGVuc2lvbi5maWx0ZXJzV2l0aG91dENvbmRpdGlvbnNCeXRl
Y29kZSgpLCBjb21waWxlZEV4dGVuc2lvbi5maWx0ZXJzV2l0aG91dENvbmRpdGlvbnNCeXRlY29k
ZUxlbmd0aCgpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbnRl
bnRFeHRlbnNpb25zQmFja2VuZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2NvbnRl
bnRleHRlbnNpb25zL0NvbnRlbnRFeHRlbnNpb25zQmFja2VuZC5oCShyZXZpc2lvbiAyMTk1NjIp
CisrKyBTb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uc0Jh
Y2tlbmQuaAkod29ya2luZyBjb3B5KQpAQCAtNTYsNyArNTYsNyBAQCBwdWJsaWM6CiAKICAgICAv
LyBTZXQgYSBsaXN0IG9mIHJ1bGVzIGZvciBhIGdpdmVuIG5hbWUuIElmIHRoZXJlIHdlcmUgZXhp
c3RpbmcgcnVsZXMgZm9yIHRoZSBuYW1lLCB0aGV5IGFyZSBvdmVycmlkZW4uCiAgICAgLy8gVGhl
IGlkZW50aWZpZXIgY2Fubm90IGJlIGVtcHR5LgotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYWRk
Q29udGVudEV4dGVuc2lvbihjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIFJlZlB0cjxDb21waWxl
ZENvbnRlbnRFeHRlbnNpb24+KTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGFkZENvbnRlbnRF
eHRlbnNpb24oY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBSZWY8Q29tcGlsZWRDb250ZW50RXh0
ZW5zaW9uPik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZW1vdmVDb250ZW50RXh0ZW5zaW9u
KGNvbnN0IFN0cmluZyYgaWRlbnRpZmllcik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZW1v
dmVBbGxDb250ZW50RXh0ZW5zaW9ucygpOwogCkBAIC02OSw3ICs2OSw3IEBAIHB1YmxpYzoKICAg
ICBzdGF0aWMgY29uc3QgU3RyaW5nJiBkaXNwbGF5Tm9uZUNTU1J1bGUoKTsKIAogcHJpdmF0ZToK
LSAgICBIYXNoTWFwPFN0cmluZywgUmVmUHRyPENvbnRlbnRFeHRlbnNpb24+PiBtX2NvbnRlbnRF
eHRlbnNpb25zOworICAgIEhhc2hNYXA8U3RyaW5nLCBSZWY8Q29udGVudEV4dGVuc2lvbj4+IG1f
Y29udGVudEV4dGVuc2lvbnM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBDb250ZW50RXh0ZW5zaW9u
cwpJbmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxOTU2MykKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTctMDctMTcgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBNb2Rlcm5pemUg
Y29udGVudCBleHRlbnNpb24gY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTc0NTg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4K
KworICAgICAgICAqIFdlYlByb2Nlc3MvVXNlckNvbnRlbnQvV2ViVXNlckNvbnRlbnRDb250cm9s
bGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVXNlckNvbnRlbnRDb250cm9sbGVyOjphZGRD
b250ZW50UnVsZUxpc3RzKToKKwogMjAxNy0wNy0xNyAgS29uc3RhbnRpbiBUb2thcmV2ICA8YW5u
dWxlbkB5YW5kZXgucnU+CiAKICAgICAgICAgW0NNYWtlXSBDcmVhdGUgdGFyZ2V0cyBiZWZvcmUg
V0VCS0lUX0lOQ0xVREVfQ09ORklHX0ZJTEVTX0lGX0VYSVNUUyBpcyBjYWxsZWQKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Vc2VyQ29udGVudC9XZWJVc2VyQ29udGVudENvbnRyb2xs
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Vc2VyQ29udGVu
dC9XZWJVc2VyQ29udGVudENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAyMTk1NjIpCisrKyBTb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvVXNlckNvbnRlbnQvV2ViVXNlckNvbnRlbnRDb250cm9sbGVy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQzLDcgKzM0Myw3IEBAIHZvaWQgV2ViVXNlckNvbnRl
bnRDb250cm9sbGVyOjphZGRDb250ZW4KIHsKICAgICBmb3IgKGNvbnN0IGF1dG8mIGNvbnRlbnRS
dWxlTGlzdCA6IGNvbnRlbnRSdWxlTGlzdHMpIHsKICAgICAgICAgV2ViQ29tcGlsZWRDb250ZW50
UnVsZUxpc3REYXRhIGNvbnRlbnRSdWxlTGlzdERhdGEgPSBjb250ZW50UnVsZUxpc3Quc2Vjb25k
OwotICAgICAgICBSZWZQdHI8V2ViQ29tcGlsZWRDb250ZW50UnVsZUxpc3Q+IGNvbXBpbGVkQ29u
dGVudFJ1bGVMaXN0ID0gV2ViQ29tcGlsZWRDb250ZW50UnVsZUxpc3Q6OmNyZWF0ZShXVEZNb3Zl
KGNvbnRlbnRSdWxlTGlzdERhdGEpKTsKKyAgICAgICAgYXV0byBjb21waWxlZENvbnRlbnRSdWxl
TGlzdCA9IFdlYkNvbXBpbGVkQ29udGVudFJ1bGVMaXN0OjpjcmVhdGUoV1RGTW92ZShjb250ZW50
UnVsZUxpc3REYXRhKSk7CiAKICAgICAgICAgbV9jb250ZW50RXh0ZW5zaW9uQmFja2VuZC5hZGRD
b250ZW50RXh0ZW5zaW9uKGNvbnRlbnRSdWxlTGlzdC5maXJzdCwgV1RGTW92ZShjb21waWxlZENv
bnRlbnRSdWxlTGlzdCkpOwogICAgIH0KSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxOTU2OSkKKysrIFRvb2xzL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE3LTA3LTE3ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW9kZXJuaXplIGNv
bnRlbnQgZXh0ZW5zaW9uIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3NDU4OAorCisgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCisK
KyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ29udGVudEV4dGVuc2lvbnMu
Y3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6SW5NZW1vcnlDb21waWxlZENvbnRlbnRFeHRl
bnNpb246OmNyZWF0ZUZyb21GaWx0ZXIpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6dGVzdFJl
cXVlc3QpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6bWFrZUJhY2tlbmQpOgorICAgICAgICAo
VGVzdFdlYktpdEFQSTo6VEVTVF9GKToKKwogMjAxNy0wNy0xNyAgQnJhZHkgRWlkc29uICA8YmVp
ZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgV0tIVFRQQ29va2llU3RvcmUgb2JzZXJ2aW5nIG9u
bHkgd29ya3Mgb24gdGhlIGRlZmF1bHQgY29va2llIHN0b3JlLgpJbmRleDogVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJDb3JlL0NvbnRlbnRFeHRlbnNpb25zLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ29udGVudEV4dGVuc2lvbnMuY3Bw
CShyZXZpc2lvbiAyMTk1NjIpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUv
Q29udGVudEV4dGVuc2lvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDgsNyArMTQ4LDcgQEAg
cHJpdmF0ZToKIAogY2xhc3MgSW5NZW1vcnlDb21waWxlZENvbnRlbnRFeHRlbnNpb24gOiBwdWJs
aWMgQ29udGVudEV4dGVuc2lvbnM6OkNvbXBpbGVkQ29udGVudEV4dGVuc2lvbiB7CiBwdWJsaWM6
Ci0gICAgc3RhdGljIFJlZlB0cjxJbk1lbW9yeUNvbXBpbGVkQ29udGVudEV4dGVuc2lvbj4gY3Jl
YXRlRnJvbUZpbHRlcihTdHJpbmcmJiBmaWx0ZXIpCisgICAgc3RhdGljIFJlZjxJbk1lbW9yeUNv
bXBpbGVkQ29udGVudEV4dGVuc2lvbj4gY3JlYXRlRnJvbUZpbHRlcihTdHJpbmcmJiBmaWx0ZXIp
CiAgICAgewogICAgICAgICBDb21waWxlZENvbnRlbnRFeHRlbnNpb25EYXRhIGV4dGVuc2lvbkRh
dGE7CiAgICAgICAgIEluTWVtb3J5Q29udGVudEV4dGVuc2lvbkNvbXBpbGF0aW9uQ2xpZW50IGNs
aWVudChleHRlbnNpb25EYXRhKTsKQEAgLTE1Niw3ICsxNTYsNiBAQCBwdWJsaWM6CiAgICAgICAg
IGlmIChjb21waWxlckVycm9yKSB7CiAgICAgICAgICAgICAvLyBDb21waWxpbmcgc2hvdWxkIGFs
d2F5cyBzdWNjZWVkIGhlcmUuIFdlIGhhdmUgb3RoZXIgdGVzdHMgZm9yIGNvbXBpbGUgZmFpbHVy
ZXMuCiAgICAgICAgICAgICBFWFBFQ1RfVFJVRShmYWxzZSk7Ci0gICAgICAgICAgICByZXR1cm4g
bnVsbHB0cjsKICAgICAgICAgfQogCiAgICAgICAgIHJldHVybiBJbk1lbW9yeUNvbXBpbGVkQ29u
dGVudEV4dGVuc2lvbjo6Y3JlYXRlKFdURk1vdmUoZXh0ZW5zaW9uRGF0YSkpOwpAQCAtMTkwLDcg
KzE4OSw3IEBAIHByaXZhdGU6CiAgICAgQ29tcGlsZWRDb250ZW50RXh0ZW5zaW9uRGF0YSBtX2Rh
dGE7CiB9OwogCi12b2lkIHN0YXRpYyB0ZXN0UmVxdWVzdChDb250ZW50RXh0ZW5zaW9uczo6Q29u
dGVudEV4dGVuc2lvbnNCYWNrZW5kIGNvbnRlbnRFeHRlbnNpb25zQmFja2VuZCwgY29uc3QgUmVz
b3VyY2VMb2FkSW5mbyYgcmVzb3VyY2VMb2FkSW5mbywgVmVjdG9yPENvbnRlbnRFeHRlbnNpb25z
OjpBY3Rpb25UeXBlPiBleHBlY3RlZEFjdGlvbnMsIGJvb2wgaWdub3JlUHJldmlvdXNSdWxlcyA9
IGZhbHNlKQordm9pZCBzdGF0aWMgdGVzdFJlcXVlc3QoY29uc3QgQ29udGVudEV4dGVuc2lvbnM6
OkNvbnRlbnRFeHRlbnNpb25zQmFja2VuZCYgY29udGVudEV4dGVuc2lvbnNCYWNrZW5kLCBjb25z
dCBSZXNvdXJjZUxvYWRJbmZvJiByZXNvdXJjZUxvYWRJbmZvLCBWZWN0b3I8Q29udGVudEV4dGVu
c2lvbnM6OkFjdGlvblR5cGU+IGV4cGVjdGVkQWN0aW9ucywgYm9vbCBpZ25vcmVQcmV2aW91c1J1
bGVzID0gZmFsc2UpCiB7CiAgICAgYXV0byBhY3Rpb25zID0gY29udGVudEV4dGVuc2lvbnNCYWNr
ZW5kLmFjdGlvbnNGb3JSZXNvdXJjZUxvYWQocmVzb3VyY2VMb2FkSW5mbyk7CiAgICAgdW5zaWdu
ZWQgZXhwZWN0ZWRTaXplID0gYWN0aW9ucy5zaXplKCk7CkBAIC0yMjIsNyArMjIxLDcgQEAgQ29u
dGVudEV4dGVuc2lvbnM6OkNvbnRlbnRFeHRlbnNpb25zQmFjawogICAgIEF0b21pY1N0cmluZzo6
aW5pdCgpOwogICAgIGF1dG8gZXh0ZW5zaW9uID0gSW5NZW1vcnlDb21waWxlZENvbnRlbnRFeHRl
bnNpb246OmNyZWF0ZUZyb21GaWx0ZXIoanNvbik7CiAgICAgQ29udGVudEV4dGVuc2lvbnM6OkNv
bnRlbnRFeHRlbnNpb25zQmFja2VuZCBiYWNrZW5kOwotICAgIGJhY2tlbmQuYWRkQ29udGVudEV4
dGVuc2lvbigidGVzdEZpbHRlciIsIGV4dGVuc2lvbik7CisgICAgYmFja2VuZC5hZGRDb250ZW50
RXh0ZW5zaW9uKCJ0ZXN0RmlsdGVyIiwgV1RGTW92ZShleHRlbnNpb24pKTsKICAgICByZXR1cm4g
YmFja2VuZDsKIH0KIApAQCAtODY4LDggKzg2Nyw4IEBAIFRFU1RfRihDb250ZW50RXh0ZW5zaW9u
VGVzdCwgTXVsdGlwbGVFeHQKICAgICBhdXRvIGV4dGVuc2lvbjEgPSBJbk1lbW9yeUNvbXBpbGVk
Q29udGVudEV4dGVuc2lvbjo6Y3JlYXRlRnJvbUZpbHRlcigiW3tcImFjdGlvblwiOntcInR5cGVc
IjpcImJsb2NrXCJ9LFwidHJpZ2dlclwiOntcInVybC1maWx0ZXJcIjpcImJsb2NrX2xvYWRcIn19
XSIpOwogICAgIGF1dG8gZXh0ZW5zaW9uMiA9IEluTWVtb3J5Q29tcGlsZWRDb250ZW50RXh0ZW5z
aW9uOjpjcmVhdGVGcm9tRmlsdGVyKCJbe1wiYWN0aW9uXCI6e1widHlwZVwiOlwiYmxvY2stY29v
a2llc1wifSxcInRyaWdnZXJcIjp7XCJ1cmwtZmlsdGVyXCI6XCJibG9ja19jb29raWVzXCJ9fV0i
KTsKICAgICBDb250ZW50RXh0ZW5zaW9uczo6Q29udGVudEV4dGVuc2lvbnNCYWNrZW5kIGJhY2tl
bmQ7Ci0gICAgYmFja2VuZC5hZGRDb250ZW50RXh0ZW5zaW9uKCJ0ZXN0RmlsdGVyMSIsIGV4dGVu
c2lvbjEpOwotICAgIGJhY2tlbmQuYWRkQ29udGVudEV4dGVuc2lvbigidGVzdEZpbHRlcjIiLCBl
eHRlbnNpb24yKTsKKyAgICBiYWNrZW5kLmFkZENvbnRlbnRFeHRlbnNpb24oInRlc3RGaWx0ZXIx
IiwgV1RGTW92ZShleHRlbnNpb24xKSk7CisgICAgYmFja2VuZC5hZGRDb250ZW50RXh0ZW5zaW9u
KCJ0ZXN0RmlsdGVyMiIsIFdURk1vdmUoZXh0ZW5zaW9uMikpOwogICAgIAogICAgIC8vIFRoZXNl
IGVhY2ggaGF2ZSB0d28gZGlzcGxheTpub25lIHN0eWxlc2hlZXRzLiBUaGUgc2Vjb25kIG9uZSBp
cyBpbXBsaWVkIGJ5IHVzaW5nIHRoZSBkZWZhdWx0IHBhcmFtZXRlciBpZ25vcmVQcmV2aW91c1J1
bGVzID0gZmFsc2UuCiAgICAgdGVzdFJlcXVlc3QoYmFja2VuZCwgbWFpbkRvY3VtZW50UmVxdWVz
dCgiaHR0cDovL3dlYmtpdC5vcmciKSwgeyBDb250ZW50RXh0ZW5zaW9uczo6QWN0aW9uVHlwZTo6
Q1NTRGlzcGxheU5vbmVTdHlsZVNoZWV0IH0pOwpAQCAtODgzLDggKzg4Miw4IEBAIFRFU1RfRihD
b250ZW50RXh0ZW5zaW9uVGVzdCwgTXVsdGlwbGVFeHQKICAgICBhdXRvIGlnbm9yZUV4dGVuc2lv
bjIgPSBJbk1lbW9yeUNvbXBpbGVkQ29udGVudEV4dGVuc2lvbjo6Y3JlYXRlRnJvbUZpbHRlcigi
W3tcImFjdGlvblwiOntcInR5cGVcIjpcImJsb2NrLWNvb2tpZXNcIn0sXCJ0cmlnZ2VyXCI6e1wi
dXJsLWZpbHRlclwiOlwiYmxvY2tfY29va2llc1wifX0sIgogICAgICAgICAie1wiYWN0aW9uXCI6
e1widHlwZVwiOlwiaWdub3JlLXByZXZpb3VzLXJ1bGVzXCJ9LFwidHJpZ2dlclwiOntcInVybC1m
aWx0ZXJcIjpcImlnbm9yZTJcIn19XSIpOwogICAgIENvbnRlbnRFeHRlbnNpb25zOjpDb250ZW50
RXh0ZW5zaW9uc0JhY2tlbmQgYmFja2VuZFdpdGhJZ25vcmU7Ci0gICAgYmFja2VuZFdpdGhJZ25v
cmUuYWRkQ29udGVudEV4dGVuc2lvbigidGVzdEZpbHRlcjEiLCBpZ25vcmVFeHRlbnNpb24xKTsK
LSAgICBiYWNrZW5kV2l0aElnbm9yZS5hZGRDb250ZW50RXh0ZW5zaW9uKCJ0ZXN0RmlsdGVyMiIs
IGlnbm9yZUV4dGVuc2lvbjIpOworICAgIGJhY2tlbmRXaXRoSWdub3JlLmFkZENvbnRlbnRFeHRl
bnNpb24oInRlc3RGaWx0ZXIxIiwgV1RGTW92ZShpZ25vcmVFeHRlbnNpb24xKSk7CisgICAgYmFj
a2VuZFdpdGhJZ25vcmUuYWRkQ29udGVudEV4dGVuc2lvbigidGVzdEZpbHRlcjIiLCBXVEZNb3Zl
KGlnbm9yZUV4dGVuc2lvbjIpKTsKICAgICAKICAgICB0ZXN0UmVxdWVzdChiYWNrZW5kV2l0aEln
bm9yZSwgbWFpbkRvY3VtZW50UmVxdWVzdCgiaHR0cDovL3dlYmtpdC5vcmciKSwgeyBDb250ZW50
RXh0ZW5zaW9uczo6QWN0aW9uVHlwZTo6Q1NTRGlzcGxheU5vbmVTdHlsZVNoZWV0LCBDb250ZW50
RXh0ZW5zaW9uczo6QWN0aW9uVHlwZTo6Q1NTRGlzcGxheU5vbmVTdHlsZVNoZWV0IH0sIHRydWUp
OwogICAgIHRlc3RSZXF1ZXN0KGJhY2tlbmRXaXRoSWdub3JlLCBtYWluRG9jdW1lbnRSZXF1ZXN0
KCJodHRwOi8vd2Via2l0Lm9yZy9ibG9ja19sb2FkL2lnbm9yZTEuaHRtbCIpLCB7IENvbnRlbnRF
eHRlbnNpb25zOjpBY3Rpb25UeXBlOjpDU1NEaXNwbGF5Tm9uZVN0eWxlU2hlZXQgfSwgdHJ1ZSk7
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>