<?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>224687</bug_id>
          
          <creation_ts>2021-04-16 12:56:52 -0700</creation_ts>
          <short_desc>Add a conftest.py to run existing webkitpy tests in pytest</short_desc>
          <delta_ts>2021-04-24 15:02:24 -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>Tools / Tests</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>
          
          <blocked>224638</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Sneddon [:gsnedders]">gsnedders</reporter>
          <assigned_to name="Sam Sneddon [:gsnedders]">gsnedders</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jbedard</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1751202</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2021-04-16 12:56:52 -0700</bug_when>
    <thetext>This tracks work on adding initial infrastructure to make it possible to run the webkitpy tests under pytest, along with the following part from bug 224638:

 * pytest&apos;s unittest support uses the stdlib unittest.TestLoader class, which we subclass in webkitpy.test.main, to optionally load methods beginning with serial_test_*, integration_test_*, and serial_integration_test_* as well as test_*; logically these would become marks in pytest</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751206</commentid>
    <comment_count>1</comment_count>
      <attachid>426260</attachid>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2021-04-16 13:09:26 -0700</bug_when>
    <thetext>Created attachment 426260
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753257</commentid>
    <comment_count>2</comment_count>
      <attachid>426840</attachid>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2021-04-22 12:48:07 -0700</bug_when>
    <thetext>Created attachment 426840
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753680</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-23 12:34:44 -0700</bug_when>
    <thetext>Committed r276512 (236968@main): &lt;https://commits.webkit.org/236968@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 426840.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753896</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-24 15:02:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/77110018&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426260</attachid>
            <date>2021-04-16 13:09:26 -0700</date>
            <delta_ts>2021-04-22 12:48:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224687-20210416210925.patch</filename>
            <type>text/plain</type>
            <size>15762</size>
            <attacher name="Sam Sneddon [:gsnedders]">gsnedders</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MTQxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOTVkNTg3MmJiZmMyOTI4YzBmNTQ1YjhlZDhlYTJhZGRj
