<?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>139916</bug_id>
          
          <creation_ts>2014-12-23 14:31:19 -0800</creation_ts>
          <short_desc>Simplify building with ASan</short_desc>
          <delta_ts>2014-12-23 16:13:39 -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>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="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>dburkart</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>mrowe</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1057654</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-12-23 14:31:19 -0800</bug_when>
    <thetext>Make the following work:

set-webkit-configuration --[no]-asan

Building will just work after this, provided that the installed toolchain supports ASan.

make ASAN=(YES|NO)

This will be equivalent to running set-webkit-configuration, and then make.

Running the binaries in all normal ways will work too, with some caveats (notably, no symbolication, and somewhat broken run-webkit-tests integration).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057657</commentid>
    <comment_count>1</comment_count>
      <attachid>243695</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-12-23 14:39:56 -0800</bug_when>
    <thetext>Created attachment 243695
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057680</commentid>
    <comment_count>2</comment_count>
      <attachid>243695</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2014-12-23 15:48:22 -0800</bug_when>
    <thetext>Comment on attachment 243695
proposed patch

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

&gt; Makefile.shared:60
&gt; +ifneq (,$(ASAN))
&gt; +	$(SCRIPTS_PATH)/set-webkit-configuration $(ASAN_OPTION)
&gt; +endif

This may run set-webkit-configuration when ASAN_OPTIONS hasn&apos;t been set, such as if ASAN=foo is passed. Should we guard this on whether ASAN_OPTION is set instead?

&gt; Tools/Scripts/webkitdirs.pm:366
&gt; +    if (open ASAN, &quot;$baseProductDir/ASan&quot;) {
&gt; +        $asanConfigurationValue = &lt;ASAN&gt;;
&gt; +        close ASAN;
&gt; +    }
&gt; +    if ($asanConfigurationValue) {
&gt; +        chomp $asanConfigurationValue;
&gt; +        $asanIsEnabled = 1 if $asanConfigurationValue eq &quot;YES&quot;;
&gt; +    }

Is there a reason to use two if blocks here? Isn&apos;t it safe to assume $asanConfigurationValue is defined if we were able to open the file?

&gt; Tools/asan/asan.xcconfig:12
&gt; +ASAN_OTHER_LDFLAGS = -fsanitize=address
&gt; +
&gt; +GCC_ENABLE_OBJC_GC = NO

Semicolons at end of line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057689</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-12-23 16:04:13 -0800</bug_when>
    <thetext>&gt; Should we guard this on whether ASAN_OPTION is set instead?

Yes, this makes the behavior consistent with &quot;make debug ASAN=foo&quot;.

&gt; Is there a reason to use two if blocks here? Isn&apos;t it safe to assume $asanConfigurationValue is defined if we were able to open the file?

Probably not, was just following what we do for configuration. I&apos;ll merge these.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057692</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-12-23 16:13:39 -0800</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/r177703&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243695</attachid>
            <date>2014-12-23 14:39:56 -0800</date>
            <delta_ts>2014-12-23 15:48:22 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>BuildWithASan.txt</filename>
            <type>text/plain</type>
            <size>9081</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDE3NzY5
NikKKysrIENoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDE0LTEy
LTIzICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIFNpbXBs
aWZ5IGJ1aWxkaW5nIHdpdGggQVNhbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTM5OTE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBNYWtlZmlsZS5zaGFyZWQ6IEludm9rZSBzZXQtd2Via2l0LWNvbmZp
Z3VyYXRpb24gdG8gc3RvcmUgQVNhbiBjaG9pY2UgYXMgYXBwcm9wcmlhdGUuCisKIDIwMTQtMTIt
MTYgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFVucmV2aWV3ZWQuIFVwZGF0ZSBPcHRpb25zR1RLLmNtYWtlIGFuZCBORVdTIGZvciAyLjcuMyBy
ZWxlYXNlLgpJbmRleDogTWFrZWZpbGUuc2hhcmVkCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIE1ha2VmaWxlLnNo
YXJlZAkocmV2aXNpb24gMTc3NjcwKQorKysgTWFrZWZpbGUuc2hhcmVkCSh3b3JraW5nIGNvcHkp
CkBAIC0yNSwyNyArMjUsNDAgQEAgT1VUUFVUX0ZJTFRFUiA9ICQoU0NSSVBUU19QQVRIKS9maWx0
ZXItYgogZW5kaWYKIGVuZGlmCiAKK2lmZXEgKCQoQVNBTiksWUVTKQorQVNBTl9PUFRJT049LS1h
c2FuCitlbHNlCitpZmVxICgkKEFTQU4pLE5PKQorQVNBTl9PUFRJT049LS1uby1hc2FuCitlbmRp
ZgorZW5kaWYKKwogZXhwb3J0IERTWU1VVElMX05VTV9USFJFQURTID0gJChzaGVsbCBzeXNjdGwg
LW4gaHcuYWN0aXZlY3B1KQogCi1hbGw6CithbGw6IHNldF9hc2FuX2NvbmZpZ3VyYXRpb24KIAko
ICQoU0VUX0NPTE9SX0RJQUdOT1NUSUNTX0FSRyk7IHhjb2RlYnVpbGQgJChPVEhFUl9PUFRJT05T
KSAkKFhDT0RFX09QVElPTlMpIHwgJChPVVRQVVRfRklMVEVSKSAmJiBleGl0ICQke1BJUEVTVEFU
VVNbMF19ICkKIAogZGVidWcgZCBkZXZlbG9wbWVudCBkZXYgZGV2ZWxvcDogZm9yY2UKLQkkKFND
UklQVFNfUEFUSCkvc2V0LXdlYmtpdC1jb25maWd1cmF0aW9uIC0tZGVidWcKKwkkKFNDUklQVFNf
UEFUSCkvc2V0LXdlYmtpdC1jb25maWd1cmF0aW9uIC0tZGVidWcgJChBU0FOX09QVElPTikKIAko
ICQoU0VUX0NPTE9SX0RJQUdOT1NUSUNTX0FSRyk7IHhjb2RlYnVpbGQgJChPVEhFUl9PUFRJT05T
KSAkKFhDT0RFX09QVElPTlMpIHwgJChPVVRQVVRfRklMVEVSKSAmJiBleGl0ICQke1BJUEVTVEFU
VVNbMF19ICkKIAogcmVsZWFzZSByIGRlcGxveW1lbnQgZGVwIGRlcGxveTogZm9yY2UKLQkkKFND
UklQVFNfUEFUSCkvc2V0LXdlYmtpdC1jb25maWd1cmF0aW9uIC0tcmVsZWFzZQorCSQoU0NSSVBU
U19QQVRIKS9zZXQtd2Via2l0LWNvbmZpZ3VyYXRpb24gLS1yZWxlYXNlICQoQVNBTl9PUFRJT04p
CiAJKCAkKFNFVF9DT0xPUl9ESUFHTk9TVElDU19BUkcpOyB4Y29kZWJ1aWxkICQoT1RIRVJfT1BU
SU9OUykgJChYQ09ERV9PUFRJT05TKSB8ICQoT1VUUFVUX0ZJTFRFUikgJiYgZXhpdCAkJHtQSVBF
U1RBVFVTWzBdfSApCiAKIGFuYWx5emU6Ci0JJChTQ1JJUFRTX1BBVEgpL3NldC13ZWJraXQtY29u
ZmlndXJhdGlvbiAtLXJlbGVhc2UKKwkkKFNDUklQVFNfUEFUSCkvc2V0LXdlYmtpdC1jb25maWd1
cmF0aW9uIC0tcmVsZWFzZSAkKEFTQU5fT1BUSU9OKQogaWZuZGVmIFBBVEhfVE9fU0NBTl9CVUlM
RAogCSggJChTRVRfQ09MT1JfRElBR05PU1RJQ1NfQVJHKTsgeGNvZGVidWlsZCAkKE9USEVSX09Q
VElPTlMpICQoWENPREVfT1BUSU9OUykgUlVOX0NMQU5HX1NUQVRJQ19BTkFMWVpFUj1ZRVMgfCAk
KE9VVFBVVF9GSUxURVIpICYmIGV4aXQgJCR7UElQRVNUQVRVU1swXX0gKQogZWxzZQogCSggJChT
RVRfQ09MT1JfRElBR05PU1RJQ1NfQVJHKTsgJChQQVRIX1RPX1NDQU5fQlVJTEQpIHhjb2RlYnVp
bGQgJChPVEhFUl9PUFRJT05TKSAkKFhDT0RFX09QVElPTlMpIHwgJChPVVRQVVRfRklMVEVSKSAm
JiBleGl0ICQke1BJUEVTVEFUVVNbMF19ICkKIGVuZGlmCiAKK3NldF9hc2FuX2NvbmZpZ3VyYXRp
b246CitpZm5lcSAoLCQoQVNBTikpCisJJChTQ1JJUFRTX1BBVEgpL3NldC13ZWJraXQtY29uZmln
dXJhdGlvbiAkKEFTQU5fT1BUSU9OKQorZW5kaWYKKwogY2xlYW46CiAJKCAkKFNFVF9DT0xPUl9E
SUFHTk9TVElDU19BUkcpOyB4Y29kZWJ1aWxkICQoT1RIRVJfT1BUSU9OUykgLWFsbHRhcmdldHMg
Y2xlYW4gJChYQ09ERV9PUFRJT05TKSB8ICQoT1VUUFVUX0ZJTFRFUikgJiYgZXhpdCAkJHtQSVBF
U1RBVFVTWzBdfSApCiAKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3NzY5NikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDE0LTEyLTIzICBBbGV4ZXkgUHJvc2t1cnlha292
ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIFNpbXBsaWZ5IGJ1aWxkaW5nIHdpdGggQVNhbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5OTE2CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRz
L3NldC13ZWJraXQtY29uZmlndXJhdGlvbjogU3RvcmUgQVNhbiBzdGF0ZSBpbnRvIGEgbmV3IGNv
bmZpZ3VyYXRpb24gZmlsZS4KKyAgICAgICAgV2UgY291bGQgYWxzbyB1cGRhdGUgQ29uZmlndXJh
dGlvbiBmaWxlIGZvcm1hdCwgYnV0IHRoYXQncyBhIGxpdHRsZSBzY2FyeSBiZWNhdXNlCisgICAg
ICAgIG9mIGhvdyBtYW55IHBsYWNlcyBpbiBjb2RlIHJlYWQgaXQuCisKKyAgICAgICAgKiBTY3Jp
cHRzL3dlYmtpdGRpcnMucG06CisgICAgICAgIChkZXRlcm1pbmVBU2FuSXNFbmFibGVkKTogUmVh
ZCBpdCBmcm9tIEFTYW4gY29uZmlndXJhdGlvbiBmaWxlLgorICAgICAgICAoYXJndW1lbnRzRm9y
Q29uZmlndXJhdGlvbik6IEFkZGVkIGEgRklYTUUuCisgICAgICAgIChhc2FuSXNFbmFibGVkKTog
QSBjYWNoaW5nIHdyYXBwZXIgc2ltaWxhciB0byB3aGF0IHdlIGhhdmUgZm9yIG90aGVyIGNvbmZp
Z3VyYXRpb24gb3B0aW9ucy4KKyAgICAgICAgKFhjb2RlT3B0aW9ucyk6IFBhc3MgdGhlIG9wdGlv
bnMgbmVlZGVkIGZvciBBU2FuLgorCisgICAgICAgICogYXNhbi9hc2FuLnhjY29uZmlnOiBVc2Ug
dGhlIHJpZ2h0IHRvb2xjaGFpbnMuIE1hZGUgd2FybmluZ3MgZmF0YWwgYWdhaW4sIGFzIHRoZXJl
CisgICAgICAgIG5vIHdhcm5pbmdzIHRvIGF2b2lkLiBSZW1vdmVkIGV4cGxpY2l0IGxpbmtpbmcg
b3B0aW9ucywgYXMgLWZzYW5pdGl6ZT1hZGRyZXNzIGRvZXMKKyAgICAgICAgdGhhdCBhdXRvbWF0
aWNhbGx5LgorCiAyMDE0LTEyLTIzICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29t
PgogCiAgICAgICAgIFRlc3RXZWJLaXRBUEkgYnVpbGQgaXMgYnJva2VuIHdoZW4gQVNhbiBpcyBl
bmFibGVkCkluZGV4OiBUb29scy9TY3JpcHRzL3NldC13ZWJraXQtY29uZmlndXJhdGlvbgo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3NldC13ZWJraXQtY29uZmlndXJhdGlvbgkocmV2aXNp
b24gMTc3NjcwKQorKysgVG9vbHMvU2NyaXB0cy9zZXQtd2Via2l0LWNvbmZpZ3VyYXRpb24JKHdv
cmtpbmcgY29weSkKQEAgLTM2LDYgKzM2LDcgQEAgbXkgJHVzYWdlID0gPDxFT0Y7CiBVc2FnZTog
JHByb2dyYW1OYW1lIFtvcHRpb25zXQogICAtLTMyLWJpdCAgICAgICAgICAgICAgICBTZXQgdGhl
IGRlZmF1bHQgYXJjaGl0ZWN0dXJlIHRvIDMyLWJpdAogICAtLTY0LWJpdCAgICAgICAgICAgICAg
ICBTZXQgdGhlIGRlZmF1bHQgYXJjaGl0ZWN0dXJlIHRvIDY0LWJpdAorICAtLVtuby1dYXNhbiAg
ICAgICAgICAgICBFbmFibGUgb3IgZGlzYWJsZSBjbGFuZyBhZGRyZXNzIHNhbml0aXplcgogICAt
LWRlYnVnICAgICAgICAgICAgICAgICBTZXQgdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbiB0byBk
ZWJ1ZwogICAtLXJlbGVhc2UgICAgICAgICAgICAgICBTZXQgdGhlIGRlZmF1bHQgY29uZmlndXJh
dGlvbiB0byByZWxlYXNlCiAgIC0tcmVzZXQgICAgICAgICAgICAgICAgIFJlc2V0IGNvbmZpZ3Vy
YXRpb25zCkBAIC00Myw2ICs0NCw4IEBAIEVPRgogCiBteSAkY29uZmlndXJhdGlvbiA9IHBhc3Nl
ZENvbmZpZ3VyYXRpb24oKTsKIG15ICRhcmNoaXRlY3R1cmUgPSBwYXNzZWRBcmNoaXRlY3R1cmUo
KTsKK215ICRlbmFibGVBU0FOID0gY2hlY2tGb3JBcmd1bWVudEFuZFJlbW92ZUZyb21BUkdWKCIt
LWFzYW4iKTsKK215ICRkaXNhYmxlQVNBTiA9IGNoZWNrRm9yQXJndW1lbnRBbmRSZW1vdmVGcm9t
QVJHVigiLS1uby1hc2FuIik7CiAKIGlmICghJGFyY2hpdGVjdHVyZSkgewogICAgICMgSGFuZGxl
IC0tNjQtYml0IGV4cGxpY2l0bHkgaGVyZSwgYXMgd2UgZG9uJ3Qgd2FudCBvdXIgb3RoZXIgc2Ny
aXB0cyB0byBhY2NlcHQgaXQKQEAgLTYxLDEwICs2NCwxMSBAQCBzeXN0ZW0gIm1rZGlyIiwgIi1w
IiwgIiRiYXNlUHJvZHVjdERpciI7CiBpZiAoY2hlY2tGb3JBcmd1bWVudEFuZFJlbW92ZUZyb21B
UkdWKCItLXJlc2V0IikpIHsKICAgICB1bmxpbmsgIiRiYXNlUHJvZHVjdERpci9Db25maWd1cmF0
aW9uIjsKICAgICB1bmxpbmsgIiRiYXNlUHJvZHVjdERpci9BcmNoaXRlY3R1cmUiOworICAgIHVu
bGluayAiJGJhc2VQcm9kdWN0RGlyL0FTYW4iOwogICAgIGV4aXQgMDsKIH0KIAotaWYgKCEkY29u
ZmlndXJhdGlvbiAmJiAhJGFyY2hpdGVjdHVyZSkgeworaWYgKCEkY29uZmlndXJhdGlvbiAmJiAh
JGFyY2hpdGVjdHVyZSAmJiAhJGVuYWJsZUFTQU4gJiYgISRkaXNhYmxlQVNBTiB8fCAoJGVuYWJs
ZUFTQU4gJiYgJGRpc2FibGVBU0FOKSkgewogICAgIHByaW50IFNUREVSUiAkdXNhZ2U7CiAgICAg
ZXhpdCAxOwogfQpAQCAtODQsMyArODgsMTEgQEAgaWYgKCRhcmNoaXRlY3R1cmUpIHsKICAgICAg
ICAgdW5saW5rICIkYmFzZVByb2R1Y3REaXIvQXJjaGl0ZWN0dXJlIjsKICAgICB9CiB9CisKK2lm
ICgkZW5hYmxlQVNBTikgeworICAgIG9wZW4gQVNBTiwgIj4iLCAiJGJhc2VQcm9kdWN0RGlyL0FT
YW4iIG9yIGRpZTsKKyAgICBwcmludCBBU0FOICJZRVMiOworICAgIGNsb3NlIEFTQU47Cit9IGVs
c2lmICgkZGlzYWJsZUFTQU4pIHsKKyAgICB1bmxpbmsgIiRiYXNlUHJvZHVjdERpci9BU2FuIjsK
K30KSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9TY3JpcHRzL3dlYmtpdGRpcnMucG0JKHJldmlzaW9uIDE3NzY3MCkKKysrIFRvb2xzL1Njcmlw
dHMvd2Via2l0ZGlycy5wbQkod29ya2luZyBjb3B5KQpAQCAtOTAsNiArOTAsNyBAQCB1c2UgY29u
c3RhbnQgSU5DTFVERV9PUFRJT05TX0ZPUl9ERUJVR0dJCiBvdXIgQEVYUE9SVF9PSzsKIAogbXkg
JGFyY2hpdGVjdHVyZTsKK215ICRhc2FuSXNFbmFibGVkOwogbXkgJG51bWJlck9mQ1BVczsKIG15
ICRtYXhDUFVMb2FkOwogbXkgJGJhc2VQcm9kdWN0RGlyOwpAQCAtMzQ3LDYgKzM0OCwyNCBAQCBz
dWIgZGV0ZXJtaW5lQXJjaGl0ZWN0dXJlCiAgICAgJGFyY2hpdGVjdHVyZSA9ICd4ODZfNjQnIGlm
ICgkYXJjaGl0ZWN0dXJlID1+IC9hbWQ2NC8gJiYgaXNCU0QoKSk7CiB9CiAKK3N1YiBkZXRlcm1p
bmVBU2FuSXNFbmFibGVkCit7CisgICAgcmV0dXJuIGlmIGRlZmluZWQgJGFzYW5Jc0VuYWJsZWQ7
CisgICAgZGV0ZXJtaW5lQmFzZVByb2R1Y3REaXIoKTsKKworICAgICRhc2FuSXNFbmFibGVkID0g
MDsKKyAgICBteSAkYXNhbkNvbmZpZ3VyYXRpb25WYWx1ZTsKKworICAgIGlmIChvcGVuIEFTQU4s
ICIkYmFzZVByb2R1Y3REaXIvQVNhbiIpIHsKKyAgICAgICAgJGFzYW5Db25maWd1cmF0aW9uVmFs
dWUgPSA8QVNBTj47CisgICAgICAgIGNsb3NlIEFTQU47CisgICAgfQorICAgIGlmICgkYXNhbkNv
bmZpZ3VyYXRpb25WYWx1ZSkgeworICAgICAgICBjaG9tcCAkYXNhbkNvbmZpZ3VyYXRpb25WYWx1
ZTsKKyAgICAgICAgJGFzYW5Jc0VuYWJsZWQgPSAxIGlmICRhc2FuQ29uZmlndXJhdGlvblZhbHVl
IGVxICJZRVMiOworICAgIH0KK30KKwogc3ViIGRldGVybWluZU51bWJlck9mQ1BVcwogewogICAg
IHJldHVybiBpZiBkZWZpbmVkICRudW1iZXJPZkNQVXM7CkBAIC0zOTIsNiArNDExLDggQEAgc3Vi
IGFyZ3VtZW50c0ZvckNvbmZpZ3VyYXRpb24oKQogICAgIGRldGVybWluZVhjb2RlU0RLKCk7CiAK
ICAgICBteSBAYXJncyA9ICgpOworICAgICMgRklYTUU6IElzIGl0IG5lY2Vzc2FyeSB0byBwYXNz
IC0tZGVidWcsIC0tcmVsZWFzZSwgLS0zMi1iaXQgb3IgLS02NC1iaXQ/CisgICAgIyBUaGVzZSBh
cmUgZGV0ZXJtaW5lZCBhdXRvbWF0aWNhbGx5IGZyb20gc3RvcmVkIGNvbmZpZ3VyYXRpb24uCiAg
ICAgcHVzaChAYXJncywgJy0tZGVidWcnKSBpZiAoJGNvbmZpZ3VyYXRpb24gPX4gIl5EZWJ1ZyIp
OwogICAgIHB1c2goQGFyZ3MsICctLXJlbGVhc2UnKSBpZiAoJGNvbmZpZ3VyYXRpb24gPX4gIl5S
ZWxlYXNlIik7CiAgICAgcHVzaChAYXJncywgJy0tZGV2aWNlJykgaWYgKGRlZmluZWQgJHhjb2Rl
U0RLICYmICR4Y29kZVNESyA9fiAvXmlwaG9uZW9zLyk7CkBAIC01ODgsNiArNjA5LDEyIEBAIHN1
YiBjb25maWd1cmF0aW9uKCkKICAgICByZXR1cm4gJGNvbmZpZ3VyYXRpb247CiB9CiAKK3N1YiBh
c2FuSXNFbmFibGVkKCkKK3sKKyAgICBkZXRlcm1pbmVBU2FuSXNFbmFibGVkKCk7CisgICAgcmV0
dXJuICRhc2FuSXNFbmFibGVkOworfQorCiBzdWIgY29uZmlndXJhdGlvbkZvclZpc3VhbFN0dWRp
bygpCiB7CiAgICAgZGV0ZXJtaW5lQ29uZmlndXJhdGlvbkZvclZpc3VhbFN0dWRpbygpOwpAQCAt
NjI0LDEyICs2NTEsMTQgQEAgc3ViIFhjb2RlT3B0aW9ucwogICAgIGRldGVybWluZUJhc2VQcm9k
dWN0RGlyKCk7CiAgICAgZGV0ZXJtaW5lQ29uZmlndXJhdGlvbigpOwogICAgIGRldGVybWluZUFy
Y2hpdGVjdHVyZSgpOworICAgIGRldGVybWluZUFTYW5Jc0VuYWJsZWQoKTsKICAgICBkZXRlcm1p
bmVYY29kZVNESygpOwogCiAgICAgbXkgQHNka09wdGlvbiA9ICgkeGNvZGVTREsgPyAiU0RLUk9P
VD0keGNvZGVTREsiIDogKCkpOwogICAgIG15IEBhcmNoaXRlY3R1cmVPcHRpb24gPSAoJGFyY2hp
dGVjdHVyZSA/ICJBUkNIUz0kYXJjaGl0ZWN0dXJlIiA6ICgpKTsKKyAgICBteSBAYXNhbk9wdGlv
biA9ICgkYXNhbklzRW5hYmxlZCA/ICgiLXhjY29uZmlnIiwgc291cmNlRGlyKCkgLiAiL1Rvb2xz
L2FzYW4vYXNhbi54Y2NvbmZpZyIsICJBU0FOX0lHTk9SRT0iIC4gc291cmNlRGlyKCkgLiAiL1Rv
b2xzL2FzYW4vd2Via2l0LWFzYW4taWdub3JlLnR4dCIpIDogKCkpOwogCi0gICAgcmV0dXJuIChA
YmFzZVByb2R1Y3REaXJPcHRpb24sICItY29uZmlndXJhdGlvbiIsICRjb25maWd1cmF0aW9uLCBA
YXJjaGl0ZWN0dXJlT3B0aW9uLCBAc2RrT3B0aW9uLCBhcmd1bWVudHNGb3JYY29kZSgpKTsKKyAg
ICByZXR1cm4gKEBiYXNlUHJvZHVjdERpck9wdGlvbiwgIi1jb25maWd1cmF0aW9uIiwgJGNvbmZp
Z3VyYXRpb24sIEBhcmNoaXRlY3R1cmVPcHRpb24sIEBzZGtPcHRpb24sIEBhc2FuT3B0aW9uLCBh
cmd1bWVudHNGb3JYY29kZSgpKTsKIH0KIAogc3ViIFhjb2RlT3B0aW9uU3RyaW5nCkluZGV4OiBU
b29scy9hc2FuL2FzYW4ueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvYXNhbi9hc2FuLnhj
Y29uZmlnCShyZXZpc2lvbiAxNzc2NzApCisrKyBUb29scy9hc2FuL2FzYW4ueGNjb25maWcJKHdv
cmtpbmcgY29weSkKQEAgLTEsNyArMSwxMiBAQAotR0NDX1RSRUFUX1dBUk5JTkdTX0FTX0VSUk9S
UyA9IE5POworVE9PTENIQUlOU1tzZGs9aXBob25lKl0gPSAkKFRPT0xDSEFJTlMpOworVE9PTENI
QUlOUyA9ICQoVE9PTENIQUlOU18kKFBMQVRGT1JNX05BTUUpXyQoTUFDX09TX1hfVkVSU0lPTl9N
QUpPUikpOworVE9PTENIQUlOU19tYWNvc3hfMTA4MCA9IGRlZmF1bHQ7CitUT09MQ0hBSU5TX21h
Y29zeF8xMDkwID0gZGVmYXVsdDsKK1RPT0xDSEFJTlNfbWFjb3N4XzEwMTAwMCA9IGRlZmF1bHQ7
CitUT09MQ0hBSU5TX21hY29zeF8xMDExMDAgPSAkKFRPT0xDSEFJTlMpOwogCi1BU0FOX09USEVS
X0NGTEFHUyA9IC1mc2FuaXRpemU9YWRkcmVzcyAtTzEgLWZzYW5pdGl6ZS1ibGFja2xpc3Q9JChB
U0FOX0lHTk9SRSkgLVduby1lcnJvciAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAtZyAtRFVTRV9T
WVNURU1fTUFMTE9DPTE7CitBU0FOX09USEVSX0NGTEFHUyA9IC1mc2FuaXRpemU9YWRkcmVzcyAt
TzEgLWZzYW5pdGl6ZS1ibGFja2xpc3Q9JChBU0FOX0lHTk9SRSkgLWZuby1vbWl0LWZyYW1lLXBv
aW50ZXIgLWcgLURVU0VfU1lTVEVNX01BTExPQz0xOwogQVNBTl9PVEhFUl9DUExVU1BMVVNGTEFH
UyA9ICQoQVNBTl9PVEhFUl9DRkxBR1MpOwotQVNBTl9PVEhFUl9MREZMQUdTID0gLWZzYW5pdGl6
ZT1hZGRyZXNzICQoQVNBTl9PVEhFUl9MREZMQUdTXyQoUExBVEZPUk1fTkFNRSkpOwotQVNBTl9P
VEhFUl9MREZMQUdTX21hY29zeCA9IC1sY2xhbmdfcnQuYXNhbl9vc3hfZHluYW1pYzsKLUFTQU5f
T1RIRVJfTERGTEFHU19pcGhvbmVzaW11bGF0b3IgPSAtbGNsYW5nX3J0LmFzYW5faW9zc2ltX2R5
bmFtaWM7CitBU0FOX09USEVSX0xERkxBR1MgPSAtZnNhbml0aXplPWFkZHJlc3MKKworR0NDX0VO
QUJMRV9PQkpDX0dDID0gTk8K
</data>
<flag name="review"
          id="268610"
          type_id="1"
          status="+"
          setter="mrowe"
    />
          </attachment>
      

    </bug>

</bugzilla>