<?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>135624</bug_id>
          
          <creation_ts>2014-08-05 15:14:14 -0700</creation_ts>
          <short_desc>[iOS] Run ImageDiff in the sim bootstrap</short_desc>
          <delta_ts>2014-08-05 18:40:15 -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>528+ (Nightly build)</version>
          <rep_platform>iPhone / iPad</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="David Farler">dfarler</reporter>
          <assigned_to name="David Farler">dfarler</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>glenn</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1026954</commentid>
    <comment_count>0</comment_count>
    <who name="David Farler">dfarler</who>
    <bug_when>2014-08-05 15:14:14 -0700</bug_when>
    <thetext>Previously, I tried to use ImageDiff on OS X without trying to go through the sim bootstrap. However, ImageDiff relies on some WTF functionality and I don&apos;t want to introduce a new OS X build dependency when testing iOS. I&apos;ve verified that running ImageDiff in the sim bootstrap is negligible, so we can create a custom ImageDiffer and use that for the iso-simulator platform. With this change, the only OS X tool that you&apos;ll need to build is the LayoutTestRelay: there are no WebKit dependencies there and it builds automatically when running layout tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026955</commentid>
    <comment_count>1</comment_count>
      <attachid>236050</attachid>
    <who name="David Farler">dfarler</who>
    <bug_when>2014-08-05 15:20:52 -0700</bug_when>
    <thetext>Created attachment 236050
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026963</commentid>
    <comment_count>2</comment_count>
      <attachid>236054</attachid>
    <who name="David Farler">dfarler</who>
    <bug_when>2014-08-05 15:29:41 -0700</bug_when>
    <thetext>Created attachment 236054
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026968</commentid>
    <comment_count>3</comment_count>
    <who name="David Farler">dfarler</who>
    <bug_when>2014-08-05 15:37:06 -0700</bug_when>
    <thetext>Sorry - uploaded a different patch to the same bug - reinstated original.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027008</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-08-05 17:34:57 -0700</bug_when>
    <thetext>What does it mean to &quot;run in the bootstrap&quot;? Do you mean run in the simulated device?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027013</commentid>
    <comment_count>5</comment_count>
    <who name="David Farler">dfarler</who>
    <bug_when>2014-08-05 17:52:10 -0700</bug_when>
    <thetext>Sort of, although not in a real SimDevice. It’s just wrapped in `xcrun -sdk iphonesimulator sim`. It has the bare minimum bootstrap to run a simulator binary but doesn’t have access to to other simulator services like the framebuffer, etc. It works in this case because it’s not a full UIKit application.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027026</commentid>
    <comment_count>6</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2014-08-05 18:29:33 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; What does it mean to &quot;run in the bootstrap&quot;? Do you mean run in the simulated device?

It means that ImageDiff runs in the simulator environment, but not as an app in SpringBoard.

In other words, it uses simulator frameworks instead of Mac OS X frameworks to run on the command line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027030</commentid>
    <comment_count>7</comment_count>
      <attachid>236050</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2014-08-05 18:35:18 -0700</bug_when>
    <thetext>Comment on attachment 236050
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1027035</commentid>
    <comment_count>8</comment_count>
    <who name="David Farler">dfarler</who>
    <bug_when>2014-08-05 18:40:15 -0700</bug_when>
    <thetext>Committed r172118: &lt;http://trac.webkit.org/changeset/172118&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236050</attachid>
            <date>2014-08-05 15:20:52 -0700</date>
            <delta_ts>2014-08-05 18:35:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135624-20140805152040.patch</filename>
            <type>text/plain</type>
            <size>3368</size>
            <attacher name="David Farler">dfarler</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcyMDUzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYTM0OWYxMDU3MmY3ZTBlNWVlYThiNDUwOWI4ZGNkMGRl
