<?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>149904</bug_id>
          
          <creation_ts>2015-10-07 16:33:04 -0700</creation_ts>
          <short_desc>[Win] Support 64-bit Build and Testing</short_desc>
          <delta_ts>2015-10-07 17:36:25 -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></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>
    
    <cc>dbates</cc>
    
    <cc>lforschler</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1131467</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-10-07 16:33:04 -0700</bug_when>
    <thetext>Several of our scripts don&apos;t do the right thing if you are attempting to build 64-bit Windows code. This patch corrects that problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131469</commentid>
    <comment_count>1</comment_count>
      <attachid>262655</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-10-07 16:39:55 -0700</bug_when>
    <thetext>Created attachment 262655
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131481</commentid>
    <comment_count>2</comment_count>
      <attachid>262655</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-10-07 17:10:32 -0700</bug_when>
    <thetext>Comment on attachment 262655
Patch

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

&gt; Tools/ChangeLog:29
&gt; +        (WinPort._build_path): Added properly binary target path to _build_path.

This sentence does not read well.

&gt; Tools/ChangeLog:33
&gt; +        ntsd debugger does not understand this argument.

Nit: ntsd =&gt; NTSD

(NTSD is an acronym for (Microsoft) NT Symbolic Debugger)

&gt; Tools/Scripts/build-dumprendertree:64
&gt; +chdir File::Spec-&gt;catdir(&apos;Tools&apos;, &apos;DumpRenderTree&apos;) or die;

We use double quoted string literals in Perl code unless the literal contains a double quote or we explicitly do not want string interpolation to be performed.

&gt; Tools/Scripts/webkitdirs.pm:622
&gt; +    my $binDir;

This is OK as-is. I don&apos;t see the need to abbreviate the word &quot;directory&quot; in the variable name &quot;binDir&quot;. I know we use this abbreviation throughout the code, including in the name &quot;productDir&quot;. Having said that, I don&apos;t feel we should continue such a naming convention.

&gt; Tools/Scripts/webkitpy/port/factory.py:67
&gt; +        optparse.make_option(&apos;--64-bit&apos;, action=&apos;store_const&apos;, const=&apos;x86_64&apos;, default=None, dest=&quot;architecture&quot;,
&gt; +            help=&apos;use 64-bit binaries by default (x86_64 instead of x86)&apos;),

This is OK as-is. I know you are just mimicking the existing code style. It&apos;s weird that we alternate between using single quoted and double quoted literals.

&gt; Tools/Scripts/webkitpy/port/win.py:131
&gt; +            binPath = &apos;bin32&apos;

Nit: In Python code variable names should use the words separated by underscores naming convention. The name of this variable is also inconsistent with the name of the analogous variable used in the webkitdirs::executableProductDir(), binDir. I suggest that we name this variable bin_directory to be consistent. Regardless, we should pick a name for the variable that represents the name of the bin directory and use in both the Perl and the Python code up to naming convention style for consistency.

&gt; Tools/Scripts/webkitpy/port/win.py:176
&gt; +                self._filesystem.join(os.environ[&apos;SYSTEMROOT&apos;], &quot;system32&quot;, &quot;ntsd.exe&quot;)]

This is OK as-is. This path is identical in both the 64-bit and 32-bit cases. Instead of duplicating this path for both branches we could append it to possible_paths outside of this if-else block.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131487</commentid>
    <comment_count>3</comment_count>
      <attachid>262655</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-10-07 17:34:02 -0700</bug_when>
    <thetext>Comment on attachment 262655
Patch

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

&gt;&gt; Tools/ChangeLog:29
&gt;&gt; +        (WinPort._build_path): Added properly binary target path to _build_path.
&gt; 
&gt; This sentence does not read well.

You&apos;re right! I&apos;ll fix that.

&gt;&gt; Tools/ChangeLog:33
&gt;&gt; +        ntsd debugger does not understand this argument.
&gt; 
&gt; Nit: ntsd =&gt; NTSD
&gt; 
&gt; (NTSD is an acronym for (Microsoft) NT Symbolic Debugger)

Ok -- I&apos;ll correct that.

&gt;&gt; Tools/Scripts/build-dumprendertree:64
&gt;&gt; +chdir File::Spec-&gt;catdir(&apos;Tools&apos;, &apos;DumpRenderTree&apos;) or die;
&gt; 
&gt; We use double quoted string literals in Perl code unless the literal contains a double quote or we explicitly do not want string interpolation to be performed.

OK. Will fix.

&gt;&gt; Tools/Scripts/webkitdirs.pm:622
&gt;&gt; +    my $binDir;
&gt; 
&gt; This is OK as-is. I don&apos;t see the need to abbreviate the word &quot;directory&quot; in the variable name &quot;binDir&quot;. I know we use this abbreviation throughout the code, including in the name &quot;productDir&quot;. Having said that, I don&apos;t feel we should continue such a naming convention.

I&apos;ll change these to &apos;directory&apos;, since these are all local values, and won&apos;t cause much of a renaming-ripple-effect.

&gt;&gt; Tools/Scripts/webkitpy/port/win.py:131
&gt;&gt; +            binPath = &apos;bin32&apos;
&gt; 
&gt; Nit: In Python code variable names should use the words separated by underscores naming convention. The name of this variable is also inconsistent with the name of the analogous variable used in the webkitdirs::executableProductDir(), binDir. I suggest that we name this variable bin_directory to be consistent. Regardless, we should pick a name for the variable that represents the name of the bin directory and use in both the Perl and the Python code up to naming convention style for consistency.

