<?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>141060</bug_id>
          
          <creation_ts>2015-01-29 17:07:25 -0800</creation_ts>
          <short_desc>[Win] Switch to Apache on Windows</short_desc>
          <delta_ts>2015-01-30 10:26:31 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</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="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>ap</cc>
    
    <cc>bfulgham</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1065422</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-01-29 17:07:25 -0800</bug_when>
    <thetext>We have not had good results using Cygwin apache or lighttpd as our testing infrastructure. Instead, let&apos;s use a native Windows build of Apache so that we can turn SSL tests and other things back on.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065485</commentid>
    <comment_count>1</comment_count>
      <attachid>245691</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-01-29 21:10:27 -0800</bug_when>
    <thetext>Created attachment 245691
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065491</commentid>
    <comment_count>2</comment_count>
      <attachid>245691</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-01-29 22:09:10 -0800</bug_when>
    <thetext>Comment on attachment 245691
Patch

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

&gt; Tools/Scripts/webkitpy/port/win.py:116
&gt;      # Note: These are based on the stock Cygwin locations for these files.

Is this comment still helpful?

&gt; LayoutTests/http/conf/apache2.4-httpd-win.conf:16
&gt; +#MinSpareServers 1
&gt; +#MaxSpareServers 5
&gt; +#StartServers 1
&gt; +#MaxRequestWorkers 150
&gt; +#MaxConnectionsPerChild 100000

Are any of the commented out lines helpful enough to keep them? I&apos;d delete everything that is commented out in this file.

&gt; LayoutTests/http/conf/apache2.4-httpd-win.conf:68
&gt; +ErrorLog &quot;C:\xampp\apache\logs\error_log.txt&quot;

We need to put this log into test directory to upload with test results (as well as access_log).

&gt; LayoutTests/http/conf/apache2.4-httpd-win.conf:129
&gt; +    AddType text/html .shtml
&gt; +    AddHandler server-parsed .shtml

Do we really have any of these in tests? Do other platforms enable the handler?

&gt; LayoutTests/http/conf/apache2.4-httpd-win.conf:185
&gt; +#
&gt; +# Apple-specific filesystem protection.
&gt; +#
&gt; +&lt;Files &quot;rsrc&quot;&gt;
&gt; +    Order allow,deny
&gt; +    Deny from all
&gt; +    Satisfy All
&gt; +&lt;/Files&gt;
&gt; +
&gt; +&lt;Directory  ~ &quot;.*\.\.namedfork&quot;&gt;
&gt; +    Order allow,deny
&gt; +    Deny from all
&gt; +    Satisfy All
&gt; +&lt;/Directory&gt;

This can all be removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065587</commentid>
    <comment_count>3</comment_count>
      <attachid>245691</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-01-30 10:13:58 -0800</bug_when>
    <thetext>Comment on attachment 245691
Patch

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

Thank you for the review!

&gt;&gt; LayoutTests/http/conf/apache2.4-httpd-win.conf:16
&gt;&gt; +#MaxConnectionsPerChild 100000
&gt; 
&gt; Are any of the commented out lines helpful enough to keep them? I&apos;d delete everything that is commented out in this file.

Good point. I&apos;ll remove them.

&gt;&gt; LayoutTests/http/conf/apache2.4-httpd-win.conf:68
&gt;&gt; +ErrorLog &quot;C:\xampp\apache\logs\error_log.txt&quot;
&gt; 
&gt; We need to put this log into test directory to upload with test results (as well as access_log).

This is controlled at runtime by the command line arguments we use when launching httpd. This is just the &quot;stock&quot; location from the original config file. I&apos;d prefer to use environment variables to point to the users WebKit directory, but unfortunately there is no way (that I know of) to do so in an Apache config file.

&gt;&gt; LayoutTests/http/conf/apache2.4-httpd-win.conf:129
&gt;&gt; +    AddHandler server-parsed .shtml
&gt; 
&gt; Do we really have any of these in tests? Do other platforms enable the handler?

This was in the original WebKit apache2.4-httpd.conf file, so I assumed it was needed. Yes, the other platforms do enable this (or at least, have it in the configuration file)

&gt;&gt; LayoutTests/http/conf/apache2.4-httpd-win.conf:185
&gt;&gt; +&lt;/Directory&gt;
&gt; 
&gt; This can all be removed.

Done!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065589</commentid>
    <comment_count>4</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-01-30 10:26:31 -0800</bug_when>
    <thetext>Committed r179405: &lt;http://trac.webkit.org/changeset/179405&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245691</attachid>
            <date>2015-01-29 21:10:27 -0800</date>
            <delta_ts>2015-01-29 22:09:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-141060-20150129211759.patch</filename>
            <type>text/plain</type>
            <size>21882</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE3OTM5MikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDM2IEBACisyMDE1LTAxLTI5ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29t