YjVlOWNhYy4uNWJhOGFiZmY3YTdjY2ZkY2Y1ZTMxNGRiZjczMDlmYTE1MmQ5YmIyMyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3
IEBACisyMDE0LTA4LTA1ICBEYXZpZCBGYXJsZXIgIDxkZmFybGVyQGFwcGxlLmNvbT4KKworICAg
ICAgICBbaU9TXSBSdW4gSW1hZ2VEaWZmIGluIHRoZSBzaW0gYm9vdHN0cmFwCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzU2MjQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
cG9ydC9pbWFnZV9kaWZmLnB5OgorICAgICAgICAoSW1hZ2VEaWZmZXIuc3RvcCk6CisgICAgICAg
IChJT1NTaW11bGF0b3JJbWFnZURpZmZlcik6CisgICAgICAgIChJT1NTaW11bGF0b3JJbWFnZURp
ZmZlci5fc3RhcnQpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9pb3MucHk6Cisg
ICAgICAgIChJT1NTaW11bGF0b3JQb3J0LmRpZmZfaW1hZ2UpOgorCiAyMDE0LTA4LTA1ICBWaXZl
ayBHYWxhdGFnZSAgPHZpdmVrLnZnQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtndGtdIEluY2x1
ZGUgbGx2bS1kZXYoZWwpIHBhY2thZ2UgdG8gc2F0aXNmeSBtZXNhIGJ1aWxkIGNvbmZpZ3VyYXRp
b24KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9pbWFnZV9kaWZmLnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2ltYWdlX2RpZmYucHkKaW5kZXggZmFlODlj
N2QyYjZkNzYzZDRkZTY2MTU1NTcxZTgxYjEzNGRmY2UyYS4uMGNiMTRjMmEzZGIxOWM3MjljMmU0
NjVhMjU1MGY0ZDliMDM1MTJhMyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9w
b3J0L2ltYWdlX2RpZmYucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2ltYWdl
X2RpZmYucHkKQEAgLTExMywzICsxMTMsMTMgQEAgY2xhc3MgSW1hZ2VEaWZmZXIob2JqZWN0KToK
ICAgICAgICAgaWYgc2VsZi5fcHJvY2VzczoKICAgICAgICAgICAgIHNlbGYuX3Byb2Nlc3Muc3Rv
cCgpCiAgICAgICAgICAgICBzZWxmLl9wcm9jZXNzID0gTm9uZQorCisKK2NsYXNzIElPU1NpbXVs
YXRvckltYWdlRGlmZmVyKEltYWdlRGlmZmVyKToKKyAgICBkZWYgX3N0YXJ0KHNlbGYsIHRvbGVy
YW5jZSk6CisgICAgICAgIGNvbW1hbmQgPSBbJ3hjcnVuJywgJy1zZGsnLCAnaXBob25lc2ltdWxh
dG9yJywgJ3NpbScsICctLWVudmlyb25tZW50PXByZXNlcnZlJywgJy0tYWRvcHQtcGlkJywgc2Vs
Zi5fcG9ydC5fcGF0aF90b19pbWFnZV9kaWZmKCksICctLXRvbGVyYW5jZScsIHN0cih0b2xlcmFu
Y2UpXQorICAgICAgICBwcmludCAnICcuam9pbihjb21tYW5kKQorICAgICAgICBlbnZpcm9ubWVu
dCA9IHNlbGYuX3BvcnQuc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKCdJbWFnZURpZmYnKQorICAg
ICAgICBzZWxmLl9wcm9jZXNzID0gc2VsZi5fcG9ydC5fc2VydmVyX3Byb2Nlc3NfY29uc3RydWN0
b3Ioc2VsZi5fcG9ydCwgJ0ltYWdlRGlmZicsIGNvbW1hbmQsIGVudmlyb25tZW50KQorICAgICAg
ICBzZWxmLl9wcm9jZXNzLnN0YXJ0KCkKKyAgICAgICAgc2VsZi5fdG9sZXJhbmNlID0gdG9sZXJh
bmNlCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9zLnB5IGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2lvcy5weQppbmRleCBiMjMyODk4Njk1ODViYzBhMzkx
ZGI3ZGMyNDdjZDZhNDMxZjQxOTIwLi45ODQzMmMyMTMyNjExNjA0ZTM2YjE5NDgzMTM5ZDhiZDY1
MmIxOTZkIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9zLnB5Cisr
KyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9pb3MucHkKQEAgLTMxLDcgKzMxLDcgQEAg
aW1wb3J0IHN1YnByb2Nlc3MKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLm1vZGVscy50ZXN0
X2NvbmZpZ3VyYXRpb24gaW1wb3J0IFRlc3RDb25maWd1cmF0aW9uCiBmcm9tIHdlYmtpdHB5LmNv
bW1vbi5zeXN0ZW0uY3Jhc2hsb2dzIGltcG9ydCBDcmFzaExvZ3MKIGZyb20gd2Via2l0cHkuY29t
bW9uLnN5c3RlbS5leGVjdXRpdmUgaW1wb3J0IFNjcmlwdEVycm9yCi1mcm9tIHdlYmtpdHB5LnBv
cnQgaW1wb3J0IGRyaXZlcgorZnJvbSB3ZWJraXRweS5wb3J0IGltcG9ydCBkcml2ZXIsIGltYWdl
X2RpZmYKIGZyb20gd2Via2l0cHkucG9ydC5iYXNlIGltcG9ydCBQb3J0CiBmcm9tIHdlYmtpdHB5
LnBvcnQubGVha2RldGVjdG9yIGltcG9ydCBMZWFrRGV0ZWN0b3IKIGZyb20gd2Via2l0cHkucG9y
dCBpbXBvcnQgY29uZmlnIGFzIHBvcnRfY29uZmlnCkBAIC0zMzksNiArMzM5LDE4IEBAIGNsYXNz
IElPU1NpbXVsYXRvclBvcnQoUG9ydCk6CiAgICAgICAgIGJpbmFyeV9uYW1lID0gJ0xheW91dFRl
c3RIZWxwZXInCiAgICAgICAgIHJldHVybiBzZWxmLl9idWlsZF9wYXRoKGJpbmFyeV9uYW1lKQog
CisgICAgZGVmIGRpZmZfaW1hZ2Uoc2VsZiwgZXhwZWN0ZWRfY29udGVudHMsIGFjdHVhbF9jb250
ZW50cywgdG9sZXJhbmNlPU5vbmUpOgorICAgICAgICBpZiBub3QgYWN0dWFsX2NvbnRlbnRzIGFu
ZCBub3QgZXhwZWN0ZWRfY29udGVudHM6CisgICAgICAgICAgICByZXR1cm4gKE5vbmUsIDAsIE5v
bmUpCisgICAgICAgIGlmIG5vdCBhY3R1YWxfY29udGVudHMgb3Igbm90IGV4cGVjdGVkX2NvbnRl
bnRzOgorICAgICAgICAgICAgcmV0dXJuIChUcnVlLCAwLCBOb25lKQorICAgICAgICBpZiBub3Qg
c2VsZi5faW1hZ2VfZGlmZmVyOgorICAgICAgICAgICAgc2VsZi5faW1hZ2VfZGlmZmVyID0gaW1h
Z2VfZGlmZi5JT1NTaW11bGF0b3JJbWFnZURpZmZlcihzZWxmKQorICAgICAgICBzZWxmLnNldF9v
cHRpb25fZGVmYXVsdCgndG9sZXJhbmNlJywgMC4xKQorICAgICAgICBpZiB0b2xlcmFuY2UgaXMg
Tm9uZToKKyAgICAgICAgICAgIHRvbGVyYW5jZSA9IHNlbGYuZ2V0X29wdGlvbigndG9sZXJhbmNl
JykKKyAgICAgICAgcmV0dXJuIHNlbGYuX2ltYWdlX2RpZmZlci5kaWZmX2ltYWdlKGV4cGVjdGVk
X2NvbnRlbnRzLCBhY3R1YWxfY29udGVudHMsIHRvbGVyYW5jZSkKKwogICAgIGRlZiByZXNldF9w
cmVmZXJlbmNlcyhzZWxmKToKICAgICAgICAgc2ltdWxhdG9yX3BhdGggPSBzZWxmLnNpbXVsYXRv
cl9wYXRoKHNlbGYuc2ltdWxhdG9yX3VkaWQoKSkKICAgICAgICAgaWYgbm90IHNpbXVsYXRvcl9w
YXRoOgo=
</data>
<flag name="review"
          id="260641"
          type_id="1"
          status="+"
          setter="ddkilzer"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236054</attachid>
            <date>2014-08-05 15:29:41 -0700</date>
            <delta_ts>2014-08-05 15:36:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135624-20140805152929.patch</filename>
            <type>text/plain</type>
            <size>3368</size>
            <attacher name="David Farler">dfarler</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcyMDUzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYTM0OWYxMDU3MmY3ZTBlNWVlYThiNDUwOWI4ZGNkMGRl