OK. I actually changed it to &apos;binary_directory&apos;, since I used &apos;binaryDirectory&apos; in the Perl change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131490</commentid>
    <comment_count>4</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-10-07 17:36:25 -0700</bug_when>
    <thetext>Committed r190698: &lt;http://trac.webkit.org/changeset/190698&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262655</attachid>
            <date>2015-10-07 16:39:55 -0700</date>
            <delta_ts>2015-10-07 17:10:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149904-20151007165624.patch</filename>
            <type>text/plain</type>
            <size>13172</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE5MDY5NCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDM3IEBACisyMDE1LTEwLTA3ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29t
PgorCisgICAgICAgIFtXaW5dIFN1cHBvcnQgNjQtYml0IEJ1aWxkIGFuZCBUZXN0aW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDk5MDQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFeHRlbmQgb3VyIGV4
aXN0aW5nIHNjcmlwdHMgdG8gc3VwcG9ydCA2NC1iaXQgYnVpbGQgYW5kIHRlc3Qgb3BlcmF0aW9u
cyBvbgorICAgICAgICBXaW5kb3dzLgorCisgICAgICAgICogU2NyaXB0cy9idWlsZC1kdW1wcmVu
ZGVydHJlZTogV2UgZG9uJ3QgbmVlZCB0byBidWlsZCBEUlQgb24gaXRzIG93bjsKKyAgICAgICAg
V2luZG93cyBhbHdheXMgYnVpbGRzIHRoZSB3aG9sZSBzdGFjay4KKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdC1idWlsZC1kaXJlY3Rvcnk6IEFkZCBhbiBvcHRpb24gdG8gcmV0dXJuIHRoZSBsb2Nh
dGlvbiBvZgorICAgICAgICB0aGUgZXhlY3V0YWJsZSBmaWxlcyBwcm9kdWNlZCBieSBhIHNwZWNp
ZmljIGNvbmZpZ3VyYXRpb24uIFRoaXMgY2hhbmdlIGlzCisgICAgICAgIGFjdHVhbGx5IHVzZWZ1
bCBmb3IgR3RrIGFuZCBFRkwsIHRvby4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdGRpcnMucG06
CisgICAgICAgIChleGVjdXRhYmxlUHJvZHVjdERpcik6IEFkZGVkLiBUaGlzIGZ1bmN0aW9uIGFw
cGVuZHMgdGhlIHByb3BlciBiaW5hcnkKKyAgICAgICAgcGF0aCB0byB0aGUgcHJvZHVjdERpci4g
VGhpcyBpcyB1c2VmdWwgZm9yIFdpbmRvd3MsIEd0aywgYW5kIEVGTCBwb3J0cy4KKyAgICAgICAg
KGpzY1Byb2R1Y3REaXIpOiBVc2UgdGhlIG5ldyAnZXhlY3V0YWJsZVByb2R1Y3REaXInIG1ldGhv
ZC4KKyAgICAgICAgKHNldFBhdGhGb3JSdW5uaW5nV2ViS2l0QXBwKTogRGl0dG8uCisgICAgICAg
IChydW5TYWZhcmkpOiBEaXR0by4KKyAgICAgICAgKHJ1bk1pbmlCcm93c2VyKTogRGl0dG8uCisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2ZhY3RvcnkucHk6CisgICAgICAgIChjb25m
aWd1cmF0aW9uX29wdGlvbnMpOiBBZGQgYSA2NC1iaXQgb3B0aW9uLCB1c2VkIG9uIFdpbmRvd3Mg
dG8gc3BlY2lmeQorICAgICAgICB3aGljaCBiaW5hcnkgdGFyZ2V0IHNob3VsZCBiZSB1c2VkIGZv
ciB0ZXN0aW5nLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC93aW4ucHk6CisgICAg
ICAgIChXaW5Qb3J0Ll9wb3J0X2ZsYWdfZm9yX3NjcmlwdHMpOiBBZGRlZC4gU3VwcGx5IHRoZSA2
NC1iaXQgZmxhZyB0byBjaGlsZAorICAgICAgICBwcm9jZXNzZXMgd2hlbiBuZWVkZWQuCisgICAg
ICAgIChXaW5Qb3J0Ll9idWlsZF9wYXRoKTogQWRkZWQgcHJvcGVybHkgYmluYXJ5IHRhcmdldCBw
YXRoIHRvIF9idWlsZF9wYXRoLgorICAgICAgICAoV2luUG9ydC5fbnRzZF9sb2NhdGlvbik6IENo
ZWNrIDMyLWJpdCBwYXRocyB3aGVuIHJ1bm5pbmcgMzItYml0IHRlc3RzLAorICAgICAgICA2NC1i
aXQgcGF0aHMgZm9yIDY0LWJpdCB0ZXN0cy4KKyAgICAgICAgKFdpblBvcnQuc2V0dXBfY3Jhc2hf
bG9nX3NhdmluZyk6IFJlbW92ZSAnLWUgJWxkJyBhcmd1bWVudCwgc2luY2UgdGhlCisgICAgICAg
IG50c2QgZGVidWdnZXIgZG9lcyBub3QgdW5kZXJzdGFuZCB0aGlzIGFyZ3VtZW50LgorCiAyMDE1
LTEwLTA3ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTkwNTcyLCByMTkwNTkzLCByMTkwNTk0LCBhbmQK
SW5kZXg6IFRvb2xzL1NjcmlwdHMvYnVpbGQtZHVtcHJlbmRlcnRyZWUKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvU2NyaXB0cy9idWlsZC1kdW1wcmVuZGVydHJlZQkocmV2aXNpb24gMTkwNjQ4KQorKysg
VG9vbHMvU2NyaXB0cy9idWlsZC1kdW1wcmVuZGVydHJlZQkod29ya2luZyBjb3B5KQpAQCAtNjEs
MTcgKzYxLDE0IEBAIHNldENvbmZpZ3VyYXRpb24oKTsKIGNoZGlyV2ViS2l0KCk7CiAKICMgQnVp
bGQKLWNoZGlyICJUb29scy9EdW1wUmVuZGVyVHJlZSIgb3IgZGllOworY2hkaXIgRmlsZTo6U3Bl
Yy0+Y2F0ZGlyKCdUb29scycsICdEdW1wUmVuZGVyVHJlZScpIG9yIGRpZTsKIAogbXkgJHJlc3Vs
dDsKIGlmIChpc0FwcGxlTWFjV2ViS2l0KCkpIHsKICAgICBteSBAdGFyZ2V0ID0gaXNJT1NXZWJL
aXQoKSA/ICgiLXRhcmdldCIsICJEdW1wUmVuZGVyVHJlZS5hcHAiKSA6ICgpOwogICAgICRyZXN1
bHQgPSBidWlsZFhDb2RlUHJvamVjdCgiRHVtcFJlbmRlclRyZWUiLCAkY2xlYW4sIFhjb2RlT3B0
aW9ucygpLCAoQEFSR1YsIEB0YXJnZXQpKTsKLX0gZWxzaWYgKGlzQXBwbGVXaW5XZWJLaXQoKSkg
ewotICAgIG15ICRkcnRTb2x1dGlvblBhdGggPSAiRHVtcFJlbmRlclRyZWUudmN4cHJvai9EdW1w
UmVuZGVyVHJlZS5zbG4iOwotICAgICRyZXN1bHQgPSBidWlsZFZpc3VhbFN0dWRpb1Byb2plY3Qo
JGRydFNvbHV0aW9uUGF0aCwgJGNsZWFuKTsKLX0gZWxzaWYgKGlzR3RrKCkgfHwgaXNFZmwoKSkg
ewotICAgICMgR3RrIGFuZCBFRkwgYnVpbGQgZXZlcnl0aGluZyBpbiBvbmUgc2hvdC4gTm8gbmVl
ZCB0byBidWlsZCBhbnl0aGluZyBoZXJlLgorfSBlbHNpZiAoaXNHdGsoKSB8fCBpc0VmbCgpIHx8
IGlzQW55V2luZG93cygpKSB7CisgICAgIyBHdGssIEVGTCwgYW5kIFdpbmRvd3MgYnVpbGQgZXZl
cnl0aGluZyBpbiBvbmUgc2hvdC4gTm8gbmVlZCB0byBidWlsZCBhbnl0aGluZyBoZXJlLgogICAg
ICRyZXN1bHQgPSAwOwogfSBlbHNlIHsKICAgICBkaWUgIkJ1aWxkaW5nIG5vdCBkZWZpbmVkIGZv
ciB0aGlzIHBsYXRmb3JtIVxuIjsKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0LWJ1aWxkLWRp
cmVjdG9yeQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdC1idWlsZC1kaXJlY3Rv
cnkJKHJldmlzaW9uIDE5MDY0OCkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0LWJ1aWxkLWRpcmVj
dG9yeQkod29ya2luZyBjb3B5KQpAQCAtMSw3ICsxLDcgQEAKICMhL3Vzci9iaW4vcGVybCAtdwog
CiAjIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
IyBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIyBD
b3B5cmlnaHQgKEMpIDIwMTMsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
IwogIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKICMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zNiw2ICszNiw3IEBAIHVzZSBsaWIgJEZp
bmRCaW46OkJpbjsKIHVzZSB3ZWJraXRkaXJzOwogCiBteSAkc2hvd0NvbmZpZ3VyYXRpb25EaXJl
Y3RvcnkgPSAwOworbXkgJHNob3dFeGVjdXRhYmxlUGF0aCA9IDA7CiBteSAkc2hvd0hlbHAgPSAw
OwogbXkgJHNob3dUb3BMZXZlbERpcmVjdG9yeSA9IDA7CiAKQEAgLTQ0LDYgKzQ1LDcgQEAgbXkg
JHByb2dyYW1OYW1lID0gYmFzZW5hbWUoJDApOwogbXkgJHVzYWdlID0gPDxFT0Y7CiBVc2FnZTog
JHByb2dyYW1OYW1lIFtvcHRpb25zXQogICAtLWNvbmZpZ3VyYXRpb24gICAgICAgU2hvdyB0aGUg
YnVpbGQgZGlyZWN0b3J5IGZvciBhIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gKGUuZy4gRGVidWcs
IFJlbGVhc2UuICBEZWZhdWx0cyB0byB0aGUgYWN0aXZlIGNvbmZpZ3VyYXRpb24gc2V0IGJ5IHNl
dC13ZWJraXQtY29uZmlndXJhdGlvbikKKyAgLS1leGVjdXRhYmxlUGF0aCAgICAgIFNob3cgdGhl
IHBhdGggdG8gdGhlIGV4ZWN1dGFibGVzIHByb2R1Y2VkIGJ5IGEgc3BlY2lmaWMgYnVpbGQgY29u
ZmlndXJhdGlvbi4gVGhpcyBkaWZmZXJzIGZyb20gLS1jb25maWd1cmF0aW9uIG9uIFdpbmRvd3Mu
CiAgIC1ofC0taGVscCAgICAgICAgICAgICBTaG93IHRoaXMgaGVscCBtZXNzYWdlCiAgIC0tdG9w
LWxldmVsICAgICAgICAgICBTaG93IHRoZSB0b3AtbGV2ZWwgYnVpbGQgZGlyZWN0b3J5CiAKQEAg
LTYwLDYgKzYyLDcgQEAgc2V0Q29uZmlndXJhdGlvbigpOyAjIEZpZ3VyZSBvdXQgZnJvbSB0aAog
R2V0b3B0OjpMb25nOjpDb25maWd1cmUoJ3Bhc3NfdGhyb3VnaCcpOyAjIExldCAtLWJsYWNrYmVy
cnksIGV0Yy4uLiBiZSBoYW5kbGVkIGJ5IHdlYmtpdGRpcnMKIG15ICRnZXRPcHRpb25zUmVzdWx0
ID0gR2V0T3B0aW9ucygKICAgICAnY29uZmlndXJhdGlvbicgPT4gXCRzaG93Q29uZmlndXJhdGlv
bkRpcmVjdG9yeSwKKyAgICAnZXhlY3V0YWJsZVBhdGgnID0+IFwkc2hvd0V4ZWN1dGFibGVQYXRo
LAogICAgICd0b3AtbGV2ZWwnID0+IFwkc2hvd1RvcExldmVsRGlyZWN0b3J5LAogICAgICdoZWxw
fGgnID0+IFwkc2hvd0hlbHAsCiApOwpAQCAtNjksMTEgKzcyLDEzIEBAIGlmICghJGdldE9wdGlv
bnNSZXN1bHQgfHwgJHNob3dIZWxwKSB7CiAgICAgZXhpdCAxOwogfQogCi1pZiAoISRzaG93Q29u
ZmlndXJhdGlvbkRpcmVjdG9yeSAmJiAhJHNob3dUb3BMZXZlbERpcmVjdG9yeSkgeworaWYgKCEk
c2hvd0NvbmZpZ3VyYXRpb25EaXJlY3RvcnkgJiYgISRzaG93VG9wTGV2ZWxEaXJlY3RvcnkgJiYg
ISRzaG93RXhlY3V0YWJsZVBhdGgpIHsKICAgICBwcmludCBiYXNlUHJvZHVjdERpcigpIC4gIlxu
IjsKICAgICBwcmludCBwcm9kdWN0RGlyKCkgLiAiXG4iOwogfSBlbHNpZiAoJHNob3dUb3BMZXZl
bERpcmVjdG9yeSkgewogICAgIHByaW50IGJhc2VQcm9kdWN0RGlyKCkgLiAiXG4iOworfSBlbHNp
ZiAoJHNob3dFeGVjdXRhYmxlUGF0aCkgeworICAgIHByaW50IGV4ZWN1dGFibGVQcm9kdWN0RGly
KCkgLiAiXG4iOwogfSBlbHNlIHsKICAgICBwcmludCBwcm9kdWN0RGlyKCkgLiAiXG4iOwogfQpJ
bmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Nj
cmlwdHMvd2Via2l0ZGlycy5wbQkocmV2aXNpb24gMTkwNjQ4KQorKysgVG9vbHMvU2NyaXB0cy93
ZWJraXRkaXJzLnBtCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNCBAQAotIyBDb3B5cmlnaHQg
KEMpIDIwMDUtMjAwNywgMjAxMC0yMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyMgQ29weXJpZ2h0IChDKSAyMDA1LTIwMDcsIDIwMTAtMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAjIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogIyBDb3B5cmlnaHQgKEMpIDIwMTEgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0
ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAjIENvcHlyaWdodCAoQykgMjAxMyBOb2tpYSBDb3Jw
b3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCkBAIC02NSw2ICs2NSw3IEBAIEJF
R0lOIHsKICAgICAgICAmY21ha2VCYXNlZFBvcnROYW1lCiAgICAgICAgJmN1cnJlbnRTVk5SZXZp
c2lvbgogICAgICAgICZkZWJ1Z1NhZmFyaQorICAgICAgICZleGVjdXRhYmxlUHJvZHVjdERpcgog
ICAgICAgICZmaW5kT3JDcmVhdGVTaW11bGF0b3JGb3JJT1NEZXZpY2UKICAgICAgICAmaW9zU2lt
dWxhdG9yRGV2aWNlQnlOYW1lCiAgICAgICAgJm5tUGF0aApAQCAtNjE0LDE2ICs2MTUsMjUgQEAg
c3ViIHByb2R1Y3REaXIKICAgICByZXR1cm4gJGNvbmZpZ3VyYXRpb25Qcm9kdWN0RGlyOwogfQog
Ci1zdWIganNjUHJvZHVjdERpcgorc3ViIGV4ZWN1dGFibGVQcm9kdWN0RGlyCiB7CiAgICAgbXkg
JHByb2R1Y3REaXIgPSBwcm9kdWN0RGlyKCk7Ci0gICAgJHByb2R1Y3REaXIgLj0gIi9iaW4iIGlm
IChpc0VmbCgpIHx8IGlzR3RrKCkpOwotICAgIGlmIChpc0FueVdpbmRvd3MoKSkgewotICAgICAg
ICBteSAkYmluRGlyID0gaXNXaW42NCgpID8gImJpbjY0IiA6ICJiaW4zMiI7Ci0gICAgICAgICRw
cm9kdWN0RGlyID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKCRwcm9kdWN0RGlyLCAkYmluRGlyKTsKKwor
ICAgIG15ICRiaW5EaXI7CisgICAgaWYgKGlzRWZsKCkgfHwgaXNHdGsoKSkgeworICAgICAgICAk
YmluRGlyID0gImJpbiI7CisgICAgfSBlbHNpZiAoaXNBbnlXaW5kb3dzKCkpIHsKKyAgICAgICAg
JGJpbkRpciA9IGlzV2luNjQoKSA/ICJiaW42NCIgOiAiYmluMzIiOworICAgIH0gZWxzZSB7Cisg
ICAgICAgIHJldHVybiAkcHJvZHVjdERpcjsKICAgICB9CiAKLSAgICByZXR1cm4gJHByb2R1Y3RE
aXI7CisgICAgcmV0dXJuIEZpbGU6OlNwZWMtPmNhdGRpcigkcHJvZHVjdERpciwgJGJpbkRpcik7
Cit9CisKK3N1YiBqc2NQcm9kdWN0RGlyCit7CisgICAgcmV0dXJuIGV4ZWN1dGFibGVQcm9kdWN0
RGlyKCk7CiB9CiAKIHN1YiBjb25maWd1cmF0aW9uKCkKQEAgLTIwMzIsOCArMjA0Miw3IEBAIHN1
YiBzZXRQYXRoRm9yUnVubmluZ1dlYktpdEFwcAogICAgIG15ICgkZW52KSA9IEBfOwogCiAgICAg
aWYgKGlzQW55V2luZG93cygpKSB7Ci0gICAgICAgIG15ICRiaW5EaXIgPSBpc1dpbjY0KCkgPyAi
YmluNjQiIDogImJpbjMyIjsKLSAgICAgICAgbXkgJHByb2R1Y3RCaW5hcnlEaXIgPSBGaWxlOjpT
cGVjLT5jYXRkaXIocHJvZHVjdERpcigpLCAkYmluRGlyKTsKKyAgICAgICAgbXkgJHByb2R1Y3RC
aW5hcnlEaXIgPSBleGVjdXRhYmxlUHJvZHVjdERpcigpOwogICAgICAgICBpZiAoaXNBcHBsZVdp
bldlYktpdCgpKSB7CiAgICAgICAgICAgICAkZW52LT57UEFUSH0gPSBqb2luKCc6JywgJHByb2R1
Y3RCaW5hcnlEaXIsIGFwcGxlQXBwbGljYXRpb25TdXBwb3J0UGF0aCgpLCAkZW52LT57UEFUSH0g
fHwgIiIpOwogICAgICAgICB9IGVsc2lmIChpc1dpbkNhaXJvKCkpIHsKQEAgLTI0NDAsOSArMjQ0
OSw3IEBAIHN1YiBydW5TYWZhcmkKIAogICAgIGlmIChpc0FwcGxlV2luV2ViS2l0KCkpIHsKICAg
ICAgICAgbXkgJHJlc3VsdDsKLSAgICAgICAgbXkgJHByb2R1Y3REaXIgPSBwcm9kdWN0RGlyKCk7
Ci0gICAgICAgIG15ICRiaW5EaXIgPSBpc1dpbjY0KCkgPyAiYmluNjQiIDogImJpbjMyIjsKLSAg
ICAgICAgbXkgJHdlYktpdExhdW5jaGVyUGF0aCA9IEZpbGU6OlNwZWMtPmNhdGZpbGUocHJvZHVj
dERpcigpLCAkYmluRGlyLCAiTWluaUJyb3dzZXIuZXhlIik7CisgICAgICAgIG15ICR3ZWJLaXRM
YXVuY2hlclBhdGggPSBGaWxlOjpTcGVjLT5jYXRmaWxlKGV4ZWN1dGFibGVQcm9kdWN0RGlyKCks
ICJNaW5pQnJvd3Nlci5leGUiKTsKICAgICAgICAgcmV0dXJuIHN5c3RlbSB7ICR3ZWJLaXRMYXVu
Y2hlclBhdGggfSAkd2ViS2l0TGF1bmNoZXJQYXRoLCBAQVJHVjsKICAgICB9CiAKQEAgLTI0NTUs
OSArMjQ2Miw3IEBAIHN1YiBydW5NaW5pQnJvd3NlcgogICAgICAgICByZXR1cm4gcnVuTWFjV2Vi
S2l0QXBwKEZpbGU6OlNwZWMtPmNhdGZpbGUocHJvZHVjdERpcigpLCAiTWluaUJyb3dzZXIuYXBw
IiwgIkNvbnRlbnRzIiwgIk1hY09TIiwgIk1pbmlCcm93c2VyIikpOwogICAgIH0gZWxzaWYgKGlz
QXBwbGVXaW5XZWJLaXQoKSkgewogICAgICAgICBteSAkcmVzdWx0OwotICAgICAgICBteSAkcHJv
ZHVjdERpciA9IHByb2R1Y3REaXIoKTsKLSAgICAgICAgbXkgJGJpbkRpciA9IGlzV2luNjQoKSA/
ICJiaW42NCIgOiAiYmluMzIiOwotICAgICAgICBteSAkd2ViS2l0TGF1bmNoZXJQYXRoID0gRmls
ZTo6U3BlYy0+Y2F0ZmlsZShwcm9kdWN0RGlyKCksICRiaW5EaXIsICJNaW5pQnJvd3Nlci5leGUi
KTsKKyAgICAgICAgbXkgJHdlYktpdExhdW5jaGVyUGF0aCA9IEZpbGU6OlNwZWMtPmNhdGZpbGUo
ZXhlY3V0YWJsZVByb2R1Y3REaXIoKSwgIk1pbmlCcm93c2VyLmV4ZSIpOwogICAgICAgICByZXR1
cm4gc3lzdGVtIHsgJHdlYktpdExhdW5jaGVyUGF0aCB9ICR3ZWJLaXRMYXVuY2hlclBhdGgsIEBB
UkdWOwogICAgIH0KIApJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2ZhY3Rvcnku
cHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2ZhY3RvcnkucHkJ
KHJldmlzaW9uIDE5MDY0OCkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9mYWN0b3J5
LnB5CSh3b3JraW5nIGNvcHkpCkBAIC02Myw2ICs2Myw4IEBAIGRlZiBjb25maWd1cmF0aW9uX29w
dGlvbnMoKToKICAgICAgICAgICAgIGhlbHA9J1NldCB0aGUgY29uZmlndXJhdGlvbiB0byBEZWJ1
ZycpLAogICAgICAgICBvcHRwYXJzZS5tYWtlX29wdGlvbignLS1yZWxlYXNlJywgYWN0aW9uPSdz
dG9yZV9jb25zdCcsIGNvbnN0PSdSZWxlYXNlJywgZGVzdD0iY29uZmlndXJhdGlvbiIsCiAgICAg
ICAgICAgICBoZWxwPSdTZXQgdGhlIGNvbmZpZ3VyYXRpb24gdG8gUmVsZWFzZScpLAorICAgICAg
ICBvcHRwYXJzZS5tYWtlX29wdGlvbignLS02NC1iaXQnLCBhY3Rpb249J3N0b3JlX2NvbnN0Jywg
Y29uc3Q9J3g4Nl82NCcsIGRlZmF1bHQ9Tm9uZSwgZGVzdD0iYXJjaGl0ZWN0dXJlIiwKKyAgICAg
ICAgICAgIGhlbHA9J3VzZSA2NC1iaXQgYmluYXJpZXMgYnkgZGVmYXVsdCAoeDg2XzY0IGluc3Rl
YWQgb2YgeDg2KScpLAogICAgICAgICBvcHRwYXJzZS5tYWtlX29wdGlvbignLS0zMi1iaXQnLCBh
Y3Rpb249J3N0b3JlX2NvbnN0JywgY29uc3Q9J3g4NicsIGRlZmF1bHQ9Tm9uZSwgZGVzdD0iYXJj
aGl0ZWN0dXJlIiwKICAgICAgICAgICAgIGhlbHA9J3VzZSAzMi1iaXQgYmluYXJpZXMgYnkgZGVm
YXVsdCAoeDg2IGluc3RlYWQgb2YgeDg2XzY0KScpLAogICAgICAgICBdCkluZGV4OiBUb29scy9T
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvd2luLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcG9ydC93aW4ucHkJKHJldmlzaW9uIDE5MDY0OCkKKysrIFRvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcG9ydC93aW4ucHkJKHdvcmtpbmcgY29weSkKQEAgLTEwMSw2ICsxMDEsMTEgQEAg
Y2xhc3MgV2luUG9ydChBcHBsZVBvcnQpOgogICAgIGRlZiBkZWZhdWx0X2NoaWxkX3Byb2Nlc3Nl
cyhzZWxmKToKICAgICAgICAgcmV0dXJuIDEKIAorICAgIGRlZiBfcG9ydF9mbGFnX2Zvcl9zY3Jp
cHRzKHNlbGYpOgorICAgICAgICBpZiBzZWxmLmdldF9vcHRpb24oJ2FyY2hpdGVjdHVyZScpID09
ICd4ODZfNjQnOgorICAgICAgICAgICAgcmV0dXJuICctLTY0LWJpdCcKKyAgICAgICAgcmV0dXJu
IE5vbmUKKwogICAgIGRlZiBzaG93X3Jlc3VsdHNfaHRtbF9maWxlKHNlbGYsIHJlc3VsdHNfZmls
ZW5hbWUpOgogICAgICAgICBzZWxmLl9ydW5fc2NyaXB0KCdydW4tc2FmYXJpJywgW2Fic3BhdGhf
dG9fdXJpKFN5c3RlbUhvc3QoKS5wbGF0Zm9ybSwgcmVzdWx0c19maWxlbmFtZSldKQogCkBAIC0x
MjMsNyArMTI4LDEwIEBAIGNsYXNzIFdpblBvcnQoQXBwbGVQb3J0KToKICAgICAgICAgcm9vdF9k
aXJlY3RvcnkgPSBzZWxmLmdldF9vcHRpb24oJ3Jvb3QnKQogICAgICAgICBpZiBub3Qgcm9vdF9k
aXJlY3Rvcnk6CiAgICAgICAgICAgICBBcHBsZVBvcnQuX2J1aWxkX3BhdGgoc2VsZiwgKmNvbXBz
KQotICAgICAgICAgICAgcm9vdF9kaXJlY3RvcnkgPSBzZWxmLl9maWxlc3lzdGVtLmpvaW4oc2Vs
Zi5nZXRfb3B0aW9uKCdyb290JyksICJiaW4zMiIpCisgICAgICAgICAgICBiaW5QYXRoID0gJ2Jp
bjMyJworICAgICAgICAgICAgaWYgc2VsZi5nZXRfb3B0aW9uKCdhcmNoaXRlY3R1cmUnKSA9PSAn
eDg2XzY0JzoKKyAgICAgICAgICAgICAgICBiaW5QYXRoID0gJ2JpbjY0JworICAgICAgICAgICAg
cm9vdF9kaXJlY3RvcnkgPSBzZWxmLl9maWxlc3lzdGVtLmpvaW4oc2VsZi5nZXRfb3B0aW9uKCdy
b290JyksIGJpblBhdGgpCiAgICAgICAgICAgICBzZWxmLnNldF9vcHRpb24oJ3Jvb3QnLCByb290
X2RpcmVjdG9yeSkKIAogICAgICAgICByZXR1cm4gc2VsZi5fZmlsZXN5c3RlbS5qb2luKHNlbGYu
X2ZpbGVzeXN0ZW0uYWJzcGF0aChyb290X2RpcmVjdG9yeSksICpjb21wcykKQEAgLTE1NSwxMiAr
MTYzLDE3IEBAIGNsYXNzIFdpblBvcnQoQXBwbGVQb3J0KToKICAgICBkZWYgX250c2RfbG9jYXRp
b24oc2VsZik6CiAgICAgICAgIGlmICdQUk9HUkFNRklMRVMnIG5vdCBpbiBvcy5lbnZpcm9uOgog
ICAgICAgICAgICAgcmV0dXJuIE5vbmUKLSAgICAgICAgcG9zc2libGVfcGF0aHMgPSBbc2VsZi5f
ZmlsZXN5c3RlbS5qb2luKG9zLmVudmlyb25bJ1BST0dSQU1GSUxFUyddLCAiV2luZG93cyBLaXRz
IiwgIjguMSIsICJEZWJ1Z2dlcnMiLCAieDg2IiwgIm50c2QuZXhlIiksCi0gICAgICAgICAgICBz
ZWxmLl9maWxlc3lzdGVtLmpvaW4ob3MuZW52aXJvblsnUFJPR1JBTUZJTEVTJ10sICJXaW5kb3dz
IEtpdHMiLCAiOC4xIiwgIkRlYnVnZ2VycyIsICJ4NjQiLCAibnRzZC5leGUiKSwKLSAgICAgICAg
ICAgIHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihvcy5lbnZpcm9uWydQUk9HUkFNRklMRVMnXSwgIldp
bmRvd3MgS2l0cyIsICI4LjAiLCAiRGVidWdnZXJzIiwgIng4NiIsICJudHNkLmV4ZSIpLAotICAg
ICAgICAgICAgc2VsZi5fZmlsZXN5c3RlbS5qb2luKG9zLmVudmlyb25bJ1BST0dSQU1GSUxFUydd
LCAiV2luZG93cyBLaXRzIiwgIjguMCIsICJEZWJ1Z2dlcnMiLCAieDY0IiwgIm50c2QuZXhlIiks
Ci0gICAgICAgICAgICBzZWxmLl9maWxlc3lzdGVtLmpvaW4ob3MuZW52aXJvblsnUFJPR1JBTUZJ
TEVTJ10sICJEZWJ1Z2dpbmcgVG9vbHMgZm9yIFdpbmRvd3MgKHg4NikiLCAibnRzZC5leGUiKSwK
LSAgICAgICAgICAgIHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihvcy5lbnZpcm9uWydTWVNURU1ST09U
J10sICJzeXN0ZW0zMiIsICJudHNkLmV4ZSIpXQorICAgICAgICBpZiBzZWxmLmdldF9vcHRpb24o
J2FyY2hpdGVjdHVyZScpID09ICd4ODZfNjQnOgorICAgICAgICAgICAgcG9zc2libGVfcGF0aHMg
PSBbc2VsZi5fZmlsZXN5c3RlbS5qb2luKG9zLmVudmlyb25bJ1BST0dSQU1GSUxFUyddLCAiV2lu
ZG93cyBLaXRzIiwgIjEwIiwgIkRlYnVnZ2VycyIsICJ4NjQiLCAibnRzZC5leGUiKSwKKyAgICAg
ICAgICAgICAgICBzZWxmLl9maWxlc3lzdGVtLmpvaW4ob3MuZW52aXJvblsnUFJPR1JBTUZJTEVT
J10sICJXaW5kb3dzIEtpdHMiLCAiOC4xIiwgIkRlYnVnZ2VycyIsICJ4NjQiLCAibnRzZC5leGUi
KSwKKyAgICAgICAgICAgICAgICBzZWxmLl9maWxlc3lzdGVtLmpvaW4ob3MuZW52aXJvblsnUFJP
R1JBTUZJTEVTJ10sICJXaW5kb3dzIEtpdHMiLCAiOC4wIiwgIkRlYnVnZ2VycyIsICJ4NjQiLCAi
bnRzZC5leGUiKSwKKyAgICAgICAgICAgICAgICBzZWxmLl9maWxlc3lzdGVtLmpvaW4ob3MuZW52
aXJvblsnU1lTVEVNUk9PVCddLCAic3lzdGVtMzIiLCAibnRzZC5leGUiKV0KKyAgICAgICAgZWxz
ZToKKyAgICAgICAgICAgIHBvc3NpYmxlX3BhdGhzID0gW3NlbGYuX2ZpbGVzeXN0ZW0uam9pbihv
cy5lbnZpcm9uWydQUk9HUkFNRklMRVMnXSwgIldpbmRvd3MgS2l0cyIsICIxMCIsICJEZWJ1Z2dl
cnMiLCAieDg2IiwgIm50c2QuZXhlIiksCisgICAgICAgICAgICAgICAgc2VsZi5fZmlsZXN5c3Rl
bS5qb2luKG9zLmVudmlyb25bJ1BST0dSQU1GSUxFUyddLCAiV2luZG93cyBLaXRzIiwgIjguMSIs
ICJEZWJ1Z2dlcnMiLCAieDg2IiwgIm50c2QuZXhlIiksCisgICAgICAgICAgICAgICAgc2VsZi5f
ZmlsZXN5c3RlbS5qb2luKG9zLmVudmlyb25bJ1BST0dSQU1GSUxFUyddLCAiV2luZG93cyBLaXRz
IiwgIjguMCIsICJEZWJ1Z2dlcnMiLCAieDg2IiwgIm50c2QuZXhlIiksCisgICAgICAgICAgICAg
ICAgc2VsZi5fZmlsZXN5c3RlbS5qb2luKG9zLmVudmlyb25bJ1BST0dSQU1GSUxFUyddLCAiRGVi
dWdnaW5nIFRvb2xzIGZvciBXaW5kb3dzICh4ODYpIiwgIm50c2QuZXhlIiksCisgICAgICAgICAg
ICAgICAgc2VsZi5fZmlsZXN5c3RlbS5qb2luKG9zLmVudmlyb25bJ1NZU1RFTVJPT1QnXSwgInN5
c3RlbTMyIiwgIm50c2QuZXhlIildCiAgICAgICAgIGlmICdQcm9ncmFtVzY0MzInIGluIG9zLmVu
dmlyb246CiAgICAgICAgICAgICBwb3NzaWJsZV9wYXRocy5hcHBlbmQoc2VsZi5fZmlsZXN5c3Rl
bS5qb2luKG9zLmVudmlyb25bJ1Byb2dyYW1XNjQzMiddLCAiRGVidWdnaW5nIFRvb2xzIGZvciBX
aW5kb3dzICh4NjQpIiwgIm50c2QuZXhlIikpCiAgICAgICAgIGZvciBwYXRoIGluIHBvc3NpYmxl
X3BhdGhzOgpAQCAtMjMzLDcgKzI0Niw3IEBAIGNsYXNzIFdpblBvcnQoQXBwbGVQb3J0KToKICAg
ICAgICAgY29tbWFuZF9maWxlID0gc2VsZi5jcmVhdGVfZGVidWdnZXJfY29tbWFuZF9maWxlKCkK
ICAgICAgICAgaWYgbm90IGNvbW1hbmRfZmlsZToKICAgICAgICAgICAgIHJldHVybiBOb25lCi0g
ICAgICAgIGRlYnVnZ2VyX29wdGlvbnMgPSAnInswfSIgLXAgJWxkIC1lICVsZCAtZyAtbm9pbyAt
bGluZXMgLWNmICJ7MX0iJy5mb3JtYXQoY3lncGF0aChudHNkX3BhdGgpLCBjeWdwYXRoKGNvbW1h
bmRfZmlsZSkpCisgICAgICAgIGRlYnVnZ2VyX29wdGlvbnMgPSAnInswfSIgLXAgJWxkIC1nIC1u
b2lvIC1saW5lcyAtY2YgInsxfSInLmZvcm1hdChjeWdwYXRoKG50c2RfcGF0aCksIGN5Z3BhdGgo
Y29tbWFuZF9maWxlKSkKICAgICAgICAgcmVnaXN0cnlfc2V0dGluZ3MgPSB7J0RlYnVnZ2VyJzog
ZGVidWdnZXJfb3B0aW9ucywgJ0F1dG8nOiAiMSJ9CiAgICAgICAgIGZvciBrZXkgaW4gcmVnaXN0
cnlfc2V0dGluZ3M6CiAgICAgICAgICAgICBmb3IgYXJjaCBpbiBbIi0td293MzIiLCAiLS13b3c2
NCJdOgo=
</data>
<flag name="review"
          id="287845"
          type_id="1"
          status="+"
          setter="dbates"
    />
          </attachment>
      

    </bug>

</bugzilla>