PgorCisgICAgICAgIFtXaW5dIFN3aXRjaCB0byBBcGFjaGUgb24gV2luZG93cworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQxMDYwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIG91ciBzY3JpcHRz
IHVuZGVyIFdpbmRvd3MgKGFuZCBDeWd3aW4pIHRvIGxvY2F0ZSBhbmQgdXNlCisgICAgICAgIHRo
ZSBYQU1QUCBpbnN0YWxsYXRpb24gb2YgQXBhY2hlIGZvciBydW5uaW5nIHRlc3RzLgorCisgICAg
ICAgICogU2NyaXB0cy9ydW4td2Via2l0LWh0dHBkOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cGVybC9odHRwZC5wbToKKyAgICAgICAgKGdldEhUVFBEUGF0aCk6CisgICAgICAgIChnZXREZWZh
dWx0Q29uZmlnRm9yVGVzdERpcmVjdG9yeSk6CisgICAgICAgIChnZXRIVFRQRENvbmZpZ1BhdGhG
b3JUZXN0RGlyZWN0b3J5KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0
ZW0vZXhlY3V0aXZlX3VuaXR0ZXN0LnB5OgorICAgICAgICAoRXhlY3V0aXZlVGVzdC5zZXJpYWxf
dGVzdF9raWxsX3Byb2Nlc3MpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3NlcnZlcnMvYXBhY2hlX2h0dHBfc2VydmVyLnB5OgorICAgICAgICAoTGF5b3V0VGVzdEFw
YWNoZUh0dHBkLl9faW5pdF9fKToKKyAgICAgICAgKExheW91dFRlc3RBcGFjaGVIdHRwZC5fZ2V0
X2FwYWNoZV9jb25maWdfZmlsZV9wYXRoKToKKyAgICAgICAgKExheW91dFRlc3RBcGFjaGVIdHRw
ZC5fc3RvcF9ydW5uaW5nX3NlcnZlcik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvc2VydmVycy9odHRwX3NlcnZlcl9iYXNlLnB5OgorICAgICAgICAoSHR0cFNlcnZl
ckJhc2UuX2lzX3NlcnZlcl9ydW5uaW5nX29uX2FsbF9wb3J0cyk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9wb3J0L2Jhc2UucHk6CisgICAgICAgIChQb3J0Ll9hcGFjaGVfY29uZmlnX2Zp
bGVfbmFtZV9mb3JfcGxhdGZvcm0pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9w
b3J0X3Rlc3RjYXNlLnB5OgorICAgICAgICAodGVzdF9hcGFjaGVfY29uZmlnX2ZpbGVfbmFtZV9m
b3JfcGxhdGZvcm0pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC93aW4ucHk6Cisg
ICAgICAgIChXaW5Qb3J0LnNob3dfcmVzdWx0c19odG1sX2ZpbGUpOgorICAgICAgICAoV2luUG9y
dC5fdXNlc19hcGFjaGUpOgorICAgICAgICAoV2luUG9ydCk6CisgICAgICAgIChXaW5Qb3J0Ll9w
YXRoX3RvX2FwYWNoZSk6CisKIDIwMTUtMDEtMjkgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBh
cHBsZS5jb20+CiAKICAgICAgICAgQnVpbHQgcmVzdWx0IHRha2VzIHRvbyBsb25nIHRvIGJlIGNv
bXByZXNzZWQgb24gYm90cwpJbmRleDogVG9vbHMvU2NyaXB0cy9ydW4td2Via2l0LWh0dHBkCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvcnVuLXdlYmtpdC1odHRwZAkocmV2aXNpb24gMTc5
MzgxKQorKysgVG9vbHMvU2NyaXB0cy9ydW4td2Via2l0LWh0dHBkCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDYgKzEsNiBAQAogIyEvdXNyL2Jpbi9wZXJsCiAKLSMgQ29weXJpZ2h0IChDKSAyMDA1LCAy
MDA2LCAyMDA3IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdodCAo
QykgMjAwNSwgMjAwNiwgMjAwNywgMjAxNSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVk
LgogIyBDb3B5cmlnaHQgKEMpIDIwMDYgQWxleGV5IFByb3NrdXJ5YWtvdiAoYXBAbnlwb3AuY29t
KQogIyBDb3B5cmlnaHQgKEMpIDIwMTEgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAjCkBAIC04Myw4ICs4Myw2IEBAIHByaW50ICJQcmVzcyBDdHJsK0Mg
dG8gc3RvcCBpdC5cblxuIjsKIAogbXkgQGFyZ3MgPSAoCiAgICAgIi1DIiwgIkxpc3RlbiAkbGlz
dGVuIiwKLSAgICAiLWMiLCAiQ3VzdG9tTG9nIHwvdXNyL2Jpbi90ZWUgY29tbW9uIiwKLSAgICAi
LWMiLCAiRXJyb3JMb2cgfC91c3IvYmluL3RlZSIsCiAgICAgIyBSdW4gaW4gc2luZ2xlLXByb2Nl
c3MgbW9kZSwgZG8gbm90IGRldGFjaCBmcm9tIHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbC4KICAg
ICAiLVgiLAogICAgICMgRGlzYWJsZSBLZWVwLUFsaXZlIHN1cHBvcnQuIE1ha2VzIHRlc3Rpbmcg
aW4gbXVsdGlwbGUgYnJvd3NlcnMgZWFzaWVyIChubyBuZWVkIHRvIHdhaXQKQEAgLTkyLDYgKzkw
LDExIEBAIG15IEBhcmdzID0gKAogICAgICItYyIsICJLZWVwQWxpdmUgb2ZmIgogKTsKIAoraWYg
KCFpc0FueVdpbmRvd3MoKSkgeworICAgIHB1c2goQGFyZ3MsICItYyIsICJDdXN0b21Mb2cgfC91
c3IvYmluL3RlZSBjb21tb24iKTsKKyAgICBwdXNoKEBhcmdzLCAiLWMiLCAiRXJyb3JMb2cgfC91
c3IvYmluL3RlZSIpOworfQorCiBteSBAZGVmYXVsdEFyZ3MgPSBnZXREZWZhdWx0Q29uZmlnRm9y
VGVzdERpcmVjdG9yeSgkdGVzdERpcmVjdG9yeSk7CiBAYXJncyA9IChAZGVmYXVsdEFyZ3MsIEBh
cmdzKTsKIG9wZW5IVFRQRChAYXJncyk7CkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHBlcmwv
aHR0cGQucG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL2h0dHBkLnBt
CShyZXZpc2lvbiAxNzkzODEpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHBlcmwvaHR0cGQucG0J
KHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSw0IEBACi0jIENvcHlyaWdodCAoQykgMjAwNSwgMjAw
NiwgMjAwNywgMjAwOCwgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQKKyMgQ29w
eXJpZ2h0IChDKSAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDE1IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZAogIyBDb3B5cmlnaHQgKEMpIDIwMDYgQWxleGV5IFByb3NrdXJ5
YWtvdiAoYXBAbnlwb3AuY29tKQogIyBDb3B5cmlnaHQgKEMpIDIwMTAgQW5kcmFzIEJlY3NpIChh
YmVjc2lAaW5mLnUtc3plZ2VkLmh1KSwgVW5pdmVyc2l0eSBvZiBTemVnZWQKICMgQ29weXJpZ2h0
IChDKSAyMDExIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgpAQCAtMzYsNiArMzYsNyBAQCB1c2UgRmlsZTo6Q29weTsKIHVzZSBGaWxlOjpQYXRoOwogdXNl
IEZpbGU6OlNwZWM7CiB1c2UgRmlsZTo6U3BlYzo6RnVuY3Rpb25zOwordXNlIEZpbGU6OlRlbXAg
cXcodGVtcGRpcik7CiB1c2UgSVBDOjpPcGVuMjsKIAogdXNlIHdlYmtpdGRpcnM7CkBAIC01Nyw2
ICs1OCwxMSBAQCBCRUdJTiB7CiB9CiAKIG15ICR0bXBEaXIgPSAiL3RtcCI7CitpZiAoaXNBbnlX
aW5kb3dzKCkpIHsKKyAgICR0bXBEaXIgPSB0ZW1wZGlyKENMRUFOVVAgPT4gMCk7CisgICAkdG1w
RGlyID0gYGN5Z3BhdGggLXcgJHRtcERpcmA7CisgICBjaG9tcCgkdG1wRGlyKTsKK30KIG15ICRo
dHRwZFBpZERpciA9IEZpbGU6OlNwZWMtPmNhdGZpbGUoJHRtcERpciwgIldlYktpdCIpOwogbXkg
JGh0dHBkUGlkRmlsZSA9IEZpbGU6OlNwZWMtPmNhdGZpbGUoJGh0dHBkUGlkRGlyLCAiaHR0cGQu
cGlkIik7CiBteSAkaHR0cGRQaWQ7CkBAIC03Miw2ICs3OCw4IEBAIHN1YiBnZXRIVFRQRFBhdGgK
ICAgICBteSAkaHR0cGRQYXRoOwogICAgIGlmIChpc0RlYmlhbkJhc2VkKCkpIHsKICAgICAgICAg
JGh0dHBkUGF0aCA9ICIvdXNyL3NiaW4vYXBhY2hlMiI7CisgICAgfSBlbHNpZiAoaXNBbnlXaW5k
b3dzKCkpIHsKKyAgICAgICAgJGh0dHBkUGF0aCA9ICJodHRwZCI7CiAgICAgfSBlbHNlIHsKICAg
ICAgICAgJGh0dHBkUGF0aCA9ICIvdXNyL3NiaW4vaHR0cGQiOwogICAgIH0KQEAgLTk3LDExICsx
MDUsMTYgQEAgc3ViIGdldERlZmF1bHRDb25maWdGb3JUZXN0RGlyZWN0b3J5CiAgICAgbXkgKCR0
ZXN0RGlyZWN0b3J5KSA9IEBfOwogICAgIGRpZSAiTm8gdGVzdCBkaXJlY3RvcnkgaGFzIGJlZW4g
c3BlY2lmaWVkLiIgdW5sZXNzICgkdGVzdERpcmVjdG9yeSk7CiAKKyAgICBpZiAoaXNBbnlXaW5k
b3dzKCkpIHsKKyAgICAgICAgJHRlc3REaXJlY3RvcnkgPSBgY3lncGF0aCAtdyBcIiR0ZXN0RGly
ZWN0b3J5XCJgOworICAgICAgICBjaG9tcCgkdGVzdERpcmVjdG9yeSk7CisgICAgfQorCiAgICAg
bXkgJGh0dHBkQ29uZmlnID0gZ2V0SFRUUERDb25maWdQYXRoRm9yVGVzdERpcmVjdG9yeSgkdGVz
dERpcmVjdG9yeSk7Ci0gICAgbXkgJGRvY3VtZW50Um9vdCA9ICIkdGVzdERpcmVjdG9yeS9odHRw
L3Rlc3RzIjsKLSAgICBteSAkanNUZXN0UmVzb3VyY2VzRGlyZWN0b3J5ID0gJHRlc3REaXJlY3Rv
cnkgLiAiL3Jlc291cmNlcyI7Ci0gICAgbXkgJG1lZGlhUmVzb3VyY2VzRGlyZWN0b3J5ID0gJHRl
c3REaXJlY3RvcnkgLiAiL21lZGlhIjsKLSAgICBteSAkdHlwZXNDb25maWcgPSAiJHRlc3REaXJl
Y3RvcnkvaHR0cC9jb25mL21pbWUudHlwZXMiOworICAgIG15ICRkb2N1bWVudFJvb3QgPSBGaWxl
OjpTcGVjLT5jYXRmaWxlKCR0ZXN0RGlyZWN0b3J5LCAiaHR0cCIsICJ0ZXN0cyIpOworICAgIG15
ICRqc1Rlc3RSZXNvdXJjZXNEaXJlY3RvcnkgPSBGaWxlOjpTcGVjLT5jYXRmaWxlKCR0ZXN0RGly
ZWN0b3J5LCAicmVzb3VyY2VzIik7CisgICAgbXkgJG1lZGlhUmVzb3VyY2VzRGlyZWN0b3J5ID0g
RmlsZTo6U3BlYy0+Y2F0ZmlsZSgkdGVzdERpcmVjdG9yeSwgIm1lZGlhIik7CisgICAgbXkgJHR5
cGVzQ29uZmlnID0gRmlsZTo6U3BlYy0+Y2F0ZmlsZSgkdGVzdERpcmVjdG9yeSwgImh0dHAiLCAi
Y29uZiIsICJtaW1lLnR5cGVzIik7CiAgICAgbXkgJGh0dHBkTG9ja0ZpbGUgPSBGaWxlOjpTcGVj
LT5jYXRmaWxlKCRodHRwZFBpZERpciwgImh0dHBkLmxvY2siKTsKICAgICBteSAkaHR0cGRTY29y
ZUJvYXJkRmlsZSA9IEZpbGU6OlNwZWMtPmNhdGZpbGUoJGh0dHBkUGlkRGlyLCAiaHR0cGQuc2Nv
cmVib2FyZCIpOwogCkBAIC0xMTMsMTkgKzEyNiwyMCBAQCBzdWIgZ2V0RGVmYXVsdENvbmZpZ0Zv
clRlc3REaXJlY3RvcnkKICAgICAgICAgIi1jIiwgIkFsaWFzIC9tZWRpYS1yZXNvdXJjZXMgXCIk
bWVkaWFSZXNvdXJjZXNEaXJlY3RvcnlcIiIsCiAgICAgICAgICItYyIsICJUeXBlc0NvbmZpZyBc
IiR0eXBlc0NvbmZpZ1wiIiwKICAgICAgICAgIyBBcGFjaGUgd291bGRuJ3QgcnVuIENHSXMgd2l0
aCBwZXJtaXNzaW9ucz09NzAwIG90aGVyd2lzZQotICAgICAgICAiLWMiLCAiVXNlciBcIiMkPFwi
IiwKICAgICAgICAgIi1jIiwgIlBpZEZpbGUgXCIkaHR0cGRQaWRGaWxlXCIiLAogICAgICAgICAi
LWMiLCAiU2NvcmVCb2FyZEZpbGUgXCIkaHR0cGRTY29yZUJvYXJkRmlsZVwiIiwKICAgICApOwog
CisgICAgaWYgKCFpc0FueVdpbmRvd3MoKSkgeworICAgICAgICBwdXNoKEBodHRwZEFyZ3MsICIt
YyIsICJVc2VyIFwiIyQ8XCIiKTsKKyAgICB9CisKICAgICBpZiAoZ2V0QXBhY2hlVmVyc2lvbigp
IGVxICIyLjIiKSB7CiAgICAgICAgIHB1c2goQGh0dHBkQXJncywgIi1jIiwgIkxvY2tGaWxlIFwi
JGh0dHBkTG9ja0ZpbGVcIiIpOwogICAgIH0KIAotICAgICMgRklYTUU6IEVuYWJsZSB0aGlzIG9u
IFdpbmRvd3Mgb25jZSA8cmRhcjovL3Byb2JsZW0vNTM0NTk4NT4gaXMgZml4ZWQKLSAgICAjIFRo
ZSB2ZXJzaW9uIG9mIEFwYWNoZSB3ZSB1c2Ugd2l0aCBDeWd3aW4gZG9lcyBub3Qgc3VwcG9ydCBT
U0wKLSAgICBteSAkc3NsQ2VydGlmaWNhdGUgPSAiJHRlc3REaXJlY3RvcnkvaHR0cC9jb25mL3dl
YmtpdC1odHRwZC5wZW0iOwotICAgIHB1c2goQGh0dHBkQXJncywgIi1jIiwgIlNTTENlcnRpZmlj
YXRlRmlsZSBcIiRzc2xDZXJ0aWZpY2F0ZVwiIikgdW5sZXNzIGlzQ3lnd2luKCk7CisgICAgbXkg
JHNzbENlcnRpZmljYXRlID0gRmlsZTo6U3BlYy0+Y2F0ZmlsZSgkdGVzdERpcmVjdG9yeSwgImh0
dHAiLCAiY29uZiIsICJ3ZWJraXQtaHR0cGQucGVtIik7CisgICAgcHVzaChAaHR0cGRBcmdzLCAi
LWMiLCAiU1NMQ2VydGlmaWNhdGVGaWxlIFwiJHNzbENlcnRpZmljYXRlXCIiKTsKIAogICAgIHJl
dHVybiBAaHR0cGRBcmdzOwogCkBAIC0xNDIsMTMgKzE1Niw3IEBAIHN1YiBnZXRIVFRQRENvbmZp
Z1BhdGhGb3JUZXN0RGlyZWN0b3J5CiAgICAgbXkgJGFwYWNoZVZlcnNpb24gPSBnZXRBcGFjaGVW
ZXJzaW9uKCk7CiAKICAgICBpZiAoaXNDeWd3aW4oKSkgewotICAgICAgICBteSAkbGliUEhQNERs
bFBhdGggPSAiL3Vzci9saWIvYXBhY2hlL2xpYnBocDQuZGxsIjsKLSAgICAgICAgIyBGSVhNRTog
cnVuLXdlYmtpdC10ZXN0cyBzaG91bGQgbm90IG1vZGlmeSB0aGUgdXNlcidzIHN5c3RlbSwgZXNw
ZWNpYWxseSBub3QgaW4gdGhpcyBtZXRob2QhCi0gICAgICAgIHVubGVzcyAoLXggJGxpYlBIUDRE
bGxQYXRoKSB7Ci0gICAgICAgICAgICBjb3B5KCIkaHR0cGRDb25mRGlyZWN0b3J5L2xpYnBocDQu
ZGxsIiwgJGxpYlBIUDREbGxQYXRoKTsKLSAgICAgICAgICAgIGNobW9kKDA3NTUsICRsaWJQSFA0
RGxsUGF0aCk7Ci0gICAgICAgIH0KLSAgICAgICAgJGh0dHBkQ29uZmlnID0gImN5Z3dpbi1odHRw
ZC5jb25mIjsgICMgVGhpcyBpcyBhbiBhcGFjaGUgMS4zIGNvbmZpZy4KKyAgICAgICAgJGh0dHBk
Q29uZmlnID0gImFwYWNoZSRhcGFjaGVWZXJzaW9uLWh0dHBkLXdpbi5jb25mIjsKICAgICB9IGVs
c2lmIChpc0RlYmlhbkJhc2VkKCkpIHsKICAgICAgICAgJGh0dHBkQ29uZmlnID0gImRlYmlhbi1o
dHRwZC0kYXBhY2hlVmVyc2lvbi5jb25mIjsKICAgICB9IGVsc2lmIChpc0ZlZG9yYUJhc2VkKCkp
IHsKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmVf
dW5pdHRlc3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
c3lzdGVtL2V4ZWN1dGl2ZV91bml0dGVzdC5weQkocmV2aXNpb24gMTc5MzgxKQorKysgVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2V4ZWN1dGl2ZV91bml0dGVzdC5weQkod29y
a2luZyBjb3B5KQpAQCAtMTc3LDcgKzE3Nyw4IEBAIGNsYXNzIEV4ZWN1dGl2ZVRlc3QodW5pdHRl
c3QuVGVzdENhc2UpOgogICAgICAgICBlbGlmIHN5cy5wbGF0Zm9ybSA9PSAiY3lnd2luIjoKICAg
ICAgICAgICAgICMgRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05ODE5NgogICAgICAgICAgICAgIyBjeWd3aW4gc2VlbXMgdG8gZ2l2ZSB1cyBlaXRoZXIgU0lH
QUJSVCBvciBTSUdLSUxMCi0gICAgICAgICAgICBzZWxmLmFzc2VydEluKHByb2Nlc3Mud2FpdCgp
LCAoLXNpZ25hbC5TSUdBQlJULCAtc2lnbmFsLlNJR0tJTEwpKQorICAgICAgICAgICAgIyBOYXRp
dmUgV2luZG93cyAodmlhIEN5Z3dpbikgcmV0dXJucyBFTk9UQkxLICgtMTUpCisgICAgICAgICAg
ICBzZWxmLmFzc2VydEluKHByb2Nlc3Mud2FpdCgpLCAoLXNpZ25hbC5TSUdBQlJULCAtc2lnbmFs
LlNJR0tJTEwsIC0xNSkpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBleHBlY3RlZF9leGl0
X2NvZGUgPSAtc2lnbmFsLlNJR1RFUk0KICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHJv
Y2Vzcy53YWl0KCksIGV4cGVjdGVkX2V4aXRfY29kZSkKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3NlcnZlcnMvYXBhY2hlX2h0dHBfc2VydmVyLnB5Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3NlcnZlcnMvYXBhY2hl
X2h0dHBfc2VydmVyLnB5CShyZXZpc2lvbiAxNzkzODEpCisrKyBUb29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9zZXJ2ZXJzL2FwYWNoZV9odHRwX3NlcnZlci5weQkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDQgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICMgQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAjCiAjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtNjAsNiArNjEsMTMgQEAgY2xhc3Mg
TGF5b3V0VGVzdEFwYWNoZUh0dHBkKGh0dHBfc2VydmVyXwogICAgICAgICBzZWxmLl9waWRfZmls
ZSA9IHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihzZWxmLl9ydW50aW1lX3BhdGgsICclcy5waWQnICUg
c2VsZi5fbmFtZSkKIAogICAgICAgICB0ZXN0X2RpciA9IHNlbGYuX3BvcnRfb2JqLmxheW91dF90
ZXN0c19kaXIoKQorCisgICAgICAgIGlmIHBvcnRfb2JqLmhvc3QucGxhdGZvcm0uaXNfd2luKCk6
CisgICAgICAgICAgICAjIENvbnZlcnQgdG8gTVNET1MgZmlsZSBuYW1pbmc6CisgICAgICAgICAg
ICBvdXRwdXRfZGlyID0gb3V0cHV0X2Rpci5yZXBsYWNlKCIvY3lnZHJpdmUvYyIsICJDOiIpCisg
ICAgICAgICAgICB0ZXN0X2RpciA9IHRlc3RfZGlyLnJlcGxhY2UoIi9jeWdkcml2ZS9jIiwgIkM6
IikKKyAgICAgICAgICAgIHNlbGYuX3BpZF9maWxlID0gc2VsZi5fcGlkX2ZpbGUucmVwbGFjZSgi
L3RtcCIsICJDOi9jeWd3aW4vdG1wIikKKwogICAgICAgICBqc190ZXN0X3Jlc291cmNlc19kaXIg
PSBzZWxmLl9maWxlc3lzdGVtLmpvaW4odGVzdF9kaXIsICJyZXNvdXJjZXMiKQogICAgICAgICBt
ZWRpYV9yZXNvdXJjZXNfZGlyID0gc2VsZi5fZmlsZXN5c3RlbS5qb2luKHRlc3RfZGlyLCAibWVk
aWEiKQogICAgICAgICBtaW1lX3R5cGVzX3BhdGggPSBzZWxmLl9maWxlc3lzdGVtLmpvaW4odGVz
dF9kaXIsICJodHRwIiwgImNvbmYiLCAibWltZS50eXBlcyIpCkBAIC03OSwxMCArODcsMTIgQEAg
Y2xhc3MgTGF5b3V0VGVzdEFwYWNoZUh0dHBkKGh0dHBfc2VydmVyXwogICAgICAgICAgICAgJy1j
JywgIlwnVHlwZXNDb25maWcgXCIlc1wiXCciICUgbWltZV90eXBlc19wYXRoLAogICAgICAgICAg
ICAgJy1jJywgIlwnQ3VzdG9tTG9nIFwiJXNcIiBjb21tb25cJyIgJSBhY2Nlc3NfbG9nLAogICAg
ICAgICAgICAgJy1jJywgIlwnRXJyb3JMb2cgXCIlc1wiXCciICUgZXJyb3JfbG9nLAotICAgICAg
ICAgICAgJy1DJywgIlwnVXNlciBcIiVzXCJcJyIgJSBvcy5lbnZpcm9uLmdldCgiVVNFUk5BTUUi
LCBvcy5lbnZpcm9uLmdldCgiVVNFUiIsICIiKSksCiAgICAgICAgICAgICAnLWMnLCAiXCdQaWRG
aWxlICVzJyIgJSBzZWxmLl9waWRfZmlsZSwKICAgICAgICAgICAgICctaycsICJzdGFydCJdCiAK
KyAgICAgICAgaWYgbm90IHBvcnRfb2JqLmhvc3QucGxhdGZvcm0uaXNfd2luKCk6CisgICAgICAg
ICAgICBzdGFydF9jbWQuZXh0ZW5kKFsnLUMnLCAiXCdVc2VyIFwiJXNcIlwnIiAlIG9zLmVudmly
b24uZ2V0KCJVU0VSTkFNRSIsIG9zLmVudmlyb24uZ2V0KCJVU0VSIiwgIiIpKV0pCisKICAgICAg
ICAgZW5hYmxlX2lwdjYgPSBzZWxmLl9wb3J0X29iai5odHRwX3NlcnZlcl9zdXBwb3J0c19pcHY2
KCkKICAgICAgICAgIyBQZXJmb3JtIHBhcnQgb2YgdGhlIGNoZWNrcyBBcGFjaGUncyBBUFIgZG9l
cyB3aGVuIHRyeWluZyB0byBsaXN0ZW4gdG8KICAgICAgICAgIyBhIHNwZWNpZmljIGhvc3QvcG9y
dC4gVGhpcyBhbGxvd3MgdXMgdG8gYXZvaWQgdHJ5aW5nIHRvIGxpc3RlbiB0bwpAQCAtMTQxLDYg
KzE1MSw5IEBAIGNsYXNzIExheW91dFRlc3RBcGFjaGVIdHRwZChodHRwX3NlcnZlcl8KICAgICAg
ICAgIyBGSVhNRTogV2h5IGRvIHdlIG5lZWQgdG8gY29weSB0aGUgY29uZmlnIGZpbGUgc2luY2Ug
d2UncmUgbm90IG1vZGlmeWluZyBpdD8KICAgICAgICAgc2VsZi5fZmlsZXN5c3RlbS53cml0ZV90
ZXh0X2ZpbGUoaHR0cGRfY29uZmlnX2NvcHksIGh0dHBkX2NvbmYpCiAKKyAgICAgICAgaWYgc2Vs
Zi5fcG9ydF9vYmouaG9zdC5wbGF0Zm9ybS5pc193aW4oKToKKyAgICAgICAgICAgIGh0dHBkX2Nv
bmZpZ19jb3B5ID0gaHR0cGRfY29uZmlnX2NvcHkucmVwbGFjZSgiL2N5Z2RyaXZlL2MiLCAiQzoi
KQorCiAgICAgICAgIHJldHVybiBodHRwZF9jb25maWdfY29weQogCiAgICAgZGVmIF9zcGF3bl9w
cm9jZXNzKHNlbGYpOgpAQCAtMTU5LDExICsxNzIsMTcgQEAgY2xhc3MgTGF5b3V0VGVzdEFwYWNo
ZUh0dHBkKGh0dHBfc2VydmVyXwogICAgIGRlZiBfc3RvcF9ydW5uaW5nX3NlcnZlcihzZWxmKToK
ICAgICAgICAgIyBJZiBhcGFjaGUgd2FzIGZvcmNlZnVsbHkga2lsbGVkLCB0aGUgcGlkIGZpbGUg
d2lsbCBub3QgaGF2ZSBiZWVuIGRlbGV0ZWQsIHNvIGNoZWNrCiAgICAgICAgICMgdGhhdCB0aGUg
cHJvY2VzcyBzcGVjaWZpZWQgYnkgdGhlIHBpZF9maWxlIG5vIGxvbmdlciBleGlzdHMgYmVmb3Jl
IGRlbGV0aW5nIHRoZSBmaWxlLgotICAgICAgICBpZiBzZWxmLl9waWQgYW5kIG5vdCBzZWxmLl9l
eGVjdXRpdmUuY2hlY2tfcnVubmluZ19waWQoc2VsZi5fcGlkKToKKyAgICAgICAgaWYgc2VsZi5f
cGlkIGFuZCBub3Qgc2VsZi5fcG9ydF9vYmouaG9zdC5wbGF0Zm9ybS5pc193aW4oKSBhbmQgbm90
IHNlbGYuX2V4ZWN1dGl2ZS5jaGVja19ydW5uaW5nX3BpZChzZWxmLl9waWQpOgogICAgICAgICAg
ICAgc2VsZi5fZmlsZXN5c3RlbS5yZW1vdmUoc2VsZi5fcGlkX2ZpbGUpCiAgICAgICAgICAgICBy
ZXR1cm4KIAogICAgICAgICByZXR2YWwsIGVyciA9IHNlbGYuX3J1bihzZWxmLl9zdG9wX2NtZCkK
KworICAgICAgICAjIFdpbmRvd3MgaHR0cGQgb3V0cHV0cyBzaHV0ZG93biBzdGF0dXMgaW4gc3Rk
ZXJyOgorICAgICAgICBpZiBzZWxmLl9wb3J0X29iai5ob3N0LnBsYXRmb3JtLmlzX3dpbigpIGFu
ZCBub3QgcmV0dmFsIGFuZCBsZW4oZXJyKToKKyAgICAgICAgICAgIF9sb2cuZGVidWcoJ1NodXRk
b3duOiAlcycgJSBlcnIpCisgICAgICAgICAgICBlcnIgPSAiIgorCiAgICAgICAgIGlmIHJldHZh
bCBvciBsZW4oZXJyKToKICAgICAgICAgICAgIHJhaXNlIGh0dHBfc2VydmVyX2Jhc2UuU2VydmVy
RXJyb3IoJ0ZhaWxlZCB0byBzdG9wICVzOiAlcycgJSAoc2VsZi5fbmFtZSwgZXJyKSkKIApJbmRl
eDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvc2VydmVycy9odHRwX3NlcnZl
cl9iYXNlLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3NlcnZlcnMvaHR0cF9zZXJ2ZXJfYmFzZS5weQkocmV2aXNpb24gMTc5MzgxKQorKysgVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvc2VydmVycy9odHRwX3NlcnZlcl9iYXNl
LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0xNzksNyArMTc5LDcgQEAgY2xhc3MgSHR0cFNlcnZlckJh
c2Uob2JqZWN0KToKIAogICAgIGRlZiBfaXNfc2VydmVyX3J1bm5pbmdfb25fYWxsX3BvcnRzKHNl
bGYpOgogICAgICAgICAiIiJSZXR1cm5zIHdoZXRoZXIgdGhlIHNlcnZlciBpcyBydW5uaW5nIG9u
IGFsbCB0aGUgZGVzaXJlZCBwb3J0cy4iIiIKLSAgICAgICAgaWYgbm90IHNlbGYuX2V4ZWN1dGl2
ZS5jaGVja19ydW5uaW5nX3BpZChzZWxmLl9waWQpOgorICAgICAgICBpZiBub3Qgc2VsZi5fcG9y
dF9vYmouaG9zdC5wbGF0Zm9ybS5pc193aW4oKSBhbmQgbm90IHNlbGYuX2V4ZWN1dGl2ZS5jaGVj
a19ydW5uaW5nX3BpZChzZWxmLl9waWQpOgogICAgICAgICAgICAgX2xvZy5kZWJ1ZygiU2VydmVy
IGlzbid0IHJ1bm5pbmcgYXQgYWxsIikKICAgICAgICAgICAgIHJhaXNlIFNlcnZlckVycm9yKCJT
ZXJ2ZXIgZXhpdGVkIikKIApJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2Uu
cHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkJKHJl
dmlzaW9uIDE3OTM4MSkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CSh3
b3JraW5nIGNvcHkpCkBAIC0xMDkwLDggKzEwOTAsOCBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAK
ICAgICAjIFdlIHBhc3Mgc3lzX3BsYXRmb3JtIGludG8gdGhpcyBtZXRob2QgdG8gbWFrZSBpdCBl
YXN5IHRvIHVuaXQgdGVzdC4KICAgICBkZWYgX2FwYWNoZV9jb25maWdfZmlsZV9uYW1lX2Zvcl9w
bGF0Zm9ybShzZWxmLCBzeXNfcGxhdGZvcm0pOgotICAgICAgICBpZiBzeXNfcGxhdGZvcm0gPT0g
J2N5Z3dpbic6Ci0gICAgICAgICAgICByZXR1cm4gJ2N5Z3dpbi1odHRwZC5jb25mJyAgIyBDWUdX
SU4gaXMgdGhlIG9ubHkgcGxhdGZvcm0gdG8gc3RpbGwgdXNlIEFwYWNoZSAxLjMuCisgICAgICAg
IGlmIHN5c19wbGF0Zm9ybSA9PSAnY3lnd2luJyBvciBzeXNfcGxhdGZvcm0gPT0gJ3dpbjMyJzoK
KyAgICAgICAgICAgIHJldHVybiAnYXBhY2hlJyArIHNlbGYuX2FwYWNoZV92ZXJzaW9uKCkgKyAn
LWh0dHBkLXdpbi5jb25mJwogICAgICAgICBpZiBzeXNfcGxhdGZvcm0uc3RhcnRzd2l0aCgnbGlu
dXgnKToKICAgICAgICAgICAgIGlmIHNlbGYuX2lzX3JlZGhhdF9iYXNlZCgpOgogICAgICAgICAg
ICAgICAgIHJldHVybiAnZmVkb3JhLWh0dHBkLScgKyBzZWxmLl9hcGFjaGVfdmVyc2lvbigpICsg
Jy5jb25mJwpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3BvcnRfdGVzdGNhc2Uu
cHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3BvcnRfdGVzdGNh
c2UucHkJKHJldmlzaW9uIDE3OTM4MSkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9w
b3J0X3Rlc3RjYXNlLnB5CSh3b3JraW5nIGNvcHkpCkBAIC01NDIsNyArNTQyLDcgQEAgTU9DSyBv
dXRwdXQgb2YgY2hpbGQgcHJvY2VzcwogICAgIGRlZiB0ZXN0X2FwYWNoZV9jb25maWdfZmlsZV9u
YW1lX2Zvcl9wbGF0Zm9ybShzZWxmKToKICAgICAgICAgcG9ydCA9IFRlc3RXZWJLaXRQb3J0KCkK
ICAgICAgICAgcG9ydC5fYXBhY2hlX3ZlcnNpb24gPSBsYW1iZGE6ICcyLjInCi0gICAgICAgIHNl
bGYuX2Fzc2VydF9jb25maWdfZmlsZV9mb3JfcGxhdGZvcm0ocG9ydCwgJ2N5Z3dpbicsICdjeWd3
aW4taHR0cGQuY29uZicpCisgICAgICAgIHNlbGYuX2Fzc2VydF9jb25maWdfZmlsZV9mb3JfcGxh
dGZvcm0ocG9ydCwgJ2N5Z3dpbicsICdhcGFjaGUyLjItaHR0cGQtd2luLmNvbmYnKQogCiAgICAg
ICAgIHNlbGYuX2Fzc2VydF9jb25maWdfZmlsZV9mb3JfcGxhdGZvcm0ocG9ydCwgJ2xpbnV4Mics
ICdhcGFjaGUyLjItaHR0cGQuY29uZicpCiAgICAgICAgIHNlbGYuX2Fzc2VydF9jb25maWdfZmls
ZV9mb3JfcGxhdGZvcm0ocG9ydCwgJ2xpbnV4MycsICdhcGFjaGUyLjItaHR0cGQuY29uZicpCkBA
IC01NTcsNyArNTU3LDcgQEAgTU9DSyBvdXRwdXQgb2YgY2hpbGQgcHJvY2VzcwogICAgICAgICBz
ZWxmLl9hc3NlcnRfY29uZmlnX2ZpbGVfZm9yX3BsYXRmb3JtKHBvcnQsICdsaW51eDInLCAnZGVi
aWFuLWh0dHBkLTIuMi5jb25mJykKIAogICAgICAgICBzZWxmLl9hc3NlcnRfY29uZmlnX2ZpbGVf
Zm9yX3BsYXRmb3JtKHBvcnQsICdtYWMnLCAnYXBhY2hlMi4yLWh0dHBkLmNvbmYnKQotICAgICAg
ICBzZWxmLl9hc3NlcnRfY29uZmlnX2ZpbGVfZm9yX3BsYXRmb3JtKHBvcnQsICd3aW4zMicsICdh
cGFjaGUyLjItaHR0cGQuY29uZicpICAjIHdpbjMyIGlzbid0IGEgc3VwcG9ydGVkIHN5cy5wbGF0
Zm9ybS4gIEFwcGxlV2luL1dpbkNhaXJvIHBvcnRzIGFsbCB1c2UgY3lnd2luLgorICAgICAgICBz
ZWxmLl9hc3NlcnRfY29uZmlnX2ZpbGVfZm9yX3BsYXRmb3JtKHBvcnQsICd3aW4zMicsICdhcGFj
aGUyLjItaHR0cGQtd2luLmNvbmYnKSAgIyB3aW4zMiBpc24ndCBhIHN1cHBvcnRlZCBzeXMucGxh
dGZvcm0uICBBcHBsZVdpbi9XaW5DYWlybyBwb3J0cyBhbGwgdXNlIGN5Z3dpbi4KICAgICAgICAg
c2VsZi5fYXNzZXJ0X2NvbmZpZ19maWxlX2Zvcl9wbGF0Zm9ybShwb3J0LCAnYmFyZicsICdhcGFj
aGUyLjItaHR0cGQuY29uZicpCiAKICAgICBkZWYgdGVzdF9wYXRoX3RvX2FwYWNoZV9jb25maWdf
ZmlsZShzZWxmKToKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC93aW4ucHkKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3dpbi5weQkocmV2aXNpb24g
MTc5MzgxKQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3dpbi5weQkod29ya2luZyBj
b3B5KQpAQCAtOTksMTAgKzk5LDYgQEAgY2xhc3MgV2luUG9ydChBcHBsZVBvcnQpOgogICAgIGRl
ZiBzaG93X3Jlc3VsdHNfaHRtbF9maWxlKHNlbGYsIHJlc3VsdHNfZmlsZW5hbWUpOgogICAgICAg
ICBzZWxmLl9ydW5fc2NyaXB0KCdydW4tc2FmYXJpJywgW2Fic3BhdGhfdG9fdXJpKFN5c3RlbUhv
c3QoKS5wbGF0Zm9ybSwgcmVzdWx0c19maWxlbmFtZSldKQogCi0gICAgIyBGSVhNRTogd2Via2l0
cGVybC9odHRwZC5wbSBpbnN0YWxscyAvdXNyL2xpYi9hcGFjaGUvbGlicGhwNC5kbGwgb24gY3lj
d2luIGF1dG9tYXRpY2FsbHkKLSAgICAjIGFzIHBhcnQgb2YgcnVubmluZyBvbGQtcnVuLXdlYmtp
dC10ZXN0cy4gIFRoYXQncyBiYWQgZGVzaWduLCBidXQgd2UgbWF5IG5lZWQgc29tZSBzaW1pbGFy
IGhhY2suCi0gICAgIyBXZSBtaWdodCB1c2Ugc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyIGZvciBz
dWNoIGEgaGFjayAob3IgbW9kaWZ5IGFwYWNoZV9odHRwX3NlcnZlci5weSkuCi0KICAgICBkZWYg
X3J1bnRpbWVfZmVhdHVyZV9saXN0KHNlbGYpOgogICAgICAgICBzdXBwb3J0ZWRfZmVhdHVyZXNf
Y29tbWFuZCA9IFtzZWxmLl9wYXRoX3RvX2RyaXZlcigpLCAnLS1wcmludC1zdXBwb3J0ZWQtZmVh
dHVyZXMnXQogICAgICAgICB0cnk6CkBAIC0xMTksNyArMTE1LDE0IEBAIGNsYXNzIFdpblBvcnQo
QXBwbGVQb3J0KToKIAogICAgICMgTm90ZTogVGhlc2UgYXJlIGJhc2VkIG9uIHRoZSBzdG9jayBD
eWd3aW4gbG9jYXRpb25zIGZvciB0aGVzZSBmaWxlcy4KICAgICBkZWYgX3VzZXNfYXBhY2hlKHNl
bGYpOgotICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgcmV0dXJuIFRydWUKKworICAgIGRl
ZiBfcGF0aF90b19hcGFjaGUoc2VsZik6CisgICAgICAgIGh0dHBkUGF0aCA9ICJDOi94YW1wcC9h
cGFjaGUvYmluL2h0dHBkLmV4ZSIKKyAgICAgICAgaWYgc2VsZi5fZmlsZXN5c3RlbS5leGlzdHMo
aHR0cGRQYXRoKToKKyAgICAgICAgICAgIHJldHVybiBodHRwZFBhdGgKKyAgICAgICAgX2xvZy5l
cnJvcigiQ291bGQgbm90IGZpbmQgYXBhY2hlLiBOb3QgaW5zdGFsbGVkIG9yIHVua25vd24gcGF0
aC4iKQorICAgICAgICByZXR1cm4gTm9uZQogCiAgICAgZGVmIF9wYXRoX3RvX2xpZ2h0dHBkKHNl
bGYpOgogICAgICAgICByZXR1cm4gIi91c3Ivc2Jpbi9saWdodHRwZCIKSW5kZXg6IExheW91dFRl
c3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlz
aW9uIDE3OTM5MikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDE3IEBACisyMDE1LTAxLTI5ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUu
Y29tPgorCisgICAgICAgIFtXaW5dIFN3aXRjaCB0byBBcGFjaGUgb24gV2luZG93cworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQxMDYwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgbmV3IFdpbmRv
d3MgWEFNUFAgQXBhY2hlIGNvbmZpZ3VyYXRpb24gZmlsZSBmb3IgcnVubmluZworICAgICAgICB0
aGUgaHR0cCB0ZXN0IHN1aXRlIG9uIFdpbmRvd3MuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL2NvbmYvYXBhY2hlMi40LWh0dHBkLXdpbi5j
b25mOiBBZGRlZC4KKwogMjAxNS0wMS0yOSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+
CiAKICAgICAgICAgUmVtb3ZlIFNWR1VzZUVsZW1lbnQuaW5zdGFuY2VSb290IGFuZCBhbGwgdGVz
dHMgdGhhdCBkZXBlbmQgb24gaXQKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvY29uZi9hcGFjaGUy
LjQtaHR0cGQtd2luLmNvbmYKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC9jb25mL2Fw
YWNoZTIuNC1odHRwZC13aW4uY29uZgkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAv
Y29uZi9hcGFjaGUyLjQtaHR0cGQtd2luLmNvbmYJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwx
ODUgQEAKK1NlcnZlclJvb3QgIkM6L3hhbXBwL2FwYWNoZSIKKworIyBNdXRleCBmaWxlOi90bXAv
V2ViS2l0CitQaWRGaWxlICIvdG1wL1dlYktpdC9odHRwZC5waWQiCisjU2NvcmVCb2FyZEZpbGUg
Ii90bXAvV2ViS2l0L2h0dHBkLnNjb3JlYm9hcmQiCisKK1RpbWVvdXQgMzAwCitLZWVwQWxpdmUg
T24KK01heEtlZXBBbGl2ZVJlcXVlc3RzIDEwMAorS2VlcEFsaXZlVGltZW91dCAxNQorCisjTWlu
U3BhcmVTZXJ2ZXJzIDEKKyNNYXhTcGFyZVNlcnZlcnMgNQorI1N0YXJ0U2VydmVycyAxCisjTWF4
UmVxdWVzdFdvcmtlcnMgMTUwCisjTWF4Q29ubmVjdGlvbnNQZXJDaGlsZCAxMDAwMDAKKworIyBM
b2FkTW9kdWxlIHVuaXhkX21vZHVsZSBsaWJleGVjL2FwYWNoZS9tb2RfdW5peGQuc28gCitMb2Fk
TW9kdWxlIGFjY2Vzc19jb21wYXRfbW9kdWxlIG1vZHVsZXMvbW9kX2FjY2Vzc19jb21wYXQuc28K
K0xvYWRNb2R1bGUgYXV0aG5fY29yZV9tb2R1bGUgbW9kdWxlcy9tb2RfYXV0aG5fY29yZS5zbwor
TG9hZE1vZHVsZSBhdXRoel9jb3JlX21vZHVsZSBtb2R1bGVzL21vZF9hdXRoel9jb3JlLnNvCitM
b2FkTW9kdWxlIGF1dGh6X2hvc3RfbW9kdWxlIG1vZHVsZXMvbW9kX2F1dGh6X2hvc3Quc28KK0xv
YWRNb2R1bGUgaW5jbHVkZV9tb2R1bGUgbW9kdWxlcy9tb2RfaW5jbHVkZS5zbworTG9hZE1vZHVs
ZSBsb2dfY29uZmlnX21vZHVsZSBtb2R1bGVzL21vZF9sb2dfY29uZmlnLnNvCitMb2FkTW9kdWxl
IGhlYWRlcnNfbW9kdWxlIG1vZHVsZXMvbW9kX2hlYWRlcnMuc28KK0xvYWRNb2R1bGUgc3NsX21v
ZHVsZSBtb2R1bGVzL21vZF9zc2wuc28KK0xvYWRNb2R1bGUgbWltZV9tb2R1bGUgbW9kdWxlcy9t
b2RfbWltZS5zbworTG9hZE1vZHVsZSBhc2lzX21vZHVsZSBtb2R1bGVzL21vZF9hc2lzLnNvCitM
b2FkTW9kdWxlIGNnaV9tb2R1bGUgbW9kdWxlcy9tb2RfY2dpLnNvCitMb2FkTW9kdWxlIG5lZ290
aWF0aW9uX21vZHVsZSBtb2R1bGVzL21vZF9uZWdvdGlhdGlvbi5zbworI0xvYWRNb2R1bGUgaW1h
Z2VtYXBfbW9kdWxlIG1vZHVsZXMvbW9kX2ltYWdlbWFwLnNvCitMb2FkTW9kdWxlIGFjdGlvbnNf
bW9kdWxlIG1vZHVsZXMvbW9kX2FjdGlvbnMuc28KK0xvYWRNb2R1bGUgYWxpYXNfbW9kdWxlIG1v
ZHVsZXMvbW9kX2FsaWFzLnNvCitMb2FkTW9kdWxlIHJld3JpdGVfbW9kdWxlIG1vZHVsZXMvbW9k
X3Jld3JpdGUuc28KK0xvYWRGaWxlICJDOi94YW1wcC9waHAvcGhwNXRzLmRsbCIKK0xvYWRGaWxl
ICJDOi94YW1wcC9waHAvbGlicHEuZGxsIgorTG9hZE1vZHVsZSBwaHA1X21vZHVsZSAiQzoveGFt
cHAvcGhwL3BocDVhcGFjaGUyXzQuZGxsIgorCisKK1NlcnZlck5hbWUgMTI3LjAuMC4xCisKKzxE
aXJlY3RvcnkgLz4KKyAgICBPcHRpb25zIEluZGV4ZXMgRm9sbG93U3ltTGlua3MgTXVsdGlWaWV3
cyBFeGVjQ0dJIEluY2x1ZGVzCisgICAgQWxsb3dPdmVycmlkZSBBbGwKKyAgICBPcmRlciBhbGxv
dyxkZW55CisgICAgQWxsb3cgZnJvbSBhbGwKKzwvRGlyZWN0b3J5PgorCitBY2Nlc3NGaWxlTmFt
ZSAuaHRhY2Nlc3MKKworPEZpbGVzIH4gIl5cLihbSGhdW1R0XXxbRGRdW1NzXV9bU3NdKSI+Cisg
ICAgT3JkZXIgYWxsb3csZGVueQorICAgIERlbnkgZnJvbSBhbGwKKyAgICBTYXRpc2Z5IEFsbAor
PC9GaWxlcz4KKworVXNlQ2Fub25pY2FsTmFtZSBPbgorSG9zdG5hbWVMb29rdXBzIE9mZgorCitT
Y3JpcHRJbnRlcnByZXRlclNvdXJjZSBSZWdpc3RyeS1TdHJpY3QKKyMgV2hlbiB1c2luZyB0aGUg
YWJvdmUgc2V0dGluZywgc3BlY2lmeSB0aGUgcGF0aCB0byB0aGUgUGVybCBiaW5hcnkKKyMgdXNp
bmcgdGhlIHJlZ2lzdHJ5IGtleXMgYmVsb3c6CisjIFtIS0VZX0NMQVNTRVNfUk9PVFwucGxcU2hl
bGxcRXhlY0NHSVxDb21tYW5kXSBAPSJjOlxcUEFUSFxUT1xwZXJsXFxiaW5cXHBlcmwuZXhlIgor
IyBIS0VZX0NMQVNTRVNfUk9PVFwuY2dpXFNoZWxsXEV4ZWNDR0lcQ29tbWFuZF0gQD0iYzpcXFBB
VEhcVE9ccGVybFxcYmluXFxwZXJsLmV4ZSIKKworTG9nTGV2ZWwgZGVidWcKKworRXJyb3JMb2cg
IkM6XHhhbXBwXGFwYWNoZVxsb2dzXGVycm9yX2xvZy50eHQiCisKK0xvZ0Zvcm1hdCAiJWggJWwg
JXUgJXQgXCIlclwiICU+cyAlYiBcIiV7UmVmZXJlcn1pXCIgXCIle1VzZXItQWdlbnR9aVwiIiBj
b21iaW5lZAorTG9nRm9ybWF0ICIlaCAlbCAldSAldCBcIiVyXCIgJT5zICViICVEIiBjb21tb24K
K0xvZ0Zvcm1hdCAiJXtSZWZlcmVyfWkgLT4gJVUiIHJlZmVyZXIKK0xvZ0Zvcm1hdCAiJXtVc2Vy
LWFnZW50fWkiIGFnZW50CisKK1NlcnZlclNpZ25hdHVyZSBPbgorCis8SWZNb2R1bGUgbW9kX2Fs
aWFzLmM+Cis8L0lmTW9kdWxlPgorCis8SWZNb2R1bGUgbW9kX21pbWUuYz4KKyAgICBBZGRMYW5n
dWFnZSBkYSAuZGsKKyAgICBBZGRMYW5ndWFnZSBubCAubmwKKyAgICBBZGRMYW5ndWFnZSBlbiAu
ZW4KKyAgICBBZGRMYW5ndWFnZSBldCAuZWUKKyAgICBBZGRMYW5ndWFnZSBmciAuZnIKKyAgICBB
ZGRMYW5ndWFnZSBkZSAuZGUKKyAgICBBZGRMYW5ndWFnZSBlbCAuZWwKKyAgICBBZGRMYW5ndWFn
ZSBoZSAuaGUKKyAgICBBZGRDaGFyc2V0IElTTy04ODU5LTggLmlzbzg4NTktOAorICAgIEFkZExh
bmd1YWdlIGl0IC5pdAorICAgIEFkZExhbmd1YWdlIGphIC5qYQorICAgIEFkZENoYXJzZXQgSVNP
LTIwMjItSlAgLmppcworICAgIEFkZExhbmd1YWdlIGtyIC5rcgorICAgIEFkZENoYXJzZXQgSVNP
LTIwMjItS1IgLmlzby1rcgorICAgIEFkZExhbmd1YWdlIG5uIC5ubgorICAgIEFkZExhbmd1YWdl
IG5vIC5ubworICAgIEFkZExhbmd1YWdlIHBsIC5wbworICAgIEFkZENoYXJzZXQgSVNPLTg4NTkt
MiAuaXNvLXBsCisgICAgQWRkTGFuZ3VhZ2UgcHQgLnB0CisgICAgQWRkTGFuZ3VhZ2UgcHQtYnIg
LnB0LWJyCisgICAgQWRkTGFuZ3VhZ2UgbHR6IC5sdQorICAgIEFkZExhbmd1YWdlIGNhIC5jYQor
ICAgIEFkZExhbmd1YWdlIGVzIC5lcworICAgIEFkZExhbmd1YWdlIHN2IC5zdgorICAgIEFkZExh
bmd1YWdlIGNzIC5jeiAuY3MKKyAgICBBZGRMYW5ndWFnZSBydSAucnUKKyAgICBBZGRMYW5ndWFn
ZSB6aC1UVyAuemgtdHcKKyAgICBBZGRDaGFyc2V0IEJpZzUgICAgICAgICAuQmlnNSAgICAuYmln
NQorICAgIEFkZENoYXJzZXQgV0lORE9XUy0xMjUxIC5jcC0xMjUxCisgICAgQWRkQ2hhcnNldCBD
UDg2NiAgICAgICAgLmNwODY2CisgICAgQWRkQ2hhcnNldCBJU08tODg1OS01ICAgLmlzby1ydQor
ICAgIEFkZENoYXJzZXQgS09JOC1SICAgICAgIC5rb2k4LXIKKyAgICBBZGRDaGFyc2V0IFVDUy0y
ICAgICAgICAudWNzMgorICAgIEFkZENoYXJzZXQgVUNTLTQgICAgICAgIC51Y3M0CisgICAgQWRk
Q2hhcnNldCBVVEYtOCAgICAgICAgLnV0ZjgKKworICAgIDxJZk1vZHVsZSBtb2RfbmVnb3RpYXRp
b24uYz4KKyAgICAgICAgTGFuZ3VhZ2VQcmlvcml0eSBlbiBkYSBubCBldCBmciBkZSBlbCBpdCBq
YSBrciBubyBwbCBwdCBwdC1iciBydSBsdHogY2EgZXMgc3YgdHcKKyAgICA8L0lmTW9kdWxlPgor
CisgICAgQWRkVHlwZSBhcHBsaWNhdGlvbi94LXRhciAudGd6CisKKyAgICBBZGRFbmNvZGluZyB4
LWNvbXByZXNzIC5aCisgICAgQWRkRW5jb2RpbmcgeC1nemlwIC5neiAudGd6CisKKyAgICBBZGRI
YW5kbGVyIGNnaS1zY3JpcHQgLmNnaSAucGwKKworICAgIEFkZFR5cGUgdGV4dC9odG1sIC5zaHRt
bAorICAgIEFkZEhhbmRsZXIgc2VydmVyLXBhcnNlZCAuc2h0bWwKKworICAgIEFkZEhhbmRsZXIg
c2VuZC1hcy1pcyBhc2lzCis8L0lmTW9kdWxlPgorCis8SWZNb2R1bGUgbW9kX3BocDUuYz4KKyAg
ICBQSFBJbmlEaXIgIkM6L3hhbXBwL3BocCIKKworICAgIEFkZFR5cGUgYXBwbGljYXRpb24veC1o
dHRwZC1waHAgLnBocAorICAgIEFkZFR5cGUgYXBwbGljYXRpb24veC1odHRwZC1waHAgLmJhdAor
ICAgIEFkZFR5cGUgYXBwbGljYXRpb24veC1odHRwZC1waHAtc291cmNlIC5waHBzCisKKyAgICA8
SWZNb2R1bGUgbW9kX2Rpci5jPgorICAgICAgICBEaXJlY3RvcnlJbmRleCBpbmRleC5odG1sIGlu
ZGV4LnBocAorICAgIDwvSWZNb2R1bGU+CisKKyAgICBwaHBfZmxhZyBsb2dfZXJyb3JzIG9uCisg
ICAgcGhwX2ZsYWcgc2hvcnRfb3Blbl90YWcgb24KKzwvSWZNb2R1bGU+CisKKzxJZk1vZHVsZSBt
b2RfcmV3cml0ZS5jPgorICAgIFJld3JpdGVFbmdpbmUgT24KKyAgICBSZXdyaXRlQ29uZCAle1JF
UVVFU1RfTUVUSE9EfSBeVFJBQ0UKKyAgICBSZXdyaXRlUnVsZSAuKiAtIFtGXQorPC9JZk1vZHVs
ZT4KKworIyBTZWN1cmUgKFNTTC9UTFMpIGNvbm5lY3Rpb25zCisjSW5jbHVkZSBjb25mL2V4dHJh
L2h0dHBkLXNzbC5jb25mCisjCisjIE5vdGU6IFRoZSBmb2xsb3dpbmcgbXVzdCBtdXN0IGJlIHBy
ZXNlbnQgdG8gc3VwcG9ydAorIyAgICAgICBzdGFydGluZyB3aXRob3V0IFNTTCBvbiBwbGF0Zm9y
bXMgd2l0aCBubyAvZGV2L3JhbmRvbSBlcXVpdmFsZW50CisjICAgICAgIGJ1dCBhIHN0YXRpY2Fs
bHkgY29tcGlsZWQtaW4gbW9kX3NzbC4KKyMKKzxJZk1vZHVsZSBzc2xfbW9kdWxlPgorU1NMUmFu
ZG9tU2VlZCBzdGFydHVwIGJ1aWx0aW4KK1NTTFJhbmRvbVNlZWQgY29ubmVjdCBidWlsdGluCis8
L0lmTW9kdWxlPgorCis8VmlydHVhbEhvc3QgKjo4NDQzPgorICAgIFNlcnZlck5hbWUgMTI3LjAu
MC4xCisgICAgU1NMRW5naW5lIE9uCis8L1ZpcnR1YWxIb3N0PgorCisjCisjIEFwcGxlLXNwZWNp
ZmljIGZpbGVzeXN0ZW0gcHJvdGVjdGlvbi4KKyMKKzxGaWxlcyAicnNyYyI+CisgICAgT3JkZXIg
YWxsb3csZGVueQorICAgIERlbnkgZnJvbSBhbGwKKyAgICBTYXRpc2Z5IEFsbAorPC9GaWxlcz4K
KworPERpcmVjdG9yeSAgfiAiLipcLlwubmFtZWRmb3JrIj4KKyAgICBPcmRlciBhbGxvdyxkZW55
CisgICAgRGVueSBmcm9tIGFsbAorICAgIFNhdGlzZnkgQWxsCis8L0RpcmVjdG9yeT4K
</data>
<flag name="review"
          id="270626"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>