<?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>35162</bug_id>
          
          <creation_ts>2010-02-19 10:11:05 -0800</creation_ts>
          <short_desc>Configure the root logging.logger globally for the Python scripts</short_desc>
          <delta_ts>2010-03-10 05:06:36 -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>WONTFIX</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="Chris Jerdonek">cjerdonek</reporter>
          <assigned_to name="Chris Jerdonek">cjerdonek</assigned_to>
          <cc>abarth</cc>
    
    <cc>cjerdonek</cc>
    
    <cc>eric</cc>
    
    <cc>hamaji</cc>
    
    <cc>levin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>191958</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-02-19 10:11:05 -0800</bug_when>
    <thetext>Currently, errors logged to the logging module inside autoinstall don&apos;t show up anywhere.  Instead, the following message gets logged:

No handlers could be found for logger &quot;webkitpy.autoinstall&quot;

This can be solved by configuring a root logger, say, in webkitpy&apos;s __init__.py.  This can be done, for example, by using code similar to the code at the bottom of autoinstall.py (though we probably want to pass sys.stderr explicitly to the logging.StreamHandler() constructor and set the level to WARNING or INFO rather than error):

    import logging
    #logging.basicConfig()
    logger = logging.getLogger()

    console = logging.StreamHandler()
    console.setLevel(logging.DEBUG)
    # set a format which is simpler for console use
    formatter = logging.Formatter(&apos;%(name)-12s: %(levelname)-8s %(message)s&apos;)
    # tell the handler to use this format
    console.setFormatter(formatter)
    # add the handler to the root logger
    logger.addHandler(console)
    logger.setLevel(logging.INFO)

We may want to consider using the logging module more widely since it seems to have a lot of features:

http://docs.python.org/library/logging.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192007</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-02-19 11:49:19 -0800</bug_when>
    <thetext>Yes.  I would like to kill webkit_logging.py and use logging.py everywhere.

You&apos;re just noticing that I was (am?) clueless re: python when I wrote all this.

I still don&apos;t really understand logging.py or I would have fixed this long ago.  I&apos;m *very* much looking forward to seeing someone fix our logging. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192045</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-02-19 14:07:06 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; You&apos;re just noticing that I was (am?) clueless re: python when I wrote all
&gt; this.

No, I wasn&apos;t noticing this. I wasn&apos;t really even aware of webkit_logging. :) I was just noticing that -- without a root logger configured -- autoinstall.py was swallowing the exception text when I attempted to autoinstall a *.tar.gz file.  So I couldn&apos;t see the underlying reason why my &quot;import pep8&quot; line was failing.
  
&gt; I still don&apos;t really understand logging.py or I would have fixed this long ago.
&gt;  I&apos;m *very* much looking forward to seeing someone fix our logging. :)

Anyways, I&apos;ll at least configure the root logger.  The Python logging module seems to have an API similar to log4j, log4net, etc.  It&apos;s the kind of thing where it has way more flexibility than we&apos;ll ever need, and we can expand our use of the various options gradually (e.g. having special loggers specific to the needs of various scripts if necessary, supporting debug mode, etc).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192047</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-02-19 14:15:30 -0800</bug_when>
    <thetext>One of the consequences of my not understanding logging.py and that both run-chromium-webkit-tests and autoinstall use it, is that all of a sudden run-chromium-webkit-tests is logging (needlessly) about autoinstall binding various modules.  I&apos;m not sure the &quot;best&quot; way to fix it.  If we need to fix the logging statement in autoinstall, or if we need to better set up our loggers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192062</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-02-19 14:40:42 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; One of the consequences of my not understanding logging.py and that both
&gt; run-chromium-webkit-tests and autoinstall use it, is that all of a sudden
&gt; run-chromium-webkit-tests is logging (needlessly) about autoinstall binding
&gt; various modules.  I&apos;m not sure the &quot;best&quot; way to fix it.  If we need to fix the
&gt; logging statement in autoinstall, or if we need to better set up our loggers.

I&apos;ll take a look at run-chromium-webkit-tests as well to see what might need to be done there.  Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192176</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-02-20 07:52:26 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; One of the consequences of my not understanding logging.py and that both
&gt; &gt; run-chromium-webkit-tests and autoinstall use it, is that all of a sudden
&gt; &gt; run-chromium-webkit-tests is logging (needlessly) about autoinstall binding
&gt; &gt; various modules.  I&apos;m not sure the &quot;best&quot; way to fix it.  If we need to fix the
&gt; &gt; logging statement in autoinstall, or if we need to better set up our loggers.
&gt; 
&gt; I&apos;ll take a look at run-chromium-webkit-tests as well to see what might need to
&gt; be done there.  Thanks!

I took a look at the run-chromium-webkit-tests code and made a report about it here:

https://bugs.webkit.org/show_bug.cgi?id=35194</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192177</commentid>
    <comment_count>6</comment_count>
      <attachid>49125</attachid>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-02-20 08:13:00 -0800</bug_when>
    <thetext>Created attachment 49125
Proposed patch

I took the format string from sample code here:

 http://docs.python.org/library/logging.html#logging-to-multiple-destinations

We can change it later if we want.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192193</commentid>
    <comment_count>7</comment_count>
      <attachid>49129</attachid>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-02-20 10:30:18 -0800</bug_when>
    <thetext>Created attachment 49129
Proposed patch 2

