<?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>89886</bug_id>
          
          <creation_ts>2012-06-25 08:52:40 -0700</creation_ts>
          <short_desc>[Qt][NRWT] Fix determine_full_port_name()</short_desc>
          <delta_ts>2014-02-03 03:21:29 -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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>NRWT, Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>89880</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Csaba Osztrogonác">ossy</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>bank</cc>
    
    <cc>dpranke</cc>
    
    <cc>galpeter</cc>
    
    <cc>hausmann</cc>
    
    <cc>kadam</cc>
    
    <cc>ojan</cc>
    
    <cc>ossy</cc>
    
    <cc>rafael.lobo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>656599</commentid>
    <comment_count>0</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-06-25 08:52:40 -0700</bug_when>
    <thetext>Now it returns with qt-linux, qt-win or qt-mac. It is absolutely incorrect.
I think valid full port names should be: (leaves of the port graph)
- qt-5.0-wk1
- qt-5.0-wk2
- qt-4.8</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676856</commentid>
    <comment_count>1</comment_count>
    <who name="Rafael Brandao">rafael.lobo</who>
    <bug_when>2012-07-24 08:33:33 -0700</bug_when>
    <thetext>I&apos;ve worked on this but forgot to upload a wip patch. But as we&apos;re going to remove qt-4.8 from trunk very soon, we will no longer need to identify the version of qt on the qt port name, and this will change a lot on my patch. So I will just wait until qt-4.8 to be removed to continue on this, or if anyone else wants to do it, feel free to do so. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>677936</commentid>
    <comment_count>2</comment_count>
    <who name="Balazs Ankes">bank</who>
    <bug_when>2012-07-25 05:00:08 -0700</bug_when>
    <thetext>Could you upload that patch, please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678747</commentid>
    <comment_count>3</comment_count>
      <attachid>154522</attachid>
    <who name="Rafael Brandao">rafael.lobo</who>
    <bug_when>2012-07-25 19:08:31 -0700</bug_when>
    <thetext>Created attachment 154522
Patch

wip patch. it will change a lot when qt-4.8 get removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692331</commentid>
    <comment_count>4</comment_count>
      <attachid>157667</attachid>
    <who name="Balazs Ankes">bank</who>
    <bug_when>2012-08-10 01:19:29 -0700</bug_when>
    <thetext>Created attachment 157667
work in progress

The unittests are working.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692559</commentid>
    <comment_count>5</comment_count>
      <attachid>157737</attachid>
    <who name="Balazs Ankes">bank</who>
    <bug_when>2012-08-10 08:29:58 -0700</bug_when>
    <thetext>Created attachment 157737
work in progress patch

I removed the qt-4.8 specific lines from qt.py and qt_unittest.py.
What else should we do in relation to qt-4.8 removal?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692585</commentid>
    <comment_count>6</comment_count>
      <attachid>157737</attachid>
    <who name="Rafael Brandao">rafael.lobo</who>
    <bug_when>2012-08-10 09:08:34 -0700</bug_when>
    <thetext>Comment on attachment 157737
work in progress patch

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

LGTM, but this is an informal review. Maybe you should get some feedback from dpranke.

&gt; Tools/Scripts/webkitpy/layout_tests/port/qt.py:57
&gt; +        #print(&quot;host: &quot; + str(host) + &quot; options: &quot; + str(options) + &quot; port_name &quot; + str(port_name))

You can remove this comment line. :-)

&gt; Tools/Scripts/webkitpy/layout_tests/port/qt_unittest.py:140
&gt; +        port._version = &quot;qt-5.0-wk2&quot;

This looks wrong, you&apos;re setting a private member of port outside it. Not sure of how you should do though, maybe modifying our make_port() to handle this by default, or maybe passing a parameter on it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701946</commentid>
    <comment_count>7</comment_count>
      <attachid>159944</attachid>
    <who name="Balazs Ankes">bank</who>
    <bug_when>2012-08-22 08:33:10 -0700</bug_when>
    <thetext>Created attachment 159944
patch

I made the suggested modifications.
Could somebody take a look at the patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701964</commentid>
    <comment_count>8</comment_count>
    <who name="Peter Gal">galpeter</who>
    <bug_when>2012-08-22 08:43:15 -0700</bug_when>
    <thetext>View in context: https://bugs.webkit.org/attachment.cgi?id=159944&amp;action=review

&gt; Tools/Scripts/webkitpy/layout_tests/port/qt.py:57
&gt; +        version = cls.qt_version(host.executive)

Why do we need the version here?

&gt; Tools/Scripts/webkitpy/layout_tests/port/qt.py:59
&gt; +        port_name = &apos;&apos;

No need for this line. The lines below will set the port_name in this function.

&gt; Tools/Scripts/webkitpy/layout_tests/port/qt.py:110
&gt; +        version = &apos;qt-5.0-wk2&apos;

Why is this the same as the port_name returned by the determine_full_port_name function? Shouldn&apos;t this be simply &apos;5.0&apos;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702230</commentid>
    <comment_count>9</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-08-22 12:46:18 -0700</bug_when>
    <thetext>Either I don&apos;t understand this change or there is some confusion over what the port_name is supposed to capture.

the full port name is supposed to be able to uniquely identify the full baseline search path. It looks like this is not the case with this path, i.e., if I specify &quot;qt-5.0-wk1&quot; then I may get the apple, win or, linux baselines depending on which platform I&apos;m running on. Is that correct?

It is okay for &quot;qt-5.0-wk1&quot; to be accepted as a shorthand for &quot;figure out which platform I&apos;m on&quot;, but that would be *input* to determine_full_port_name, not output.

Also, are you intentionally getting rid of qt-4.8 here (or is this already unsupported)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702252</commentid>
    <comment_count>10</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-08-22 13:18:28 -0700</bug_when>
    <thetext>following a conversation w/ rafaelbrando on #irc, maybe it&apos;ll be helpful for to give a little more context about the design here ...

The basic idea is that some tools (like garden-o-matic) need a way to be able to ensure a very specific configuration for a port, one that uniquely specifies all of the various attributes we care about (implementation, operation system, os version, wk1/wk2, release/debug etc.) In particular, we care the most about the attributes that will affect what baseline_search_path() is used.

The theory behind determine_full_port_name is that we hand that routine a string (and an optional options argument) and can get a string back out that will uniquely determine that configuration, so when the outputted string is handed to port.__init__(), the code doesn&apos;t need to look at anything else to determine behavior (i.e., we don&apos;t check and should ignore what operating system we&apos;re running on, because we might need to be able to construct a mac qt port even if we&apos;re running on linux).

[ Note that at the moment no port implements this theory completely, because no port encodes release/debug in the full port name, and the code probably wouldn&apos;t even work right if we tried. This is okay, because we don&apos;t have different baseline search paths for release vs. debug ].

So, it&apos;s okay fot &quot;qt-5.0-wk1&quot; to be *input* to determine full port name, (this basically says use qt 5.0, not 4.8, and use wk2, not wk2, but pick the os you&apos;re running on) but hence not output.

Note that determine_full_port_name() is *only* used by the port factory to figure out what to pass to the port constructor. It should determine what port.name() returns. However, the port.name() by itself should not be used to determine anything else about the port&apos;s behavior; there are separate methods to determine  behavior, like baseline_platform_dir(), baseline_version_dir(), version(), operating_system(), configuration(), etc. Once the port is constructed, callers should just use port.name() for debugging ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702266</commentid>
    <comment_count>11</comment_count>
    <who name="Rafael Brandao">rafael.lobo</who>
    <bug_when>2012-08-22 13:25:32 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; following a conversation w/ rafaelbrando on #irc, maybe it&apos;ll be helpful for to give a little more context about the design here ...
&gt; 
&gt; The basic idea is that some tools (like garden-o-matic) need a way to be able to ensure a very specific configuration for a port, one that uniquely specifies all of the various attributes we care about (implementation, operation system, os version, wk1/wk2, release/debug etc.) In particular, we care the most about the attributes that will affect what baseline_search_path() is used.
&gt; 
&gt; The theory behind determine_full_port_name is that we hand that routine a string (and an optional options argument) and can get a string back out that will uniquely determine that configuration, so when the outputted string is handed to port.__init__(), the code doesn&apos;t need to look at anything else to determine behavior (i.e., we don&apos;t check and should ignore what operating system we&apos;re running on, because we might need to be able to construct a mac qt port even if we&apos;re running on linux).
&gt; 
&gt; [ Note that at the moment no port implements this theory completely, because no port encodes release/debug in the full port name, and the code probably wouldn&apos;t even work right if we tried. This is okay, because we don&apos;t have different baseline search paths for release vs. debug ].
&gt; 
&gt; So, it&apos;s okay fot &quot;qt-5.0-wk1&quot; to be *input* to determine full port name, (this basically says use qt 5.0, not 4.8, and use wk2, not wk2, but pick the os you&apos;re running on) but hence not output.
&gt; 
&gt; Note that determine_full_port_name() is *only* used by the port factory to figure out what to pass to the port constructor. It should determine what port.name() returns. However, the port.name() by itself should not be used to determine anything else about the port&apos;s behavior; there are separate methods to determine  behavior, like baseline_platform_dir(), baseline_version_dir(), version(), operating_system(), configuration(), etc. Once the port is constructed, callers should just use port.name() for debugging ...

This clarifies a lot! Thanks.

I think we&apos;ve been on the wrong approach here. We should use &quot;qt-{version}-{wk1,wk2}-{platform}-{release,debug}&quot; for determine_full_port_name() and then we would need to change how we use the port name on those separated methods you&apos;ve talked about (baseline paths, configurations, etc).

Ossy, Balazs, what do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702280</commentid>
    <comment_count>12</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-08-22 13:37:29 -0700</bug_when>
    <thetext>I probably wouldn&apos;t do the &quot;-{release,debug}&quot; part, since no other port does.

Also, I meant to note that one could (and some have) argue that using strings for this is a bad design. In part I agree, and this is partially what the TestConfiguration object was intended to do, but it turns out that strings have some advantages, and TestConfigurations have their own disadvantages ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702757</commentid>
    <comment_count>13</comment_count>
      <attachid>159944</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-08-23 00:19:49 -0700</bug_when>
    <thetext>Comment on attachment 159944
patch

Would it perhaps make sense to keep this code around a little longer until qtwebkit-2.3 is out or stops merging from trunk? (this is an open question :) the alternative is that I just try to find commits like these and revert them in the branch to continue to be able to run the layout tests)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772861</commentid>
    <comment_count>14</comment_count>
      <attachid>159944</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-11-21 06:10:31 -0800</bug_when>
    <thetext>Comment on attachment 159944
patch

It is so obsolete. We will fix it later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>975492</commentid>
    <comment_count>15</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2014-02-03 03:21:29 -0800</bug_when>
    <thetext>=== Bulk closing of Qt bugs ===

If you believe that this bug report is still relevant for a non-Qt port of webkit.org, please re-open it and remove [Qt] from the summary.

If you believe that this is still an important QtWebKit bug, please fill a new report at https://bugreports.qt-project.org and add a link to this issue. See http://qt-project.org/wiki/ReportingBugsInQt for additional guidelines.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154522</attachid>
            <date>2012-07-25 19:08:31 -0700</date>
            <delta_ts>2012-07-25 19:08:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89886-20120725230820.patch</filename>
            <type>text/plain</type>
            <size>4653</size>
            <attacher name="Rafael Brandao">rafael.lobo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxODc2CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjIxNTZmNzZhYTY4ZmExMDg3M2YxMmM4ZTkyNjlkMmIw