MTFiMzMyOC4uZDIwZDhiYzQ5OWU2OTY4MDFhNjAwZjYzYzI1NzUyNzkwZjA4OTMwOCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1
IEBACisyMDIxLTA0LTE2ICBTYW0gU25lZGRvbiAgPGdzbmVkZGVyc0BhcHBsZS5jb20+CisKKyAg
ICAgICAgQWRkIGEgY29uZnRlc3QucHkgdG8gcnVuIGV4aXN0aW5nIHdlYmtpdHB5IHRlc3RzIGlu
IHB5dGVzdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI0Njg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L2NvbmZ0ZXN0LnB5OiBBZGRlZC4KKyAgICAgICAgKHB5dGVzdF9j
b25maWd1cmUpOiBEZWZpbmUgdGhlIG1hcmtlcnMgdGhlIHBsdWdpbnMgaW4gY29uZnRlc3QgdXNl
CisgICAgICAgIChweXRlc3RfYWRkb3B0aW9uKTogQWRkIC0tcnVuLXNsb3cgYW5kIC0tcnVuLWlu
dGVncmF0aW9uIHRvIGFsbG93IHRoZW0gdG8gYmUgZGlzYWJsZWQgYnkgZGVmYXVsdAorICAgICAg
ICAocHl0ZXN0X3B5Y29sbGVjdF9tYWtlaXRlbSk6IFJlbmFtZSBzZXJpYWwvaW50ZWdyYXRpb24g
dGVzdHMgc28gcHl0ZXN0IGZpbmRzIHRoZW0KKyAgICAgICAgKHB5dGVzdF9jb2xsZWN0aW9uX21v
ZGlmeWl0ZW1zKTogTWFyayB0ZXN0cyBhcyBza2lwcGVkIHdoZW4gbmVlZGVkIHBlciB0aGUgYWJv
dmUuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9weXRlc3QuaW5pOiBBZGRlZC4KKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rlc3QvbWFya2Vycy5weTogUmVuYW1lZCBmcm9tIFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvdGVzdC9za2lwLnB5LgorICAgICAgICAoeGZhaWwpOiBweXRlc3Qu
bWFyay54ZmFpbCBBUEktY29tcGF0aWJsZSBkZWNvcmF0b3IKKyAgICAgICAgKHhmYWlsLndyYXBw
ZXIpOgorICAgICAgICAoeGZhaWwud3JhcHBlci5kZWNvcmF0b3IpOgorICAgICAgICAoc2xvdyk6
IEVxdWl2aWxhbnQgZm9yIGZ1dHVyZSBweXRlc3QubWFyay5zbG93IGRlY29yYXRvcgorICAgICAg
ICAoc2tpcCk6IHB5dGVzdC5tYXJrLnNraXAgQVBJLWNvbXBhdGlibGUgZGVjb3JhdG9yCisgICAg
ICAgIChza2lwSWYpOiBweXRlc3QubWFyay5za2lwSWYgQVBJLWNvbXBhdGlibGUgZGVjb3JhdG9y
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90ZXN0L3NraXBfdW5pdHRlc3QucHk6IFJlbW92
ZWQuCisKIDIwMjEtMDQtMTYgIEFha2FzaCBKYWluICA8YWFrYXNoX2phaW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFtld3NdIEltcHJvdmUgc3RlcCBkZXNjcmlwdGlvbiB3aGVuIGxheW91dC10ZXN0
cyBzdGVwIGlzIHNraXBwZWQKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29u
ZnRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbmZ0ZXN0LnB5Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY2MTM0N2IyODRkMjkwNjU4NzZlOTAzYzY0OGIwNzUyZWNjYTBjMTcKLS0tIC9kZXYvbnVsbAor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbmZ0ZXN0LnB5CkBAIC0wLDAgKzEsMTE0IEBA
CisjIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisj
CisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyMgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyMgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorIyBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisjIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SCisjIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisjIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
CisjIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKK2ltcG9ydCB3YXJuaW5n
cworaW1wb3J0IHR5cGVzCitpbXBvcnQgc3lzCisKK2ltcG9ydCBweXRlc3QKKworCitkZWYgcHl0
ZXN0X2NvbmZpZ3VyZShjb25maWcpOgorICAgIGNvbmZpZy5hZGRpbml2YWx1ZV9saW5lKCJtYXJr
ZXJzIiwgInNlcmlhbDogdGVzdHMgdGhhdCBtdXN0IGJlIHJ1biBpbiBzZXJpYWwiKQorICAgIGNv
bmZpZy5hZGRpbml2YWx1ZV9saW5lKCJtYXJrZXJzIiwgImludGVncmF0aW9uOiBpbnRlZ3JhdGlv
biB0ZXN0cyIpCisgICAgY29uZmlnLmFkZGluaXZhbHVlX2xpbmUoIm1hcmtlcnMiLCAic2xvdzog
dGVzdHMgdGhhdCB0YWtlIGEgd2hpbGUgdG8gcnVuIikKKworCitkZWYgcHl0ZXN0X2FkZG9wdGlv
bihwYXJzZXIpOgorICAgIHBhcnNlci5hZGRvcHRpb24oCisgICAgICAgICItLXJ1bi1pbnRlZ3Jh
dGlvbiIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGRlZmF1bHQ9RmFsc2UsIGhlbHA9InJ1biBpbnRl
Z3JhdGlvbiB0ZXN0cyIKKyAgICApCisgICAgcGFyc2VyLmFkZG9wdGlvbigKKyAgICAgICAgIi0t
cnVuLXNsb3ciLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZWZhdWx0PUZhbHNlLCBoZWxwPSJydW4g
c2xvdyB0ZXN0cyIKKyAgICApCisKKworQHB5dGVzdC5ob29raW1wbCh0cnlmaXJzdD1UcnVlKQor
ZGVmIHB5dGVzdF9weWNvbGxlY3RfbWFrZWl0ZW0oY29sbGVjdG9yLCBuYW1lLCBvYmopOgorICAg
IHRyeToKKyAgICAgICAgdXQgPSBzeXMubW9kdWxlc1sidW5pdHRlc3QiXQorICAgICAgICBpZiBu
b3QgaXNzdWJjbGFzcyhvYmosIHV0LlRlc3RDYXNlKToKKyAgICAgICAgICAgIHJldHVybiBOb25l
CisgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKyAgICAgICAgcmV0dXJuIE5vbmUKKworICAgIGZvciBh
dHRyX25hbWUgaW4gc2V0KGRpcihvYmopKToKKyAgICAgICAgc2VyaWFsID0gRmFsc2UKKyAgICAg
ICAgaW50ZWdyYXRpb24gPSBGYWxzZQorICAgICAgICBpZiBhdHRyX25hbWUuc3RhcnRzd2l0aCgi
c2VyaWFsX2ludGVncmF0aW9uX3Rlc3RfIik6CisgICAgICAgICAgICBzZXJpYWwgPSBUcnVlCisg
ICAgICAgICAgICBpbnRlZ3JhdGlvbiA9IFRydWUKKyAgICAgICAgZWxpZiBhdHRyX25hbWUuc3Rh
cnRzd2l0aCgic2VyaWFsX3Rlc3RfIik6CisgICAgICAgICAgICBzZXJpYWwgPSBUcnVlCisgICAg
ICAgIGVsaWYgYXR0cl9uYW1lLnN0YXJ0c3dpdGgoImludGVncmF0aW9uX3Rlc3RfIik6CisgICAg
ICAgICAgICBpbnRlZ3JhdGlvbiA9IFRydWUKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGNv
bnRpbnVlCisKKyAgICAgICAgbWV0aG9kID0gZ2V0YXR0cihvYmosIGF0dHJfbmFtZSkKKyAgICAg
ICAgaWYgbm90IGNhbGxhYmxlKG1ldGhvZCk6CisgICAgICAgICAgICBjb250aW51ZQorCisgICAg
ICAgIG5ld19hdHRyX25hbWUgPSAidGVzdF8iICsgYXR0cl9uYW1lCisKKyAgICAgICAgaWYgaGFz
YXR0cihvYmosIG5ld19hdHRyX25hbWUpOgorICAgICAgICAgICAgIyBGSVhNRTogdGhpcyBpcyB3
aGVuIHdlIGhhdmUgc3ViY2xhc3NlcyBpbnZvbHZlZAorICAgICAgICAgICAgd2FybmluZ3Mud2Fy
bigKKyAgICAgICAgICAgICAgICAiYXR0cmlidXRlIGFscmVhZHkgZGVmaW5lZDsgcG90ZW50aWFs
bHkgaGlkaW5nIGV4aXN0aW5nIHRlc3Q/ISIKKyAgICAgICAgICAgICkKKworICAgICAgICAjIGkg
PSAwCisgICAgICAgICMgd2hpbGUgaGFzYXR0cihvYmosIG5ld19hdHRyX25hbWUpOgorICAgICAg
ICAjICAgICBuZXdfYXR0cl9uYW1lID0gInRlc3RfJXNfJWQiICUgKGF0dHJfbmFtZSwgaSkKKwor
ICAgICAgICBpZiBzeXMudmVyc2lvbl9pbmZvIDwgKDMsKSBhbmQgaXNpbnN0YW5jZShtZXRob2Qs
IHR5cGVzLk1ldGhvZFR5cGUpOgorICAgICAgICAgICAgbWV0aG9kID0gbWV0aG9kLmltX2Z1bmMK
KworICAgICAgICBpZiBzZXJpYWw6CisgICAgICAgICAgICBtZXRob2QgPSBweXRlc3QubWFyay5z
ZXJpYWwobWV0aG9kKQorCisgICAgICAgIGlmIGludGVncmF0aW9uOgorICAgICAgICAgICAgbWV0
aG9kID0gcHl0ZXN0Lm1hcmsuaW50ZWdyYXRpb24obWV0aG9kKQorCisgICAgICAgIHNldGF0dHIo
b2JqLCBuZXdfYXR0cl9uYW1lLCBtZXRob2QpCisKKyAgICByZXR1cm4gTm9uZQorCisKK2RlZiBw
eXRlc3RfY29sbGVjdGlvbl9tb2RpZnlpdGVtcyhjb25maWcsIGl0ZW1zKToKKyAgICBpZiBoYXNh
dHRyKGNvbmZpZywgIndvcmtlcmlucHV0Iik6CisgICAgICAgIHNraXBfc2VyaWFsID0gcHl0ZXN0
Lm1hcmsuc2tpcChyZWFzb249ImNhbm5vdCBydW4gaW4gcGFyYWxsZWwiKQorICAgICAgICBmb3Ig
aXRlbSBpbiBpdGVtczoKKyAgICAgICAgICAgIGlmICJzZXJpYWwiIGluIGl0ZW0ua2V5d29yZHM6
CisgICAgICAgICAgICAgICAgaXRlbS5hZGRfbWFya2VyKHNraXBfc2VyaWFsKQorCisgICAgaWYg
bm90IGNvbmZpZy5nZXRvcHRpb24oIi0tcnVuLWludGVncmF0aW9uIik6CisgICAgICAgIHNraXBf
aW50ZWdyYXRpb24gPSBweXRlc3QubWFyay5za2lwKHJlYXNvbj0ibmVlZCAtLXJ1bi1pbnRlZ3Jh
dGlvbiBvcHRpb24gdG8gcnVuIikKKyAgICAgICAgZm9yIGl0ZW0gaW4gaXRlbXM6CisgICAgICAg
ICAgICBpZiAiaW50ZWdyYXRpb24iIGluIGl0ZW0ua2V5d29yZHM6CisgICAgICAgICAgICAgICAg
aXRlbS5hZGRfbWFya2VyKHNraXBfaW50ZWdyYXRpb24pCisKKyAgICBpZiBub3QgY29uZmlnLmdl
dG9wdGlvbigiLS1ydW4tc2xvdyIpOgorICAgICAgICBza2lwX3Nsb3cgPSBweXRlc3QubWFyay5z
a2lwKHJlYXNvbj0ibmVlZCAtLXJ1bi1zbG93IG9wdGlvbiB0byBydW4iKQorICAgICAgICBmb3Ig
aXRlbSBpbiBpdGVtczoKKyAgICAgICAgICAgIGlmICJzbG93IiBpbiBpdGVtLmtleXdvcmRzOgor
ICAgICAgICAgICAgICAgIGl0ZW0uYWRkX21hcmtlcihza2lwX3Nsb3cpCmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3B5dGVzdC5pbmkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3B5dGVzdC5pbmkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTUxMGZkZDVhZDhlZTIwN2M5ODVkYTZlMGRkYmJmNWFh
MjI2ZTZhZQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcHl0ZXN0
LmluaQpAQCAtMCwwICsxLDE0IEBACitbcHl0ZXN0XQorcHl0aG9uX2ZpbGVzPSpfdW5pdHRlc3Qu
cHkgKl9pbnRlZ3JhdGlvbnRlc3QucHkKK3hmYWlsX3N0cmljdD10cnVlCithZGRvcHRzID0gLXJm
RVggLS1zdHJpY3QtbWFya2VycyAtayAnbm90IHNjbV91bml0dGVzdCcKKworZmlsdGVyd2Fybmlu
Z3MgPQorICAgIGlnbm9yZTppbnZhbGlkIGVzY2FwZSBzZXF1ZW5jZS4qOkRlcHJlY2F0aW9uV2Fy
bmluZworICAgIGlnbm9yZTpQbGVhc2UgdXNlIGFzc2VydC4qIGluc3RlYWQuOkRlcHJlY2F0aW9u
V2FybmluZworICAgIGlnbm9yZTpUaGUgJ3dhcm4nIG1ldGhvZCBpcyBkZXByZWNhdGVkLCB1c2Ug
J3dhcm5pbmcnIGluc3RlYWQ6RGVwcmVjYXRpb25XYXJuaW5nCisgICAgaWdub3JlOmNhbm5vdCBj
b2xsZWN0IHRlc3QgY2xhc3MgJ1Rlc3RbXiddKicgYmVjYXVzZSBpdCBoYXMgYSBfX2luaXRfXyBj
b25zdHJ1Y3RvcjpweXRlc3QuUHl0ZXN0Q29sbGVjdGlvbldhcm5pbmcKKyAgICBpZ25vcmU6dGhl
IGltcCBtb2R1bGUgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgaW1wb3J0bGliOyBzZWUgdGhl
IG1vZHVsZSdzIGRvY3VtZW50YXRpb24gZm9yIGFsdGVybmF0aXZlIHVzZXM6RGVwcmVjYXRpb25X
YXJuaW5nCisgICAgaWdub3JlOlVzaW5nIG9yIGltcG9ydGluZyB0aGUgQUJDcyBmcm9tICdjb2xs
ZWN0aW9ucycgaW5zdGVhZCBvZiBmcm9tICdjb2xsZWN0aW9ucy5hYmMnIGlzIGRlcHJlY2F0ZWQg
c2luY2UgUHl0aG9uIDMuMywgYW5kIGluIDMuWzAtOV0rIGl0IHdpbGwgc3RvcCB3b3JraW5nOkRl
cHJlY2F0aW9uV2FybmluZworICAgIGlnbm9yZTpUaGUgcmVhZFBsaXN0IGZ1bmN0aW9uIGlzIGRl
cHJlY2F0ZWQsIHVzZSBsb2FkXChcKSBpbnN0ZWFkOkRlcHJlY2F0aW9uV2FybmluZworICAgIGln
bm9yZTppbnNwZWN0LmdldGFyZ3NwZWNcKFwpIGlzIGRlcHJlY2F0ZWQgc2luY2UgUHl0aG9uIDMu
MCwgdXNlIGluc3BlY3Quc2lnbmF0dXJlXChcKSBvciBpbnNwZWN0LmdldGZ1bGxhcmdzcGVjXChc
KTpEZXByZWNhdGlvbldhcm5pbmcKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
dGVzdC9tYXJrZXJzLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90ZXN0L21hcmtlcnMucHkK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZmNjMGQ4Yjk2YmEwZDNlNDg2ZmIyZGZmMDk5N2Q4YWIyMGRiZDM5YwotLS0g
L2Rldi9udWxsCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdGVzdC9tYXJrZXJzLnB5CkBA
IC0wLDAgKzEsNjEgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAx
LiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisj
ICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorIyBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRAorIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisjIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCisjIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwKKyMgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKKyMgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKKyMgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwKKyMgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKwor
aW1wb3J0IHVuaXR0ZXN0CisKK3RyeToKKyAgICBpbXBvcnQgcHl0ZXN0CitleGNlcHQgSW1wb3J0
RXJyb3I6CisgICAgcHl0ZXN0ID0gTm9uZQorCisKK2RlZiB4ZmFpbCgqYXJncywgKiprd2FyZ3Mp
OgorICAgICIiImEgcHl0ZXN0Lm1hcmsueGZhaWwtbGlrZSB3cmFwcGVyIGZvciB1bml0dGVzdC5l
eHBlY3RlZEZhaWx1cmUiIiIKKworICAgIGRlZiB3cmFwcGVyKGNvbmRpdGlvbj1UcnVlLCByZWFz
b249Tm9uZSk6CisgICAgICAgIGRlZiBkZWNvcmF0b3IoZnVuYyk6CisgICAgICAgICAgICBpZiBj
b25kaXRpb246CisgICAgICAgICAgICAgICAgcmV0dXJuIHVuaXR0ZXN0LmV4cGVjdGVkRmFpbHVy
ZShmdW5jKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZXR1cm4gZnVuYwor
CisgICAgICAgIHJldHVybiBkZWNvcmF0b3IKKworICAgIGlmIGxlbihhcmdzKSA9PSAxIGFuZCBj
YWxsYWJsZShhcmdzWzBdKToKKyAgICAgICAgcmV0dXJuIHdyYXBwZXIoKShhcmdzWzBdKQorICAg
IGVsc2U6CisgICAgICAgIHJldHVybiB3cmFwcGVyKCphcmdzLCAqKmt3YXJncykKKworCitkZWYg
c2xvdyhmdW5jKToKKyAgICBpZiBweXRlc3Q6CisgICAgICAgIHJldHVybiBweXRlc3QubWFyay5z
bG93KGZ1bmMpCisgICAgZWxzZToKKyAgICAgICAgcmV0dXJuIGZ1bmMKKworCitkZWYgc2tpcChy
ZWFzb24pOgorICAgIHJldHVybiB1bml0dGVzdC5za2lwKHJlYXNvbikKKworCitkZWYgc2tpcElm
KHJlYXNvbik6CisgICAgcmV0dXJuIHVuaXR0ZXN0LnNraXBJZihyZWFzb24pCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3Qvc2tpcC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvdGVzdC9za2lwLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4M2I2MzRk
MzUwOWRkNjBmZGJkMjhmMGNhYjBiZjcyMGM5Mjk5MTQyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdGVzdC9za2lw
LnB5CisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotIyBDb3B5cmlnaHQgKEMpIDIwMTAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSMgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0jIGFyZSBtZXQ6Ci0jIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotIyAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKLSMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0jCi0jIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycg
QU5ECi0jIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0jIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSMgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IKLSMgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgotIyBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUgotIyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAotIyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQotIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotCi1pbXBvcnQgbG9nZ2luZwotCi1fbG9nID0gbG9nZ2luZy5nZXRM
b2dnZXIoX19uYW1lX18pCi0KLQotZGVmIHNraXBfaWYoa2xhc3MsIGNvbmRpdGlvbiwgbWVzc2Fn
ZT1Ob25lLCBsb2dnZXI9Tm9uZSk6Ci0gICAgIiIiTWFrZXMgYWxsIHRlc3RfKiBtZXRob2RzIGlu
IGEgZ2l2ZW4gY2xhc3Mgbm8tb3BzIGlmIHRoZSBnaXZlbiBjb25kaXRpb24KLSAgICBpcyBGYWxz
ZS4gQmFja3BvcnRlZCBmcm9tIFB5dGhvbiAzLjErJ3MgdW5pdHRlc3Quc2tpcElmIGRlY29yYXRv
ci4iIiIKLSAgICBpZiBub3QgbG9nZ2VyOgotICAgICAgICBsb2dnZXIgPSBfbG9nCi0gICAgaWYg
bm90IGNvbmRpdGlvbjoKLSAgICAgICAgcmV0dXJuIGtsYXNzCi0gICAgZm9yIG5hbWUgaW4gZGly
KGtsYXNzKToKLSAgICAgICAgYXR0ciA9IGdldGF0dHIoa2xhc3MsIG5hbWUpCi0gICAgICAgIGlm
IG5vdCBjYWxsYWJsZShhdHRyKToKLSAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgIGlmIG5v
dCBuYW1lLnN0YXJ0c3dpdGgoJ3Rlc3RfJyk6Ci0gICAgICAgICAgICBjb250aW51ZQotICAgICAg
ICBzZXRhdHRyKGtsYXNzLCBuYW1lLCBfc2tpcHBlZF9tZXRob2QoYXR0ciwgbWVzc2FnZSwgbG9n
Z2VyKSkKLSAgICBrbGFzcy5fcHJpbnRlZF9za2lwcGVkX21lc3NhZ2UgPSBGYWxzZQotICAgIHJl
dHVybiBrbGFzcwotCi0KLWRlZiBfc2tpcHBlZF9tZXRob2QobWV0aG9kLCBtZXNzYWdlLCBsb2dn
ZXIpOgotICAgIGRlZiBfc2tpcChzZWxmLCAqYXJncyk6Ci0gICAgICAgIGlmIHNlbGYuX3ByaW50
ZWRfc2tpcHBlZF9tZXNzYWdlOgotICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgIHNlbGYuX3By
aW50ZWRfc2tpcHBlZF9tZXNzYWdlID0gVHJ1ZQotICAgICAgICBsb2dnZXIuaW5mbygnU2tpcHBp
bmcgJXMuJXM6ICVzJyAlIChtZXRob2QuX19tb2R1bGVfXywgdHlwZShzZWxmKS5fX25hbWVfXywg
bWVzc2FnZSkpCi0gICAgcmV0dXJuIF9za2lwCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3Rlc3Qvc2tpcF91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdGVz
dC9za2lwX3VuaXR0ZXN0LnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MzUwOWZh
NmYwYjQxYTE3NWU5YTcxODI0ZDJkNmM4ZDk0MjRhZmJmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdGVzdC9za2lw
X3VuaXR0ZXN0LnB5CisrKyAvZGV2L251bGwKQEAgLTEsNzUgKzAsMCBAQAotIyBDb3B5cmlnaHQg
KEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCi0jIGFyZSBtZXQ6Ci0jIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotIyAyLiAg
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0jCi0jIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycgQU5ECi0jIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0jIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSMg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IKLSMgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotIyBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgot
IyBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUgotIyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAotIyBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQotIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotCi1pbXBvcnQgbG9nZ2luZwotaW1wb3J0IHVuaXR0
ZXN0Ci0KLWZyb20gd2Via2l0Y29yZXB5IGltcG9ydCBTdHJpbmdJTwotCi1mcm9tIHdlYmtpdHB5
LnRlc3Quc2tpcCBpbXBvcnQgc2tpcF9pZgotCi0KLWNsYXNzIFNraXBUZXN0KHVuaXR0ZXN0LlRl
c3RDYXNlKToKLSAgICBkZWYgc2V0VXAoc2VsZik6Ci0gICAgICAgIHNlbGYubG9nZ2VyID0gbG9n
Z2luZy5nZXRMb2dnZXIoX19uYW1lX18pCi0KLSAgICAgICAgc2VsZi5vbGRfbGV2ZWwgPSBzZWxm
LmxvZ2dlci5sZXZlbAotICAgICAgICBzZWxmLmxvZ2dlci5zZXRMZXZlbChsb2dnaW5nLklORk8p
Ci0KLSAgICAgICAgc2VsZi5vbGRfcHJvcGFnYXRlID0gc2VsZi5sb2dnZXIucHJvcGFnYXRlCi0g
ICAgICAgIHNlbGYubG9nZ2VyLnByb3BhZ2F0ZSA9IEZhbHNlCi0KLSAgICAgICAgc2VsZi5sb2df
c3RyZWFtID0gU3RyaW5nSU8oKQotICAgICAgICBzZWxmLmhhbmRsZXIgPSBsb2dnaW5nLlN0cmVh
bUhhbmRsZXIoc2VsZi5sb2dfc3RyZWFtKQotICAgICAgICBzZWxmLmxvZ2dlci5hZGRIYW5kbGVy
KHNlbGYuaGFuZGxlcikKLQotICAgICAgICBzZWxmLmZvb193YXNfY2FsbGVkID0gRmFsc2UKLQot
ICAgIGRlZiB0ZWFyRG93bihzZWxmKToKLSAgICAgICAgc2VsZi5sb2dnZXIucmVtb3ZlSGFuZGxl
cihzZWxmLmhhbmRsZXIpCi0gICAgICAgIHNlbGYucHJvcGFnYXRlID0gc2VsZi5vbGRfcHJvcGFn
YXRlCi0gICAgICAgIHNlbGYubG9nZ2VyLnNldExldmVsKHNlbGYub2xkX2xldmVsKQotCi0gICAg
ZGVmIGNyZWF0ZV9maXh0dXJlX2NsYXNzKHNlbGYpOgotICAgICAgICBjbGFzcyBUZXN0U2tpcEZp
eHR1cmUob2JqZWN0KToKLSAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBjYWxsYmFjayk6
Ci0gICAgICAgICAgICAgICAgc2VsZi5jYWxsYmFjayA9IGNhbGxiYWNrCi0KLSAgICAgICAgICAg
IGRlZiB0ZXN0X2ZvbyhzZWxmKToKLSAgICAgICAgICAgICAgICBzZWxmLmNhbGxiYWNrKCkKLQot
ICAgICAgICByZXR1cm4gVGVzdFNraXBGaXh0dXJlCi0KLSAgICBkZWYgZm9vX2NhbGxiYWNrKHNl
bGYpOgotICAgICAgICBzZWxmLmZvb193YXNfY2FsbGVkID0gVHJ1ZQotCi0gICAgZGVmIHRlc3Rf
c2tpcF9pZl9mYWxzZShzZWxmKToKLSAgICAgICAga2xhc3MgPSBza2lwX2lmKHNlbGYuY3JlYXRl
X2ZpeHR1cmVfY2xhc3MoKSwgRmFsc2UsICdTaG91bGQgbm90IHNlZSB0aGlzIG1lc3NhZ2UuJywg
bG9nZ2VyPXNlbGYubG9nZ2VyKQotICAgICAgICBrbGFzcyhzZWxmLmZvb19jYWxsYmFjaykudGVz
dF9mb28oKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYubG9nX3N0cmVhbS5nZXR2YWx1
ZSgpLCAnJykKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbGYuZm9vX3dhc19jYWxsZWQpCi0K
LSAgICBkZWYgdGVzdF9za2lwX2lmX3RydWUoc2VsZik6Ci0gICAgICAgIGtsYXNzID0gc2tpcF9p
ZihzZWxmLmNyZWF0ZV9maXh0dXJlX2NsYXNzKCksIFRydWUsICdTaG91bGQgc2VlIHRoaXMgbWVz
c2FnZS4nLCBsb2dnZXI9c2VsZi5sb2dnZXIpCi0gICAgICAgIGtsYXNzKHNlbGYuZm9vX2NhbGxi
YWNrKS50ZXN0X2ZvbygpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5sb2dfc3RyZWFt
LmdldHZhbHVlKCksICdTa2lwcGluZyB3ZWJraXRweS50ZXN0LnNraXBfdW5pdHRlc3QuVGVzdFNr
aXBGaXh0dXJlOiBTaG91bGQgc2VlIHRoaXMgbWVzc2FnZS5cbicpCi0gICAgICAgIHNlbGYuYXNz
ZXJ0RmFsc2Uoc2VsZi5mb29fd2FzX2NhbGxlZCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426840</attachid>
            <date>2021-04-22 12:48:07 -0700</date>
            <delta_ts>2021-04-23 12:34:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224687-20210422204806.patch</filename>
            <type>text/plain</type>
            <size>9544</size>
            <attacher name="Sam Sneddon [:gsnedders]">gsnedders</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2NDUwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYTY0ZGUyMTFjZjRhYzMxZTIxMDgwNTlmODEyNTg3MDVh
