<?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>179727</bug_id>
          
          <creation_ts>2017-11-15 05:13:20 -0800</creation_ts>
          <short_desc>[WPE] Add initial support for WebDriver</short_desc>
          <delta_ts>2017-11-16 04:48:38 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WPE WebKit</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="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aperez</cc>
    
    <cc>bburg</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1371793</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-11-15 05:13:20 -0800</bug_when>
    <thetext>Add initial support for WebDriver to WPE port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371794</commentid>
    <comment_count>1</comment_count>
      <attachid>326979</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-11-15 05:21:21 -0800</bug_when>
    <thetext>Created attachment 326979
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371802</commentid>
    <comment_count>2</comment_count>
      <attachid>326979</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-11-15 07:09:41 -0800</bug_when>
    <thetext>Comment on attachment 326979
Patch

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

&gt; Source/cmake/OptionsWPE.cmake:37
&gt; +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEBDRIVER PRIVATE ON)

I think Adrian wants this to be public, since he has support in his Buildroot recipe for enabling and disabling it.

Adrian, do you want to keep that support? (I think the Buildroot recipe should only touch public options.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371812</commentid>
    <comment_count>3</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2017-11-15 07:37:52 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #2)
&gt; Comment on attachment 326979 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=326979&amp;action=review
&gt; 
&gt; &gt; Source/cmake/OptionsWPE.cmake:37
&gt; &gt; +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEBDRIVER PRIVATE ON)
&gt; 
&gt; I think Adrian wants this to be public, since he has support in his
&gt; Buildroot recipe for enabling and disabling it.
&gt; 
&gt; Adrian, do you want to keep that support? (I think the Buildroot recipe
&gt; should only touch public options.)

Yes, I would like to keep it as a public option, as long as it is
reasonable from a maintenance POV. The reasons are that it is already
a public option in the GTK+ port, and that in embedded devices every
few hundred kilobytes count — people may want to have WebDriver
enabled for development, and disabled for releases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372572</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-11-16 04:48:38 -0800</bug_when>
    <thetext>Committed r224913: &lt;https://trac.webkit.org/changeset/224913&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326979</attachid>
            <date>2017-11-15 05:21:21 -0800</date>
            <delta_ts>2017-11-15 07:09:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wpe-webdriver.diff</filename>
            <type>text/plain</type>
            <size>22247</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA5ZDQyOTRmYmY3YS4uODYx
MDhlYzFjOWMgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNCBAQAorMjAxNy0xMS0xNSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxp
YS5jb20+CisKKyAgICAgICAgW1dQRV0gQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgV2ViRHJpdmVy
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk3MjcK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbmFibGUg
V2ViRHJpdmVyIGJ5IGRlZmF1bHQgaW4gV1BFLgorCisgICAgICAgICogU291cmNlL2NtYWtlL09w
dGlvbnNXUEUuY21ha2U6CisKIDIwMTctMTEtMTMgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFu
emFyb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIFJlcXVpcmUgd29mZjIgMS4wLjIgYW5k
IGRyb3AgZGlyZWN0IGJyb3RsaSBkZXBlbmRlbmN5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViRHJp
dmVyL0NhcGFiaWxpdGllcy5oIGIvU291cmNlL1dlYkRyaXZlci9DYXBhYmlsaXRpZXMuaAppbmRl
eCAyMzMzNWVjYjEwNy4uOTFhNTA3ZGFiZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJEcml2ZXIv
Q2FwYWJpbGl0aWVzLmgKKysrIGIvU291cmNlL1dlYkRyaXZlci9DYXBhYmlsaXRpZXMuaApAQCAt
NTgsOSArNTgsMTEgQEAgc3RydWN0IENhcGFiaWxpdGllcyB7CiAgICAgc3RkOjpvcHRpb25hbDxU
aW1lb3V0cz4gdGltZW91dHM7CiAgICAgc3RkOjpvcHRpb25hbDxQYWdlTG9hZFN0cmF0ZWd5PiBw
YWdlTG9hZFN0cmF0ZWd5OwogICAgIHN0ZDo6b3B0aW9uYWw8VW5oYW5kbGVkUHJvbXB0QmVoYXZp
b3I+IHVuaGFuZGxlZFByb21wdEJlaGF2aW9yOwotI2lmIFBMQVRGT1JNKEdUSykKKyNpZiBQTEFU
Rk9STShHVEspIHx8IFBMQVRGT1JNKFdQRSkKICAgICBzdGQ6Om9wdGlvbmFsPFN0cmluZz4gYnJv
d3NlckJpbmFyeTsKICAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxTdHJpbmc+PiBicm93c2VyQXJn
dW1lbnRzOworI2VuZGlmCisjaWYgUExBVEZPUk0oR1RLKQogICAgIHN0ZDo6b3B0aW9uYWw8Ym9v
bD4gdXNlT3ZlcmxheVNjcm9sbGJhcnM7CiAjZW5kaWYKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViRHJpdmVyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJEcml2ZXIvQ2hhbmdlTG9nCmluZGV4IDU3
OWVmMjVmMmYwLi42Y2ZlMDEwYzQ4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkRyaXZlci9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkRyaXZlci9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAor
MjAxNy0xMS0xNSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisK
KyAgICAgICAgW1dQRV0gQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgV2ViRHJpdmVyCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk3MjcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgV1BFIGltcGxlbWVu
dGF0aW9uIGZvciBwbGF0Zm9ybS1zcGVjaWZpYyBtZXRob2RzLiBNb3ZlIHRoZSB2ZXJzaW9uIGhh
bmRsaW5nIHRvIGEgY29tbW9uIGZpbGUKKyAgICAgICAgV2ViRHJpdmVyU2VydmljZUdMaWIuY3Bw
LgorCisgICAgICAgICogQ2FwYWJpbGl0aWVzLmg6CisgICAgICAgICogUGxhdGZvcm1HVEsuY21h
a2U6CisgICAgICAgICogUGxhdGZvcm1XUEUuY21ha2U6CisgICAgICAgICogZ2xpYi9XZWJEcml2
ZXJTZXJ2aWNlR0xpYi5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViRHJpdmVyOjpwYXJzZVZlcnNp
b24pOgorICAgICAgICAoV2ViRHJpdmVyOjpXZWJEcml2ZXJTZXJ2aWNlOjpwbGF0Zm9ybUNvbXBh
cmVCcm93c2VyVmVyc2lvbnMpOgorICAgICAgICAqIGd0ay9XZWJEcml2ZXJTZXJ2aWNlR3RrLmNw
cDoKKyAgICAgICAgKiB3cGUvV2ViRHJpdmVyU2VydmljZVdQRS5jcHA6IENvcGllZCBmcm9tIFNv
dXJjZS9XZWJEcml2ZXIvZ3RrL1dlYkRyaXZlclNlcnZpY2VHdGsuY3BwLgorICAgICAgICAoV2Vi
RHJpdmVyOjpXZWJEcml2ZXJTZXJ2aWNlOjpwbGF0Zm9ybUNhcGFiaWxpdGllcyk6CisgICAgICAg
IChXZWJEcml2ZXI6OldlYkRyaXZlclNlcnZpY2U6OnBsYXRmb3JtVmFsaWRhdGVDYXBhYmlsaXR5
IGNvbnN0KToKKyAgICAgICAgKFdlYkRyaXZlcjo6V2ViRHJpdmVyU2VydmljZTo6cGxhdGZvcm1N
YXRjaENhcGFiaWxpdHkgY29uc3QpOgorICAgICAgICAoV2ViRHJpdmVyOjpXZWJEcml2ZXJTZXJ2
aWNlOjpwbGF0Zm9ybVBhcnNlQ2FwYWJpbGl0aWVzIGNvbnN0KToKKwogMjAxNy0xMS0xNCAgQ2Fy
bG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgTW92ZSBK
U09OVmFsdWVzIHRvIFdURiBhbmQgY29udmVydCB1c2VzIG9mIEluc3BlY3RvclZhbHVlcy5oIHRv
IEpTT05WYWx1ZXMuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkRyaXZlci9QbGF0Zm9ybUdUSy5j
bWFrZSBiL1NvdXJjZS9XZWJEcml2ZXIvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggMGRlYjU5Yjg2
YjUuLjhiYzlhNDRkMjhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViRHJpdmVyL1BsYXRmb3JtR1RL
LmNtYWtlCisrKyBiL1NvdXJjZS9XZWJEcml2ZXIvUGxhdGZvcm1HVEsuY21ha2UKQEAgLTksNiAr
OSw3IEBAIGxpc3QoQVBQRU5EIFdlYkRyaXZlcl9TWVNURU1fSU5DTFVERV9ESVJFQ1RPUklFUwog
CiBsaXN0KEFQUEVORCBXZWJEcml2ZXJfU09VUkNFUwogICAgIGdsaWIvU2Vzc2lvbkhvc3RHbGli
LmNwcAorICAgIGdsaWIvV2ViRHJpdmVyU2VydmljZUdMaWIuY3BwCiAKICAgICBndGsvV2ViRHJp
dmVyU2VydmljZUd0ay5jcHAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkRyaXZlci9QbGF0Zm9y
bVdQRS5jbWFrZSBiL1NvdXJjZS9XZWJEcml2ZXIvUGxhdGZvcm1XUEUuY21ha2UKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmJkM2NkODExYmQ0Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkRyaXZlci9QbGF0Zm9ybVdQRS5jbWFrZQpAQCAtMCwwICsxLDE5IEBA
CitzZXQoV2ViRHJpdmVyX1Byb2Nlc3NfT1VUUFVUX05BTUUgV1BFV2ViRHJpdmVyKQorCitsaXN0
KEFQUEVORCBXZWJEcml2ZXJfU1lTVEVNX0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAiJHtHTElC
X0lOQ0xVREVfRElSU30iCisgICAgIiR7TElCU09VUF9JTkNMVURFX0RJUlN9IgorKQorCitsaXN0
KEFQUEVORCBXZWJEcml2ZXJfU09VUkNFUworICAgIGdsaWIvU2Vzc2lvbkhvc3RHbGliLmNwcAor
ICAgIGdsaWIvV2ViRHJpdmVyU2VydmljZUdMaWIuY3BwCisKKyAgICBzb3VwL0hUVFBTZXJ2ZXJT
b3VwLmNwcAorCisgICAgd3BlL1dlYkRyaXZlclNlcnZpY2VXUEUuY3BwCispCisKK2xpc3QoQVBQ
RU5EIFdlYkRyaXZlcl9MSUJSQVJJRVMKKyAgICAke0xJQlNPVVBfTElCUkFSSUVTfQorKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkRyaXZlci9nbGliL1dlYkRyaXZlclNlcnZpY2VHTGliLmNwcCBi
L1NvdXJjZS9XZWJEcml2ZXIvZ2xpYi9XZWJEcml2ZXJTZXJ2aWNlR0xpYi5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjk3MWNhZjFjNjY0Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkRyaXZlci9nbGliL1dlYkRyaXZlclNlcnZpY2VHTGliLmNwcApAQCAt
MCwwICsxLDc3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IElnYWxpYSBTLkwuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJEcml2ZXJTZXJ2aWNlLmgi
CisKK25hbWVzcGFjZSBXZWJEcml2ZXIgeworCitzdGF0aWMgYm9vbCBwYXJzZVZlcnNpb24oY29u
c3QgU3RyaW5nJiB2ZXJzaW9uLCB1aW50NjRfdCYgbWFqb3IsIHVpbnQ2NF90JiBtaW5vciwgdWlu
dDY0X3QmIG1pY3JvKQoreworICAgIG1ham9yID0gbWlub3IgPSBtaWNybyA9IDA7CisKKyAgICBW
ZWN0b3I8U3RyaW5nPiB0b2tlbnM7CisgICAgdmVyc2lvbi5zcGxpdCgiLiIsIGZhbHNlLCB0b2tl
bnMpOworICAgIGJvb2wgb2s7CisgICAgc3dpdGNoICh0b2tlbnMuc2l6ZSgpKSB7CisgICAgY2Fz
ZSAzOgorICAgICAgICBtaWNybyA9IHRva2Vuc1syXS50b0ludDY0KCZvayk7CisgICAgICAgIGlm
ICghb2spCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIEZBTExUSFJPVUdIOwor
ICAgIGNhc2UgMjoKKyAgICAgICAgbWlub3IgPSB0b2tlbnNbMV0udG9JbnQ2NCgmb2spOworICAg
ICAgICBpZiAoIW9rKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBGQUxMVEhS
T1VHSDsKKyAgICBjYXNlIDE6CisgICAgICAgIG1ham9yID0gdG9rZW5zWzBdLnRvSW50NjQoJm9r
KTsKKyAgICAgICAgaWYgKCFvaykKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAg
YnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAg
IHJldHVybiB0cnVlOworfQorCitib29sIFdlYkRyaXZlclNlcnZpY2U6OnBsYXRmb3JtQ29tcGFy
ZUJyb3dzZXJWZXJzaW9ucyhjb25zdCBTdHJpbmcmIHJlcXVpcmVkVmVyc2lvbiwgY29uc3QgU3Ry
aW5nJiBwcm9wb3NlZFZlcnNpb24pCit7CisgICAgLy8gV2UgcmVxdWlyZSBjbGllbnRzIHRvIHVz
ZSBmb3JtYXQgbWFqb3IubWljcm8ubWlub3IgYXMgdmVyc2lvbiBzdHJpbmcuCisgICAgdWludDY0
X3QgcmVxdWlyZWRNYWpvciwgcmVxdWlyZWRNaW5vciwgcmVxdWlyZWRNaWNybzsKKyAgICBpZiAo
IXBhcnNlVmVyc2lvbihyZXF1aXJlZFZlcnNpb24sIHJlcXVpcmVkTWFqb3IsIHJlcXVpcmVkTWlu
b3IsIHJlcXVpcmVkTWljcm8pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICB1aW50NjRf
dCBwcm9wb3NlZE1ham9yLCBwcm9wb3NlZE1pbm9yLCBwcm9wb3NlZE1pY3JvOworICAgIGlmICgh
cGFyc2VWZXJzaW9uKHByb3Bvc2VkVmVyc2lvbiwgcHJvcG9zZWRNYWpvciwgcHJvcG9zZWRNaW5v
ciwgcHJvcG9zZWRNaWNybykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiBw
cm9wb3NlZE1ham9yID4gcmVxdWlyZWRNYWpvcgorICAgICAgICB8fCAocHJvcG9zZWRNYWpvciA9
PSByZXF1aXJlZE1ham9yICYmIHByb3Bvc2VkTWlub3IgPiByZXF1aXJlZE1pbm9yKQorICAgICAg
ICB8fCAocHJvcG9zZWRNYWpvciA9PSByZXF1aXJlZE1ham9yICYmIHByb3Bvc2VkTWlub3IgPT0g
cmVxdWlyZWRNaW5vciAmJiBwcm9wb3NlZE1pY3JvID49IHJlcXVpcmVkTWljcm8pOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJEcml2ZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJEcml2ZXIvZ3Rr
L1dlYkRyaXZlclNlcnZpY2VHdGsuY3BwIGIvU291cmNlL1dlYkRyaXZlci9ndGsvV2ViRHJpdmVy
U2VydmljZUd0ay5jcHAKaW5kZXggM2IyMGQzMTJhZDMuLjZlNGUyMTlkNzhjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViRHJpdmVyL2d0ay9XZWJEcml2ZXJTZXJ2aWNlR3RrLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViRHJpdmVyL2d0ay9XZWJEcml2ZXJTZXJ2aWNlR3RrLmNwcApAQCAtODMsNTIgKzgzLDYg
QEAgc3RkOjpvcHRpb25hbDxTdHJpbmc+IFdlYkRyaXZlclNlcnZpY2U6OnBsYXRmb3JtTWF0Y2hD
YXBhYmlsaXR5KGNvbnN0IFN0cmluZyYsIGMKICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogfQog
Ci1zdGF0aWMgYm9vbCBwYXJzZVZlcnNpb24oY29uc3QgU3RyaW5nJiB2ZXJzaW9uLCB1aW50NjRf
dCYgbWFqb3IsIHVpbnQ2NF90JiBtaW5vciwgdWludDY0X3QmIG1pY3JvKQotewotICAgIG1ham9y
ID0gbWlub3IgPSBtaWNybyA9IDA7Ci0KLSAgICBWZWN0b3I8U3RyaW5nPiB0b2tlbnM7Ci0gICAg
dmVyc2lvbi5zcGxpdCgiLiIsIGZhbHNlLCB0b2tlbnMpOwotICAgIGJvb2wgb2s7Ci0gICAgc3dp
dGNoICh0b2tlbnMuc2l6ZSgpKSB7Ci0gICAgY2FzZSAzOgotICAgICAgICBtaWNybyA9IHRva2Vu
c1syXS50b0ludDY0KCZvayk7Ci0gICAgICAgIGlmICghb2spCi0gICAgICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgICAgIEZBTExUSFJPVUdIOwotICAgIGNhc2UgMjoKLSAgICAgICAgbWlub3Ig
PSB0b2tlbnNbMV0udG9JbnQ2NCgmb2spOwotICAgICAgICBpZiAoIW9rKQotICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgICAgICBGQUxMVEhST1VHSDsKLSAgICBjYXNlIDE6Ci0gICAgICAg
IG1ham9yID0gdG9rZW5zWzBdLnRvSW50NjQoJm9rKTsKLSAgICAgICAgaWYgKCFvaykKLSAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIHJldHVybiB0cnVlOwotfQotCi1ib29sIFdl
YkRyaXZlclNlcnZpY2U6OnBsYXRmb3JtQ29tcGFyZUJyb3dzZXJWZXJzaW9ucyhjb25zdCBTdHJp
bmcmIHJlcXVpcmVkVmVyc2lvbiwgY29uc3QgU3RyaW5nJiBwcm9wb3NlZFZlcnNpb24pCi17Ci0g
ICAgLy8gV2UgcmVxdWlyZSBjbGllbnRzIHRvIHVzZSBmb3JtYXQgbWFqb3IubWljcm8ubWlub3Ig
YXMgdmVyc2lvbiBzdHJpbmcuCi0gICAgdWludDY0X3QgcmVxdWlyZWRNYWpvciwgcmVxdWlyZWRN
aW5vciwgcmVxdWlyZWRNaWNybzsKLSAgICBpZiAoIXBhcnNlVmVyc2lvbihyZXF1aXJlZFZlcnNp
b24sIHJlcXVpcmVkTWFqb3IsIHJlcXVpcmVkTWlub3IsIHJlcXVpcmVkTWljcm8pKQotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0KLSAgICB1aW50NjRfdCBwcm9wb3NlZE1ham9yLCBwcm9wb3NlZE1p
bm9yLCBwcm9wb3NlZE1pY3JvOwotICAgIGlmICghcGFyc2VWZXJzaW9uKHByb3Bvc2VkVmVyc2lv
biwgcHJvcG9zZWRNYWpvciwgcHJvcG9zZWRNaW5vciwgcHJvcG9zZWRNaWNybykpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKLQotICAgIHJldHVybiBwcm9wb3NlZE1ham9yID4gcmVxdWlyZWRNYWpv
cgotICAgICAgICB8fCAocHJvcG9zZWRNYWpvciA9PSByZXF1aXJlZE1ham9yICYmIHByb3Bvc2Vk
TWlub3IgPiByZXF1aXJlZE1pbm9yKQotICAgICAgICB8fCAocHJvcG9zZWRNYWpvciA9PSByZXF1
aXJlZE1ham9yICYmIHByb3Bvc2VkTWlub3IgPT0gcmVxdWlyZWRNaW5vciAmJiBwcm9wb3NlZE1p
Y3JvID49IHJlcXVpcmVkTWljcm8pOwotfQotCiB2b2lkIFdlYkRyaXZlclNlcnZpY2U6OnBsYXRm
b3JtUGFyc2VDYXBhYmlsaXRpZXMoY29uc3QgSlNPTjo6T2JqZWN0JiBtYXRjaGVkQ2FwYWJpbGl0
aWVzLCBDYXBhYmlsaXRpZXMmIGNhcGFiaWxpdGllcykgY29uc3QKIHsKICAgICBSZWZQdHI8SlNP
Tjo6T2JqZWN0PiBicm93c2VyT3B0aW9uczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJEcml2ZXIv
d3BlL1dlYkRyaXZlclNlcnZpY2VXUEUuY3BwIGIvU291cmNlL1dlYkRyaXZlci93cGUvV2ViRHJp
dmVyU2VydmljZVdQRS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAu
LjNjZmExMWY5N2M3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkRyaXZlci93cGUvV2Vi
RHJpdmVyU2VydmljZVdQRS5jcHAKQEAgLTAsMCArMSwxMTAgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTcgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIldlYkRyaXZlclNlcnZpY2UuaCIKKworI2luY2x1ZGUgIkNhcGFiaWxpdGllcy5oIgor
I2luY2x1ZGUgIkNvbW1hbmRSZXN1bHQuaCIKKyNpbmNsdWRlIDx3dGYvSlNPTlZhbHVlcy5oPgor
CituYW1lc3BhY2UgV2ViRHJpdmVyIHsKKworQ2FwYWJpbGl0aWVzIFdlYkRyaXZlclNlcnZpY2U6
OnBsYXRmb3JtQ2FwYWJpbGl0aWVzKCkKK3sKKyAgICBDYXBhYmlsaXRpZXMgY2FwYWJpbGl0aWVz
OworICAgIGNhcGFiaWxpdGllcy5wbGF0Zm9ybU5hbWUgPSBTdHJpbmcoImxpbnV4Iik7CisgICAg
Y2FwYWJpbGl0aWVzLmFjY2VwdEluc2VjdXJlQ2VydHMgPSBmYWxzZTsKKyAgICByZXR1cm4gY2Fw
YWJpbGl0aWVzOworfQorCitib29sIFdlYkRyaXZlclNlcnZpY2U6OnBsYXRmb3JtVmFsaWRhdGVD
YXBhYmlsaXR5KGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgUmVmUHRyPEpTT046OlZhbHVlPiYg
dmFsdWUpIGNvbnN0Cit7CisgICAgaWYgKG5hbWUgIT0gIndwZTpicm93c2VyT3B0aW9ucyIpCisg
ICAgICAgIHJldHVybiB0cnVlOworCisgICAgUmVmUHRyPEpTT046Ok9iamVjdD4gYnJvd3Nlck9w
dGlvbnM7CisgICAgaWYgKCF2YWx1ZS0+YXNPYmplY3QoYnJvd3Nlck9wdGlvbnMpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoYnJvd3Nlck9wdGlvbnMtPmlzTnVsbCgpKQorICAg
ICAgICByZXR1cm4gdHJ1ZTsKKworICAgIC8vIElmIGJyb3dzZXIgb3B0aW9ucyBhcmUgcHJvdmlk
ZWQsIGJpbmFyeSBpcyByZXF1aXJlZC4KKyAgICBTdHJpbmcgYmluYXJ5OworICAgIGlmICghYnJv
d3Nlck9wdGlvbnMtPmdldFN0cmluZyhBU0NJSUxpdGVyYWwoImJpbmFyeSIpLCBiaW5hcnkpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBSZWZQdHI8SlNPTjo6VmFsdWU+IGJyb3dzZXJB
cmd1bWVudHNWYWx1ZTsKKyAgICBSZWZQdHI8SlNPTjo6QXJyYXk+IGJyb3dzZXJBcmd1bWVudHM7
CisgICAgaWYgKGJyb3dzZXJPcHRpb25zLT5nZXRWYWx1ZShBU0NJSUxpdGVyYWwoImFyZ3MiKSwg
YnJvd3NlckFyZ3VtZW50c1ZhbHVlKSAmJiAhYnJvd3NlckFyZ3VtZW50c1ZhbHVlLT5hc0FycmF5
KGJyb3dzZXJBcmd1bWVudHMpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICB1bnNpZ25l
ZCBicm93c2VyQXJndW1lbnRzTGVuZ3RoID0gYnJvd3NlckFyZ3VtZW50cy0+bGVuZ3RoKCk7Cisg
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGJyb3dzZXJBcmd1bWVudHNMZW5ndGg7ICsraSkg
eworICAgICAgICBSZWZQdHI8SlNPTjo6VmFsdWU+IHZhbHVlID0gYnJvd3NlckFyZ3VtZW50cy0+
Z2V0KGkpOworICAgICAgICBTdHJpbmcgYXJndW1lbnQ7CisgICAgICAgIGlmICghdmFsdWUtPmFz
U3RyaW5nKGFyZ3VtZW50KSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAg
ICByZXR1cm4gdHJ1ZTsKK30KKworc3RkOjpvcHRpb25hbDxTdHJpbmc+IFdlYkRyaXZlclNlcnZp
Y2U6OnBsYXRmb3JtTWF0Y2hDYXBhYmlsaXR5KGNvbnN0IFN0cmluZyYsIGNvbnN0IFJlZlB0cjxK
U09OOjpWYWx1ZT4mKSBjb25zdAoreworICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Cit9CisKK3Zv
aWQgV2ViRHJpdmVyU2VydmljZTo6cGxhdGZvcm1QYXJzZUNhcGFiaWxpdGllcyhjb25zdCBKU09O
OjpPYmplY3QmIG1hdGNoZWRDYXBhYmlsaXRpZXMsIENhcGFiaWxpdGllcyYgY2FwYWJpbGl0aWVz
KSBjb25zdAoreworICAgIFJlZlB0cjxKU09OOjpPYmplY3Q+IGJyb3dzZXJPcHRpb25zOworICAg
IGlmICghbWF0Y2hlZENhcGFiaWxpdGllcy5nZXRPYmplY3QoQVNDSUlMaXRlcmFsKCJ3cGU6YnJv
d3Nlck9wdGlvbnMiKSwgYnJvd3Nlck9wdGlvbnMpKSB7CisgICAgICAgIGNhcGFiaWxpdGllcy5i
cm93c2VyQmluYXJ5ID0gU3RyaW5nKCJkeXoiKTsKKyAgICAgICAgY2FwYWJpbGl0aWVzLmJyb3dz
ZXJBcmd1bWVudHMgPSBWZWN0b3I8U3RyaW5nPiB7IEFTQ0lJTGl0ZXJhbCgiLS1hdXRvbWF0aW9u
IikgfTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIFN0cmluZyBicm93c2VyQmluYXJ5
OworICAgIGJyb3dzZXJPcHRpb25zLT5nZXRTdHJpbmcoQVNDSUlMaXRlcmFsKCJiaW5hcnkiKSwg
YnJvd3NlckJpbmFyeSk7CisgICAgQVNTRVJUKCFicm93c2VyQmluYXJ5LmlzTnVsbCgpKTsKKyAg
ICBjYXBhYmlsaXRpZXMuYnJvd3NlckJpbmFyeSA9IGJyb3dzZXJCaW5hcnk7CisKKyAgICBjYXBh
YmlsaXRpZXMuYnJvd3NlckFyZ3VtZW50cyA9IFZlY3RvcjxTdHJpbmc+KCk7CisgICAgUmVmUHRy
PEpTT046OkFycmF5PiBicm93c2VyQXJndW1lbnRzOworICAgIGlmIChicm93c2VyT3B0aW9ucy0+
Z2V0QXJyYXkoQVNDSUlMaXRlcmFsKCJhcmdzIiksIGJyb3dzZXJBcmd1bWVudHMpKSB7CisgICAg
ICAgIHVuc2lnbmVkIGJyb3dzZXJBcmd1bWVudHNMZW5ndGggPSBicm93c2VyQXJndW1lbnRzLT5s
ZW5ndGgoKTsKKyAgICAgICAgY2FwYWJpbGl0aWVzLmJyb3dzZXJBcmd1bWVudHMtPnJlc2VydmVJ
bml0aWFsQ2FwYWNpdHkoYnJvd3NlckFyZ3VtZW50c0xlbmd0aCk7CisgICAgICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCBicm93c2VyQXJndW1lbnRzTGVuZ3RoOyArK2kpIHsKKyAgICAgICAg
ICAgIFJlZlB0cjxKU09OOjpWYWx1ZT4gdmFsdWUgPSBicm93c2VyQXJndW1lbnRzLT5nZXQoaSk7
CisgICAgICAgICAgICBTdHJpbmcgYXJndW1lbnQ7CisgICAgICAgICAgICB2YWx1ZS0+YXNTdHJp
bmcoYXJndW1lbnQpOworICAgICAgICAgICAgQVNTRVJUKCFhcmd1bWVudC5pc051bGwoKSk7Cisg
ICAgICAgICAgICBjYXBhYmlsaXRpZXMuYnJvd3NlckFyZ3VtZW50cy0+dW5jaGVja2VkQXBwZW5k
KFdURk1vdmUoYXJndW1lbnQpKTsKKyAgICAgICAgfQorICAgIH0KK30KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViRHJpdmVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9uc1dQRS5jbWFrZSBi
L1NvdXJjZS9jbWFrZS9PcHRpb25zV1BFLmNtYWtlCmluZGV4IDg4ODRmNzg2MzYyLi5lNDNlNDAy
MDE1NiAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL09wdGlvbnNXUEUuY21ha2UKKysrIGIvU291
cmNlL2NtYWtlL09wdGlvbnNXUEUuY21ha2UKQEAgLTM0LDYgKzM0LDcgQEAgV0VCS0lUX09QVElP
Tl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1NVQlRMRV9DUllQVE8gUFJJVkFURSBPTikKIFdF
QktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9UT1VDSF9FVkVOVFMgUFJJVkFU
RSBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9VU0VSX01FU1NB
R0VfSEFORExFUlMgUFJJVkFURSBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVF
KEVOQUJMRV9XRUJfQ1JZUFRPIFBSSVZBVEUgT04pCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9S
VF9WQUxVRShFTkFCTEVfV0VCRFJJVkVSIFBSSVZBVEUgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFV
TFRfUE9SVF9WQUxVRShFTkFCTEVfV0VCR0wgUFJJVkFURSBPTikKIAogaWYgKENNQUtFX1NZU1RF
TV9OQU1FIE1BVENIRVMgIkxpbnV4IikKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rv
b2xzL0NoYW5nZUxvZwppbmRleCAyZTliNGQwNmVmNC4uZjJiNTMyODVmNjMgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAor
MjAxNy0xMS0xNSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisK
KyAgICAgICAgW1dQRV0gQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgV2ViRHJpdmVyCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk3MjcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIGl0IHBvc3NpYmxl
IHRvIHJ1biBXZWJEcml2ZXIgdGVzdHMgd2l0aCBXUEUuCisKKyAgICAgICAgKiBTY3JpcHRzL3J1
bi13ZWJkcml2ZXItdGVzdHM6IEFkZCAtLXdwZSBhbGlhcyBmb3IgLS1wbGF0Zm9ybT13cGUuCisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L3dwZS5weToKKyAgICAgICAgKFdQRVBvcnQu
X19pbml0X18pOiBJbml0aWFsaXplIF9kaXNwbGF5X3NlcnZlciBmcm9tIG9wdGlvbnMuCisgICAg
ICAgIChXUEVQb3J0Ll9kcml2ZXJfY2xhc3MpOiBVc2UgV2F5bGFuZERyaXZlciB3aGVuIHdheWxh
bmQgaXMgcGFzc2VkIGFzIGRpc3BsYXkgc2VydmVyIG9wdGlvbi4KKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L3dlYmRyaXZlcl90ZXN0cy93ZWJkcml2ZXJfZHJpdmVyLnB5OgorICAgICAgICAo
V2ViRHJpdmVyLmJyb3dzZXJfZW52KTogQWRkIHZpcnR1YWwgbWV0aG9kIHRvIGdldCB0aGUgZW52
aXJvbm1lbnQgdGhhdCBzaG91bGQgYmUgdXNlZC4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L3dlYmRyaXZlcl90ZXN0cy93ZWJkcml2ZXJfZHJpdmVyX3dwZS5weTogQ29waWVkIGZyb20gVG9v
bHMvU2NyaXB0cy93ZWJraXRweS93ZWJkcml2ZXJfdGVzdHMvd2ViZHJpdmVyX2RyaXZlci5weS4K
KyAgICAgICAgKFdlYkRyaXZlcldQRSk6CisgICAgICAgIChXZWJEcml2ZXJXUEUuX19pbml0X18p
OgorICAgICAgICAoV2ViRHJpdmVyV1BFLmJpbmFyeV9wYXRoKToKKyAgICAgICAgKFdlYkRyaXZl
cldQRS5icm93c2VyX25hbWUpOgorICAgICAgICAoV2ViRHJpdmVyV1BFLmNhcGFiaWxpdGllcyk6
CisgICAgICAgIChXZWJEcml2ZXJXUEUuYnJvd3Nlcl9lbnYpOgorICAgICAgICAqIFNjcmlwdHMv
d2Via2l0cHkvd2ViZHJpdmVyX3Rlc3RzL3dlYmRyaXZlcl93M2NfZXhlY3V0b3IucHk6CisgICAg
ICAgIChXZWJEcml2ZXJXM0NFeGVjdXRvci5fX2luaXRfXyk6IFVwZGF0ZSB0aGUgZW52aXJvbm1l
bnQgd2l0aCB0aGUgb25lIHByb3ZpZGVkIGJ5IHRoZSBkcml2ZXIuCisgICAgICAgICogd3BlL2po
YnVpbGQubW9kdWxlczogVXBncmFkZSBkeXogdG8gbmV3ZXIgdmVyc2lvbiB0aGF0IHN1cHBvcnRz
IGF1dG9tYXRpb24uCisKIDIwMTctMTEtMTQgIE5hbiBXYW5nICA8bl93YW5nQGFwcGxlLmNvbT4K
IAogICAgICAgICBBWDogQU9NOiBJbXBsZW1lbnQgQWNjZXNzaWJsZU5vZGUgY2xhc3MgYW5kIHN1
cHBvcnQgbGFiZWwgYW5kIHJvbGUgYXR0cmlidXRlcwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy9ydW4td2ViZHJpdmVyLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4td2ViZHJpdmVyLXRlc3Rz
CmluZGV4IDk0ZTJjMTQ3OTc5Li5mNzUzNGFjNWVjYyAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0
cy9ydW4td2ViZHJpdmVyLXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVuLXdlYmRyaXZlci10
ZXN0cwpAQCAtMzksNiArMzksOCBAQCBvcHRpb25fcGFyc2VyLmFkZF9vcHRpb24oJy0tcGxhdGZv
cm0nLCBhY3Rpb249J3N0b3JlJywKICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdQbGF0
Zm9ybSB0byB1c2UgKGUuZy4sICJndGsiKScpCiBvcHRpb25fcGFyc2VyLmFkZF9vcHRpb24oJy0t
Z3RrJywgYWN0aW9uPSdzdG9yZV9jb25zdCcsIGRlc3Q9J3BsYXRmb3JtJywgY29uc3Q9J2d0aycs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nQWxpYXMgZm9yIC0tcGxhdGZvcm09Z3Rr
JykKK29wdGlvbl9wYXJzZXIuYWRkX29wdGlvbignLS13cGUnLCBhY3Rpb249J3N0b3JlX2NvbnN0
JywgZGVzdD0ncGxhdGZvcm0nLCBjb25zdD0nd3BlJywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICBoZWxwPSdBbGlhcyBmb3IgLS1wbGF0Zm9ybT13cGUnKQogb3B0aW9uX3BhcnNlci5hZGRfb3B0
aW9uKCctLXJlbGVhc2UnLCBhY3Rpb249J3N0b3JlX2NvbnN0JywgY29uc3Q9J1JlbGVhc2UnLCBk
ZXN0PSJjb25maWd1cmF0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdTZXQg
dGhlIGNvbmZpZ3VyYXRpb24gdG8gUmVsZWFzZScpCiBvcHRpb25fcGFyc2VyLmFkZF9vcHRpb24o
Jy0tZGVidWcnLCBhY3Rpb249J3N0b3JlX2NvbnN0JywgY29uc3Q9J0RlYnVnJywgZGVzdD0iY29u
ZmlndXJhdGlvbiIsCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd3Bl
LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3dwZS5weQppbmRleCBjMGYxZjE3NTEz
OS4uMjMxYjVmMjEwMTUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC93
cGUucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3dwZS5weQpAQCAtMzAsNiAr
MzAsNyBAQCBmcm9tIHdlYmtpdHB5LmNvbW1vbi5tZW1vaXplZCBpbXBvcnQgbWVtb2l6ZWQKIGZy
b20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLm1vZGVscy50ZXN0X2NvbmZpZ3VyYXRpb24gaW1wb3J0
IFRlc3RDb25maWd1cmF0aW9uCiBmcm9tIHdlYmtpdHB5LnBvcnQuYmFzZSBpbXBvcnQgUG9ydAog
ZnJvbSB3ZWJraXRweS5wb3J0LmxpbnV4X2dldF9jcmFzaF9sb2cgaW1wb3J0IEdEQkNyYXNoTG9n
R2VuZXJhdG9yCitmcm9tIHdlYmtpdHB5LnBvcnQud2F5bGFuZGRyaXZlciBpbXBvcnQgV2F5bGFu
ZERyaXZlcgogCiAKIGNsYXNzIFdQRVBvcnQoUG9ydCk6CkBAIC0zOCw2ICszOSw3IEBAIGNsYXNz
IFdQRVBvcnQoUG9ydCk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsICphcmdzLCAqKmt3YXJncyk6
CiAgICAgICAgIHN1cGVyKFdQRVBvcnQsIHNlbGYpLl9faW5pdF9fKCphcmdzLCAqKmt3YXJncykK
IAorICAgICAgICBzZWxmLl9kaXNwbGF5X3NlcnZlciA9IHNlbGYuZ2V0X29wdGlvbigiZGlzcGxh
eV9zZXJ2ZXIiKQogICAgICAgICBpZiBzZWxmLl9zaG91bGRfdXNlX2poYnVpbGQoKToKICAgICAg
ICAgICAgIHNlbGYuX2poYnVpbGRfd3JhcHBlciA9IFtzZWxmLnBhdGhfZnJvbV93ZWJraXRfYmFz
ZSgnVG9vbHMnLCAnamhidWlsZCcsICdqaGJ1aWxkLXdyYXBwZXInKSwgJy0td3BlJywgJ3J1bidd
CiAgICAgICAgICAgICBzZWxmLnNldF9vcHRpb25fZGVmYXVsdCgnd3JhcHBlcicsICcgJy5qb2lu
KHNlbGYuX2poYnVpbGRfd3JhcHBlcikpCkBAIC02MSw2ICs2MywxMiBAQCBjbGFzcyBXUEVQb3J0
KFBvcnQpOgogICAgIGRlZiBfcG9ydF9mbGFnX2Zvcl9zY3JpcHRzKHNlbGYpOgogICAgICAgICBy
ZXR1cm4gIi0td3BlIgogCisgICAgQG1lbW9pemVkCisgICAgZGVmIF9kcml2ZXJfY2xhc3Moc2Vs
Zik6CisgICAgICAgIGlmIHNlbGYuX2Rpc3BsYXlfc2VydmVyID09ICJ3YXlsYW5kIjoKKyAgICAg
ICAgICAgIHJldHVybiBXYXlsYW5kRHJpdmVyCisgICAgICAgIHJldHVybiBzdXBlcihXUEVQb3J0
LCBzZWxmKS5fZHJpdmVyX2NsYXNzKCkKKwogICAgIGRlZiBzZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2
ZXIoc2VsZiwgc2VydmVyX25hbWU9Tm9uZSk6CiAgICAgICAgIGVudmlyb25tZW50ID0gc3VwZXIo
V1BFUG9ydCwgc2VsZikuc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKHNlcnZlcl9uYW1lKQogICAg
ICAgICBlbnZpcm9ubWVudFsnR19ERUJVRyddID0gJ2ZhdGFsLWNyaXRpY2FscycKZGlmZiAtLWdp
dCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvd2ViZHJpdmVyX3Rlc3RzL3dlYmRyaXZlcl9kcml2
ZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3dlYmRyaXZlcl90ZXN0cy93ZWJkcml2ZXJf
ZHJpdmVyLnB5CmluZGV4IDllZTJiNDRkZmI0Li42MzQ3M2Y1N2Y3YiAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS93ZWJkcml2ZXJfdGVzdHMvd2ViZHJpdmVyX2RyaXZlci5weQor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3dlYmRyaXZlcl90ZXN0cy93ZWJkcml2ZXJfZHJp
dmVyLnB5CkBAIC0zNCw2ICszNCw5IEBAIGNsYXNzIFdlYkRyaXZlcihvYmplY3QpOgogICAgIGRl
ZiBjYXBhYmlsaXRpZXMoc2VsZik6CiAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IK
IAorICAgIGRlZiBicm93c2VyX2VudihzZWxmKToKKyAgICAgICAgcmV0dXJuIHt9CisKIAogX2Ry
aXZlcnMgPSB7fQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3dlYmRyaXZl
cl90ZXN0cy93ZWJkcml2ZXJfZHJpdmVyX3dwZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
d2ViZHJpdmVyX3Rlc3RzL3dlYmRyaXZlcl9kcml2ZXJfd3BlLnB5Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwLi45NzBjOTQxNzBkYwotLS0gL2Rldi9udWxsCisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvd2ViZHJpdmVyX3Rlc3RzL3dlYmRyaXZlcl9kcml2ZXJfd3Bl
LnB5CkBAIC0wLDAgKzEsNTYgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE3IElnYWxpYSBTLkwuCisj
CisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisjIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyMgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyMgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMK
KyMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworIyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyMgQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKK2ltcG9ydCBvcworZnJv
bSB3ZWJraXRweS53ZWJkcml2ZXJfdGVzdHMud2ViZHJpdmVyX2RyaXZlciBpbXBvcnQgV2ViRHJp
dmVyLCByZWdpc3Rlcl9kcml2ZXIKKworCitjbGFzcyBXZWJEcml2ZXJXUEUoV2ViRHJpdmVyKToK
KworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwb3J0KToKKyAgICAgICAgc3VwZXIoV2ViRHJpdmVy
V1BFLCBzZWxmKS5fX2luaXRfXyhwb3J0KQorCisgICAgZGVmIGJpbmFyeV9wYXRoKHNlbGYpOgor
ICAgICAgICByZXR1cm4gc2VsZi5fcG9ydC5fYnVpbGRfcGF0aCgnYmluJywgJ1dQRVdlYkRyaXZl
cicpCisKKyAgICBkZWYgYnJvd3Nlcl9uYW1lKHNlbGYpOgorICAgICAgICByZXR1cm4gJ2R5eicK
KworICAgIGRlZiBjYXBhYmlsaXRpZXMoc2VsZik6CisgICAgICAgIHJldHVybiB7J3dwZTpicm93
c2VyT3B0aW9ucyc6IHsKKyAgICAgICAgICAgICdiaW5hcnknOiBzZWxmLmJyb3dzZXJfbmFtZSgp
LAorICAgICAgICAgICAgJ2FyZ3MnOiBbJy0tYXV0b21hdGlvbiddfX0KKworICAgIGRlZiBicm93
c2VyX2VudihzZWxmKToKKyAgICAgICAgZW52ID0ge30KKyAgICAgICAgZW52WydXRUJLSVRfRVhF
Q19QQVRIJ10gPSBzZWxmLl9wb3J0Ll9idWlsZF9wYXRoKCdiaW4nKQorICAgICAgICB0cnk6Cisg
ICAgICAgICAgICBsZF9saWJyYXJ5X3BhdGggPSBvcy5lbnZpcm9uWydMRF9MSUJSQVJZX1BBVEgn
XQorICAgICAgICBleGNlcHQgS2V5RXJyb3I6CisgICAgICAgICAgICBsZF9saWJyYXJ5X3BhdGgg
PSBOb25lCisgICAgICAgIGVudlsnTERfTElCUkFSWV9QQVRIJ10gPSBzZWxmLl9wb3J0Ll9idWls
ZF9wYXRoKCdsaWInKQorICAgICAgICBpZiBsZF9saWJyYXJ5X3BhdGg6CisgICAgICAgICAgICBl
bnZbJ0xEX0xJQlJBUllfUEFUSCddICs9ICc6JyArIGxkX2xpYnJhcnlfcGF0aAorICAgICAgICBy
ZXR1cm4gZW52CisKKworcmVnaXN0ZXJfZHJpdmVyKCd3cGUnLCBXZWJEcml2ZXJXUEUpCmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3dlYmRyaXZlcl90ZXN0cy93ZWJkcml2ZXJf
dzNjX2V4ZWN1dG9yLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS93ZWJkcml2ZXJfdGVzdHMv
d2ViZHJpdmVyX3czY19leGVjdXRvci5weQppbmRleCBkNmNiZGYzNDFhNy4uOTM1MTdiZDUyYmYg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvd2ViZHJpdmVyX3Rlc3RzL3dlYmRy
aXZlcl93M2NfZXhlY3V0b3IucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS93ZWJkcml2
ZXJfdGVzdHMvd2ViZHJpdmVyX3czY19leGVjdXRvci5weQpAQCAtMTI0LDYgKzEyNCw3IEBAIGNs
YXNzIFdlYkRyaXZlclczQ0V4ZWN1dG9yKFdkc3BlY0V4ZWN1dG9yKToKIAogICAgIGRlZiBfX2lu
aXRfXyhzZWxmLCBkcml2ZXIsIHNlcnZlciwgZGlzcGxheV9kcml2ZXIpOgogICAgICAgICBXZWJL
aXREcml2ZXJTZXJ2ZXIudGVzdF9lbnYgPSBkaXNwbGF5X2RyaXZlci5fc2V0dXBfZW52aXJvbl9m
b3JfdGVzdCgpCisgICAgICAgIFdlYktpdERyaXZlclNlcnZlci50ZXN0X2Vudi51cGRhdGUoZHJp
dmVyLmJyb3dzZXJfZW52KCkpCiAgICAgICAgIHNlcnZlcl9jb25maWcgPSB7J2hvc3QnOiBzZXJ2
ZXIuaG9zdCgpLCAncG9ydHMnOiB7J2h0dHAnOiBbc3RyKHNlcnZlci5wb3J0KCkpXX19CiAgICAg
ICAgIFdkc3BlY0V4ZWN1dG9yLl9faW5pdF9fKHNlbGYsIGRyaXZlci5icm93c2VyX25hbWUoKSwg
c2VydmVyX2NvbmZpZywgZHJpdmVyLmJpbmFyeV9wYXRoKCksIE5vbmUsIGNhcGFiaWxpdGllcz1k
cml2ZXIuY2FwYWJpbGl0aWVzKCkpCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL3dwZS9qaGJ1aWxkLm1v
ZHVsZXMgYi9Ub29scy93cGUvamhidWlsZC5tb2R1bGVzCmluZGV4IDdlN2UwZDQ2MWIyLi4xYWY4
ZmY1ZjZiYSAxMDA2NDQKLS0tIGEvVG9vbHMvd3BlL2poYnVpbGQubW9kdWxlcworKysgYi9Ub29s
cy93cGUvamhidWlsZC5tb2R1bGVzCkBAIC0yMTEsNyArMjExLDcgQEAKICAgPC9hdXRvdG9vbHM+
CiAKICAgPGF1dG90b29scyBpZD0iZHl6IiBzdXBwb3J0cy1ub24tc3JjZGlyLWJ1aWxkcz0ibm8i
PgotICAgIDxicmFuY2ggcmVwbz0iZ2l0aHViLmNvbSIgbW9kdWxlPSJJZ2FsaWEvZHl6IiB0YWc9
ImZiZjhkZjU2ZmJjYzE4ZmIyYzFhYTI2NmM0YTlmNWEzMWQ2MDU1NDkiLz4KKyAgICA8YnJhbmNo
IHJlcG89ImdpdGh1Yi5jb20iIG1vZHVsZT0iSWdhbGlhL2R5eiIgdGFnPSIyMDNhMWViZDE0ODFl
NDRhYTgxMDVlODYyYzAyZjMxN2U2NjUzNjI3Ii8+CiAgIDwvYXV0b3Rvb2xzPgogCiAgIDxtZXNv
biBpZD0iZ3JhcGhlbmUiPgo=
</data>
<flag name="review"
          id="346226"
          type_id="1"
          status="+"
          setter="mcatanzaro"
    />
          </attachment>
      

    </bug>

</bugzilla>