After rebasing.  Also disabled unit test logging after noticing diff_parser log output in test-webkitpy&apos;s output.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192618</commentid>
    <comment_count>8</comment_count>
      <attachid>49129</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-02-22 14:11:32 -0800</bug_when>
    <thetext>Comment on attachment 49129
Proposed patch 2

 73     print &quot;Logging disabled.&quot;
I would have written something like &quot;Disabling logging while running the unit tests.&quot;

I&apos;m also not sure that we want to disable logging in the unit tests. We&apos;ve used logging in some of our unit tests to make sure that we execute all the code we expect to.  Yes, they&apos;re a little brittle, but useful! :)

Otherwise this looks OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192683</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-02-22 16:12:07 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 49129 [details])
&gt;  73     print &quot;Logging disabled.&quot;
&gt; I would have written something like &quot;Disabling logging while running the unit
&gt; tests.&quot;
&gt; 
&gt; I&apos;m also not sure that we want to disable logging in the unit tests. We&apos;ve used
&gt; logging in some of our unit tests to make sure that we execute all the code we
&gt; expect to.  Yes, they&apos;re a little brittle, but useful! :)
&gt; 
&gt; Otherwise this looks OK.

Thanks, Eric.  That suggested text sounds fine.

Below is what test-webkitpy looks like without disabling logging

&gt; test-webkitpy
Logging disabled.
..............................................................................................................................................................................................................................root        : ERROR    Unexpected diff format when parsing a chunk: &apos;&apos;
............................................................
----------------------------------------------------------------------
Ran 282 tests in 0.803s

OK

Note that we&apos;re not disabling logging in the unit tests themselves -- just the test-webkitpy (and test-webit-scripts) wrapper scripts.  Perhaps test-webkitpy can have a --verbose option that doesn&apos;t do this.

In any case, we&apos;re just now starting to get the logging into shape.  We can continue to think about the right approach to take with respect to logging in the unit tests.  (For example, we may want to make a distinction between log messages made by the unit tests themselves and log messages made by the code the unit tests are executing.  We could perhaps do this with some convention with logger names, etc. that would allow us to configure one independently of the other.)

In the meantime, I&apos;d say the most important thing for us to do is to make it so that our code is not logging to the root logger directly.  Otherwise we are limited as to how we can configure things.

The way to do this is to (at the top of each module doing logging) obtain a logger like so--

_log = logging.getLogger(&lt;fully-qualified-module-name&gt;&quot;)

and then log using methods on _log rather than calling the global logging.info, etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192685</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-02-22 16:21:09 -0800</bug_when>
    <thetext>Many tests capture stderr/stdout to verify logging.  I&apos;m worried that disabling logging as you&apos;ve done may cause problems with those tests.

In the one case that you&apos;re having trouble with, we could capture the output and verify that it looks right. :)  Or we could disable logging as you originally suggested.

You might want to take a peak at outputcapture.py</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192714</commentid>
    <comment_count>11</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-02-22 17:13:17 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; Many tests capture stderr/stdout to verify logging.  I&apos;m worried that disabling
&gt; logging as you&apos;ve done may cause problems with those tests.

Oh, okay.  I thought it was because there were log messages you wanted the person running the tests to see.

In that case, wouldn&apos;t the tests fail if there was a problem?  They all pass with the patch. :)

I&apos;m not sure the logging was turned on for the unit tests before (this patch is what turned it on).  Otherwise, we would have seen that log output when running test-webkitpy before this patch.

I will take a look at outputcapture.py.  I will also think about other options short of disabling logging altogether.

By the way, in check-webkit-style, in cases where we want to check stderr (for example), we added a parameter to some methods that accepts an stderr_write.  It defaults to sys.stderr.write, and in the unit tests, we pass a mock stderr_write.  This lets us avoid this issue altogether.  I know the logging module accepts such an argument.  See the following from this patch--

# Add sys.stderr to the root logger.
 13 console = logging.StreamHandler(sys.stderr)

So if it was ever necessary, we could probably instantiate the logger with a mock sys_stderr when running unit tests.

&gt; 
&gt; In the one case that you&apos;re having trouble with, we could capture the output
&gt; and verify that it looks right. :)  Or we could disable logging as you
&gt; originally suggested.
&gt; 
&gt; You might want to take a peak at outputcapture.py</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192717</commentid>
    <comment_count>12</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-02-22 17:16:40 -0800</bug_when>
    <thetext>None of the webkit.org-written webkitpy code uses logging.py currently.  It all uses webkit_logging.py (which needs to die).  My &quot;concern&quot; (valid or not) about disabling logging for unit testing is that when we start to convert code away from webkit_logging.py to logging.py we&apos;ll lose our testing of log output.  Then again, that may not be a problem and we could always cross that bridge when we come to it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192719</commentid>
    <comment_count>13</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-02-22 17:17:41 -0800</bug_when>
    <thetext>There may be better ways to do things than our current outputcapture.py.  Again all of this code is written by a man who knows little about python. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192721</commentid>
    <comment_count>14</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-02-22 17:29:12 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; None of the webkit.org-written webkitpy code uses logging.py currently.  It all
&gt; uses webkit_logging.py (which needs to die).  My &quot;concern&quot; (valid or not) about
&gt; disabling logging for unit testing is that when we start to convert code away
&gt; from webkit_logging.py to logging.py we&apos;ll lose our testing of log output. 
&gt; Then again, that may not be a problem and we could always cross that bridge
&gt; when we come to it.