OGU4ZWIxMC4uYWJjYjM3MGVjMjk5YjUzZmIwYTg1YmY2ODEzZmQ2N2Q0Zjk4NmExMiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1
IEBACisyMDIxLTA0LTIyICBTYW0gU25lZGRvbiAgPGdzbmVkZGVyc0BhcHBsZS5jb20+CisKKyAg
ICAgICAgQWRkIGEgY29uZnRlc3QucHkgdG8gcnVuIGV4aXN0aW5nIHdlYmtpdHB5IHRlc3RzIGlu
IHB5dGVzdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI0Njg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vZXhlY3V0aXZlX3VuaXR0ZXN0LnB5Ogor
ICAgICAgICAoRXhlY3V0aXZlVGVzdC5zZXJpYWxfdGVzdF9ydW5faW5fcGFyYWxsZWwpOiBEZWFs
IHdpdGggdGhlIGZhY3QgdGhhdCBweXRlc3QKKyAgICAgICAgcnVubmluZyB0aGUgdGVzdHMgbWln
aHQgYmUgbm90IGJlIHRoZSBzYW1lIHZlcnNpb24gYXMgdGhlIGF1dG9pbnN0YWxsZWQgdmVyc2lv
biwKKyAgICAgICAgYW5kIG5vdCBBUEkgY29tcGF0aWJsZS4KKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHB5L2NvbmZ0ZXN0LnB5OiBBZGRlZC4KKyAgICAgICAgKHB5dGVzdF9jb25maWd1cmUpOiBE
ZWZpbmUgdGhlIG1hcmtlcnMgdGhlIHBsdWdpbnMgaW4gY29uZnRlc3QgdXNlCisgICAgICAgIChw
eXRlc3RfYWRkb3B0aW9uKTogQWRkIC0tcnVuLWludGVncmF0aW9uIHRvIGFsbG93IHRoZW0gdG8g
YmUgZGlzYWJsZWQgYnkgZGVmYXVsdC4KKyAgICAgICAgKHB5dGVzdF9weWNvbGxlY3RfbWFrZWl0
ZW0pOiBSZW5hbWUgc2VyaWFsL2ludGVncmF0aW9uIHRlc3RzIHNvIHB5dGVzdCBmaW5kcyB0aGVt
LgorICAgICAgICAocHl0ZXN0X2NvbGxlY3Rpb25fbW9kaWZ5aXRlbXMpOiBNYXJrIHRlc3RzIGFz
IHNraXBwZWQgd2hlbiBuZWVkZWQgcGVyIHRoZSBhYm92ZS4KKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHB5L3B5dGVzdC5pbmk6IEFkZGVkLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdGVz
dC9tYWluX3VuaXR0ZXN0LnB5OgorICAgICAgICAoVGVzdFN0dWJzKTogU3RvcCB0aGVzZSBmcm9t
IGJlaW5nIHBpY2tlZCB1cCBieSBweXRlc3QgYXMgdGVzdHMuCisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS90ZXN0L21hcmtlcnMucHk6IEZpeCB0aGlzIHNvIHB5dGVzdCBpcyB0ZWNobmljYWxs
eSBvcHRpb25hbCwKKyAgICAgICAgZXZlbiB0aG91Z2ggaXQgaXMgYWx3YXlzIHByZXNlbnQgYmVj
YXVzZSBvZiB0aGUgYXV0b2luc3RhbGxlZCBjb3B5LgorCiAyMDIxLTA0LTIyICBTYW0gU25lZGRv
biAgPGdzbmVkZGVyc0BhcHBsZS5jb20+CiAKICAgICAgICAgRW5zdXJlIGFsbCBub24tbG9jYWwg
QXV0b0luc3RhbGxlZCBsaWJyYXJpZXMgc3BlY2lmeSB2ZXJzaW9uCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vZXhlY3V0aXZlX3VuaXR0ZXN0LnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2V4ZWN1dGl2ZV91bml0dGVzdC5w
eQppbmRleCA3MGIxZDQ4NDRkYTVlYmE2NzJlY2FhOWRjN2Q5NDVlOGNiNWM0MjQwLi5iMDgzNTg1
ZjEwNmU3ZGE0OTE5MjE1ODI2YzBlNDlhNGI4NWU1NjRiIDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vZXhlY3V0aXZlX3VuaXR0ZXN0LnB5CisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmVfdW5pdHRlc3QucHkK
QEAgLTI1MCw5ICsyNTAsMTkgQEAgY2xhc3MgRXhlY3V0aXZlVGVzdCh1bml0dGVzdC5UZXN0Q2Fz
ZSk6CiAgICAgICAgIGNtZF9saW5lID0gW3N5cy5leGVjdXRhYmxlLCAnLWMnLCAnaW1wb3J0IHRp
bWU7IHRpbWUuc2xlZXAoJWYpOyBwcmludCgiaGVsbG8iKScgJSBERUxBWV9TRUNTXQogICAgICAg
ICBjd2QgPSBvcy5nZXRjd2QoKQogICAgICAgICBjb21tYW5kcyA9IFt0dXBsZShbY21kX2xpbmUs
IGN3ZF0pXSAqIE5VTV9QUk9DRVNTRVMKLSAgICAgICAgc3RhcnQgPSB0aW1lLnRpbWUoKQotICAg
ICAgICBjb21tYW5kX291dHB1dHMgPSBFeGVjdXRpdmUoKS5ydW5faW5fcGFyYWxsZWwoY29tbWFu
ZHMsIHByb2Nlc3Nlcz1OVU1fUFJPQ0VTU0VTKQotICAgICAgICBkb25lID0gdGltZS50aW1lKCkK
KworICAgICAgICB0cnk6CisgICAgICAgICAgICAjIHdlIG92ZXJ3cml0ZSBfX21haW5fXyB0byBi
ZSB0aGlzIHRvIGF2b2lkIGFueSBpc3N1ZXMgd2l0aAorICAgICAgICAgICAgIyBtdWx0aXByb2Nl
c3NpbmcncyBzcGF3bmluZyBjYXVzZWQgYnkgbXVsdGlwbGUgdmVyc2lvbnMgb2YgcHl0ZXN0IG9u
CisgICAgICAgICAgICAjIHN5cy5wYXRoCisgICAgICAgICAgICBvbGRfbWFpbiA9IHN5cy5tb2R1
bGVzWyJfX21haW5fXyJdCisgICAgICAgICAgICBzeXMubW9kdWxlc1siX19tYWluX18iXSA9IHN5
cy5tb2R1bGVzW19fbmFtZV9fXQorICAgICAgICAgICAgc3RhcnQgPSB0aW1lLnRpbWUoKQorICAg
ICAgICAgICAgY29tbWFuZF9vdXRwdXRzID0gRXhlY3V0aXZlKCkucnVuX2luX3BhcmFsbGVsKGNv
bW1hbmRzLCBwcm9jZXNzZXM9TlVNX1BST0NFU1NFUykKKyAgICAgICAgICAgIGRvbmUgPSB0aW1l
LnRpbWUoKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgc3lzLm1vZHVsZXNbIl9fbWFp
bl9fIl0gPSBvbGRfbWFpbgorCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShkb25lIC0gc3RhcnQg
PCBOVU1fUFJPQ0VTU0VTICogREVMQVlfU0VDUykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChb
b3V0cHV0WzFdIGZvciBvdXRwdXQgaW4gY29tbWFuZF9vdXRwdXRzXSwgW2InaGVsbG9cbiddICog
TlVNX1BST0NFU1NFUykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbXSwgIG11bHRpcHJvY2Vz
c2luZy5hY3RpdmVfY2hpbGRyZW4oKSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvY29uZnRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbmZ0ZXN0LnB5Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmNmODkxZmQ1MDYzNmMxYzM5OWY0NmUxNjc0MDBhZGU1NTY0NWNkNTcKLS0tIC9kZXYv
bnVsbAorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbmZ0ZXN0LnB5CkBAIC0wLDAgKzEs
MTEwIEBACisjIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyMgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQK
KyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorIyBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisj
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SCisjIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisjIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksCisjIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKK2ltcG9ydCB3
YXJuaW5ncworaW1wb3J0IHR5cGVzCitpbXBvcnQgc3lzCisKK2ltcG9ydCBweXRlc3QKKworCitk
ZWYgcHl0ZXN0X2NvbmZpZ3VyZShjb25maWcpOgorICAgIGNvbmZpZy5hZGRpbml2YWx1ZV9saW5l
KCJtYXJrZXJzIiwgInNlcmlhbDogdGVzdHMgdGhhdCBtdXN0IGJlIHJ1biBpbiBzZXJpYWwiKQor
ICAgIGNvbmZpZy5hZGRpbml2YWx1ZV9saW5lKCJtYXJrZXJzIiwgImludGVncmF0aW9uOiBpbnRl
Z3JhdGlvbiB0ZXN0cyIpCisKKworZGVmIHB5dGVzdF9hZGRvcHRpb24ocGFyc2VyKToKKyAgICBw
YXJzZXIuYWRkb3B0aW9uKAorICAgICAgICAiLS1ydW4taW50ZWdyYXRpb24iLAorICAgICAgICBh
Y3Rpb249InN0b3JlX3RydWUiLAorICAgICAgICBkZWZhdWx0PUZhbHNlLAorICAgICAgICBoZWxw
PSJydW4gaW50ZWdyYXRpb24gdGVzdHMiLAorICAgICkKKworCitAcHl0ZXN0Lmhvb2tpbXBsKHRy
eWZpcnN0PVRydWUpCitkZWYgcHl0ZXN0X3B5Y29sbGVjdF9tYWtlaXRlbShjb2xsZWN0b3IsIG5h
bWUsIG9iaik6CisgICAgdHJ5OgorICAgICAgICB1dCA9IHN5cy5tb2R1bGVzWyJ1bml0dGVzdCJd
CisgICAgICAgIGlmIG5vdCBpc3N1YmNsYXNzKG9iaiwgdXQuVGVzdENhc2UpOgorICAgICAgICAg
ICAgcmV0dXJuIE5vbmUKKyAgICBleGNlcHQgRXhjZXB0aW9uOgorICAgICAgICByZXR1cm4gTm9u
ZQorCisgICAgaWYgZ2V0YXR0cihvYmosICJfX3B5dGVzdF9ub19yZXdyaXRlX18iLCBGYWxzZSk6
CisgICAgICAgIHJldHVybiBOb25lCisKKyAgICBmb3IgYXR0cl9uYW1lIGluIHNldChkaXIob2Jq
KSk6CisgICAgICAgIHNlcmlhbCA9IEZhbHNlCisgICAgICAgIGludGVncmF0aW9uID0gRmFsc2UK
KyAgICAgICAgaWYgYXR0cl9uYW1lLnN0YXJ0c3dpdGgoInNlcmlhbF9pbnRlZ3JhdGlvbl90ZXN0
XyIpOgorICAgICAgICAgICAgc2VyaWFsID0gVHJ1ZQorICAgICAgICAgICAgaW50ZWdyYXRpb24g
PSBUcnVlCisgICAgICAgIGVsaWYgYXR0cl9uYW1lLnN0YXJ0c3dpdGgoInNlcmlhbF90ZXN0XyIp
OgorICAgICAgICAgICAgc2VyaWFsID0gVHJ1ZQorICAgICAgICBlbGlmIGF0dHJfbmFtZS5zdGFy
dHN3aXRoKCJpbnRlZ3JhdGlvbl90ZXN0XyIpOgorICAgICAgICAgICAgaW50ZWdyYXRpb24gPSBU
cnVlCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBjb250aW51ZQorCisgICAgICAgIG1ldGhv
ZCA9IGdldGF0dHIob2JqLCBhdHRyX25hbWUpCisgICAgICAgIGlmIG5vdCBjYWxsYWJsZShtZXRo
b2QpOgorICAgICAgICAgICAgY29udGludWUKKworICAgICAgICBuZXdfYXR0cl9uYW1lID0gInRl
c3RfIiArIGF0dHJfbmFtZQorCisgICAgICAgIGV4aXN0aW5nX2F0dHIgPSBnZXRhdHRyKG9iaiwg
bmV3X2F0dHJfbmFtZSwgTm9uZSkKKyAgICAgICAgaWYgZXhpc3RpbmdfYXR0cjoKKyAgICAgICAg
ICAgIGlmIG1ldGhvZCAhPSBleGlzdGluZ19hdHRyOgorICAgICAgICAgICAgICAgIHdhcm5pbmdz
Lndhcm4oCisgICAgICAgICAgICAgICAgICAgICJhdHRyaWJ1dGUgJXIgYWxyZWFkeSBkZWZpbmVk
IG9uICVyOyAlciBtaWdodCBoaWRlICVyIgorICAgICAgICAgICAgICAgICAgICAlIChuZXdfYXR0
cl9uYW1lLCBvYmosIG1ldGhvZCwgZXhpc3RpbmdfYXR0cikKKyAgICAgICAgICAgICAgICApCisK
KyAgICAgICAgaWYgc3lzLnZlcnNpb25faW5mbyA8ICgzLCkgYW5kIGlzaW5zdGFuY2UobWV0aG9k
LCB0eXBlcy5NZXRob2RUeXBlKToKKyAgICAgICAgICAgIG1ldGhvZCA9IG1ldGhvZC5pbV9mdW5j
CisKKyAgICAgICAgaWYgc2VyaWFsOgorICAgICAgICAgICAgbWV0aG9kID0gcHl0ZXN0Lm1hcmsu
c2VyaWFsKG1ldGhvZCkKKworICAgICAgICBpZiBpbnRlZ3JhdGlvbjoKKyAgICAgICAgICAgIG1l
dGhvZCA9IHB5dGVzdC5tYXJrLmludGVncmF0aW9uKG1ldGhvZCkKKworICAgICAgICBzZXRhdHRy
KG9iaiwgbmV3X2F0dHJfbmFtZSwgbWV0aG9kKQorCisgICAgcmV0dXJuIE5vbmUKKworCitkZWYg
cHl0ZXN0X2NvbGxlY3Rpb25fbW9kaWZ5aXRlbXMoY29uZmlnLCBpdGVtcyk6CisgICAgaWYgaGFz
YXR0cihjb25maWcsICJ3b3JrZXJpbnB1dCIpOgorICAgICAgICBza2lwX3NlcmlhbCA9IHB5dGVz
dC5tYXJrLnNraXAocmVhc29uPSJjYW5ub3QgcnVuIGluIHBhcmFsbGVsIikKKyAgICAgICAgZm9y
IGl0ZW0gaW4gaXRlbXM6CisgICAgICAgICAgICBpZiAic2VyaWFsIiBpbiBpdGVtLmtleXdvcmRz
OgorICAgICAgICAgICAgICAgIGl0ZW0uYWRkX21hcmtlcihza2lwX3NlcmlhbCkKKworICAgIGlm
IG5vdCBjb25maWcuZ2V0b3B0aW9uKCItLXJ1bi1pbnRlZ3JhdGlvbiIpOgorICAgICAgICBza2lw
X2ludGVncmF0aW9uID0gcHl0ZXN0Lm1hcmsuc2tpcCgKKyAgICAgICAgICAgIHJlYXNvbj0ibmVl
ZCAtLXJ1bi1pbnRlZ3JhdGlvbiBvcHRpb24gdG8gcnVuIgorICAgICAgICApCisgICAgICAgIGZv
ciBpdGVtIGluIGl0ZW1zOgorICAgICAgICAgICAgaWYgImludGVncmF0aW9uIiBpbiBpdGVtLmtl
eXdvcmRzOgorICAgICAgICAgICAgICAgIGl0ZW0uYWRkX21hcmtlcihza2lwX2ludGVncmF0aW9u
KQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9weXRlc3QuaW5pIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9weXRlc3QuaW5pCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk1MTBmZGQ1YWQ4ZWUyMDdj
OTg1ZGE2ZTBkZGJiZjVhYTIyNmU2YWUKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3B5dGVzdC5pbmkKQEAgLTAsMCArMSwxNCBAQAorW3B5dGVzdF0KK3B5dGhvbl9m
aWxlcz0qX3VuaXR0ZXN0LnB5ICpfaW50ZWdyYXRpb250ZXN0LnB5Cit4ZmFpbF9zdHJpY3Q9dHJ1
ZQorYWRkb3B0cyA9IC1yZkVYIC0tc3RyaWN0LW1hcmtlcnMgLWsgJ25vdCBzY21fdW5pdHRlc3Qn
CisKK2ZpbHRlcndhcm5pbmdzID0KKyAgICBpZ25vcmU6aW52YWxpZCBlc2NhcGUgc2VxdWVuY2Uu
KjpEZXByZWNhdGlvbldhcm5pbmcKKyAgICBpZ25vcmU6UGxlYXNlIHVzZSBhc3NlcnQuKiBpbnN0
ZWFkLjpEZXByZWNhdGlvbldhcm5pbmcKKyAgICBpZ25vcmU6VGhlICd3YXJuJyBtZXRob2QgaXMg
ZGVwcmVjYXRlZCwgdXNlICd3YXJuaW5nJyBpbnN0ZWFkOkRlcHJlY2F0aW9uV2FybmluZworICAg
IGlnbm9yZTpjYW5ub3QgY29sbGVjdCB0ZXN0IGNsYXNzICdUZXN0W14nXSonIGJlY2F1c2UgaXQg
aGFzIGEgX19pbml0X18gY29uc3RydWN0b3I6cHl0ZXN0LlB5dGVzdENvbGxlY3Rpb25XYXJuaW5n
CisgICAgaWdub3JlOnRoZSBpbXAgbW9kdWxlIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIGlt
cG9ydGxpYjsgc2VlIHRoZSBtb2R1bGUncyBkb2N1bWVudGF0aW9uIGZvciBhbHRlcm5hdGl2ZSB1
c2VzOkRlcHJlY2F0aW9uV2FybmluZworICAgIGlnbm9yZTpVc2luZyBvciBpbXBvcnRpbmcgdGhl
IEFCQ3MgZnJvbSAnY29sbGVjdGlvbnMnIGluc3RlYWQgb2YgZnJvbSAnY29sbGVjdGlvbnMuYWJj
JyBpcyBkZXByZWNhdGVkIHNpbmNlIFB5dGhvbiAzLjMsIGFuZCBpbiAzLlswLTldKyBpdCB3aWxs
IHN0b3Agd29ya2luZzpEZXByZWNhdGlvbldhcm5pbmcKKyAgICBpZ25vcmU6VGhlIHJlYWRQbGlz
dCBmdW5jdGlvbiBpcyBkZXByZWNhdGVkLCB1c2UgbG9hZFwoXCkgaW5zdGVhZDpEZXByZWNhdGlv
bldhcm5pbmcKKyAgICBpZ25vcmU6aW5zcGVjdC5nZXRhcmdzcGVjXChcKSBpcyBkZXByZWNhdGVk
IHNpbmNlIFB5dGhvbiAzLjAsIHVzZSBpbnNwZWN0LnNpZ25hdHVyZVwoXCkgb3IgaW5zcGVjdC5n
ZXRmdWxsYXJnc3BlY1woXCk6RGVwcmVjYXRpb25XYXJuaW5nCmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rlc3QvbWFpbl91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvdGVzdC9tYWluX3VuaXR0ZXN0LnB5CmluZGV4IDZhZWIyYjg4MDg3MjA3MWE4ZWUwZTkz
YjlkNjYwZGIyNGIwNzg0ZWMuLmVmMzFiMzI3MjExNDE5NWRjNzFiNTkwMThkNDI0MzhkNTFjMTUz
NGIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdGVzdC9tYWluX3VuaXR0ZXN0
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdGVzdC9tYWluX3VuaXR0ZXN0LnB5CkBA
IC0zOCw2ICszOCw4IEBAIFNUVUJTX0NMQVNTID0gX19uYW1lX18gKyAiLlRlc3RTdHVicyIKIAog
CiBjbGFzcyBUZXN0U3R1YnModW5pdHRlc3QuVGVzdENhc2UpOgorICAgIF9fcHl0ZXN0X25vX3Jl
d3JpdGVfXyA9IFRydWUKKwogICAgIGRlZiB0ZXN0X2VtcHR5KHNlbGYpOgogICAgICAgICBwYXNz
CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdGVzdC9tYXJrZXJzLnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS90ZXN0L21hcmtlcnMucHkKaW5kZXggZDgzZDU5NWViMzNi
YzQ4YWFjMjkxZTZlYWM5Njc0Y2FhN2Y2YTY1NS4uYWNhMTYzOTJmMmNmMzBhMzRmNzRjZTM3YzM5
MTI3MzM1NTJlNmFmYyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90ZXN0L21h
cmtlcnMucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90ZXN0L21hcmtlcnMucHkKQEAg
LTIyLDYgKzIyLDExIEBACiAKIGltcG9ydCB1bml0dGVzdAogCit0cnk6CisgICAgaW1wb3J0IHB5
dGVzdAorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIHBhc3MKKwogCiBkZWYgeGZhaWwoKmFyZ3Ms
ICoqa3dhcmdzKToKICAgICAiIiJhIHB5dGVzdC5tYXJrLnhmYWlsLWxpa2Ugd3JhcHBlciBmb3Ig
dW5pdHRlc3QuZXhwZWN0ZWRGYWlsdXJlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>