YjVlOWNhYy4uNWJhOGFiZmY3YTdjY2ZkY2Y1ZTMxNGRiZjczMDlmYTE1MmQ5YmIyMyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3
IEBACisyMDE0LTA4LTA1ICBEYXZpZCBGYXJsZXIgIDxkZmFybGVyQGFwcGxlLmNvbT4KKworICAg
ICAgICBbaU9TXSBSdW4gSW1hZ2VEaWZmIGluIHRoZSBzaW0gYm9vdHN0cmFwCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzU2MjQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
cG9ydC9pbWFnZV9kaWZmLnB5OgorICAgICAgICAoSW1hZ2VEaWZmZXIuc3RvcCk6CisgICAgICAg
IChJT1NTaW11bGF0b3JJbWFnZURpZmZlcik6CisgICAgICAgIChJT1NTaW11bGF0b3JJbWFnZURp
ZmZlci5fc3RhcnQpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9pb3MucHk6Cisg
ICAgICAgIChJT1NTaW11bGF0b3JQb3J0LmRpZmZfaW1hZ2UpOgorCiAyMDE0LTA4LTA1ICBWaXZl
ayBHYWxhdGFnZSAgPHZpdmVrLnZnQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtndGtdIEluY2x1
ZGUgbGx2bS1kZXYoZWwpIHBhY2thZ2UgdG8gc2F0aXNmeSBtZXNhIGJ1aWxkIGNvbmZpZ3VyYXRp
b24KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9pbWFnZV9kaWZmLnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2ltYWdlX2RpZmYucHkKaW5kZXggZmFlODlj
N2QyYjZkNzYzZDRkZTY2MTU1NTcxZTgxYjEzNGRmY2UyYS4uMGNiMTRjMmEzZGIxOWM3MjljMmU0
NjVhMjU1MGY0ZDliMDM1MTJhMyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9w
b3J0L2ltYWdlX2RpZmYucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2ltYWdl
X2RpZmYucHkKQEAgLTExMywzICsxMTMsMTMgQEAgY2xhc3MgSW1hZ2VEaWZmZXIob2JqZWN0KToK
ICAgICAgICAgaWYgc2VsZi5fcHJvY2VzczoKICAgICAgICAgICAgIHNlbGYuX3Byb2Nlc3Muc3Rv
cCgpCiAgICAgICAgICAgICBzZWxmLl9wcm9jZXNzID0gTm9uZQorCisKK2NsYXNzIElPU1NpbXVs
YXRvckltYWdlRGlmZmVyKEltYWdlRGlmZmVyKToKKyAgICBkZWYgX3N0YXJ0KHNlbGYsIHRvbGVy
YW5jZSk6CisgICAgICAgIGNvbW1hbmQgPSBbJ3hjcnVuJywgJy1zZGsnLCAnaXBob25lc2ltdWxh
dG9yJywgJ3NpbScsICctLWVudmlyb25tZW50PXByZXNlcnZlJywgJy0tYWRvcHQtcGlkJywgc2Vs
Zi5fcG9ydC5fcGF0aF90b19pbWFnZV9kaWZmKCksICctLXRvbGVyYW5jZScsIHN0cih0b2xlcmFu
Y2UpXQorICAgICAgICBwcmludCAnICcuam9pbihjb21tYW5kKQorICAgICAgICBlbnZpcm9ubWVu
dCA9IHNlbGYuX3BvcnQuc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKCdJbWFnZURpZmYnKQorICAg
ICAgICBzZWxmLl9wcm9jZXNzID0gc2VsZi5fcG9ydC5fc2VydmVyX3Byb2Nlc3NfY29uc3RydWN0
b3Ioc2VsZi5fcG9ydCwgJ0ltYWdlRGlmZicsIGNvbW1hbmQsIGVudmlyb25tZW50KQorICAgICAg
ICBzZWxmLl9wcm9jZXNzLnN0YXJ0KCkKKyAgICAgICAgc2VsZi5fdG9sZXJhbmNlID0gdG9sZXJh
bmNlCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9zLnB5IGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2lvcy5weQppbmRleCBiMjMyODk4Njk1ODViYzBhMzkx
ZGI3ZGMyNDdjZDZhNDMxZjQxOTIwLi45ODQzMmMyMTMyNjExNjA0ZTM2YjE5NDgzMTM5ZDhiZDY1
MmIxOTZkIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9zLnB5Cisr
KyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9pb3MucHkKQEAgLTMxLDcgKzMxLDcgQEAg
aW1wb3J0IHN1YnByb2Nlc3MKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLm1vZGVscy50ZXN0
X2NvbmZpZ3VyYXRpb24gaW1wb3J0IFRlc3RDb25maWd1cmF0aW9uCiBmcm9tIHdlYmtpdHB5LmNv
bW1vbi5zeXN0ZW0uY3Jhc2hsb2dzIGltcG9ydCBDcmFzaExvZ3MKIGZyb20gd2Via2l0cHkuY29t
bW9uLnN5c3RlbS5leGVjdXRpdmUgaW1wb3J0IFNjcmlwdEVycm9yCi1mcm9tIHdlYmtpdHB5LnBv
cnQgaW1wb3J0IGRyaXZlcgorZnJvbSB3ZWJraXRweS5wb3J0IGltcG9ydCBkcml2ZXIsIGltYWdl
X2RpZmYKIGZyb20gd2Via2l0cHkucG9ydC5iYXNlIGltcG9ydCBQb3J0CiBmcm9tIHdlYmtpdHB5
LnBvcnQubGVha2RldGVjdG9yIGltcG9ydCBMZWFrRGV0ZWN0b3IKIGZyb20gd2Via2l0cHkucG9y
dCBpbXBvcnQgY29uZmlnIGFzIHBvcnRfY29uZmlnCkBAIC0zMzksNiArMzM5LDE4IEBAIGNsYXNz
IElPU1NpbXVsYXRvclBvcnQoUG9ydCk6CiAgICAgICAgIGJpbmFyeV9uYW1lID0gJ0xheW91dFRl
c3RIZWxwZXInCiAgICAgICAgIHJldHVybiBzZWxmLl9idWlsZF9wYXRoKGJpbmFyeV9uYW1lKQog
CisgICAgZGVmIGRpZmZfaW1hZ2Uoc2VsZiwgZXhwZWN0ZWRfY29udGVudHMsIGFjdHVhbF9jb250
ZW50cywgdG9sZXJhbmNlPU5vbmUpOgorICAgICAgICBpZiBub3QgYWN0dWFsX2NvbnRlbnRzIGFu
ZCBub3QgZXhwZWN0ZWRfY29udGVudHM6CisgICAgICAgICAgICByZXR1cm4gKE5vbmUsIDAsIE5v
bmUpCisgICAgICAgIGlmIG5vdCBhY3R1YWxfY29udGVudHMgb3Igbm90IGV4cGVjdGVkX2NvbnRl
bnRzOgorICAgICAgICAgICAgcmV0dXJuIChUcnVlLCAwLCBOb25lKQorICAgICAgICBpZiBub3Qg
c2VsZi5faW1hZ2VfZGlmZmVyOgorICAgICAgICAgICAgc2VsZi5faW1hZ2VfZGlmZmVyID0gaW1h
Z2VfZGlmZi5JT1NTaW11bGF0b3JJbWFnZURpZmZlcihzZWxmKQorICAgICAgICBzZWxmLnNldF9v
cHRpb25fZGVmYXVsdCgndG9sZXJhbmNlJywgMC4xKQorICAgICAgICBpZiB0b2xlcmFuY2UgaXMg
Tm9uZToKKyAgICAgICAgICAgIHRvbGVyYW5jZSA9IHNlbGYuZ2V0X29wdGlvbigndG9sZXJhbmNl
JykKKyAgICAgICAgcmV0dXJuIHNlbGYuX2ltYWdlX2RpZmZlci5kaWZmX2ltYWdlKGV4cGVjdGVk
X2NvbnRlbnRzLCBhY3R1YWxfY29udGVudHMsIHRvbGVyYW5jZSkKKwogICAgIGRlZiByZXNldF9w
cmVmZXJlbmNlcyhzZWxmKToKICAgICAgICAgc2ltdWxhdG9yX3BhdGggPSBzZWxmLnNpbXVsYXRv
cl9wYXRoKHNlbGYuc2ltdWxhdG9yX3VkaWQoKSkKICAgICAgICAgaWYgbm90IHNpbXVsYXRvcl9w
YXRoOgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>