Gotcha.  Sounds good.  I expect that we&apos;ll have several options when the time comes.  And yes, disabling logging is probably overkill even now.  I&apos;ll look into weakening that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192724</commentid>
    <comment_count>15</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-02-22 17:33:06 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; There may be better ways to do things than our current outputcapture.py.  Again
&gt; all of this code is written by a man who knows little about python. :)

At some point you&apos;re going to have to stop saying that! ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192741</commentid>
    <comment_count>16</comment_count>
      <attachid>49254</attachid>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-02-22 18:46:18 -0800</bug_when>
    <thetext>Created attachment 49254
Proposed patch 3

Rewrote so that logging is not disabled in test-webkitpy.  Also added a suggestion in the code comments as to how unit test modules can test logging.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192743</commentid>
    <comment_count>17</comment_count>
      <attachid>49256</attachid>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-02-22 19:01:50 -0800</bug_when>
    <thetext>Created attachment 49256
Proposed patch 4

Reordered import statements.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194333</commentid>
    <comment_count>18</comment_count>
      <attachid>49256</attachid>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-02-26 15:17:50 -0800</bug_when>
    <thetext>Comment on attachment 49256
Proposed patch 4

I am having second thoughts about this approach.  It is probably better for each script to be responsible for turning on its own logging (an opt-in approach), rather than turning on logging simply by importing from webkitpy.  This should also resolve the issue of having to turn off logging for the unit tests.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49125</attachid>
            <date>2010-02-20 08:13:00 -0800</date>
            <delta_ts>2010-02-20 10:30:18 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>_patch-35162-1.txt</filename>
            <type>text/plain</type>
            <size>1763</size>
            <attacher name="Chris Jerdonek">cjerdonek</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCA0ZGNhZjRjLi4xM2M4NmQ1IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDIt
MjAgIENocmlzIEplcmRvbmVrICA8Y2plcmRvbmVrQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29uZmlndXJlZCB0aGUgcm9vdCBs
b2dnaW5nLmxvZ2dlciBpbiB3ZWJraXRweS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzUxOTQKKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
X19pbml0X18ucHk6CisgICAgICAgICAgLSBDb25maWd1cmVkIHRoZSByb290IGxvZ2dlciB0byBs
b2cgV0FSTklORyBtZXNzYWdlcworICAgICAgICAgICAgYW5kIGFib3ZlIHRvIHN5cy5zdGRlcnIu
CisKIDIwMTAtMDItMTggIENocmlzIEplcmRvbmVrICA8Y2plcmRvbmVrQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgU2hpbmljaGlybyBIYW1hamkuCmRpZmYgLS1naXQgYS9XZWJL
aXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L19faW5pdF9fLnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0
cy93ZWJraXRweS9fX2luaXRfXy5weQppbmRleCA5NGVjYzcwLi4yNDhmZjdmIDEwMDY0NAotLS0g
YS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L19faW5pdF9fLnB5CisrKyBiL1dlYktpdFRv
b2xzL1NjcmlwdHMvd2Via2l0cHkvX19pbml0X18ucHkKQEAgLTEsOCArMSwyMiBAQAogIyBSZXF1
aXJlZCBmb3IgUHl0aG9uIHRvIHNlYXJjaCB0aGlzIGRpcmVjdG9yeSBmb3IgbW9kdWxlIGZpbGVz
CiAKIGltcG9ydCBhdXRvaW5zdGFsbAoraW1wb3J0IGxvZ2dpbmcKK2ltcG9ydCBzeXMKKworIyBD
b25maWd1cmUgdGhlIHJvb3QgbG9nZ2VyIHRvIGxvZyBXQVJOSU5HIG1lc3NhZ2VzIGFuZCBhYm92
ZSB0byBzeXMuc3RkZXJyLgorIyBUaGUgcm9vdCBsb2dnZXIgaXMgdGhlIGRlZmF1bHQgbG9nZ2Vy
LgorCitsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigpICMgUGFzc2luZyBubyBwYXJhbWV0ZXIg
cmV0cmlldmVzIHJvb3QgbG9nZ2VyLgorbG9nZ2VyLnNldExldmVsKGxvZ2dpbmcuV0FSTklORykK
KyMgQWRkIHN5cy5zdGRlcnIgdG8gdGhlIHJvb3QgbG9nZ2VyLgorY29uc29sZSA9IGxvZ2dpbmcu
U3RyZWFtSGFuZGxlcihzeXMuc3RkZXJyKQorZm9ybWF0dGVyID0gbG9nZ2luZy5Gb3JtYXR0ZXIo
JyUobmFtZSktMTJzOiAlKGxldmVsbmFtZSktOHMgJShtZXNzYWdlKXMnKQorY29uc29sZS5zZXRG
b3JtYXR0ZXIoZm9ybWF0dGVyKQorbG9nZ2VyLmFkZEhhbmRsZXIoY29uc29sZSkKIAogIyBMaXN0
IG91ciB0aGlyZC1wYXJ0eSBsaWJyYXJ5IGRlcGVuZGVuY2llcyBoZXJlIGFuZCB3aGVyZSB0aGV5
IGNhbiBiZQogIyBkb3dubG9hZGVkLgogYXV0b2luc3RhbGwuYmluZCgiQ2xpZW50Rm9ybSIsICJo
dHRwOi8vcHlwaS5weXRob24ub3JnL3BhY2thZ2VzL3NvdXJjZS9DL0NsaWVudEZvcm0vQ2xpZW50
Rm9ybS0wLjIuMTAuemlwIiwgIkNsaWVudEZvcm0tMC4yLjEwIikKIGF1dG9pbnN0YWxsLmJpbmQo
Im1lY2hhbml6ZSIsICJodHRwOi8vcHlwaS5weXRob24ub3JnL3BhY2thZ2VzL3NvdXJjZS9tL21l
Y2hhbml6ZS9tZWNoYW5pemUtMC4xLjExLnppcCIsICJtZWNoYW5pemUtMC4xLjExIikKKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49129</attachid>
            <date>2010-02-20 10:30:18 -0800</date>
            <delta_ts>2010-02-22 18:51:05 -0800</delta_ts>
            <desc>Proposed patch 2</desc>
            <filename>_patch-35162-2.diff</filename>
            <type>text/plain</type>
            <size>2519</size>
            <attacher name="Chris Jerdonek">cjerdonek</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAzY2QxMzMxLi4wNWU2N2FiIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjAgQEAKIDIwMTAtMDIt
MjAgIENocmlzIEplcmRvbmVrICA8Y2plcmRvbmVrQHdlYmtpdC5vcmc+CiAKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29uZmlndXJlZCB0aGUgcm9vdCBs
b2dnaW5nLmxvZ2dlciBpbiB3ZWJraXRweS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzUxNjIKKworICAgICAgICAqIFNjcmlwdHMvdGVzdC13ZWJr
aXRweToKKyAgICAgICAgICAtIERpc2FibGVkIGxvZ2dpbmcgZm9yIHRoZSBtYWluIFB5dGhvbiB1
bml0IHRlc3Qgc2NyaXB0LgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9fX2luaXRfXy5w
eToKKyAgICAgICAgICAtIENvbmZpZ3VyZWQgdGhlIHJvb3QgbG9nZ2VyIHRvIGxvZyBXQVJOSU5H
IG1lc3NhZ2VzCisgICAgICAgICAgICBhbmQgYWJvdmUgdG8gc3lzLnN0ZGVyci4KKworMjAxMC0w
Mi0yMCAgQ2hyaXMgSmVyZG9uZWsgIDxjamVyZG9uZWtAd2Via2l0Lm9yZz4KKwogICAgICAgICBS
ZXZpZXdlZCBieSBBZGFtIEJhcnRoLgogCiAgICAgICAgIENyZWF0ZWQgYSBkaXJlY3RvcnkgZm9y
IHRoaXJkLXBhcnR5IFB5dGhvbiBjb2RlLCBhbmQgbW92ZWQKZGlmZiAtLWdpdCBhL1dlYktpdFRv
b2xzL1NjcmlwdHMvdGVzdC13ZWJraXRweSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvdGVzdC13ZWJr
aXRweQppbmRleCA4NjE3MzMwLi44OTMxNTIxIDEwMDc1NQotLS0gYS9XZWJLaXRUb29scy9TY3Jp
cHRzL3Rlc3Qtd2Via2l0cHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHB5
CkBAIC0yOCw2ICsyOCw3IEBACiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKIGltcG9ydCBzeXMKK2ltcG9ydCBs
b2dnaW5nCiBpbXBvcnQgdW5pdHRlc3QKIAogZnJvbSB3ZWJraXRweS5idWd6aWxsYV91bml0dGVz
dCBpbXBvcnQgKgpAQCAtNjQsNCArNjUsMTEgQEAgaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoK
ICAgICAgICAgc3lzLmFyZ3YucmVtb3ZlKCItLWFsbCIpCiAgICAgICAgIGZyb20gd2Via2l0cHku
c2NtX3VuaXR0ZXN0IGltcG9ydCAqCiAKKyAgICAjIExvZyBtZXNzYWdlcyBzaG91bGQgbm90IHNo
b3cgdXAgd2hlbiBydW5uaW5nIHVuaXQgdGVzdHMgKENSSVRJQ0FMCisgICAgIyBpcyB0aGUgaGln
aGVzdCBidWlsdC1pbiBsZXZlbCkuCisgICAgbG9nZ2luZy5kaXNhYmxlKGxvZ2dpbmcuQ1JJVElD
QUwpCisgICAgIyBEaXNwbGF5IGEgbWVzc2FnZSBzbyBkZXZlbG9wZXJzIGFyZSBub3QgbXlzdGlm
aWVkIGFzIHRvIHdoeQorICAgICMgbG9nZ2luZyBkb2VzIG5vdCB3b3JrIGluIHRoZSB1bml0IHRl
c3RzLgorICAgIHByaW50ICJMb2dnaW5nIGRpc2FibGVkLiIKKwogICAgIHVuaXR0ZXN0Lm1haW4o
KQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9fX2luaXRfXy5weSBi
L1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvX19pbml0X18ucHkKaW5kZXggZWZhOGM3YS4u
OTBiNzI3NSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9fX2luaXRf
Xy5weQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L19faW5pdF9fLnB5CkBAIC0x
LDYgKzEsMTkgQEAKICMgUmVxdWlyZWQgZm9yIFB5dGhvbiB0byBzZWFyY2ggdGhpcyBkaXJlY3Rv
cnkgZm9yIG1vZHVsZSBmaWxlcwogCiBpbXBvcnQgdGhpcmRwYXJ0eS5hdXRvaW5zdGFsbCBhcyBh
dXRvaW5zdGFsbAoraW1wb3J0IGxvZ2dpbmcKK2ltcG9ydCBzeXMKKworIyBDb25maWd1cmUgdGhl
IHJvb3QgbG9nZ2VyIHRvIGxvZyBXQVJOSU5HIG1lc3NhZ2VzIGFuZCBhYm92ZSB0byBzeXMuc3Rk
ZXJyLgorIyBUaGUgcm9vdCBsb2dnZXIgaXMgdGhlIGRlZmF1bHQgbG9nZ2VyLgorCitsb2dnZXIg
PSBsb2dnaW5nLmdldExvZ2dlcigpICMgUGFzc2luZyBubyBwYXJhbWV0ZXIgcmV0cmlldmVzIHJv
b3QgbG9nZ2VyLgorbG9nZ2VyLnNldExldmVsKGxvZ2dpbmcuV0FSTklORykKKyMgQWRkIHN5cy5z
dGRlcnIgdG8gdGhlIHJvb3QgbG9nZ2VyLgorY29uc29sZSA9IGxvZ2dpbmcuU3RyZWFtSGFuZGxl
cihzeXMuc3RkZXJyKQorZm9ybWF0dGVyID0gbG9nZ2luZy5Gb3JtYXR0ZXIoJyUobmFtZSktMTJz
OiAlKGxldmVsbmFtZSktOHMgJShtZXNzYWdlKXMnKQorY29uc29sZS5zZXRGb3JtYXR0ZXIoZm9y
bWF0dGVyKQorbG9nZ2VyLmFkZEhhbmRsZXIoY29uc29sZSkKIAogIyBMaXN0IG91ciB0aGlyZC1w
YXJ0eSBsaWJyYXJ5IGRlcGVuZGVuY2llcyBoZXJlIGFuZCB3aGVyZSB0aGV5IGNhbiBiZQogIyBk
b3dubG9hZGVkLgo=
</data>
<flag name="review"
          id="31912"
          type_id="1"
          status="+"
          setter="eric"
    />
    <flag name="commit-queue"
          id="32068"
          type_id="3"
          status="-"
          setter="cjerdonek"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49254</attachid>
            <date>2010-02-22 18:46:18 -0800</date>
            <delta_ts>2010-02-22 19:01:50 -0800</delta_ts>
            <desc>Proposed patch 3</desc>
            <filename>_patch-35162-3.diff</filename>
            <type>text/plain</type>
            <size>3441</size>
            <attacher name="Chris Jerdonek">cjerdonek</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBlYzJiZjZiLi5hOTdiZmU5IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTAtMDIt
MjAgIENocmlzIEplcmRvbmVrICA8Y2plcmRvbmVrQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29uZmlndXJlZCB0aGUgcm9vdCBs
b2dnaW5nLmxvZ2dlciBpbiB3ZWJraXRweS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzUxNjIKKworICAgICAgICAqIFNjcmlwdHMvdGVzdC13ZWJr
aXRweToKKyAgICAgICAgICAtIFJlbW92ZWQgdGhlIGNvbnNvbGUgbG9nIGhhbmRsZXIgZnJvbSB0
aGUgcm9vdCBsb2dnZXIgdG8KKyAgICAgICAgICAgIHByZXZlbnQgbG9nIG1lc3NhZ2VzIGZyb20g
cmVuZGVyaW5nIHRvIHRoZSBzY3JlZW4gd2hpbGUKKyAgICAgICAgICAgIHJ1bm5pbmcgdW5pdCB0
ZXN0cy4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvX19pbml0X18ucHk6CisgICAgICAg
ICAgLSBDb25maWd1cmVkIHRoZSByb290IGxvZ2dlciB0byBsb2cgV0FSTklORyBtZXNzYWdlcwor
ICAgICAgICAgICAgYW5kIGFib3ZlIHRvIHN5cy5zdGRlcnIuCisKIDIwMTAtMDItMjIgIFRvciBB
cm5lIFZlc3Riw7ggIDx0b3IuYXJuZS52ZXN0Ym9Abm9raWEuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9v
bHMvU2NyaXB0cy90ZXN0LXdlYmtpdHB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtp
dHB5CmluZGV4IDg2MTczMzAuLmVlN2Y3YmEgMTAwNzU1Ci0tLSBhL1dlYktpdFRvb2xzL1Njcmlw
dHMvdGVzdC13ZWJraXRweQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cHkK
QEAgLTI4LDggKzI4LDEwIEBACiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKIGltcG9ydCBzeXMKK2ltcG9ydCBs
b2dnaW5nCiBpbXBvcnQgdW5pdHRlc3QKIAorZnJvbSB3ZWJraXRweSBpbXBvcnQgY29uc29sZV9s
b2dfaGFuZGxlcgogZnJvbSB3ZWJraXRweS5idWd6aWxsYV91bml0dGVzdCBpbXBvcnQgKgogZnJv
bSB3ZWJraXRweS5idWlsZGJvdF91bml0dGVzdCBpbXBvcnQgKgogZnJvbSB3ZWJraXRweS5jaGFu
Z2Vsb2dzX3VuaXR0ZXN0IGltcG9ydCAqCkBAIC02NCw0ICs2NiwyMyBAQCBpZiBfX25hbWVfXyA9
PSAiX19tYWluX18iOgogICAgICAgICBzeXMuYXJndi5yZW1vdmUoIi0tYWxsIikKICAgICAgICAg
ZnJvbSB3ZWJraXRweS5zY21fdW5pdHRlc3QgaW1wb3J0ICoKIAorICAgICMgRGlzcGxheSBhIG1l
c3NhZ2Ugc28gZGV2ZWxvcGVycyBhcmUgbm90IG15c3RpZmllZCBhcyB0byB3aHkKKyAgICAjIGxv
Z2dpbmcgZG9lcyBub3Qgd29yayBpbiB0aGUgdW5pdCB0ZXN0cy4KKyAgICBwcmludCAiU3VwcHJl
c3NpbmcgY29uc29sZSBsb2dnaW5nIHdoaWxlIHJ1bm5pbmcgdGhlIHVuaXQgdGVzdHMuIgorCisg
ICAgIyBSZW1vdmUgdGhlIGNvbnNvbGUgaGFuZGxlciBmcm9tIHRoZSByb290IGxvZ2dlciB0byBw
cmV2ZW50IGxvZworICAgICMgbWVzc2FnZXMgZnJvbSBkaXNwbGF5aW5nIHRvIHRoZSBzY3JlZW4g
ZHVyaW5nIHVuaXQgdGVzdHMuCisgICAgIworICAgICMgSW5kaXZpZHVhbCB1bml0IHRlc3QgbW9k
dWxlcyBjYW4gYWRkIHRvIGxvZ2dlcnMgdGhlaXIgb3duIGxvZworICAgICMgaGFuZGxlcnMgdGhh
dCBkb24ndCBsb2cgdG8gdGhlIHNjcmVlbi4gIEZvciBleGFtcGxlLCBwZXJoYXBzIHRoZXkKKyAg
ICAjIGNhbiBwYXNzIGEgbW9jayBzeXNfc3RkZXJyIGluc3RlYWQgb2Ygc3lzLnN0ZGVyciB3aGVu
IGNvbnN0cnVjdGluZworICAgICMgYSBsb2cgaGFuZGxlciBpbiBjb2RlIGxpa2UgdGhlIGJlbG93
OgorICAgICMKKyAgICAjIGNvbnNvbGVfbG9nX2hhbmRsZXIgPSBsb2dnaW5nLlN0cmVhbUhhbmRs
ZXIoc3lzLnN0ZGVycikKKyAgICAjCisgICAgIyBUaGlzIHdpbGwgYWxsb3cgbG9nIG1lc3NhZ2Vz
IHRvIGJlIHVuaXQgdGVzdGVkIHdpdGhvdXQgYWxzbworICAgICMgZGlzcGxheWluZyB0aGVtIHRv
IHRoZSBzY3JlZW4uCisgICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoKSAgIyBQYXNzaW5n
IG5vIHBhcmFtZXRlciByZXRyaWV2ZXMgcm9vdCBsb2dnZXIuCisgICAgbG9nZ2VyLnJlbW92ZUhh
bmRsZXIoY29uc29sZV9sb2dfaGFuZGxlcikKKwogICAgIHVuaXR0ZXN0Lm1haW4oKQpkaWZmIC0t
Z2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9fX2luaXRfXy5weSBiL1dlYktpdFRv
b2xzL1NjcmlwdHMvd2Via2l0cHkvX19pbml0X18ucHkKaW5kZXggZWZhOGM3YS4uYzQ2NDBlOSAx
MDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9fX2luaXRfXy5weQorKysg
Yi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L19faW5pdF9fLnB5CkBAIC0xLDYgKzEsMjMg
QEAKICMgUmVxdWlyZWQgZm9yIFB5dGhvbiB0byBzZWFyY2ggdGhpcyBkaXJlY3RvcnkgZm9yIG1v
ZHVsZSBmaWxlcwogCiBpbXBvcnQgdGhpcmRwYXJ0eS5hdXRvaW5zdGFsbCBhcyBhdXRvaW5zdGFs
bAoraW1wb3J0IGxvZ2dpbmcKK2ltcG9ydCBzeXMKKworCisjIENvbmZpZ3VyZSB0aGUgcm9vdCBs
b2dnZXIgdG8gbG9nIFdBUk5JTkcgbWVzc2FnZXMgYW5kIGFib3ZlIHRvIHN5cy5zdGRlcnIuCisj
IFRoZSByb290IGxvZ2dlciBpcyB0aGUgZGVmYXVsdCBsb2dnZXIuCitmb3JtYXR0ZXIgPSBsb2dn
aW5nLkZvcm1hdHRlcignJShuYW1lKXM6IFslKGxldmVsbmFtZSlzXSAlKG1lc3NhZ2UpcycpCisK
K2NvbnNvbGVfbG9nX2hhbmRsZXIgPSBsb2dnaW5nLlN0cmVhbUhhbmRsZXIoc3lzLnN0ZGVycikK
K2NvbnNvbGVfbG9nX2hhbmRsZXIuc2V0Rm9ybWF0dGVyKGZvcm1hdHRlcikKKworbG9nZ2VyID0g
bG9nZ2luZy5nZXRMb2dnZXIoKSAgIyBQYXNzaW5nIG5vIHBhcmFtZXRlciByZXRyaWV2ZXMgcm9v
dCBsb2dnZXIuCitsb2dnZXIuc2V0TGV2ZWwobG9nZ2luZy5XQVJOSU5HKQorIyBUaGUgdW5pdCB0
ZXN0cyBjYW4gbGF0ZXIgcmVtb3ZlIHRoaXMgaGFuZGxlciB0byBwcmV2ZW50IGxvZyBtZXNzYWdl
cworIyBmcm9tIGRpc3BsYXlpbmcgdG8gdGhlIHNjcmVlbiB3aGlsZSBydW5uaW5nIHVuaXQgdGVz
dHMuCitsb2dnZXIuYWRkSGFuZGxlcihjb25zb2xlX2xvZ19oYW5kbGVyKQorCiAKICMgTGlzdCBv
dXIgdGhpcmQtcGFydHkgbGlicmFyeSBkZXBlbmRlbmNpZXMgaGVyZSBhbmQgd2hlcmUgdGhleSBj
YW4gYmUKICMgZG93bmxvYWRlZC4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49256</attachid>
            <date>2010-02-22 19:01:50 -0800</date>
            <delta_ts>2010-03-10 05:06:36 -0800</delta_ts>
            <desc>Proposed patch 4</desc>
            <filename>_patch-35162-4.diff</filename>
            <type>text/plain</type>
            <size>3646</size>
            <attacher name="Chris Jerdonek">cjerdonek</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBlYzJiZjZiLi5hOTdiZmU5IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTAtMDIt
MjAgIENocmlzIEplcmRvbmVrICA8Y2plcmRvbmVrQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29uZmlndXJlZCB0aGUgcm9vdCBs
b2dnaW5nLmxvZ2dlciBpbiB3ZWJraXRweS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzUxNjIKKworICAgICAgICAqIFNjcmlwdHMvdGVzdC13ZWJr
aXRweToKKyAgICAgICAgICAtIFJlbW92ZWQgdGhlIGNvbnNvbGUgbG9nIGhhbmRsZXIgZnJvbSB0
aGUgcm9vdCBsb2dnZXIgdG8KKyAgICAgICAgICAgIHByZXZlbnQgbG9nIG1lc3NhZ2VzIGZyb20g
cmVuZGVyaW5nIHRvIHRoZSBzY3JlZW4gd2hpbGUKKyAgICAgICAgICAgIHJ1bm5pbmcgdW5pdCB0
ZXN0cy4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvX19pbml0X18ucHk6CisgICAgICAg
ICAgLSBDb25maWd1cmVkIHRoZSByb290IGxvZ2dlciB0byBsb2cgV0FSTklORyBtZXNzYWdlcwor
ICAgICAgICAgICAgYW5kIGFib3ZlIHRvIHN5cy5zdGRlcnIuCisKIDIwMTAtMDItMjIgIFRvciBB
cm5lIFZlc3Riw7ggIDx0b3IuYXJuZS52ZXN0Ym9Abm9raWEuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9v
bHMvU2NyaXB0cy90ZXN0LXdlYmtpdHB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtp
dHB5CmluZGV4IDg2MTczMzAuLmI4NWI0ZTEgMTAwNzU1Ci0tLSBhL1dlYktpdFRvb2xzL1Njcmlw
dHMvdGVzdC13ZWJraXRweQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cHkK
QEAgLTI3LDkgKzI3LDExIEBACiAjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogIyBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCitpbXBv
cnQgbG9nZ2luZwogaW1wb3J0IHN5cwogaW1wb3J0IHVuaXR0ZXN0CiAKK2Zyb20gd2Via2l0cHkg
aW1wb3J0IGNvbnNvbGVfbG9nX2hhbmRsZXIKIGZyb20gd2Via2l0cHkuYnVnemlsbGFfdW5pdHRl
c3QgaW1wb3J0ICoKIGZyb20gd2Via2l0cHkuYnVpbGRib3RfdW5pdHRlc3QgaW1wb3J0ICoKIGZy
b20gd2Via2l0cHkuY2hhbmdlbG9nc191bml0dGVzdCBpbXBvcnQgKgpAQCAtNjQsNCArNjYsMjMg
QEAgaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgICAgICAgc3lzLmFyZ3YucmVtb3ZlKCIt
LWFsbCIpCiAgICAgICAgIGZyb20gd2Via2l0cHkuc2NtX3VuaXR0ZXN0IGltcG9ydCAqCiAKKyAg
ICAjIERpc3BsYXkgYSBtZXNzYWdlIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBteXN0aWZpZWQgYXMg
dG8gd2h5CisgICAgIyBsb2dnaW5nIGRvZXMgbm90IHdvcmsgaW4gdGhlIHVuaXQgdGVzdHMuCisg
ICAgcHJpbnQgIlN1cHByZXNzaW5nIGNvbnNvbGUgbG9nZ2luZyB3aGlsZSBydW5uaW5nIHRoZSB1
bml0IHRlc3RzLiIKKworICAgICMgUmVtb3ZlIHRoZSBjb25zb2xlIGhhbmRsZXIgZnJvbSB0aGUg
cm9vdCBsb2dnZXIgdG8gcHJldmVudCBsb2cKKyAgICAjIG1lc3NhZ2VzIGZyb20gZGlzcGxheWlu
ZyB0byB0aGUgc2NyZWVuIGR1cmluZyB1bml0IHRlc3RzLgorICAgICMKKyAgICAjIEluZGl2aWR1
YWwgdW5pdCB0ZXN0IG1vZHVsZXMgY2FuIGFkZCB0byBsb2dnZXJzIHRoZWlyIG93biBsb2cKKyAg
ICAjIGhhbmRsZXJzIHRoYXQgZG9uJ3QgbG9nIHRvIHRoZSBzY3JlZW4uICBGb3IgZXhhbXBsZSwg
cGVyaGFwcyB0aGV5CisgICAgIyBjYW4gcGFzcyBhIG1vY2sgc3lzX3N0ZGVyciBpbnN0ZWFkIG9m
IHN5cy5zdGRlcnIgd2hlbiBjb25zdHJ1Y3RpbmcKKyAgICAjIGEgbG9nIGhhbmRsZXIgaW4gY29k
ZSBsaWtlIHRoZSBiZWxvdzoKKyAgICAjCisgICAgIyBjb25zb2xlX2xvZ19oYW5kbGVyID0gbG9n
Z2luZy5TdHJlYW1IYW5kbGVyKHN5cy5zdGRlcnIpCisgICAgIworICAgICMgVGhpcyB3aWxsIGFs
bG93IGxvZyBtZXNzYWdlcyB0byBiZSB1bml0IHRlc3RlZCB3aXRob3V0IGFsc28KKyAgICAjIGRp
c3BsYXlpbmcgdGhlbSB0byB0aGUgc2NyZWVuLgorICAgIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9n
Z2VyKCkgICMgUGFzc2luZyBubyBwYXJhbWV0ZXIgcmV0cmlldmVzIHJvb3QgbG9nZ2VyLgorICAg
IGxvZ2dlci5yZW1vdmVIYW5kbGVyKGNvbnNvbGVfbG9nX2hhbmRsZXIpCisKICAgICB1bml0dGVz
dC5tYWluKCkKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvX19pbml0
X18ucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L19faW5pdF9fLnB5CmluZGV4IGVm
YThjN2EuLjU2OTRjMGQgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkv
X19pbml0X18ucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9fX2luaXRfXy5w
eQpAQCAtMSw3ICsxLDI1IEBACiAjIFJlcXVpcmVkIGZvciBQeXRob24gdG8gc2VhcmNoIHRoaXMg
ZGlyZWN0b3J5IGZvciBtb2R1bGUgZmlsZXMKIAoraW1wb3J0IGxvZ2dpbmcKK2ltcG9ydCBzeXMK
KwogaW1wb3J0IHRoaXJkcGFydHkuYXV0b2luc3RhbGwgYXMgYXV0b2luc3RhbGwKIAorCisjIENv
bmZpZ3VyZSB0aGUgcm9vdCBsb2dnZXIgdG8gbG9nIFdBUk5JTkcgbWVzc2FnZXMgYW5kIGFib3Zl
IHRvIHN5cy5zdGRlcnIuCisjIFRoZSByb290IGxvZ2dlciBpcyB0aGUgZGVmYXVsdCBsb2dnZXIu
Citmb3JtYXR0ZXIgPSBsb2dnaW5nLkZvcm1hdHRlcignJShuYW1lKXM6IFslKGxldmVsbmFtZSlz
XSAlKG1lc3NhZ2UpcycpCisKK2NvbnNvbGVfbG9nX2hhbmRsZXIgPSBsb2dnaW5nLlN0cmVhbUhh
bmRsZXIoc3lzLnN0ZGVycikKK2NvbnNvbGVfbG9nX2hhbmRsZXIuc2V0Rm9ybWF0dGVyKGZvcm1h
dHRlcikKKworbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoKSAgIyBQYXNzaW5nIG5vIHBhcmFt
ZXRlciByZXRyaWV2ZXMgcm9vdCBsb2dnZXIuCitsb2dnZXIuc2V0TGV2ZWwobG9nZ2luZy5XQVJO
SU5HKQorIyBUaGUgdW5pdCB0ZXN0cyBjYW4gbGF0ZXIgcmVtb3ZlIHRoaXMgaGFuZGxlciB0byBw
cmV2ZW50IGxvZyBtZXNzYWdlcworIyBmcm9tIGRpc3BsYXlpbmcgdG8gdGhlIHNjcmVlbiB3aGls
ZSBydW5uaW5nIHVuaXQgdGVzdHMuCitsb2dnZXIuYWRkSGFuZGxlcihjb25zb2xlX2xvZ19oYW5k
bGVyKQorCisKICMgTGlzdCBvdXIgdGhpcmQtcGFydHkgbGlicmFyeSBkZXBlbmRlbmNpZXMgaGVy
ZSBhbmQgd2hlcmUgdGhleSBjYW4gYmUKICMgZG93bmxvYWRlZC4KIGF1dG9pbnN0YWxsLmJpbmQo
IkNsaWVudEZvcm0iLCAiaHR0cDovL3B5cGkucHl0aG9uLm9yZy9wYWNrYWdlcy9zb3VyY2UvQy9D
bGllbnRGb3JtL0NsaWVudEZvcm0tMC4yLjEwLnppcCIsICJDbGllbnRGb3JtLTAuMi4xMCIpCg==
</data>
<flag name="review"
          id="32071"
          type_id="1"
          status="-"
          setter="cjerdonek"
    />
          </attachment>
      

    </bug>

</bugzilla>