NTdkMTg2NS4uNzFmNDI2YTg1YzRmMDIxYjMyMjM2ZDhhNzFjZGZiYWE3NDM2NDYwZSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4
IEBACisyMDEyLTA3LTI1ICBSYWZhZWwgQnJhbmRhbyAgPHJhZmFlbC5sb2JvQG9wZW5ib3NzYS5v
cmc+CisKKyAgICAgICAgW1F0XVtOUldUXSBGaXggZGV0ZXJtaW5lX2Z1bGxfcG9ydF9uYW1lKCkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5ODg2CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3F0LnB5OgorICAgICAgICAoUXRQb3J0KToKKyAg
ICAgICAgKFF0UG9ydC5kZXRlcm1pbmVfZnVsbF9wb3J0X25hbWUpOgorICAgICAgICAoUXRQb3J0
Ll9faW5pdF9fKToKKyAgICAgICAgKFF0UG9ydC5xdF92ZXJzaW9uKToKKyAgICAgICAgKFF0UG9y
dC5fc2VhcmNoX3BhdGhzKToKKyAgICAgICAgKFF0UG9ydC5fc2tpcHBlZF9maWxlX3NlYXJjaF9w
YXRocyk6CisKIDIwMTItMDctMDQgIEJhbGF6cyBBbmtlcyAgPGJhbmtAaW5mLnUtc3plZ2VkLmh1
PgogCiAgICAgICAgIHdlYmtpdC1wYXRjaCBzaG91bGQgYWRkIHJldmlld2VyIGlmICJSZXZpZXdl
ZCBieSBOT0JPRFkgLi4uIiBpcyBtaXNzaW5nCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3F0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC9xdC5weQppbmRleCA1MDhjN2Q0ZWVhNDIyYzczOGJkMjIwNzJkY2Q3
NDJjZmU2MzNmODdmLi5iNmU3YzFhOGRkNTg3ZDA3OGUxMjI0YzgyODYyZjdmNDkzZjU0NmEyIDEw
MDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3F0LnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvcXQucHkKQEAg
LTQ0LDcgKzQ0LDcgQEAgX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQogCiAKIGNs
YXNzIFF0UG9ydChXZWJLaXRQb3J0KToKLSAgICBBTExfVkVSU0lPTlMgPSBbJ2xpbnV4JywgJ3dp
bicsICdtYWMnXQorICAgIEFMTF9WRVJTSU9OUyA9IFsncXQtNS4wLXdrMicsICdxdC01LjAtd2sx
JywgJ3F0LTQuOCddCiAgICAgcG9ydF9uYW1lID0gInF0IgogCiAgICAgZGVmIF93azJfcG9ydF9u
YW1lKHNlbGYpOgpAQCAtNTUsOSArNTUsMTggQEAgY2xhc3MgUXRQb3J0KFdlYktpdFBvcnQpOgog
CiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIGRldGVybWluZV9mdWxsX3BvcnRfbmFtZShjbHMs
IGhvc3QsIG9wdGlvbnMsIHBvcnRfbmFtZSk6Ci0gICAgICAgIGlmIHBvcnRfbmFtZSBhbmQgcG9y
dF9uYW1lICE9IGNscy5wb3J0X25hbWU6Ci0gICAgICAgICAgICByZXR1cm4gcG9ydF9uYW1lCi0g
ICAgICAgIHJldHVybiBwb3J0X25hbWUgKyAnLScgKyBob3N0LnBsYXRmb3JtLm9zX25hbWUKKyAg
ICAgICAgI3ByaW50KCJob3N0OiAiICsgc3RyKGhvc3QpICsgIiBvcHRpb25zOiAiICsgc3RyKG9w
dGlvbnMpICsgIiBwb3J0X25hbWUgIiArIHN0cihwb3J0X25hbWUpKQorICAgICAgICB2ZXJzaW9u
ID0gY2xzLnF0X3ZlcnNpb24oaG9zdC5leGVjdXRpdmUpCisgICAgICAgIHVzZV93ZWJraXQyID0g
Z2V0YXR0cihvcHRpb25zLCAnd2Via2l0X3Rlc3RfcnVubmVyJywgTm9uZSkKKyAgICAgICAgcG9y
dF9uYW1lID0gJycKKyAgICAgICAgaWYgJzQuOCcgaW4gdmVyc2lvbjoKKyAgICAgICAgICAgIHBv
cnRfbmFtZSA9ICdxdC00LjgnCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBpZiB1c2Vfd2Vi
a2l0MjoKKyAgICAgICAgICAgICAgICBwb3J0X25hbWUgPSAncXQtNS4wLXdrMicKKyAgICAgICAg
ICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcG9ydF9uYW1lID0gJ3F0LTUuMC13azEnCisgICAg
ICAgIHJldHVybiBwb3J0X25hbWUKIAogICAgICMgc3lzX3BsYXRmb3JtIGV4aXN0cyBvbmx5IGZv
ciB1bml0IHRlc3RpbmcuCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGhvc3QsIHBvcnRfbmFtZSwg
Kiprd2FyZ3MpOgpAQCAtNjUsMTAgKzc0LDggQEAgY2xhc3MgUXRQb3J0KFdlYktpdFBvcnQpOgog
CiAgICAgICAgICMgRklYTUU6IFRoaXMgd2lsbCBhbGxvdyBXZWJLaXRQb3J0LmJhc2VsaW5lX3Nl
YXJjaF9wYXRoIGFuZCBXZWJLaXRQb3J0Ll9za2lwcGVkX2ZpbGVfc2VhcmNoX3BhdGhzCiAgICAg
ICAgICMgdG8gZG8gdGhlIHJpZ2h0IHRoaW5nLCBidXQgZG9lc24ndCBpbmNsdWRlIHN1cHBvcnQg
Zm9yIHF0LTQuOCBvciBxdC1hcm0gKHNlZW4gaW4gTGF5b3V0VGVzdHMvcGxhdGZvcm0pIHlldC4K
LSAgICAgICAgc2VsZi5fb3BlcmF0aW5nX3N5c3RlbSA9IHBvcnRfbmFtZS5yZXBsYWNlKCdxdC0n
LCAnJykKLQotICAgICAgICAjIEZJWE1FOiBXaHkgaXMgdGhpcyBiZWluZyBzZXQgYXQgYWxsPwot
ICAgICAgICBzZWxmLl92ZXJzaW9uID0gc2VsZi5vcGVyYXRpbmdfc3lzdGVtKCkKKyAgICAgICAg
c2VsZi5fb3BlcmF0aW5nX3N5c3RlbSA9IGhvc3QucGxhdGZvcm0ub3NfbmFtZQorICAgICAgICBz
ZWxmLl92ZXJzaW9uID0gc2VsZi5xdF92ZXJzaW9uKHNlbGYuX2V4ZWN1dGl2ZSkKIAogICAgIGRl
ZiBfZ2VuZXJhdGVfYWxsX3Rlc3RfY29uZmlndXJhdGlvbnMoc2VsZik6CiAgICAgICAgIGNvbmZp
Z3VyYXRpb25zID0gW10KQEAgLTkzLDExICsxMDAsMTEgQEAgY2xhc3MgUXRQb3J0KFdlYktpdFBv
cnQpOgogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2J1aWxkX3BhdGgo
J2xpYi9saWJRdFdlYktpdC5zbycpCiAKLSAgICBAbWVtb2l6ZWQKLSAgICBkZWYgcXRfdmVyc2lv
bihzZWxmKToKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgcXRfdmVyc2lvbihjbHMsIGV4ZWN1
dGl2ZSk6CiAgICAgICAgIHZlcnNpb24gPSAnJwogICAgICAgICB0cnk6Ci0gICAgICAgICAgICBm
b3IgbGluZSBpbiBzZWxmLl9leGVjdXRpdmUucnVuX2NvbW1hbmQoWydxbWFrZScsICctdiddKS5z
cGxpdCgnXG4nKToKKyAgICAgICAgICAgIGZvciBsaW5lIGluIGV4ZWN1dGl2ZS5ydW5fY29tbWFu
ZChbJ3FtYWtlJywgJy12J10pLnNwbGl0KCdcbicpOgogICAgICAgICAgICAgICAgIG1hdGNoID0g
cmUuc2VhcmNoKCdRdFxzdmVyc2lvblxzKD9QPHZlcnNpb24+XGRcLlxkKScsIGxpbmUpCiAgICAg
ICAgICAgICAgICAgaWYgbWF0Y2g6CiAgICAgICAgICAgICAgICAgICAgIHZlcnNpb24gPSBtYXRj
aC5ncm91cCgndmVyc2lvbicpCkBAIC0xMTcsMTcgKzEyNCwxNiBAQCBjbGFzcyBRdFBvcnQoV2Vi
S2l0UG9ydCk6CiAgICAgICAgICMgICAgICAgICAgICAgICAgfAogICAgICAgICAjICAgICAgICAg
ICAgICAgcXQKICAgICAgICAgc2VhcmNoX3BhdGhzID0gW10KLSAgICAgICAgdmVyc2lvbiA9IHNl
bGYucXRfdmVyc2lvbigpCi0gICAgICAgIGlmICc1LjAnIGluIHZlcnNpb246CisgICAgICAgIGlm
ICc1LjAnIGluIHNlbGYuX3ZlcnNpb246CiAgICAgICAgICAgICBpZiBzZWxmLmdldF9vcHRpb24o
J3dlYmtpdF90ZXN0X3J1bm5lcicpOgogICAgICAgICAgICAgICAgIHNlYXJjaF9wYXRocy5hcHBl
bmQoJ3F0LTUuMC13azInKQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBzZWFy
Y2hfcGF0aHMuYXBwZW5kKCdxdC01LjAtd2sxJykKLSAgICAgICAgaWYgJzQuOCcgaW4gdmVyc2lv
bjoKKyAgICAgICAgaWYgJzQuOCcgaW4gc2VsZi5fdmVyc2lvbjoKICAgICAgICAgICAgIHNlYXJj
aF9wYXRocy5hcHBlbmQoJ3F0LTQuOCcpCi0gICAgICAgIGVsaWYgdmVyc2lvbjoKKyAgICAgICAg
ZWxpZiBzZWxmLl92ZXJzaW9uOgogICAgICAgICAgICAgc2VhcmNoX3BhdGhzLmFwcGVuZCgncXQt
NS4wJykKLSAgICAgICAgc2VhcmNoX3BhdGhzLmFwcGVuZChzZWxmLnBvcnRfbmFtZSArICctJyAr
IHNlbGYuaG9zdC5wbGF0Zm9ybS5vc19uYW1lKQorICAgICAgICBzZWFyY2hfcGF0aHMuYXBwZW5k
KHNlbGYucG9ydF9uYW1lICsgJy0nICsgc2VsZi5vcGVyYXRpbmdfc3lzdGVtKCkpCiAgICAgICAg
IHNlYXJjaF9wYXRocy5hcHBlbmQoc2VsZi5wb3J0X25hbWUpCiAgICAgICAgIHJldHVybiBzZWFy
Y2hfcGF0aHMKIApAQCAtMTM2LDcgKzE0Miw3IEBAIGNsYXNzIFF0UG9ydChXZWJLaXRQb3J0KToK
IAogICAgIGRlZiBfc2tpcHBlZF9maWxlX3NlYXJjaF9wYXRocyhzZWxmKToKICAgICAgICAgc2tp
cHBlZF9wYXRoID0gc2VsZi5fc2VhcmNoX3BhdGhzKCkKLSAgICAgICAgaWYgc2VsZi5nZXRfb3B0
aW9uKCd3ZWJraXRfdGVzdF9ydW5uZXInKSBhbmQgJzUuMCcgaW4gc2VsZi5xdF92ZXJzaW9uKCk6
CisgICAgICAgIGlmIHNlbGYuZ2V0X29wdGlvbignd2Via2l0X3Rlc3RfcnVubmVyJykgYW5kICc1
LjAnIGluIHNlbGYuX3ZlcnNpb246CiAgICAgICAgICAgICBza2lwcGVkX3BhdGguYXBwZW5kKCd3
azInKQogICAgICAgICByZXR1cm4gc2tpcHBlZF9wYXRoCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157667</attachid>
            <date>2012-08-10 01:19:29 -0700</date>
            <delta_ts>2012-08-10 01:19:29 -0700</delta_ts>
            <desc>work in progress</desc>
            <filename>2012-08-09_wip.patch</filename>
            <type>text/plain</type>
            <size>7515</size>
            <attacher name="Balazs Ankes">bank</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvcXQu
cHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3F0LnB5CmluZGV4
IDZlN2IwOTguLmFkNjljNjIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvcXQucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcG9ydC9xdC5weQpAQCAtNDMsNyArNDMsNyBAQCBfbG9nID0gbG9nZ2luZy5nZXRMb2dn
ZXIoX19uYW1lX18pCiAKIAogY2xhc3MgUXRQb3J0KFBvcnQpOgotICAgIEFMTF9WRVJTSU9OUyA9
IFsnbGludXgnLCAnd2luJywgJ21hYyddCisgICAgQUxMX1ZFUlNJT05TID0gWydxdC01LjAtd2sy
JywgJ3F0LTUuMC13azEnLCAncXQtNC44J10KICAgICBwb3J0X25hbWUgPSAicXQiCiAKICAgICBk
ZWYgX3drMl9wb3J0X25hbWUoc2VsZik6CkBAIC01NCw5ICs1NCwxOCBAQCBjbGFzcyBRdFBvcnQo
UG9ydCk6CiAKICAgICBAY2xhc3NtZXRob2QKICAgICBkZWYgZGV0ZXJtaW5lX2Z1bGxfcG9ydF9u
YW1lKGNscywgaG9zdCwgb3B0aW9ucywgcG9ydF9uYW1lKToKLSAgICAgICAgaWYgcG9ydF9uYW1l
IGFuZCBwb3J0X25hbWUgIT0gY2xzLnBvcnRfbmFtZToKLSAgICAgICAgICAgIHJldHVybiBwb3J0
X25hbWUKLSAgICAgICAgcmV0dXJuIHBvcnRfbmFtZSArICctJyArIGhvc3QucGxhdGZvcm0ub3Nf
bmFtZQorICAgICAgICAjcHJpbnQoImhvc3Q6ICIgKyBzdHIoaG9zdCkgKyAiIG9wdGlvbnM6ICIg
KyBzdHIob3B0aW9ucykgKyAiIHBvcnRfbmFtZSAiICsgc3RyKHBvcnRfbmFtZSkpCisgICAgICAg
IHZlcnNpb24gPSBjbHMucXRfdmVyc2lvbihob3N0LmV4ZWN1dGl2ZSkKKyAgICAgICAgdXNlX3dl
YmtpdDIgPSBnZXRhdHRyKG9wdGlvbnMsICd3ZWJraXRfdGVzdF9ydW5uZXInLCBOb25lKQorICAg
ICAgICBwb3J0X25hbWUgPSAnJworICAgICAgICBpZiAnNC44JyBpbiB2ZXJzaW9uOgorICAgICAg
ICAgICAgcG9ydF9uYW1lID0gJ3F0LTQuOCcKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlm
IHVzZV93ZWJraXQyOgorICAgICAgICAgICAgICAgIHBvcnRfbmFtZSA9ICdxdC01LjAtd2syJwor
ICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBwb3J0X25hbWUgPSAncXQtNS4wLXdr
MScKKyAgICAgICAgcmV0dXJuIHBvcnRfbmFtZQogCiAgICAgIyBzeXNfcGxhdGZvcm0gZXhpc3Rz
IG9ubHkgZm9yIHVuaXQgdGVzdGluZy4KICAgICBkZWYgX19pbml0X18oc2VsZiwgaG9zdCwgcG9y
dF9uYW1lLCAqKmt3YXJncyk6CkBAIC02NCwxMCArNzMsOCBAQCBjbGFzcyBRdFBvcnQoUG9ydCk6
CiAKICAgICAgICAgIyBGSVhNRTogVGhpcyB3aWxsIGFsbG93IFBvcnQuYmFzZWxpbmVfc2VhcmNo
X3BhdGggYW5kIFBvcnQuX3NraXBwZWRfZmlsZV9zZWFyY2hfcGF0aHMKICAgICAgICAgIyB0byBk
byB0aGUgcmlnaHQgdGhpbmcsIGJ1dCBkb2Vzbid0IGluY2x1ZGUgc3VwcG9ydCBmb3IgcXQtNC44
IG9yIHF0LWFybSAoc2VlbiBpbiBMYXlvdXRUZXN0cy9wbGF0Zm9ybSkgeWV0LgotICAgICAgICBz
ZWxmLl9vcGVyYXRpbmdfc3lzdGVtID0gcG9ydF9uYW1lLnJlcGxhY2UoJ3F0LScsICcnKQotCi0g
ICAgICAgICMgRklYTUU6IFdoeSBpcyB0aGlzIGJlaW5nIHNldCBhdCBhbGw/Ci0gICAgICAgIHNl
bGYuX3ZlcnNpb24gPSBzZWxmLm9wZXJhdGluZ19zeXN0ZW0oKQorICAgICAgICBzZWxmLl9vcGVy
YXRpbmdfc3lzdGVtID0gaG9zdC5wbGF0Zm9ybS5vc19uYW1lCisgICAgICAgIHNlbGYuX3ZlcnNp
b24gPSBzZWxmLnF0X3ZlcnNpb24oc2VsZi5fZXhlY3V0aXZlKQogCiAgICAgZGVmIF9nZW5lcmF0
ZV9hbGxfdGVzdF9jb25maWd1cmF0aW9ucyhzZWxmKToKICAgICAgICAgY29uZmlndXJhdGlvbnMg
PSBbXQpAQCAtMTAxLDExICsxMDgsMTEgQEAgY2xhc3MgUXRQb3J0KFBvcnQpOgogICAgICAgICAg
ICAgc3VmZml4ID0gJ2RsbCcgaWYgc2VsZi5vcGVyYXRpbmdfc3lzdGVtKCkgPT0gJ3dpbicgZWxz
ZSAnc28nCiAgICAgICAgICAgICByZXR1cm4gZ2xvYi5nbG9iKG9zLnBhdGguam9pbihzZWxmLl9i
dWlsZF9wYXRoKCdsaWInKSwgJ2xpYiouJyArIHN1ZmZpeCkpCiAKLSAgICBAbWVtb2l6ZWQKLSAg
ICBkZWYgcXRfdmVyc2lvbihzZWxmKToKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgcXRfdmVy
c2lvbihjbHMsIGV4ZWN1dGl2ZSk6CiAgICAgICAgIHZlcnNpb24gPSAnJwogICAgICAgICB0cnk6
Ci0gICAgICAgICAgICBmb3IgbGluZSBpbiBzZWxmLl9leGVjdXRpdmUucnVuX2NvbW1hbmQoWydx
bWFrZScsICctdiddKS5zcGxpdCgnXG4nKToKKyAgICAgICAgICAgIGZvciBsaW5lIGluIGV4ZWN1
dGl2ZS5ydW5fY29tbWFuZChbJ3FtYWtlJywgJy12J10pLnNwbGl0KCdcbicpOgogICAgICAgICAg
ICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKCdRdFxzdmVyc2lvblxzKD9QPHZlcnNpb24+XGRcLlxk
KScsIGxpbmUpCiAgICAgICAgICAgICAgICAgaWYgbWF0Y2g6CiAgICAgICAgICAgICAgICAgICAg
IHZlcnNpb24gPSBtYXRjaC5ncm91cCgndmVyc2lvbicpCkBAIC0xMjUsMTcgKzEzMiwxNiBAQCBj
bGFzcyBRdFBvcnQoUG9ydCk6CiAgICAgICAgICMgICAgICAgICAgICAgICAgfAogICAgICAgICAj
ICAgICAgICAgICAgICAgcXQKICAgICAgICAgc2VhcmNoX3BhdGhzID0gW10KLSAgICAgICAgdmVy
c2lvbiA9IHNlbGYucXRfdmVyc2lvbigpCi0gICAgICAgIGlmICc1LjAnIGluIHZlcnNpb246Cisg
ICAgICAgIGlmICc1LjAnIGluIHNlbGYuX3ZlcnNpb246CiAgICAgICAgICAgICBpZiBzZWxmLmdl
dF9vcHRpb24oJ3dlYmtpdF90ZXN0X3J1bm5lcicpOgogICAgICAgICAgICAgICAgIHNlYXJjaF9w
YXRocy5hcHBlbmQoJ3F0LTUuMC13azInKQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAg
ICAgICBzZWFyY2hfcGF0aHMuYXBwZW5kKCdxdC01LjAtd2sxJykKLSAgICAgICAgaWYgJzQuOCcg
aW4gdmVyc2lvbjoKKyAgICAgICAgaWYgJzQuOCcgaW4gc2VsZi5fdmVyc2lvbjoKICAgICAgICAg
ICAgIHNlYXJjaF9wYXRocy5hcHBlbmQoJ3F0LTQuOCcpCi0gICAgICAgIGVsaWYgdmVyc2lvbjoK
KyAgICAgICAgZWxpZiBzZWxmLl92ZXJzaW9uOgogICAgICAgICAgICAgc2VhcmNoX3BhdGhzLmFw
cGVuZCgncXQtNS4wJykKLSAgICAgICAgc2VhcmNoX3BhdGhzLmFwcGVuZChzZWxmLnBvcnRfbmFt
ZSArICctJyArIHNlbGYuaG9zdC5wbGF0Zm9ybS5vc19uYW1lKQorICAgICAgICBzZWFyY2hfcGF0
aHMuYXBwZW5kKHNlbGYucG9ydF9uYW1lICsgJy0nICsgc2VsZi5vcGVyYXRpbmdfc3lzdGVtKCkp
CiAgICAgICAgIHNlYXJjaF9wYXRocy5hcHBlbmQoc2VsZi5wb3J0X25hbWUpCiAgICAgICAgIHJl
dHVybiBzZWFyY2hfcGF0aHMKIApAQCAtMTQ0LDcgKzE1MCw3IEBAIGNsYXNzIFF0UG9ydChQb3J0
KToKIAogICAgIGRlZiBfc2tpcHBlZF9maWxlX3NlYXJjaF9wYXRocyhzZWxmKToKICAgICAgICAg
c2tpcHBlZF9wYXRoID0gc2VsZi5fc2VhcmNoX3BhdGhzKCkKLSAgICAgICAgaWYgc2VsZi5nZXRf
b3B0aW9uKCd3ZWJraXRfdGVzdF9ydW5uZXInKSBhbmQgJzUuMCcgaW4gc2VsZi5xdF92ZXJzaW9u
KCk6CisgICAgICAgIGlmIHNlbGYuZ2V0X29wdGlvbignd2Via2l0X3Rlc3RfcnVubmVyJykgYW5k
ICc1LjAnIGluIHNlbGYuX3ZlcnNpb246CiAgICAgICAgICAgICBza2lwcGVkX3BhdGguYXBwZW5k
KCd3azInKQogICAgICAgICByZXR1cm4gc2tpcHBlZF9wYXRoCiAKZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvcXRfdW5pdHRlc3QucHkgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3F0X3VuaXR0ZXN0LnB5CmluZGV4
IDM3NGIxMDIuLmMxYzkwZGEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvcXRfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC9xdF91bml0dGVzdC5weQpAQCAtMTQ0LDMgKzE0NCw5IEBAIGNs
YXNzIFF0UG9ydFRlc3QocG9ydF90ZXN0Y2FzZS5Qb3J0VGVzdENhc2UpOgogICAgICAgICBwb3J0
Ll9leGVjdXRpdmUgPSBNb2NrRXhlY3V0aXZlMihleGl0X2NvZGU9MSwKICAgICAgICAgICAgIG91
dHB1dD0ndGVzdGluZyBvdXRwdXQgZmFpbHVyZScpCiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uo
cG9ydC5jaGVja19zeXNfZGVwcyhuZWVkc19odHRwPUZhbHNlKSkKKworICAgIGRlZiB0ZXN0X2Fs
bF90ZXN0X2NvbmZpZ3VyYXRpb25zKHNlbGYpOgorICAgICAgICBwb3J0ID0gc2VsZi5tYWtlX3Bv
cnQoKQorICAgICAgICBwb3J0Ll92ZXJzaW9uID0gInF0LTUuMC13azIiCisgICAgICAgIHNlbGYu
YXNzZXJ0VHJ1ZShsZW4ocG9ydC5hbGxfdGVzdF9jb25maWd1cmF0aW9ucygpKSA+IDApCisgICAg
ICAgIHNlbGYuYXNzZXJ0VHJ1ZShwb3J0LnRlc3RfY29uZmlndXJhdGlvbigpIGluIHBvcnQuYWxs
X3Rlc3RfY29uZmlndXJhdGlvbnMoKSwgIiVzIG5vdCBpbiAlcyIgJSAocG9ydC50ZXN0X2NvbmZp
Z3VyYXRpb24oKSwgcG9ydC5hbGxfdGVzdF9jb25maWd1cmF0aW9ucygpKSkKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9yZWJhc2VsaW5lX3VuaXR0ZXN0
LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3JlYmFzZWxpbmVfdW5p
dHRlc3QucHkKaW5kZXggOTNiZDVjNS4uY2EwOWVmYSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3JlYmFzZWxpbmVfdW5pdHRlc3QucHkKKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3JlYmFzZWxpbmVfdW5pdHRlc3QucHkK
QEAgLTI4OSw2ICsyODksMTggQEAgTU9DSyBydW5fY29tbWFuZDogWydxbWFrZScsICctdiddLCBj
d2Q9Tm9uZQogTU9DSyBydW5fY29tbWFuZDogWydxbWFrZScsICctdiddLCBjd2Q9Tm9uZQogTU9D
SyBydW5fY29tbWFuZDogWydxbWFrZScsICctdiddLCBjd2Q9Tm9uZQogTU9DSyBydW5fY29tbWFu
ZDogWydxbWFrZScsICctdiddLCBjd2Q9Tm9uZQorTU9DSyBydW5fY29tbWFuZDogWydxbWFrZScs
ICctdiddLCBjd2Q9Tm9uZQorTU9DSyBydW5fY29tbWFuZDogWydxbWFrZScsICctdiddLCBjd2Q9
Tm9uZQorTU9DSyBydW5fY29tbWFuZDogWydxbWFrZScsICctdiddLCBjd2Q9Tm9uZQorTU9DSyBy
dW5fY29tbWFuZDogWydxbWFrZScsICctdiddLCBjd2Q9Tm9uZQorTU9DSyBydW5fY29tbWFuZDog
WydxbWFrZScsICctdiddLCBjd2Q9Tm9uZQorTU9DSyBydW5fY29tbWFuZDogWydxbWFrZScsICct
diddLCBjd2Q9Tm9uZQorTU9DSyBydW5fY29tbWFuZDogWydxbWFrZScsICctdiddLCBjd2Q9Tm9u
ZQorTU9DSyBydW5fY29tbWFuZDogWydxbWFrZScsICctdiddLCBjd2Q9Tm9uZQorTU9DSyBydW5f
Y29tbWFuZDogWydxbWFrZScsICctdiddLCBjd2Q9Tm9uZQorTU9DSyBydW5fY29tbWFuZDogWydx
bWFrZScsICctdiddLCBjd2Q9Tm9uZQorTU9DSyBydW5fY29tbWFuZDogWydxbWFrZScsICctdidd
LCBjd2Q9Tm9uZQorTU9DSyBydW5fY29tbWFuZDogWydxbWFrZScsICctdiddLCBjd2Q9Tm9uZQog
IiIiCiAKICAgICAgICAgY29tbWFuZC5fdGVzdHNfdG9fcmViYXNlbGluZSA9IGxhbWJkYSBwb3J0
OiB7J3VzZXJzY3JpcHRzL2Fub3RoZXItdGVzdC5odG1sJzogc2V0KFsndHh0J10pLCAndXNlcnNj
cmlwdHMvaW1hZ2VzLnN2Zyc6IHNldChbJ3BuZyddKX0KQEAgLTI5NywxMyArMzA5LDMxIEBAIE1P
Q0sgcnVuX2NvbW1hbmQ6IFsncW1ha2UnLCAnLXYnXSwgY3dkPU5vbmUKICAgICAgICAgZXhwZWN0
ZWRfc3RkZXJyX3dpdGhfb3B0aW1pemUgPSAiIiJNT0NLIHJ1bl9jb21tYW5kOiBbJ3FtYWtlJywg
Jy12J10sIGN3ZD1Ob25lCiBNT0NLIHJ1bl9jb21tYW5kOiBbJ3FtYWtlJywgJy12J10sIGN3ZD1O
b25lCiBNT0NLIHJ1bl9jb21tYW5kOiBbJ3FtYWtlJywgJy12J10sIGN3ZD1Ob25lCitNT0NLIHJ1
bl9jb21tYW5kOiBbJ3FtYWtlJywgJy12J10sIGN3ZD1Ob25lCitNT0NLIHJ1bl9jb21tYW5kOiBb
J3FtYWtlJywgJy12J10sIGN3ZD1Ob25lCitNT0NLIHJ1bl9jb21tYW5kOiBbJ3FtYWtlJywgJy12
J10sIGN3ZD1Ob25lCitNT0NLIHJ1bl9jb21tYW5kOiBbJ3FtYWtlJywgJy12J10sIGN3ZD1Ob25l
CitNT0NLIHJ1bl9jb21tYW5kOiBbJ3FtYWtlJywgJy12J10sIGN3ZD1Ob25lCitNT0NLIHJ1bl9j
b21tYW5kOiBbJ3FtYWtlJywgJy12J10sIGN3ZD1Ob25lCitNT0NLIHJ1bl9jb21tYW5kOiBbJ3Ft
YWtlJywgJy12J10sIGN3ZD1Ob25lCitNT0NLIHJ1bl9jb21tYW5kOiBbJ3FtYWtlJywgJy12J10s
IGN3ZD1Ob25lCitNT0NLIHJ1bl9jb21tYW5kOiBbJ3FtYWtlJywgJy12J10sIGN3ZD1Ob25lCitN
T0NLIHJ1bl9jb21tYW5kOiBbJ3FtYWtlJywgJy12J10sIGN3ZD1Ob25lCitNT0NLIHJ1bl9jb21t
YW5kOiBbJ3FtYWtlJywgJy12J10sIGN3ZD1Ob25lCiBNT0NLIHJ1bl9jb21tYW5kOiBbJ2VjaG8n
LCAnb3B0aW1pemUtYmFzZWxpbmVzJywgJy0tc3VmZml4ZXMnLCAndHh0JywgJ3VzZXJzY3JpcHRz
L2Fub3RoZXItdGVzdC5odG1sJ10sIGN3ZD0vbW9jay1jaGVja291dAogTU9DSyBydW5fY29tbWFu
ZDogWydxbWFrZScsICctdiddLCBjd2Q9Tm9uZQorTU9DSyBydW5fY29tbWFuZDogWydxbWFrZScs
ICctdiddLCBjd2Q9Tm9uZQorTU9DSyBydW5fY29tbWFuZDogWydxbWFrZScsICctdiddLCBjd2Q9
Tm9uZQorTU9DSyBydW5fY29tbWFuZDogWydxbWFrZScsICctdiddLCBjd2Q9Tm9uZQogTU9DSyBy
dW5fY29tbWFuZDogWydlY2hvJywgJ29wdGltaXplLWJhc2VsaW5lcycsICctLXN1ZmZpeGVzJywg
J3BuZycsICd1c2Vyc2NyaXB0cy9pbWFnZXMuc3ZnJ10sIGN3ZD0vbW9jay1jaGVja291dAogTU9D
SyBydW5fY29tbWFuZDogWydxbWFrZScsICctdiddLCBjd2Q9Tm9uZQogTU9DSyBydW5fY29tbWFu
ZDogWydxbWFrZScsICctdiddLCBjd2Q9Tm9uZQogTU9DSyBydW5fY29tbWFuZDogWydxbWFrZScs
ICctdiddLCBjd2Q9Tm9uZQogTU9DSyBydW5fY29tbWFuZDogWydxbWFrZScsICctdiddLCBjd2Q9
Tm9uZQorTU9DSyBydW5fY29tbWFuZDogWydxbWFrZScsICctdiddLCBjd2Q9Tm9uZQorTU9DSyBy
dW5fY29tbWFuZDogWydxbWFrZScsICctdiddLCBjd2Q9Tm9uZQorTU9DSyBydW5fY29tbWFuZDog
WydxbWFrZScsICctdiddLCBjd2Q9Tm9uZQorTU9DSyBydW5fY29tbWFuZDogWydxbWFrZScsICct
diddLCBjd2Q9Tm9uZQogIiIiCiAKICAgICAgICAgY29tbWFuZC5fdGVzdHNfdG9fcmViYXNlbGlu
ZSA9IGxhbWJkYSBwb3J0OiB7J3VzZXJzY3JpcHRzL2Fub3RoZXItdGVzdC5odG1sJzogc2V0KFsn
dHh0J10pLCAndXNlcnNjcmlwdHMvaW1hZ2VzLnN2Zyc6IHNldChbJ3BuZyddKX0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157737</attachid>
            <date>2012-08-10 08:29:58 -0700</date>
            <delta_ts>2012-08-22 08:33:10 -0700</delta_ts>
            <desc>work in progress patch</desc>
            <filename>2012-08-10.patch</filename>
            <type>text/plain</type>
            <size>9133</size>
            <attacher name="Balazs Ankes">bank</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvcXQu
cHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3F0LnB5CmluZGV4
IDZlN2IwOTguLmE1MTUxMGIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvcXQucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcG9ydC9xdC5weQpAQCAtNDMsNyArNDMsNyBAQCBfbG9nID0gbG9nZ2luZy5nZXRMb2dn
ZXIoX19uYW1lX18pCiAKIAogY2xhc3MgUXRQb3J0KFBvcnQpOgotICAgIEFMTF9WRVJTSU9OUyA9
IFsnbGludXgnLCAnd2luJywgJ21hYyddCisgICAgQUxMX1ZFUlNJT05TID0gWydxdC01LjAtd2sy
JywgJ3F0LTUuMC13azEnXQogICAgIHBvcnRfbmFtZSA9ICJxdCIKIAogICAgIGRlZiBfd2syX3Bv
cnRfbmFtZShzZWxmKToKQEAgLTU0LDkgKzU0LDE1IEBAIGNsYXNzIFF0UG9ydChQb3J0KToKIAog
ICAgIEBjbGFzc21ldGhvZAogICAgIGRlZiBkZXRlcm1pbmVfZnVsbF9wb3J0X25hbWUoY2xzLCBo
b3N0LCBvcHRpb25zLCBwb3J0X25hbWUpOgotICAgICAgICBpZiBwb3J0X25hbWUgYW5kIHBvcnRf
bmFtZSAhPSBjbHMucG9ydF9uYW1lOgotICAgICAgICAgICAgcmV0dXJuIHBvcnRfbmFtZQotICAg
ICAgICByZXR1cm4gcG9ydF9uYW1lICsgJy0nICsgaG9zdC5wbGF0Zm9ybS5vc19uYW1lCisgICAg
ICAgICNwcmludCgiaG9zdDogIiArIHN0cihob3N0KSArICIgb3B0aW9uczogIiArIHN0cihvcHRp
b25zKSArICIgcG9ydF9uYW1lICIgKyBzdHIocG9ydF9uYW1lKSkKKyAgICAgICAgdmVyc2lvbiA9
IGNscy5xdF92ZXJzaW9uKGhvc3QuZXhlY3V0aXZlKQorICAgICAgICB1c2Vfd2Via2l0MiA9IGdl
dGF0dHIob3B0aW9ucywgJ3dlYmtpdF90ZXN0X3J1bm5lcicsIE5vbmUpCisgICAgICAgIHBvcnRf
bmFtZSA9ICcnCisgICAgICAgIGlmIHVzZV93ZWJraXQyOgorICAgICAgICAgICAgcG9ydF9uYW1l
ID0gJ3F0LTUuMC13azInCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBwb3J0X25hbWUgPSAn
cXQtNS4wLXdrMScKKyAgICAgICAgcmV0dXJuIHBvcnRfbmFtZQogCiAgICAgIyBzeXNfcGxhdGZv
cm0gZXhpc3RzIG9ubHkgZm9yIHVuaXQgdGVzdGluZy4KICAgICBkZWYgX19pbml0X18oc2VsZiwg
aG9zdCwgcG9ydF9uYW1lLCAqKmt3YXJncyk6CkBAIC02NCwxMCArNzAsOCBAQCBjbGFzcyBRdFBv
cnQoUG9ydCk6CiAKICAgICAgICAgIyBGSVhNRTogVGhpcyB3aWxsIGFsbG93IFBvcnQuYmFzZWxp
bmVfc2VhcmNoX3BhdGggYW5kIFBvcnQuX3NraXBwZWRfZmlsZV9zZWFyY2hfcGF0aHMKICAgICAg
ICAgIyB0byBkbyB0aGUgcmlnaHQgdGhpbmcsIGJ1dCBkb2Vzbid0IGluY2x1ZGUgc3VwcG9ydCBm
b3IgcXQtNC44IG9yIHF0LWFybSAoc2VlbiBpbiBMYXlvdXRUZXN0cy9wbGF0Zm9ybSkgeWV0Lgot
ICAgICAgICBzZWxmLl9vcGVyYXRpbmdfc3lzdGVtID0gcG9ydF9uYW1lLnJlcGxhY2UoJ3F0LScs
ICcnKQotCi0gICAgICAgICMgRklYTUU6IFdoeSBpcyB0aGlzIGJlaW5nIHNldCBhdCBhbGw/Ci0g
ICAgICAgIHNlbGYuX3ZlcnNpb24gPSBzZWxmLm9wZXJhdGluZ19zeXN0ZW0oKQorICAgICAgICBz
ZWxmLl9vcGVyYXRpbmdfc3lzdGVtID0gaG9zdC5wbGF0Zm9ybS5vc19uYW1lCisgICAgICAgIHNl
bGYuX3ZlcnNpb24gPSBzZWxmLnF0X3ZlcnNpb24oc2VsZi5fZXhlY3V0aXZlKQogCiAgICAgZGVm
IF9nZW5lcmF0ZV9hbGxfdGVzdF9jb25maWd1cmF0aW9ucyhzZWxmKToKICAgICAgICAgY29uZmln
dXJhdGlvbnMgPSBbXQpAQCAtMTAxLDE3ICsxMDUsMTcgQEAgY2xhc3MgUXRQb3J0KFBvcnQpOgog
ICAgICAgICAgICAgc3VmZml4ID0gJ2RsbCcgaWYgc2VsZi5vcGVyYXRpbmdfc3lzdGVtKCkgPT0g
J3dpbicgZWxzZSAnc28nCiAgICAgICAgICAgICByZXR1cm4gZ2xvYi5nbG9iKG9zLnBhdGguam9p
bihzZWxmLl9idWlsZF9wYXRoKCdsaWInKSwgJ2xpYiouJyArIHN1ZmZpeCkpCiAKLSAgICBAbWVt
b2l6ZWQKLSAgICBkZWYgcXRfdmVyc2lvbihzZWxmKToKKyAgICBAY2xhc3NtZXRob2QKKyAgICBk
ZWYgcXRfdmVyc2lvbihjbHMsIGV4ZWN1dGl2ZSk6CiAgICAgICAgIHZlcnNpb24gPSAnJwogICAg
ICAgICB0cnk6Ci0gICAgICAgICAgICBmb3IgbGluZSBpbiBzZWxmLl9leGVjdXRpdmUucnVuX2Nv
bW1hbmQoWydxbWFrZScsICctdiddKS5zcGxpdCgnXG4nKToKKyAgICAgICAgICAgIGZvciBsaW5l
IGluIGV4ZWN1dGl2ZS5ydW5fY29tbWFuZChbJ3FtYWtlJywgJy12J10pLnNwbGl0KCdcbicpOgog
ICAgICAgICAgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKCdRdFxzdmVyc2lvblxzKD9QPHZlcnNp
b24+XGRcLlxkKScsIGxpbmUpCiAgICAgICAgICAgICAgICAgaWYgbWF0Y2g6CiAgICAgICAgICAg
ICAgICAgICAgIHZlcnNpb24gPSBtYXRjaC5ncm91cCgndmVyc2lvbicpCiAgICAgICAgICAgICAg
ICAgICAgIGJyZWFrCiAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgotICAgICAgICAgICAgdmVyc2lv
biA9ICc0LjgnCisgICAgICAgICAgICB2ZXJzaW9uID0gJzUuMCcKICAgICAgICAgcmV0dXJuIHZl
cnNpb24KIAogICAgIGRlZiBfc2VhcmNoX3BhdGhzKHNlbGYpOgpAQCAtMTI1LDE3ICsxMjksMTQg
QEAgY2xhc3MgUXRQb3J0KFBvcnQpOgogICAgICAgICAjICAgICAgICAgICAgICAgIHwKICAgICAg
ICAgIyAgICAgICAgICAgICAgIHF0CiAgICAgICAgIHNlYXJjaF9wYXRocyA9IFtdCi0gICAgICAg
IHZlcnNpb24gPSBzZWxmLnF0X3ZlcnNpb24oKQotICAgICAgICBpZiAnNS4wJyBpbiB2ZXJzaW9u
OgorICAgICAgICBpZiAnNS4wJyBpbiBzZWxmLl92ZXJzaW9uOgogICAgICAgICAgICAgaWYgc2Vs
Zi5nZXRfb3B0aW9uKCd3ZWJraXRfdGVzdF9ydW5uZXInKToKICAgICAgICAgICAgICAgICBzZWFy
Y2hfcGF0aHMuYXBwZW5kKCdxdC01LjAtd2syJykKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAg
ICAgICAgICAgc2VhcmNoX3BhdGhzLmFwcGVuZCgncXQtNS4wLXdrMScpCi0gICAgICAgIGlmICc0
LjgnIGluIHZlcnNpb246Ci0gICAgICAgICAgICBzZWFyY2hfcGF0aHMuYXBwZW5kKCdxdC00Ljgn
KQotICAgICAgICBlbGlmIHZlcnNpb246CisgICAgICAgIGlmIHNlbGYuX3ZlcnNpb246CiAgICAg
ICAgICAgICBzZWFyY2hfcGF0aHMuYXBwZW5kKCdxdC01LjAnKQotICAgICAgICBzZWFyY2hfcGF0
aHMuYXBwZW5kKHNlbGYucG9ydF9uYW1lICsgJy0nICsgc2VsZi5ob3N0LnBsYXRmb3JtLm9zX25h
bWUpCisgICAgICAgIHNlYXJjaF9wYXRocy5hcHBlbmQoc2VsZi5wb3J0X25hbWUgKyAnLScgKyBz
ZWxmLm9wZXJhdGluZ19zeXN0ZW0oKSkKICAgICAgICAgc2VhcmNoX3BhdGhzLmFwcGVuZChzZWxm
LnBvcnRfbmFtZSkKICAgICAgICAgcmV0dXJuIHNlYXJjaF9wYXRocwogCkBAIC0xNDQsNyArMTQ1
LDcgQEAgY2xhc3MgUXRQb3J0KFBvcnQpOgogCiAgICAgZGVmIF9za2lwcGVkX2ZpbGVfc2VhcmNo
X3BhdGhzKHNlbGYpOgogICAgICAgICBza2lwcGVkX3BhdGggPSBzZWxmLl9zZWFyY2hfcGF0aHMo
KQotICAgICAgICBpZiBzZWxmLmdldF9vcHRpb24oJ3dlYmtpdF90ZXN0X3J1bm5lcicpIGFuZCAn
NS4wJyBpbiBzZWxmLnF0X3ZlcnNpb24oKToKKyAgICAgICAgaWYgc2VsZi5nZXRfb3B0aW9uKCd3
ZWJraXRfdGVzdF9ydW5uZXInKSBhbmQgJzUuMCcgaW4gc2VsZi5fdmVyc2lvbjoKICAgICAgICAg
ICAgIHNraXBwZWRfcGF0aC5hcHBlbmQoJ3drMicpCiAgICAgICAgIHJldHVybiBza2lwcGVkX3Bh
dGgKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9xdF91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvcXRfdW5pdHRlc3QucHkKaW5kZXggMzc0YjEwMi4uM2JiMTgyOSAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9xdF91bml0dGVzdC5weQorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3F0X3VuaXR0ZXN0LnB5
CkBAIC00MiwxNCArNDIsNiBAQCBjbGFzcyBRdFBvcnRUZXN0KHBvcnRfdGVzdGNhc2UuUG9ydFRl
c3RDYXNlKToKICAgICBwb3J0X25hbWUgPSAncXQtbWFjJwogICAgIHBvcnRfbWFrZXIgPSBRdFBv
cnQKICAgICBzZWFyY2hfcGF0aHNfY2FzZXMgPSBbCi0gICAgICAgIHsnc2VhcmNoX3BhdGhzJzpb
J3F0LTQuOCcsICdxdC1tYWMnLCAncXQnXSwgJ29zX25hbWUnOidtYWMnLCAndXNlX3dlYmtpdDIn
OkZhbHNlLCAncXRfdmVyc2lvbic6JzQuOCd9LAotICAgICAgICB7J3NlYXJjaF9wYXRocyc6Wydx
dC00LjgnLCAncXQtd2luJywgJ3F0J10sICdvc19uYW1lJzond2luJywgJ3VzZV93ZWJraXQyJzpG
YWxzZSwgJ3F0X3ZlcnNpb24nOic0LjgnfSwKLSAgICAgICAgeydzZWFyY2hfcGF0aHMnOlsncXQt
NC44JywgJ3F0LWxpbnV4JywgJ3F0J10sICdvc19uYW1lJzonbGludXgnLCAndXNlX3dlYmtpdDIn
OkZhbHNlLCAncXRfdmVyc2lvbic6JzQuOCd9LAotCi0gICAgICAgIHsnc2VhcmNoX3BhdGhzJzpb
J3F0LTQuOCcsICdxdC1tYWMnLCAncXQnXSwgJ29zX25hbWUnOidtYWMnLCAndXNlX3dlYmtpdDIn
OkZhbHNlfSwKLSAgICAgICAgeydzZWFyY2hfcGF0aHMnOlsncXQtNC44JywgJ3F0LXdpbicsICdx
dCddLCAnb3NfbmFtZSc6J3dpbicsICd1c2Vfd2Via2l0Mic6RmFsc2V9LAotICAgICAgICB7J3Nl
YXJjaF9wYXRocyc6WydxdC00LjgnLCAncXQtbGludXgnLCAncXQnXSwgJ29zX25hbWUnOidsaW51
eCcsICd1c2Vfd2Via2l0Mic6RmFsc2V9LAotCiAgICAgICAgIHsnc2VhcmNoX3BhdGhzJzpbJ3F0
LTUuMC13azInLCAncXQtNS4wJywgJ3F0LW1hYycsICdxdCddLCAnb3NfbmFtZSc6J21hYycsICd1
c2Vfd2Via2l0Mic6VHJ1ZSwgJ3F0X3ZlcnNpb24nOic1LjAnfSwKICAgICAgICAgeydzZWFyY2hf
cGF0aHMnOlsncXQtNS4wLXdrMicsICdxdC01LjAnLCAncXQtd2luJywgJ3F0J10sICdvc19uYW1l
Jzond2luJywgJ3VzZV93ZWJraXQyJzpUcnVlLCAncXRfdmVyc2lvbic6JzUuMCd9LAogICAgICAg
ICB7J3NlYXJjaF9wYXRocyc6WydxdC01LjAtd2syJywgJ3F0LTUuMCcsICdxdC1saW51eCcsICdx
dCddLCAnb3NfbmFtZSc6J2xpbnV4JywgJ3VzZV93ZWJraXQyJzpUcnVlLCAncXRfdmVyc2lvbic6
JzUuMCd9LApAQCAtOTEsOCArODMsNiBAQCBjbGFzcyBRdFBvcnRUZXN0KHBvcnRfdGVzdGNhc2Uu
UG9ydFRlc3RDYXNlKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocG9ydC5leHBlY3RhdGlv
bnNfZmlsZXMoKSwgc2VhcmNoX3BhdGhzKQogCiAgICAgZGVmIF9xdF92ZXJzaW9uKHNlbGYsIHF0
X3ZlcnNpb24pOgotICAgICAgICBpZiBxdF92ZXJzaW9uIGluICc0LjgnOgotICAgICAgICAgICAg
cmV0dXJuICdRTWFrZSB2ZXJzaW9uIDIuMDFhXG5Vc2luZyBRdCB2ZXJzaW9uIDQuOC4wIGluIC91
c3IvbG9jYWwvVHJvbGx0ZWNoL1F0LTQuOC4yL2xpYicKICAgICAgICAgaWYgcXRfdmVyc2lvbiBp
biAnNS4wJzoKICAgICAgICAgICAgIHJldHVybiAnUU1ha2UgdmVyc2lvbiAyLjAxYVxuVXNpbmcg
UXQgdmVyc2lvbiA1LjAuMCBpbiAvdXNyL2xvY2FsL1Ryb2xsdGVjaC9RdC01LjAuMC9saWInCiAK
QEAgLTE0NCwzICsxMzQsOSBAQCBjbGFzcyBRdFBvcnRUZXN0KHBvcnRfdGVzdGNhc2UuUG9ydFRl
c3RDYXNlKToKICAgICAgICAgcG9ydC5fZXhlY3V0aXZlID0gTW9ja0V4ZWN1dGl2ZTIoZXhpdF9j
b2RlPTEsCiAgICAgICAgICAgICBvdXRwdXQ9J3Rlc3Rpbmcgb3V0cHV0IGZhaWx1cmUnKQogICAg
ICAgICBzZWxmLmFzc2VydEZhbHNlKHBvcnQuY2hlY2tfc3lzX2RlcHMobmVlZHNfaHR0cD1GYWxz
ZSkpCisKKyAgICBkZWYgdGVzdF9hbGxfdGVzdF9jb25maWd1cmF0aW9ucyhzZWxmKToKKyAgICAg
ICAgcG9ydCA9IHNlbGYubWFrZV9wb3J0KCkKKyAgICAgICAgcG9ydC5fdmVyc2lvbiA9ICJxdC01
LjAtd2syIgorICAgICAgICBzZWxmLmFzc2VydFRydWUobGVuKHBvcnQuYWxsX3Rlc3RfY29uZmln
dXJhdGlvbnMoKSkgPiAwKQorICAgICAgICBzZWxmLmFzc2VydFRydWUocG9ydC50ZXN0X2NvbmZp
Z3VyYXRpb24oKSBpbiBwb3J0LmFsbF90ZXN0X2NvbmZpZ3VyYXRpb25zKCksICIlcyBub3QgaW4g
JXMiICUgKHBvcnQudGVzdF9jb25maWd1cmF0aW9uKCksIHBvcnQuYWxsX3Rlc3RfY29uZmlndXJh
dGlvbnMoKSkpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFu
ZHMvcmViYXNlbGluZV91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9j
b21tYW5kcy9yZWJhc2VsaW5lX3VuaXR0ZXN0LnB5CmluZGV4IDkzYmQ1YzUuLmNhMDllZmEgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9yZWJhc2VsaW5l
X3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9y
ZWJhc2VsaW5lX3VuaXR0ZXN0LnB5CkBAIC0yODksNiArMjg5LDE4IEBAIE1PQ0sgcnVuX2NvbW1h
bmQ6IFsncW1ha2UnLCAnLXYnXSwgY3dkPU5vbmUKIE1PQ0sgcnVuX2NvbW1hbmQ6IFsncW1ha2Un
LCAnLXYnXSwgY3dkPU5vbmUKIE1PQ0sgcnVuX2NvbW1hbmQ6IFsncW1ha2UnLCAnLXYnXSwgY3dk
PU5vbmUKIE1PQ0sgcnVuX2NvbW1hbmQ6IFsncW1ha2UnLCAnLXYnXSwgY3dkPU5vbmUKK01PQ0sg
cnVuX2NvbW1hbmQ6IFsncW1ha2UnLCAnLXYnXSwgY3dkPU5vbmUKK01PQ0sgcnVuX2NvbW1hbmQ6
IFsncW1ha2UnLCAnLXYnXSwgY3dkPU5vbmUKK01PQ0sgcnVuX2NvbW1hbmQ6IFsncW1ha2UnLCAn
LXYnXSwgY3dkPU5vbmUKK01PQ0sgcnVuX2NvbW1hbmQ6IFsncW1ha2UnLCAnLXYnXSwgY3dkPU5v
bmUKK01PQ0sgcnVuX2NvbW1hbmQ6IFsncW1ha2UnLCAnLXYnXSwgY3dkPU5vbmUKK01PQ0sgcnVu
X2NvbW1hbmQ6IFsncW1ha2UnLCAnLXYnXSwgY3dkPU5vbmUKK01PQ0sgcnVuX2NvbW1hbmQ6IFsn
cW1ha2UnLCAnLXYnXSwgY3dkPU5vbmUKK01PQ0sgcnVuX2NvbW1hbmQ6IFsncW1ha2UnLCAnLXYn
XSwgY3dkPU5vbmUKK01PQ0sgcnVuX2NvbW1hbmQ6IFsncW1ha2UnLCAnLXYnXSwgY3dkPU5vbmUK
K01PQ0sgcnVuX2NvbW1hbmQ6IFsncW1ha2UnLCAnLXYnXSwgY3dkPU5vbmUKK01PQ0sgcnVuX2Nv
bW1hbmQ6IFsncW1ha2UnLCAnLXYnXSwgY3dkPU5vbmUKK01PQ0sgcnVuX2NvbW1hbmQ6IFsncW1h
a2UnLCAnLXYnXSwgY3dkPU5vbmUKICIiIgogCiAgICAgICAgIGNvbW1hbmQuX3Rlc3RzX3RvX3Jl
YmFzZWxpbmUgPSBsYW1iZGEgcG9ydDogeyd1c2Vyc2NyaXB0cy9hbm90aGVyLXRlc3QuaHRtbCc6
IHNldChbJ3R4dCddKSwgJ3VzZXJzY3JpcHRzL2ltYWdlcy5zdmcnOiBzZXQoWydwbmcnXSl9CkBA
IC0yOTcsMTMgKzMwOSwzMSBAQCBNT0NLIHJ1bl9jb21tYW5kOiBbJ3FtYWtlJywgJy12J10sIGN3
ZD1Ob25lCiAgICAgICAgIGV4cGVjdGVkX3N0ZGVycl93aXRoX29wdGltaXplID0gIiIiTU9DSyBy
dW5fY29tbWFuZDogWydxbWFrZScsICctdiddLCBjd2Q9Tm9uZQogTU9DSyBydW5fY29tbWFuZDog
WydxbWFrZScsICctdiddLCBjd2Q9Tm9uZQogTU9DSyBydW5fY29tbWFuZDogWydxbWFrZScsICct
diddLCBjd2Q9Tm9uZQorTU9DSyBydW5fY29tbWFuZDogWydxbWFrZScsICctdiddLCBjd2Q9Tm9u
ZQorTU9DSyBydW5fY29tbWFuZDogWydxbWFrZScsICctdiddLCBjd2Q9Tm9uZQorTU9DSyBydW5f
Y29tbWFuZDogWydxbWFrZScsICctdiddLCBjd2Q9Tm9uZQorTU9DSyBydW5fY29tbWFuZDogWydx
bWFrZScsICctdiddLCBjd2Q9Tm9uZQorTU9DSyBydW5fY29tbWFuZDogWydxbWFrZScsICctdidd
LCBjd2Q9Tm9uZQorTU9DSyBydW5fY29tbWFuZDogWydxbWFrZScsICctdiddLCBjd2Q9Tm9uZQor
TU9DSyBydW5fY29tbWFuZDogWydxbWFrZScsICctdiddLCBjd2Q9Tm9uZQorTU9DSyBydW5fY29t
bWFuZDogWydxbWFrZScsICctdiddLCBjd2Q9Tm9uZQorTU9DSyBydW5fY29tbWFuZDogWydxbWFr
ZScsICctdiddLCBjd2Q9Tm9uZQorTU9DSyBydW5fY29tbWFuZDogWydxbWFrZScsICctdiddLCBj
d2Q9Tm9uZQorTU9DSyBydW5fY29tbWFuZDogWydxbWFrZScsICctdiddLCBjd2Q9Tm9uZQogTU9D
SyBydW5fY29tbWFuZDogWydlY2hvJywgJ29wdGltaXplLWJhc2VsaW5lcycsICctLXN1ZmZpeGVz
JywgJ3R4dCcsICd1c2Vyc2NyaXB0cy9hbm90aGVyLXRlc3QuaHRtbCddLCBjd2Q9L21vY2stY2hl
Y2tvdXQKIE1PQ0sgcnVuX2NvbW1hbmQ6IFsncW1ha2UnLCAnLXYnXSwgY3dkPU5vbmUKK01PQ0sg
cnVuX2NvbW1hbmQ6IFsncW1ha2UnLCAnLXYnXSwgY3dkPU5vbmUKK01PQ0sgcnVuX2NvbW1hbmQ6
IFsncW1ha2UnLCAnLXYnXSwgY3dkPU5vbmUKK01PQ0sgcnVuX2NvbW1hbmQ6IFsncW1ha2UnLCAn
LXYnXSwgY3dkPU5vbmUKIE1PQ0sgcnVuX2NvbW1hbmQ6IFsnZWNobycsICdvcHRpbWl6ZS1iYXNl
bGluZXMnLCAnLS1zdWZmaXhlcycsICdwbmcnLCAndXNlcnNjcmlwdHMvaW1hZ2VzLnN2ZyddLCBj
d2Q9L21vY2stY2hlY2tvdXQKIE1PQ0sgcnVuX2NvbW1hbmQ6IFsncW1ha2UnLCAnLXYnXSwgY3dk
PU5vbmUKIE1PQ0sgcnVuX2NvbW1hbmQ6IFsncW1ha2UnLCAnLXYnXSwgY3dkPU5vbmUKIE1PQ0sg
cnVuX2NvbW1hbmQ6IFsncW1ha2UnLCAnLXYnXSwgY3dkPU5vbmUKIE1PQ0sgcnVuX2NvbW1hbmQ6
IFsncW1ha2UnLCAnLXYnXSwgY3dkPU5vbmUKK01PQ0sgcnVuX2NvbW1hbmQ6IFsncW1ha2UnLCAn
LXYnXSwgY3dkPU5vbmUKK01PQ0sgcnVuX2NvbW1hbmQ6IFsncW1ha2UnLCAnLXYnXSwgY3dkPU5v
bmUKK01PQ0sgcnVuX2NvbW1hbmQ6IFsncW1ha2UnLCAnLXYnXSwgY3dkPU5vbmUKK01PQ0sgcnVu
X2NvbW1hbmQ6IFsncW1ha2UnLCAnLXYnXSwgY3dkPU5vbmUKICIiIgogCiAgICAgICAgIGNvbW1h
bmQuX3Rlc3RzX3RvX3JlYmFzZWxpbmUgPSBsYW1iZGEgcG9ydDogeyd1c2Vyc2NyaXB0cy9hbm90
aGVyLXRlc3QuaHRtbCc6IHNldChbJ3R4dCddKSwgJ3VzZXJzY3JpcHRzL2ltYWdlcy5zdmcnOiBz
ZXQoWydwbmcnXSl9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159944</attachid>
            <date>2012-08-22 08:33:10 -0700</date>
            <delta_ts>2012-11-21 06:10:31 -0800</delta_ts>
            <desc>patch</desc>
            <filename>2012-08-22.patch</filename>
            <type>text/plain</type>
            <size>10103</size>
            <attacher name="Balazs Ankes">bank</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxNTZj
NDVlLi5hZTQwYmM1IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTItMDgtMjIgIEJhbGF6cyBBbmtlcyAgPGJhbmtA
aW5mLnUtc3plZ2VkLmh1PgorCisgICAgICAgIFtRdF1bTlJXVF0gRml4IGRldGVybWluZV9mdWxs
X3BvcnRfbmFtZSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04OTg4NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFJlZmFjdG9yIHF0LnB5LCByZW1vdmUgcXQtNC44IHNwZWNpZmljIGxpbmVzIGFuZCB1cGRh
dGUgdW5pdHRlc3RzLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
cG9ydC9xdC5weToKKyAgICAgICAgKFF0UG9ydCk6CisgICAgICAgIChRdFBvcnQuZGV0ZXJtaW5l
X2Z1bGxfcG9ydF9uYW1lKToKKyAgICAgICAgKFF0UG9ydC5fX2luaXRfXyk6CisgICAgICAgIChR
dFBvcnQucXRfdmVyc2lvbik6CisgICAgICAgIChRdFBvcnQuX3NlYXJjaF9wYXRocyk6CisgICAg
ICAgIChRdFBvcnQuX3NraXBwZWRfZmlsZV9zZWFyY2hfcGF0aHMpOgorICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvcXRfdW5pdHRlc3QucHk6CisgICAgICAgIChR
dFBvcnRUZXN0KToKKyAgICAgICAgKFF0UG9ydFRlc3QudGVzdF9jaGVja19zeXNfZGVwcyk6Cisg
ICAgICAgIChRdFBvcnRUZXN0LnRlc3RfYWxsX3Rlc3RfY29uZmlndXJhdGlvbnMpOgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9yZWJhc2VsaW5lX3VuaXR0ZXN0LnB5
OgorCiAyMDEyLTA4LTIyICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5Abm9r
aWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVpbGRmaXggZm9yIFF0LW1pbmltYWwgYWZ0
ZXIgcjEyNjI5MQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcG9ydC9xdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQv
cXQucHkKaW5kZXggNmU3YjA5OC4uZmZiZGE3MCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9xdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9wb3J0L3F0LnB5CkBAIC00Myw3ICs0Myw3IEBAIF9sb2cgPSBsb2dn
aW5nLmdldExvZ2dlcihfX25hbWVfXykKIAogCiBjbGFzcyBRdFBvcnQoUG9ydCk6Ci0gICAgQUxM
X1ZFUlNJT05TID0gWydsaW51eCcsICd3aW4nLCAnbWFjJ10KKyAgICBBTExfVkVSU0lPTlMgPSBb
J3F0LTUuMC13azInLCAncXQtNS4wLXdrMSddCiAgICAgcG9ydF9uYW1lID0gInF0IgogCiAgICAg
ZGVmIF93azJfcG9ydF9uYW1lKHNlbGYpOgpAQCAtNTQsOSArNTQsMTQgQEAgY2xhc3MgUXRQb3J0
KFBvcnQpOgogCiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIGRldGVybWluZV9mdWxsX3BvcnRf
bmFtZShjbHMsIGhvc3QsIG9wdGlvbnMsIHBvcnRfbmFtZSk6Ci0gICAgICAgIGlmIHBvcnRfbmFt
ZSBhbmQgcG9ydF9uYW1lICE9IGNscy5wb3J0X25hbWU6Ci0gICAgICAgICAgICByZXR1cm4gcG9y
dF9uYW1lCi0gICAgICAgIHJldHVybiBwb3J0X25hbWUgKyAnLScgKyBob3N0LnBsYXRmb3JtLm9z
X25hbWUKKyAgICAgICAgdmVyc2lvbiA9IGNscy5xdF92ZXJzaW9uKGhvc3QuZXhlY3V0aXZlKQor
ICAgICAgICB1c2Vfd2Via2l0MiA9IGdldGF0dHIob3B0aW9ucywgJ3dlYmtpdF90ZXN0X3J1bm5l
cicsIE5vbmUpCisgICAgICAgIHBvcnRfbmFtZSA9ICcnCisgICAgICAgIGlmIHVzZV93ZWJraXQy
OgorICAgICAgICAgICAgcG9ydF9uYW1lID0gJ3F0LTUuMC13azInCisgICAgICAgIGVsc2U6Cisg
ICAgICAgICAgICBwb3J0X25hbWUgPSAncXQtNS4wLXdrMScKKyAgICAgICAgcmV0dXJuIHBvcnRf
bmFtZQogCiAgICAgIyBzeXNfcGxhdGZvcm0gZXhpc3RzIG9ubHkgZm9yIHVuaXQgdGVzdGluZy4K
ICAgICBkZWYgX19pbml0X18oc2VsZiwgaG9zdCwgcG9ydF9uYW1lLCAqKmt3YXJncyk6CkBAIC02
NCwxMCArNjksOCBAQCBjbGFzcyBRdFBvcnQoUG9ydCk6CiAKICAgICAgICAgIyBGSVhNRTogVGhp
cyB3aWxsIGFsbG93IFBvcnQuYmFzZWxpbmVfc2VhcmNoX3BhdGggYW5kIFBvcnQuX3NraXBwZWRf
ZmlsZV9zZWFyY2hfcGF0aHMKICAgICAgICAgIyB0byBkbyB0aGUgcmlnaHQgdGhpbmcsIGJ1dCBk
b2Vzbid0IGluY2x1ZGUgc3VwcG9ydCBmb3IgcXQtNC44IG9yIHF0LWFybSAoc2VlbiBpbiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybSkgeWV0LgotICAgICAgICBzZWxmLl9vcGVyYXRpbmdfc3lzdGVtID0g
cG9ydF9uYW1lLnJlcGxhY2UoJ3F0LScsICcnKQotCi0gICAgICAgICMgRklYTUU6IFdoeSBpcyB0
aGlzIGJlaW5nIHNldCBhdCBhbGw/Ci0gICAgICAgIHNlbGYuX3ZlcnNpb24gPSBzZWxmLm9wZXJh
dGluZ19zeXN0ZW0oKQorICAgICAgICBzZWxmLl9vcGVyYXRpbmdfc3lzdGVtID0gaG9zdC5wbGF0
Zm9ybS5vc19uYW1lCisgICAgICAgIHNlbGYuX3ZlcnNpb24gPSBzZWxmLnF0X3ZlcnNpb24oc2Vs
Zi5fZXhlY3V0aXZlKQogCiAgICAgZGVmIF9nZW5lcmF0ZV9hbGxfdGVzdF9jb25maWd1cmF0aW9u
cyhzZWxmKToKICAgICAgICAgY29uZmlndXJhdGlvbnMgPSBbXQpAQCAtMTAxLDE3ICsxMDQsMTgg
QEAgY2xhc3MgUXRQb3J0KFBvcnQpOgogICAgICAgICAgICAgc3VmZml4ID0gJ2RsbCcgaWYgc2Vs
Zi5vcGVyYXRpbmdfc3lzdGVtKCkgPT0gJ3dpbicgZWxzZSAnc28nCiAgICAgICAgICAgICByZXR1
cm4gZ2xvYi5nbG9iKG9zLnBhdGguam9pbihzZWxmLl9idWlsZF9wYXRoKCdsaWInKSwgJ2xpYiou
JyArIHN1ZmZpeCkpCiAKLSAgICBAbWVtb2l6ZWQKLSAgICBkZWYgcXRfdmVyc2lvbihzZWxmKToK
LSAgICAgICAgdmVyc2lvbiA9ICcnCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIHF0X3ZlcnNp
b24oY2xzLCBleGVjdXRpdmUpOgorICAgICAgICAjIGRlZmF1bHQgdmVyc2lvbiBmb3IgdW5pdHRl
c3QKKyAgICAgICAgdmVyc2lvbiA9ICdxdC01LjAtd2syJwogICAgICAgICB0cnk6Ci0gICAgICAg
ICAgICBmb3IgbGluZSBpbiBzZWxmLl9leGVjdXRpdmUucnVuX2NvbW1hbmQoWydxbWFrZScsICct
diddKS5zcGxpdCgnXG4nKToKKyAgICAgICAgICAgIGZvciBsaW5lIGluIGV4ZWN1dGl2ZS5ydW5f
Y29tbWFuZChbJ3FtYWtlJywgJy12J10pLnNwbGl0KCdcbicpOgogICAgICAgICAgICAgICAgIG1h
dGNoID0gcmUuc2VhcmNoKCdRdFxzdmVyc2lvblxzKD9QPHZlcnNpb24+XGRcLlxkKScsIGxpbmUp
CiAgICAgICAgICAgICAgICAgaWYgbWF0Y2g6CiAgICAgICAgICAgICAgICAgICAgIHZlcnNpb24g
PSBtYXRjaC5ncm91cCgndmVyc2lvbicpCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrCiAgICAg
ICAgIGV4Y2VwdCBPU0Vycm9yOgotICAgICAgICAgICAgdmVyc2lvbiA9ICc0LjgnCisgICAgICAg
ICAgICB2ZXJzaW9uID0gJzUuMCcKICAgICAgICAgcmV0dXJuIHZlcnNpb24KIAogICAgIGRlZiBf
c2VhcmNoX3BhdGhzKHNlbGYpOgpAQCAtMTI1LDE3ICsxMjksMTQgQEAgY2xhc3MgUXRQb3J0KFBv
cnQpOgogICAgICAgICAjICAgICAgICAgICAgICAgIHwKICAgICAgICAgIyAgICAgICAgICAgICAg
IHF0CiAgICAgICAgIHNlYXJjaF9wYXRocyA9IFtdCi0gICAgICAgIHZlcnNpb24gPSBzZWxmLnF0
X3ZlcnNpb24oKQotICAgICAgICBpZiAnNS4wJyBpbiB2ZXJzaW9uOgorICAgICAgICBpZiAnNS4w
JyBpbiBzZWxmLl92ZXJzaW9uOgogICAgICAgICAgICAgaWYgc2VsZi5nZXRfb3B0aW9uKCd3ZWJr
aXRfdGVzdF9ydW5uZXInKToKICAgICAgICAgICAgICAgICBzZWFyY2hfcGF0aHMuYXBwZW5kKCdx
dC01LjAtd2syJykKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgc2VhcmNoX3Bh
dGhzLmFwcGVuZCgncXQtNS4wLXdrMScpCi0gICAgICAgIGlmICc0LjgnIGluIHZlcnNpb246Ci0g
ICAgICAgICAgICBzZWFyY2hfcGF0aHMuYXBwZW5kKCdxdC00LjgnKQotICAgICAgICBlbGlmIHZl
cnNpb246CisgICAgICAgIGlmIHNlbGYuX3ZlcnNpb246CiAgICAgICAgICAgICBzZWFyY2hfcGF0
aHMuYXBwZW5kKCdxdC01LjAnKQotICAgICAgICBzZWFyY2hfcGF0aHMuYXBwZW5kKHNlbGYucG9y
dF9uYW1lICsgJy0nICsgc2VsZi5ob3N0LnBsYXRmb3JtLm9zX25hbWUpCisgICAgICAgIHNlYXJj
aF9wYXRocy5hcHBlbmQoc2VsZi5wb3J0X25hbWUgKyAnLScgKyBzZWxmLm9wZXJhdGluZ19zeXN0
ZW0oKSkKICAgICAgICAgc2VhcmNoX3BhdGhzLmFwcGVuZChzZWxmLnBvcnRfbmFtZSkKICAgICAg
ICAgcmV0dXJuIHNlYXJjaF9wYXRocwogCkBAIC0xNDQsNyArMTQ1LDcgQEAgY2xhc3MgUXRQb3J0
KFBvcnQpOgogCiAgICAgZGVmIF9za2lwcGVkX2ZpbGVfc2VhcmNoX3BhdGhzKHNlbGYpOgogICAg
ICAgICBza2lwcGVkX3BhdGggPSBzZWxmLl9zZWFyY2hfcGF0aHMoKQotICAgICAgICBpZiBzZWxm
LmdldF9vcHRpb24oJ3dlYmtpdF90ZXN0X3J1bm5lcicpIGFuZCAnNS4wJyBpbiBzZWxmLnF0X3Zl
cnNpb24oKToKKyAgICAgICAgaWYgc2VsZi5nZXRfb3B0aW9uKCd3ZWJraXRfdGVzdF9ydW5uZXIn
KSBhbmQgJzUuMCcgaW4gc2VsZi5fdmVyc2lvbjoKICAgICAgICAgICAgIHNraXBwZWRfcGF0aC5h
cHBlbmQoJ3drMicpCiAgICAgICAgIHJldHVybiBza2lwcGVkX3BhdGgKIApkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9xdF91bml0dGVzdC5weSBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvcXRfdW5pdHRlc3QucHkK
aW5kZXggMzc0YjEwMi4uMDhiN2RlMiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC9xdF91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3F0X3VuaXR0ZXN0LnB5CkBAIC00MiwxNCArNDIsNiBA
QCBjbGFzcyBRdFBvcnRUZXN0KHBvcnRfdGVzdGNhc2UuUG9ydFRlc3RDYXNlKToKICAgICBwb3J0
X25hbWUgPSAncXQtbWFjJwogICAgIHBvcnRfbWFrZXIgPSBRdFBvcnQKICAgICBzZWFyY2hfcGF0
aHNfY2FzZXMgPSBbCi0gICAgICAgIHsnc2VhcmNoX3BhdGhzJzpbJ3F0LTQuOCcsICdxdC1tYWMn
LCAncXQnXSwgJ29zX25hbWUnOidtYWMnLCAndXNlX3dlYmtpdDInOkZhbHNlLCAncXRfdmVyc2lv
bic6JzQuOCd9LAotICAgICAgICB7J3NlYXJjaF9wYXRocyc6WydxdC00LjgnLCAncXQtd2luJywg
J3F0J10sICdvc19uYW1lJzond2luJywgJ3VzZV93ZWJraXQyJzpGYWxzZSwgJ3F0X3ZlcnNpb24n
Oic0LjgnfSwKLSAgICAgICAgeydzZWFyY2hfcGF0aHMnOlsncXQtNC44JywgJ3F0LWxpbnV4Jywg
J3F0J10sICdvc19uYW1lJzonbGludXgnLCAndXNlX3dlYmtpdDInOkZhbHNlLCAncXRfdmVyc2lv
bic6JzQuOCd9LAotCi0gICAgICAgIHsnc2VhcmNoX3BhdGhzJzpbJ3F0LTQuOCcsICdxdC1tYWMn
LCAncXQnXSwgJ29zX25hbWUnOidtYWMnLCAndXNlX3dlYmtpdDInOkZhbHNlfSwKLSAgICAgICAg
eydzZWFyY2hfcGF0aHMnOlsncXQtNC44JywgJ3F0LXdpbicsICdxdCddLCAnb3NfbmFtZSc6J3dp
bicsICd1c2Vfd2Via2l0Mic6RmFsc2V9LAotICAgICAgICB7J3NlYXJjaF9wYXRocyc6WydxdC00
LjgnLCAncXQtbGludXgnLCAncXQnXSwgJ29zX25hbWUnOidsaW51eCcsICd1c2Vfd2Via2l0Mic6
RmFsc2V9LAotCiAgICAgICAgIHsnc2VhcmNoX3BhdGhzJzpbJ3F0LTUuMC13azInLCAncXQtNS4w
JywgJ3F0LW1hYycsICdxdCddLCAnb3NfbmFtZSc6J21hYycsICd1c2Vfd2Via2l0Mic6VHJ1ZSwg
J3F0X3ZlcnNpb24nOic1LjAnfSwKICAgICAgICAgeydzZWFyY2hfcGF0aHMnOlsncXQtNS4wLXdr
MicsICdxdC01LjAnLCAncXQtd2luJywgJ3F0J10sICdvc19uYW1lJzond2luJywgJ3VzZV93ZWJr
aXQyJzpUcnVlLCAncXRfdmVyc2lvbic6JzUuMCd9LAogICAgICAgICB7J3NlYXJjaF9wYXRocyc6
WydxdC01LjAtd2syJywgJ3F0LTUuMCcsICdxdC1saW51eCcsICdxdCddLCAnb3NfbmFtZSc6J2xp
bnV4JywgJ3VzZV93ZWJraXQyJzpUcnVlLCAncXRfdmVyc2lvbic6JzUuMCd9LApAQCAtOTEsOCAr
ODMsNiBAQCBjbGFzcyBRdFBvcnRUZXN0KHBvcnRfdGVzdGNhc2UuUG9ydFRlc3RDYXNlKToKICAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocG9ydC5leHBlY3RhdGlvbnNfZmlsZXMoKSwgc2VhcmNo
X3BhdGhzKQogCiAgICAgZGVmIF9xdF92ZXJzaW9uKHNlbGYsIHF0X3ZlcnNpb24pOgotICAgICAg
ICBpZiBxdF92ZXJzaW9uIGluICc0LjgnOgotICAgICAgICAgICAgcmV0dXJuICdRTWFrZSB2ZXJz
aW9uIDIuMDFhXG5Vc2luZyBRdCB2ZXJzaW9uIDQuOC4wIGluIC91c3IvbG9jYWwvVHJvbGx0ZWNo
L1F0LTQuOC4yL2xpYicKICAgICAgICAgaWYgcXRfdmVyc2lvbiBpbiAnNS4wJzoKICAgICAgICAg
ICAgIHJldHVybiAnUU1ha2UgdmVyc2lvbiAyLjAxYVxuVXNpbmcgUXQgdmVyc2lvbiA1LjAuMCBp
biAvdXNyL2xvY2FsL1Ryb2xsdGVjaC9RdC01LjAuMC9saWInCiAKQEAgLTE0NCwzICsxMzQsOCBA
QCBjbGFzcyBRdFBvcnRUZXN0KHBvcnRfdGVzdGNhc2UuUG9ydFRlc3RDYXNlKToKICAgICAgICAg
cG9ydC5fZXhlY3V0aXZlID0gTW9ja0V4ZWN1dGl2ZTIoZXhpdF9jb2RlPTEsCiAgICAgICAgICAg
ICBvdXRwdXQ9J3Rlc3Rpbmcgb3V0cHV0IGZhaWx1cmUnKQogICAgICAgICBzZWxmLmFzc2VydEZh
bHNlKHBvcnQuY2hlY2tfc3lzX2RlcHMobmVlZHNfaHR0cD1GYWxzZSkpCisKKyAgICBkZWYgdGVz
dF9hbGxfdGVzdF9jb25maWd1cmF0aW9ucyhzZWxmKToKKyAgICAgICAgcG9ydCA9IHNlbGYubWFr
ZV9wb3J0KCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGxlbihwb3J0LmFsbF90ZXN0X2NvbmZp
Z3VyYXRpb25zKCkpID4gMCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHBvcnQudGVzdF9jb25m
aWd1cmF0aW9uKCkgaW4gcG9ydC5hbGxfdGVzdF9jb25maWd1cmF0aW9ucygpLCAiJXMgbm90IGlu
ICVzIiAlIChwb3J0LnRlc3RfY29uZmlndXJhdGlvbigpLCBwb3J0LmFsbF90ZXN0X2NvbmZpZ3Vy
YXRpb25zKCkpKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1h
bmRzL3JlYmFzZWxpbmVfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wv
Y29tbWFuZHMvcmViYXNlbGluZV91bml0dGVzdC5weQppbmRleCBjZWE2ZTJlLi5kOTA1MDNhIDEw
MDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcmViYXNlbGlu
ZV91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMv
cmViYXNlbGluZV91bml0dGVzdC5weQpAQCAtMjkyLDYgKzI5MiwxOCBAQCBNT0NLIHJ1bl9jb21t
YW5kOiBbJ3FtYWtlJywgJy12J10sIGN3ZD1Ob25lCiBNT0NLIHJ1bl9jb21tYW5kOiBbJ3FtYWtl
JywgJy12J10sIGN3ZD1Ob25lCiBNT0NLIHJ1bl9jb21tYW5kOiBbJ3FtYWtlJywgJy12J10sIGN3
ZD1Ob25lCiBNT0NLIHJ1bl9jb21tYW5kOiBbJ3FtYWtlJywgJy12J10sIGN3ZD1Ob25lCitNT0NL
IHJ1bl9jb21tYW5kOiBbJ3FtYWtlJywgJy12J10sIGN3ZD1Ob25lCitNT0NLIHJ1bl9jb21tYW5k
OiBbJ3FtYWtlJywgJy12J10sIGN3ZD1Ob25lCitNT0NLIHJ1bl9jb21tYW5kOiBbJ3FtYWtlJywg
Jy12J10sIGN3ZD1Ob25lCitNT0NLIHJ1bl9jb21tYW5kOiBbJ3FtYWtlJywgJy12J10sIGN3ZD1O
b25lCitNT0NLIHJ1bl9jb21tYW5kOiBbJ3FtYWtlJywgJy12J10sIGN3ZD1Ob25lCitNT0NLIHJ1
bl9jb21tYW5kOiBbJ3FtYWtlJywgJy12J10sIGN3ZD1Ob25lCitNT0NLIHJ1bl9jb21tYW5kOiBb
J3FtYWtlJywgJy12J10sIGN3ZD1Ob25lCitNT0NLIHJ1bl9jb21tYW5kOiBbJ3FtYWtlJywgJy12
J10sIGN3ZD1Ob25lCitNT0NLIHJ1bl9jb21tYW5kOiBbJ3FtYWtlJywgJy12J10sIGN3ZD1Ob25l
CitNT0NLIHJ1bl9jb21tYW5kOiBbJ3FtYWtlJywgJy12J10sIGN3ZD1Ob25lCitNT0NLIHJ1bl9j
b21tYW5kOiBbJ3FtYWtlJywgJy12J10sIGN3ZD1Ob25lCitNT0NLIHJ1bl9jb21tYW5kOiBbJ3Ft
YWtlJywgJy12J10sIGN3ZD1Ob25lCiAiIiIKIAogICAgICAgICBjb21tYW5kLl90ZXN0c190b19y
ZWJhc2VsaW5lID0gbGFtYmRhIHBvcnQ6IHsndXNlcnNjcmlwdHMvYW5vdGhlci10ZXN0Lmh0bWwn
OiBzZXQoWyd0eHQnXSksICd1c2Vyc2NyaXB0cy9pbWFnZXMuc3ZnJzogc2V0KFsncG5nJ10pfQpA
QCAtMzAwLDEzICszMTIsMzEgQEAgTU9DSyBydW5fY29tbWFuZDogWydxbWFrZScsICctdiddLCBj
d2Q9Tm9uZQogICAgICAgICBleHBlY3RlZF9zdGRlcnJfd2l0aF9vcHRpbWl6ZSA9ICIiIk1PQ0sg
cnVuX2NvbW1hbmQ6IFsncW1ha2UnLCAnLXYnXSwgY3dkPU5vbmUKIE1PQ0sgcnVuX2NvbW1hbmQ6
IFsncW1ha2UnLCAnLXYnXSwgY3dkPU5vbmUKIE1PQ0sgcnVuX2NvbW1hbmQ6IFsncW1ha2UnLCAn
LXYnXSwgY3dkPU5vbmUKK01PQ0sgcnVuX2NvbW1hbmQ6IFsncW1ha2UnLCAnLXYnXSwgY3dkPU5v
bmUKK01PQ0sgcnVuX2NvbW1hbmQ6IFsncW1ha2UnLCAnLXYnXSwgY3dkPU5vbmUKK01PQ0sgcnVu
X2NvbW1hbmQ6IFsncW1ha2UnLCAnLXYnXSwgY3dkPU5vbmUKK01PQ0sgcnVuX2NvbW1hbmQ6IFsn
cW1ha2UnLCAnLXYnXSwgY3dkPU5vbmUKK01PQ0sgcnVuX2NvbW1hbmQ6IFsncW1ha2UnLCAnLXYn
XSwgY3dkPU5vbmUKK01PQ0sgcnVuX2NvbW1hbmQ6IFsncW1ha2UnLCAnLXYnXSwgY3dkPU5vbmUK
K01PQ0sgcnVuX2NvbW1hbmQ6IFsncW1ha2UnLCAnLXYnXSwgY3dkPU5vbmUKK01PQ0sgcnVuX2Nv
bW1hbmQ6IFsncW1ha2UnLCAnLXYnXSwgY3dkPU5vbmUKK01PQ0sgcnVuX2NvbW1hbmQ6IFsncW1h
a2UnLCAnLXYnXSwgY3dkPU5vbmUKK01PQ0sgcnVuX2NvbW1hbmQ6IFsncW1ha2UnLCAnLXYnXSwg
Y3dkPU5vbmUKK01PQ0sgcnVuX2NvbW1hbmQ6IFsncW1ha2UnLCAnLXYnXSwgY3dkPU5vbmUKIE1P
Q0sgcnVuX2NvbW1hbmQ6IFsnZWNobycsICdvcHRpbWl6ZS1iYXNlbGluZXMnLCAnLS1zdWZmaXhl
cycsICd0eHQnLCAndXNlcnNjcmlwdHMvYW5vdGhlci10ZXN0Lmh0bWwnXSwgY3dkPS9tb2NrLWNo
ZWNrb3V0CiBNT0NLIHJ1bl9jb21tYW5kOiBbJ3FtYWtlJywgJy12J10sIGN3ZD1Ob25lCitNT0NL
IHJ1bl9jb21tYW5kOiBbJ3FtYWtlJywgJy12J10sIGN3ZD1Ob25lCitNT0NLIHJ1bl9jb21tYW5k
OiBbJ3FtYWtlJywgJy12J10sIGN3ZD1Ob25lCitNT0NLIHJ1bl9jb21tYW5kOiBbJ3FtYWtlJywg
Jy12J10sIGN3ZD1Ob25lCiBNT0NLIHJ1bl9jb21tYW5kOiBbJ2VjaG8nLCAnb3B0aW1pemUtYmFz
ZWxpbmVzJywgJy0tc3VmZml4ZXMnLCAncG5nJywgJ3VzZXJzY3JpcHRzL2ltYWdlcy5zdmcnXSwg
Y3dkPS9tb2NrLWNoZWNrb3V0CiBNT0NLIHJ1bl9jb21tYW5kOiBbJ3FtYWtlJywgJy12J10sIGN3
ZD1Ob25lCiBNT0NLIHJ1bl9jb21tYW5kOiBbJ3FtYWtlJywgJy12J10sIGN3ZD1Ob25lCiBNT0NL
IHJ1bl9jb21tYW5kOiBbJ3FtYWtlJywgJy12J10sIGN3ZD1Ob25lCiBNT0NLIHJ1bl9jb21tYW5k
OiBbJ3FtYWtlJywgJy12J10sIGN3ZD1Ob25lCitNT0NLIHJ1bl9jb21tYW5kOiBbJ3FtYWtlJywg
Jy12J10sIGN3ZD1Ob25lCitNT0NLIHJ1bl9jb21tYW5kOiBbJ3FtYWtlJywgJy12J10sIGN3ZD1O
b25lCitNT0NLIHJ1bl9jb21tYW5kOiBbJ3FtYWtlJywgJy12J10sIGN3ZD1Ob25lCitNT0NLIHJ1
bl9jb21tYW5kOiBbJ3FtYWtlJywgJy12J10sIGN3ZD1Ob25lCiAiIiIKIAogICAgICAgICBjb21t
YW5kLl90ZXN0c190b19yZWJhc2VsaW5lID0gbGFtYmRhIHBvcnQ6IHsndXNlcnNjcmlwdHMvYW5v
dGhlci10ZXN0Lmh0bWwnOiBzZXQoWyd0eHQnXSksICd1c2Vyc2NyaXB0cy9pbWFnZXMuc3ZnJzog
c2V0KFsncG5nJ10pfQo=
</data>
<flag name="review"
          id="170375"
          type_id="1"
          status="-"
          setter="ossy"
    />
    <flag name="commit-queue"
          id="170376"
          type_id="3"
          status="-"
          setter="ossy"
    />
          </attachment>
      

    </bug>

</bugzilla>