<?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>80906</bug_id>
          
          <creation_ts>2012-03-12 16:29:58 -0700</creation_ts>
          <short_desc>_runtime_feature_list isn&apos;t supported on Apple Mac DRT</short_desc>
          <delta_ts>2012-03-12 17:43:38 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Pranke">dpranke</reporter>
          <assigned_to name="Dirk Pranke">dpranke</assigned_to>
          <cc>abarth</cc>
    
    <cc>aroben</cc>
    
    <cc>cmarrin</cc>
    
    <cc>eric</cc>
    
    <cc>ojan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>576697</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-03-12 16:29:58 -0700</bug_when>
    <thetext>_runtime_feature_list isn&apos;t supported on Apple Mac DRT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576699</commentid>
    <comment_count>1</comment_count>
      <attachid>131445</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-03-12 16:30:55 -0700</bug_when>
    <thetext>Created attachment 131445
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576707</commentid>
    <comment_count>2</comment_count>
      <attachid>131445</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-12 16:35:50 -0700</bug_when>
    <thetext>Comment on attachment 131445
Patch

I&apos;m not sure what the purpose of adding this stub is?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576708</commentid>
    <comment_count>3</comment_count>
      <attachid>131445</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-03-12 16:37:40 -0700</bug_when>
    <thetext>Comment on attachment 131445
Patch

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

Thanks for fixing this!

&gt; Tools/Scripts/webkitpy/layout_tests/port/apple.py:99
&gt; +        # FIXME: Implement this properly?

I think that it&apos;s worth commenting that (a) it crashes because the script doesn&apos;t set DYLD_FRAMEWORK_PATH, and (b) this feature may be obsolete now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576729</commentid>
    <comment_count>4</comment_count>
      <attachid>131453</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-03-12 16:52:12 -0700</bug_when>
    <thetext>Created attachment 131453
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576731</commentid>
    <comment_count>5</comment_count>
      <attachid>131453</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-12 16:54:30 -0700</bug_when>
    <thetext>Comment on attachment 131453
Patch

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

Are we 100% sure this is AppleWin-only?

&gt; Tools/Scripts/webkitpy/layout_tests/port/webkit.py:253
&gt; +        &quot;&quot;&quot;A port can implement this to detect features only known through compile-time or run-time flags.&quot;&quot;&quot;

compile-time?

&gt; Tools/Scripts/webkitpy/layout_tests/port/webkit.py:566
&gt; +        import pdb
&gt; +        pdb.set_trace()

I don&apos;t think you meant to includ ethis.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576734</commentid>
    <comment_count>6</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-03-12 16:57:15 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 131445 [details])
&gt; I&apos;m not sure what the purpose of adding this stub is?

To override the default, which assumed the port implemented this ... however, as you can see in the second patch, flipping the base class implementation is a more accurate way to model things.

(In reply to comment #5)
&gt; (From update of attachment 131453 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=131453&amp;action=review
&gt; 
&gt; Are we 100% sure this is AppleWin-only?
&gt; 

Seems to be.

&gt; &gt; Tools/Scripts/webkitpy/layout_tests/port/webkit.py:253
&gt; &gt; +        &quot;&quot;&quot;A port can implement this to detect features only known through compile-time or run-time flags.&quot;&quot;&quot;
&gt; 
&gt; compile-time?
&gt;

I thought the intent of this was to also detect which features had been compiled in (or out). At least that&apos;s the way that I look at it, even though you&apos;re actually running something to determine that. I can stick with run-time flags if you prefer.

&gt; &gt; Tools/Scripts/webkitpy/layout_tests/port/webkit.py:566
&gt; &gt; +        import pdb
&gt; &gt; +        pdb.set_trace()
&gt; 
&gt; I don&apos;t think you meant to includ ethis.

Indeed. I thought I got rid of that but somehow it seems to have snuck back in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576738</commentid>
    <comment_count>7</comment_count>
      <attachid>131456</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-03-12 16:58:32 -0700</bug_when>
    <thetext>Created attachment 131456
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576739</commentid>
    <comment_count>8</comment_count>
      <attachid>131453</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-12 16:59:01 -0700</bug_when>
    <thetext>Comment on attachment 131453
Patch

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

&gt;&gt;&gt; Tools/Scripts/webkitpy/layout_tests/port/webkit.py:253
&gt;&gt;&gt; +        &quot;&quot;&quot;A port can implement this to detect features only known through compile-time or run-time flags.&quot;&quot;&quot;
&gt;&gt; 
&gt;&gt; compile-time?
&gt; 
&gt; I thought the intent of this was to also detect which features had been compiled in (or out). At least that&apos;s the way that I look at it, even though you&apos;re actually running something to determine that. I can stick with run-time flags if you prefer.

Does the compile-time detection work through the same function?  I thought it was a different set of functions...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576740</commentid>
    <comment_count>9</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-03-12 17:00:13 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 131453 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=131453&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Tools/Scripts/webkitpy/layout_tests/port/webkit.py:253
&gt; &gt;&gt;&gt; +        &quot;&quot;&quot;A port can implement this to detect features only known through compile-time or run-time flags.&quot;&quot;&quot;
&gt; &gt;&gt; 
&gt; &gt;&gt; compile-time?
&gt; &gt; 
&gt; &gt; I thought the intent of this was to also detect which features had been compiled in (or out). At least that&apos;s the way that I look at it, even though you&apos;re actually running something to determine that. I can stick with run-time flags if you prefer.
&gt; 
&gt; Does the compile-time detection work through the same function?  I thought it was a different set of functions...

Ah, true, I forgot about the &quot;grep webcore for symbols&quot; path ... we&apos;re way too fancy here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576743</commentid>
    <comment_count>10</comment_count>
      <attachid>131456</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-12 17:01:20 -0700</bug_when>
    <thetext>Comment on attachment 131456
Patch

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

&gt; Tools/ChangeLog:8
&gt; +        It looks like this feature is actually only supported on the Win

It looks like I came to the same conclusion when writing http://trac.webkit.org/changeset/99377. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576745</commentid>
    <comment_count>11</comment_count>
      <attachid>131458</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-03-12 17:02:13 -0700</bug_when>
    <thetext>Created attachment 131458
rework docstring</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576748</commentid>
    <comment_count>12</comment_count>
      <attachid>131456</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-12 17:02:51 -0700</bug_when>
    <thetext>Comment on attachment 131456
Patch

It seems like this support was a dream.  A dream which never came to be.  Time to end the dream I guess.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576800</commentid>
    <comment_count>13</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-03-12 17:43:38 -0700</bug_when>
    <thetext>Committed r110513: &lt;http://trac.webkit.org/changeset/110513&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131445</attachid>
            <date>2012-03-12 16:30:55 -0700</date>
            <delta_ts>2012-03-12 16:52:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80906-20120312163054.patch</filename>
            <type>text/plain</type>
            <size>1500</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNDYzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjkwNmZmMmZkN2RkN2Q5NTA4MGJlYjgyMDk3M2YwZDgx
NjU5MTJkYS4uZDZlYzVmYzJmMGI1NmE0MzliZDY3Zjc2Y2ExZDhkYmM5OGExYmJkYiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1
IEBACisyMDEyLTAzLTEyICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIF9ydW50aW1lX2ZlYXR1cmVfbGlzdCBpc24ndCBzdXBwb3J0ZWQgb24gQXBwbGUgTWFj
IERSVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA5
MDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYXBwbGUucHk6CisgICAgICAgIChBcHBs
ZVBvcnQuX2dlbmVyYXRlX2FsbF90ZXN0X2NvbmZpZ3VyYXRpb25zKToKKyAgICAgICAgKEFwcGxl
UG9ydCk6CisgICAgICAgIChBcHBsZVBvcnQuX3J1bnRpbWVfZmVhdHVyZV9saXN0KToKKwogMjAx
Mi0wMy0xMiAgUGV0ZXIgQmV2ZXJsb28gIDxwZXRlckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
W0Nocm9taXVtXSBUZW1wb3JhcnkgYnVpbGQtZml4IGZvciB0aGUgQW5kcm9pZCBib3QKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYXBwbGUucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2FwcGxlLnB5CmluZGV4
IGFjNDI1Yzk2ZWRiYWRhZWFhYzM4N2ZlNDkzZWQ1MDE3MTY0ODc0YWIuLmViNmQyNDFiY2NiYTg0
NDE5YTI5ZGUxY2RhZDQ3YzFhNDNlMTZlYjEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYXBwbGUucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9hcHBsZS5weQpAQCAtOTQsMyArOTQsNyBAQCBjbGFzcyBB
cHBsZVBvcnQoV2ViS2l0UG9ydCk6CiAgICAgICAgICAgICAgICAgIyBCdXQgYXQgc29tZSBsYXRl
ciBwb2ludCB3ZSBtYXkgbmVlZCB0byBtYWtlIHRoZXNlIGNvbmZpZ3VyYWJsZSBieSB0aGUgTWFj
UG9ydCBhbmQgV2luUG9ydCBzdWJjbGFzc2VzLgogICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRp
b25zLmFwcGVuZChUZXN0Q29uZmlndXJhdGlvbih2ZXJzaW9uPXZlcnNpb24sIGFyY2hpdGVjdHVy
ZT0neDg2JywgYnVpbGRfdHlwZT1idWlsZF90eXBlLCBncmFwaGljc190eXBlPSdjcHUnKSkKICAg
ICAgICAgcmV0dXJuIGNvbmZpZ3VyYXRpb25zCisKKyAgICBkZWYgX3J1bnRpbWVfZmVhdHVyZV9s
aXN0KHNlbGYpOgorICAgICAgICAjIEZJWE1FOiBJbXBsZW1lbnQgdGhpcyBwcm9wZXJseT8KKyAg
ICAgICAgcmV0dXJuIE5vbmUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131453</attachid>
            <date>2012-03-12 16:52:12 -0700</date>
            <delta_ts>2012-03-12 17:01:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80906-20120312165211.patch</filename>
            <type>text/plain</type>
            <size>11691</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNDYzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjkwNmZmMmZkN2RkN2Q5NTA4MGJlYjgyMDk3M2YwZDgx
NjU5MTJkYS4uYjQyZTk5YWYyZmUwZGY4Njk0NjY0Yzc4OTAzZTVkNGEyZWJjN2U5OCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1
IEBACisyMDEyLTAzLTEyICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIF9ydW50aW1lX2ZlYXR1cmVfbGlzdCBpc24ndCBzdXBwb3J0ZWQgb24gQXBwbGUgTWFj
IERSVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA5
MDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJdCBs
b29rcyBsaWtlIHRoaXMgZmVhdHVyZSBpcyBhY3R1YWxseSBvbmx5IHN1cHBvcnRlZCBvbiB0aGUg
V2luCisgICAgICAgIERSVCBwb3J0LCBzbyB0aGlzIHBhdGNoIHJld29ya3MgdGhlIGNvZGUgdG8g
bWFrZSB0aGF0IGNsZWFyZXIKKyAgICAgICAgYW5kIHJlZHVjZSB1bm5lY2Vzc2FyeSBvdmVycmlk
ZXMuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2VmbC5w
eToKKyAgICAgICAgKEVmbFBvcnQuX3BhdGhfdG9fd2ViY29yZV9saWJyYXJ5KToKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2d0ay5weToKKyAgICAgICAgKEd0
a1BvcnQuX3BhdGhfdG9fd2ViY29yZV9saWJyYXJ5KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9wb3J0L3F0LnB5OgorICAgICAgICAoUXRQb3J0Ll9za2lwcGVkX2Zp
bGVfc2VhcmNoX3BhdGhzKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9wb3J0L3dlYmtpdC5weToKKyAgICAgICAgKFdlYktpdFBvcnQuX3J1bnRpbWVfZmVhdHVyZV9s
aXN0KToKKyAgICAgICAgKFdlYktpdERyaXZlci5ydW5fdGVzdCk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXRfdW5pdHRlc3QucHk6CisgICAgICAg
IChUZXN0V2ViS2l0UG9ydC5fX2luaXRfXyk6CisgICAgICAgIChUZXN0V2ViS2l0UG9ydC5hbGxf
dGVzdF9jb25maWd1cmF0aW9ucyk6CisgICAgICAgICh0ZXN0X3NraXBwZWRfZGlyZWN0b3JpZXNf
Zm9yX2ZlYXR1cmVzKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9w
b3J0L3dpbi5weToKKyAgICAgICAgKFdpblBvcnQpOgorICAgICAgICAoV2luUG9ydC5fcnVudGlt
ZV9mZWF0dXJlX2xpc3QpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvd2luX3VuaXR0ZXN0LnB5OgorICAgICAgICAoV2luUG9ydFRlc3QudGVzdF9vcGVyYXRp
bmdfc3lzdGVtKToKKyAgICAgICAgKFdpblBvcnRUZXN0KToKKyAgICAgICAgKFdpblBvcnRUZXN0
LnRlc3RfcnVudGltZV9mZWF0dXJlX2xpc3QpOgorCiAyMDEyLTAzLTEyICBQZXRlciBCZXZlcmxv
byAgPHBldGVyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIFRlbXBvcmFyeSBi
dWlsZC1maXggZm9yIHRoZSBBbmRyb2lkIGJvdApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9lZmwucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L2VmbC5weQppbmRleCAzOWIwODQ5NTEwZGY4Yjg2NDNhNGM1YjQz
ODRmMmIyMTVmZjI3MjkzLi40ZTllMzljMDNhNzJjMWQ3NjVkYTRjYWE3ZGI2MDhiNzY1ZjM2Zjg2
IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2Vm
bC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2VmbC5w
eQpAQCAtNjEsMTAgKzYxLDYgQEAgY2xhc3MgRWZsUG9ydChXZWJLaXRQb3J0KToKICAgICAgICAg
ZHluX3BhdGggPSBzZWxmLl9idWlsZF9wYXRoKCdXZWJDb3JlJywgJ2xpYndlYmNvcmVfZWZsLnNv
JykKICAgICAgICAgcmV0dXJuIHN0YXRpY19wYXRoIGlmIHNlbGYuX2ZpbGVzeXN0ZW0uZXhpc3Rz
KHN0YXRpY19wYXRoKSBlbHNlIGR5bl9wYXRoCiAKLSAgICBkZWYgX3J1bnRpbWVfZmVhdHVyZV9s
aXN0KHNlbGYpOgotICAgICAgICAjIEZJWE1FOiBFRkwgc2hvdWxkIGRldGVjdCBydW50aW1lIGZl
YXR1cmVzIGxpa2Ugb3RoZXIgd2Via2l0IHBvcnRzIGRvLgotICAgICAgICByZXR1cm4gTm9uZQot
CiAgICAgZGVmIHNob3dfcmVzdWx0c19odG1sX2ZpbGUoc2VsZiwgcmVzdWx0c19maWxlbmFtZSk6
CiAgICAgICAgICMgRklYTUU6IFdlIHNob3VsZCBmaW5kIGEgd2F5IHRvIHNoYXJlIHRoaXMgaW1w
bG1lbnRhdGlvbiB3aXRoIEd0aywKICAgICAgICAgIyBvciB0ZWFjaCBydW4tbGF1bmNoZXIgaG93
IHRvIGNhbGwgcnVuLXNhZmFyaSBhbmQgbW92ZSB0aGlzIGRvd24gdG8gV2ViS2l0UG9ydC4KZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZ3RrLnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9ndGsucHkKaW5kZXgg
NGY4YzAxZmYyZDBmMDdmZmNkODllYzdjMDM2ZTE4YTFiZmM4MzU0YS4uMmNhMjYzYWUzZmE3YjE1
NmRmY2Q4YjI0ZGFjMWVmNDUxZjYyZmRjYSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9ndGsucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC9ndGsucHkKQEAgLTEzNiw5ICsxMzYsNiBAQCBjbGFzcyBHdGtQ
b3J0KFdlYktpdFBvcnQpOgogICAgICAgICAgICAgICAgIHJldHVybiBmdWxsX2xpYnJhcnkKICAg
ICAgICAgcmV0dXJuIE5vbmUKIAotICAgIGRlZiBfcnVudGltZV9mZWF0dXJlX2xpc3Qoc2VsZik6
Ci0gICAgICAgIHJldHVybiBOb25lCi0KICAgICAjIEZJWE1FOiBXZSBzaG91bGQgZmluZCBhIHdh
eSB0byBzaGFyZSB0aGlzIGltcGxtZW50YXRpb24gd2l0aCBHdGssCiAgICAgIyBvciB0ZWFjaCBy
dW4tbGF1bmNoZXIgaG93IHRvIGNhbGwgcnVuLXNhZmFyaSBhbmQgbW92ZSB0aGlzIGRvd24gdG8g
V2ViS2l0UG9ydC4KICAgICBkZWYgc2hvd19yZXN1bHRzX2h0bWxfZmlsZShzZWxmLCByZXN1bHRz
X2ZpbGVuYW1lKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3BvcnQvcXQucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0
L3F0LnB5CmluZGV4IDVmYzYwYTU5MDA4NTNiMjQ1NWM4Nzc2MzNiODNjZTEwNzg4NDcwMGUuLjQ4
ZWUwZjdiNzIyNjkxMGMwODk3MWE0NTRjNTUyOTU5NDkzNzA2NWEgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvcXQucHkKKysrIGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9xdC5weQpAQCAtMTMyLDkgKzEzMiw2IEBA
IGNsYXNzIFF0UG9ydChXZWJLaXRQb3J0KToKICAgICAgICAgICAgICAgICBzZWFyY2hfcGF0aHMu
YWRkKCdxdC01LjAtd2sxJykKICAgICAgICAgcmV0dXJuIHNlYXJjaF9wYXRocwogCi0gICAgZGVm
IF9ydW50aW1lX2ZlYXR1cmVfbGlzdChzZWxmKToKLSAgICAgICAgcmV0dXJuIE5vbmUKLQogICAg
IGRlZiBzZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIoc2VsZiwgc2VydmVyX25hbWU9Tm9uZSk6CiAg
ICAgICAgIGNsZWFuX2VudiA9IFdlYktpdFBvcnQuc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKHNl
bGYsIHNlcnZlcl9uYW1lKQogICAgICAgICBjbGVhbl9lbnZbJ1FUV0VCS0lUX1BMVUdJTl9QQVRI
J10gPSBzZWxmLl9idWlsZF9wYXRoKCdsaWIvcGx1Z2lucycpCmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dlYmtpdC5weSBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2Via2l0LnB5CmluZGV4IGNjM2IwYzcxNmUx
NTE2ZTczN2Q4YmI2ZmFmOTA1Yjk1MjZmNjk0MzcuLjVjNjdmM2Y4YmJiMDg4NzEzZDY5M2M1MzRj
YWU0M2ZlMWQ1YzMyY2QgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvd2Via2l0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvd2Via2l0LnB5CkBAIC0yNTAsMjAgKzI1MCw4IEBAIGNsYXNzIFdlYktpdFBv
cnQoUG9ydCk6CiAgICAgICAgIHJldHVybiBkaXJzX3RvX3NraXAKIAogICAgIGRlZiBfcnVudGlt
ZV9mZWF0dXJlX2xpc3Qoc2VsZik6Ci0gICAgICAgICIiIlJldHVybiB0aGUgc3VwcG9ydGVkIGZl
YXR1cmVzIG9mIERSVC4gSWYgYSBwb3J0IGRvZXNuJ3Qgc3VwcG9ydAotICAgICAgICB0aGlzIERS
VCBzd2l0Y2gsIGl0IGhhcyB0byBvdmVycmlkZSB0aGlzIG1ldGhvZCB0byByZXR1cm4gTm9uZSIi
IgotICAgICAgICBzdXBwb3J0ZWRfZmVhdHVyZXNfY29tbWFuZCA9IFtzZWxmLl9wYXRoX3RvX2Ry
aXZlcigpLCAnLS1wcmludC1zdXBwb3J0ZWQtZmVhdHVyZXMnXQotICAgICAgICB0cnk6Ci0gICAg
ICAgICAgICBvdXRwdXQgPSBzZWxmLl9leGVjdXRpdmUucnVuX2NvbW1hbmQoc3VwcG9ydGVkX2Zl
YXR1cmVzX2NvbW1hbmQsIGVycm9yX2hhbmRsZXI9RXhlY3V0aXZlLmlnbm9yZV9lcnJvcikKLSAg
ICAgICAgZXhjZXB0IE9TRXJyb3IsIGU6Ci0gICAgICAgICAgICBfbG9nLndhcm4oIkV4Y2VwdGlv
biBydW5uaW5nIGRyaXZlcjogJXMsICVzLiAgRHJpdmVyIG11c3QgYmUgYnVpbHQgYmVmb3JlIGNh
bGxpbmcgV2ViS2l0UG9ydC50ZXN0X2V4cGVjdGF0aW9ucygpLiIgJSAoc3VwcG9ydGVkX2ZlYXR1
cmVzX2NvbW1hbmQsIGUpKQotICAgICAgICAgICAgcmV0dXJuIE5vbmUKLQotICAgICAgICAjIE5v
dGU6IHdpbi9EdW1wUmVuZGVyVHJlZS5jcHAgZG9lcyBub3QgcHJpbnQgYSBsZWFkaW5nIHNwYWNl
IGJlZm9yZSB0aGUgZmVhdHVyZXNfc3RyaW5nLgotICAgICAgICBtYXRjaF9vYmplY3QgPSByZS5t
YXRjaCgiU3VwcG9ydGVkRmVhdHVyZXM6XHMqKD9QPGZlYXR1cmVzX3N0cmluZz4uKilccyoiLCBv
dXRwdXQpCi0gICAgICAgIGlmIG5vdCBtYXRjaF9vYmplY3Q6Ci0gICAgICAgICAgICByZXR1cm4g
Tm9uZQotICAgICAgICByZXR1cm4gbWF0Y2hfb2JqZWN0Lmdyb3VwKCdmZWF0dXJlc19zdHJpbmcn
KS5zcGxpdCgnICcpCisgICAgICAgICIiIkEgcG9ydCBjYW4gaW1wbGVtZW50IHRoaXMgdG8gZGV0
ZWN0IGZlYXR1cmVzIG9ubHkga25vd24gdGhyb3VnaCBjb21waWxlLXRpbWUgb3IgcnVuLXRpbWUg
ZmxhZ3MuIiIiCisgICAgICAgIHJldHVybiBOb25lCiAKICAgICBkZWYgX3dlYmNvcmVfc3ltYm9s
c19zdHJpbmcoc2VsZik6CiAgICAgICAgIHdlYmNvcmVfbGlicmFyeV9wYXRoID0gc2VsZi5fcGF0
aF90b193ZWJjb3JlX2xpYnJhcnkoKQpAQCAtNTc0LDYgKzU2Miw4IEBAIGNsYXNzIFdlYktpdERy
aXZlcihEcml2ZXIpOgogICAgICAgICAjIEZJWE1FOiBXZSBtYXkgbmVlZCB0byBhbHNvIHJlYWQg
c3RkZXJyIHVudGlsIHRoZSBwcm9jZXNzIGRpZXM/CiAgICAgICAgIHNlbGYuZXJyb3JfZnJvbV90
ZXN0ICs9IHNlbGYuX3NlcnZlcl9wcm9jZXNzLnBvcF9hbGxfYnVmZmVyZWRfc3RkZXJyKCkKIAor
ICAgICAgICBpbXBvcnQgcGRiCisgICAgICAgIHBkYi5zZXRfdHJhY2UoKQogICAgICAgICByZXR1
cm4gRHJpdmVyT3V0cHV0KHRleHQsIGltYWdlLCBhY3R1YWxfaW1hZ2VfaGFzaCwgYXVkaW8sCiAg
ICAgICAgICAgICBjcmFzaD1zZWxmLl9kZXRlY3RlZF9jcmFzaCgpLCB0ZXN0X3RpbWU9dGltZS50
aW1lKCkgLSBzdGFydF90aW1lLAogICAgICAgICAgICAgdGltZW91dD1zZWxmLl9zZXJ2ZXJfcHJv
Y2Vzcy50aW1lZF9vdXQsIGVycm9yPXNlbGYuZXJyb3JfZnJvbV90ZXN0LApkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXRfdW5pdHRlc3Qu
cHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dlYmtpdF91bml0
dGVzdC5weQppbmRleCBhYWRiZjcyZmQzNTc3ODM5ZjkyZjhjYjA3ZmU5MWJkM2VlMWNhYWNmLi41
ZTIwYWJjZmM2MmRiMWExZDE1ZDU5NDJiZWVkNmVmYWJkMDkyYzgxIDEwMDc1NQotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dlYmtpdF91bml0dGVzdC5weQor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dlYmtpdF91bml0
dGVzdC5weQpAQCAtNDEsMjAgKzQxLDE2IEBAIGZyb20gd2Via2l0cHkudG9vbC5tb2NrdG9vbCBp
bXBvcnQgTW9ja09wdGlvbnMKIGNsYXNzIFRlc3RXZWJLaXRQb3J0KFdlYktpdFBvcnQpOgogICAg
IHBvcnRfbmFtZSA9ICJ0ZXN0d2Via2l0cG9ydCIKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBz
eW1ib2xzX3N0cmluZz1Ob25lLCBmZWF0dXJlX2xpc3Q9Tm9uZSwKKyAgICBkZWYgX19pbml0X18o
c2VsZiwgc3ltYm9sc19zdHJpbmc9Tm9uZSwKICAgICAgICAgICAgICAgICAgZXhwZWN0YXRpb25z
X2ZpbGU9Tm9uZSwgc2tpcHNfZmlsZT1Ob25lLCBob3N0PU5vbmUsCiAgICAgICAgICAgICAgICAg
ICoqa3dhcmdzKToKICAgICAgICAgc2VsZi5zeW1ib2xzX3N0cmluZyA9IHN5bWJvbHNfc3RyaW5n
ICAjIFBhc3NpbmcgIiIgZGlzYWJsZXMgYWxsIHN0YXRpY2x5LWRldGVjdGFibGUgZmVhdHVyZXMu
Ci0gICAgICAgIHNlbGYuZmVhdHVyZV9saXN0ID0gZmVhdHVyZV9saXN0ICAjIFBhc3NpbmcgW10g
ZGlzYWJsZXMgYWxsIHJ1bnRpbWUtZGV0ZWN0YWJsZSBmZWF0dXJlcy4KICAgICAgICAgaG9zdCA9
IGhvc3Qgb3IgTW9ja1N5c3RlbUhvc3QoKQogICAgICAgICBXZWJLaXRQb3J0Ll9faW5pdF9fKHNl
bGYsIGhvc3Q9aG9zdCwgKiprd2FyZ3MpCiAKICAgICBkZWYgYWxsX3Rlc3RfY29uZmlndXJhdGlv
bnMoc2VsZik6CiAgICAgICAgIHJldHVybiBbc2VsZi50ZXN0X2NvbmZpZ3VyYXRpb24oKV0KIAot
ICAgIGRlZiBfcnVudGltZV9mZWF0dXJlX2xpc3Qoc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxm
LmZlYXR1cmVfbGlzdAotCiAgICAgZGVmIF93ZWJjb3JlX3N5bWJvbHNfc3RyaW5nKHNlbGYpOgog
ICAgICAgICByZXR1cm4gc2VsZi5zeW1ib2xzX3N0cmluZwogCkBAIC0xMjUsMTggKzEyMSwxMiBA
QCBjbGFzcyBXZWJLaXRQb3J0VGVzdChwb3J0X3Rlc3RjYXNlLlBvcnRUZXN0Q2FzZSk6CiAgICAg
ICAgIHJlc3VsdF9kaXJlY3RvcmllcyA9IHNldChUZXN0V2ViS2l0UG9ydChzeW1ib2xzX3N0cmlu
ZywgTm9uZSkuX3NraXBwZWRfdGVzdHNfZm9yX3Vuc3VwcG9ydGVkX2ZlYXR1cmVzKHRlc3RfbGlz
dD1bJ21hdGhtbC9mb28uaHRtbCddKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHRf
ZGlyZWN0b3JpZXMsIGV4cGVjdGVkX2RpcmVjdG9yaWVzKQogCi0gICAgZGVmIHRlc3RfcnVudGlt
ZV9mZWF0dXJlX2xpc3Qoc2VsZik6Ci0gICAgICAgIHBvcnQgPSBXZWJLaXRQb3J0KE1vY2tTeXN0
ZW1Ib3N0KCkpCi0gICAgICAgIHBvcnQuX2V4ZWN1dGl2ZS5ydW5fY29tbWFuZCA9IGxhbWJkYSBj
b21tYW5kLCBjd2Q9Tm9uZSwgZXJyb3JfaGFuZGxlcj1Ob25lOiAiTm9uc2Vuc2UiCi0gICAgICAg
ICMgcnVudGltZV9mZWF0dXJlc19saXN0IHJldHVybnMgTm9uZSB3aGVuIGl0cyByZXN1bHRzIGFy
ZSBtZWFuaW5nbGVzcyAoaXQgY291bGRuJ3QgcnVuIERSVCBvciBwYXJzZSB0aGUgb3V0cHV0LCBl
dGMuKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhwb3J0Ll9ydW50aW1lX2ZlYXR1cmVfbGlz
dCgpLCBOb25lKQotICAgICAgICBwb3J0Ll9leGVjdXRpdmUucnVuX2NvbW1hbmQgPSBsYW1iZGEg
Y29tbWFuZCwgY3dkPU5vbmUsIGVycm9yX2hhbmRsZXI9Tm9uZTogIlN1cHBvcnRlZEZlYXR1cmVz
OmZvbyBiYXIiCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHBvcnQuX3J1bnRpbWVfZmVhdHVy
ZV9saXN0KCksIFsnZm9vJywgJ2JhciddKQotCiAgICAgZGVmIHRlc3Rfc2tpcHBlZF9kaXJlY3Rv
cmllc19mb3JfZmVhdHVyZXMoc2VsZik6CiAgICAgICAgIHN1cHBvcnRlZF9mZWF0dXJlcyA9IFsi
QWNjZWxlcmF0ZWQgQ29tcG9zaXRpbmciLCAiRm9vIEZlYXR1cmUiXQogICAgICAgICBleHBlY3Rl
ZF9kaXJlY3RvcmllcyA9IHNldChbImFuaW1hdGlvbnMvM2QiLCAidHJhbnNmb3Jtcy8zZCJdKQot
ICAgICAgICByZXN1bHRfZGlyZWN0b3JpZXMgPSBzZXQoVGVzdFdlYktpdFBvcnQoTm9uZSwgc3Vw
cG9ydGVkX2ZlYXR1cmVzKS5fc2tpcHBlZF90ZXN0c19mb3JfdW5zdXBwb3J0ZWRfZmVhdHVyZXMo
dGVzdF9saXN0PVsiYW5pbWF0aW9ucy8zZC9mb28uaHRtbCJdKSkKKyAgICAgICAgcG9ydCA9IFRl
c3RXZWJLaXRQb3J0KE5vbmUsIHN1cHBvcnRlZF9mZWF0dXJlcykKKyAgICAgICAgcG9ydC5fcnVu
dGltZV9mZWF0dXJlX2xpc3QgPSBsYW1iZGE6IHN1cHBvcnRlZF9mZWF0dXJlcworICAgICAgICBy
ZXN1bHRfZGlyZWN0b3JpZXMgPSBzZXQocG9ydC5fc2tpcHBlZF90ZXN0c19mb3JfdW5zdXBwb3J0
ZWRfZmVhdHVyZXModGVzdF9saXN0PVsiYW5pbWF0aW9ucy8zZC9mb28uaHRtbCJdKSkKICAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHRfZGlyZWN0b3JpZXMsIGV4cGVjdGVkX2RpcmVjdG9y
aWVzKQogCiAgICAgZGVmIHRlc3Rfc2tpcHBlZF9kaXJlY3Rvcmllc19mb3JfZmVhdHVyZXNfbm9f
bWF0Y2hpbmdfdGVzdHNfaW5fdGVzdF9saXN0KHNlbGYpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93aW4ucHkgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dpbi5weQppbmRleCBlNDYzYjAyZjRlYjg5ZDUzZWI4
MWZhNjQxM2FjNGIyOWYzOTI1M2MzLi5kYTMyMDllYWQ2MGMzZTBjOTU5ODMwYTVjN2I4MzUxYmMy
OTczODI1IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9w
b3J0L3dpbi5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0
L3dpbi5weQpAQCAtMzAsNyArMzAsNyBAQCBpbXBvcnQgbG9nZ2luZwogaW1wb3J0IHJlCiBpbXBv
cnQgc3lzCiAKLWZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRpdmUgaW1wb3J0IFNj
cmlwdEVycm9yCitmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZlIGltcG9ydCBT
Y3JpcHRFcnJvciwgRXhlY3V0aXZlCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0ucGF0aCBp
bXBvcnQgYWJzcGF0aF90b191cmkKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLnBvcnQuYXBw
bGUgaW1wb3J0IEFwcGxlUG9ydAogCkBAIC04MCwzICs4MCwxNyBAQCBjbGFzcyBXaW5Qb3J0KEFw
cGxlUG9ydCk6CiAgICAgIyBGSVhNRTogd2Via2l0cGVybC9odHRwZC5wbSBpbnN0YWxscyAvdXNy
L2xpYi9hcGFjaGUvbGlicGhwNC5kbGwgb24gY3ljd2luIGF1dG9tYXRpY2FsbHkKICAgICAjIGFz
IHBhcnQgb2YgcnVubmluZyBvbGQtcnVuLXdlYmtpdC10ZXN0cy4gIFRoYXQncyBiYWQgZGVzaWdu
LCBidXQgd2UgbWF5IG5lZWQgc29tZSBzaW1pbGFyIGhhY2suCiAgICAgIyBXZSBtaWdodCB1c2Ug
c2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyIGZvciBzdWNoIGEgaGFjayAob3IgbW9kaWZ5IGFwYWNo
ZV9odHRwX3NlcnZlci5weSkuCisKKyAgICBkZWYgX3J1bnRpbWVfZmVhdHVyZV9saXN0KHNlbGYp
OgorICAgICAgICBzdXBwb3J0ZWRfZmVhdHVyZXNfY29tbWFuZCA9IFtzZWxmLl9wYXRoX3RvX2Ry
aXZlcigpLCAnLS1wcmludC1zdXBwb3J0ZWQtZmVhdHVyZXMnXQorICAgICAgICB0cnk6CisgICAg
ICAgICAgICBvdXRwdXQgPSBzZWxmLl9leGVjdXRpdmUucnVuX2NvbW1hbmQoc3VwcG9ydGVkX2Zl
YXR1cmVzX2NvbW1hbmQsIGVycm9yX2hhbmRsZXI9RXhlY3V0aXZlLmlnbm9yZV9lcnJvcikKKyAg
ICAgICAgZXhjZXB0IE9TRXJyb3IsIGU6CisgICAgICAgICAgICBfbG9nLndhcm4oIkV4Y2VwdGlv
biBydW5uaW5nIGRyaXZlcjogJXMsICVzLiAgRHJpdmVyIG11c3QgYmUgYnVpbHQgYmVmb3JlIGNh
bGxpbmcgV2ViS2l0UG9ydC50ZXN0X2V4cGVjdGF0aW9ucygpLiIgJSAoc3VwcG9ydGVkX2ZlYXR1
cmVzX2NvbW1hbmQsIGUpKQorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKworICAgICAgICAjIE5v
dGU6IHdpbi9EdW1wUmVuZGVyVHJlZS5jcHAgZG9lcyBub3QgcHJpbnQgYSBsZWFkaW5nIHNwYWNl
IGJlZm9yZSB0aGUgZmVhdHVyZXNfc3RyaW5nLgorICAgICAgICBtYXRjaF9vYmplY3QgPSByZS5t
YXRjaCgiU3VwcG9ydGVkRmVhdHVyZXM6XHMqKD9QPGZlYXR1cmVzX3N0cmluZz4uKilccyoiLCBv
dXRwdXQpCisgICAgICAgIGlmIG5vdCBtYXRjaF9vYmplY3Q6CisgICAgICAgICAgICByZXR1cm4g
Tm9uZQorICAgICAgICByZXR1cm4gbWF0Y2hfb2JqZWN0Lmdyb3VwKCdmZWF0dXJlc19zdHJpbmcn
KS5zcGxpdCgnICcpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9wb3J0L3dpbl91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvd2luX3VuaXR0ZXN0LnB5CmluZGV4IGZjOTcyYTRjZDhiM2FjOGRhNmQ3YmVm
OTM4OTJmYjk2Yjk0OTQ2YzIuLmM1MTFjODcyZTJiNTg4ODFhMmY2ZGQ1ZjgyMWQ5MzE0NmY4YzI3
MGQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQv
d2luX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvd2luX3VuaXR0ZXN0LnB5CkBAIC05NSwzICs5NSwxMSBAQCBjbGFzcyBXaW5Qb3J0VGVz
dChwb3J0X3Rlc3RjYXNlLlBvcnRUZXN0Q2FzZSk6CiAKICAgICBkZWYgdGVzdF9vcGVyYXRpbmdf
c3lzdGVtKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCd3aW4nLCBzZWxmLm1ha2Vf
cG9ydCgpLm9wZXJhdGluZ19zeXN0ZW0oKSkKKworICAgIGRlZiB0ZXN0X3J1bnRpbWVfZmVhdHVy
ZV9saXN0KHNlbGYpOgorICAgICAgICBwb3J0ID0gc2VsZi5tYWtlX3BvcnQoKQorICAgICAgICBw
b3J0Ll9leGVjdXRpdmUucnVuX2NvbW1hbmQgPSBsYW1iZGEgY29tbWFuZCwgY3dkPU5vbmUsIGVy
cm9yX2hhbmRsZXI9Tm9uZTogIk5vbnNlbnNlIgorICAgICAgICAjIHJ1bnRpbWVfZmVhdHVyZXNf
bGlzdCByZXR1cm5zIE5vbmUgd2hlbiBpdHMgcmVzdWx0cyBhcmUgbWVhbmluZ2xlc3MgKGl0IGNv
dWxkbid0IHJ1biBEUlQgb3IgcGFyc2UgdGhlIG91dHB1dCwgZXRjLikKKyAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbHMocG9ydC5fcnVudGltZV9mZWF0dXJlX2xpc3QoKSwgTm9uZSkKKyAgICAgICAg
cG9ydC5fZXhlY3V0aXZlLnJ1bl9jb21tYW5kID0gbGFtYmRhIGNvbW1hbmQsIGN3ZD1Ob25lLCBl
cnJvcl9oYW5kbGVyPU5vbmU6ICJTdXBwb3J0ZWRGZWF0dXJlczpmb28gYmFyIgorICAgICAgICBz
ZWxmLmFzc2VydEVxdWFscyhwb3J0Ll9ydW50aW1lX2ZlYXR1cmVfbGlzdCgpLCBbJ2ZvbycsICdi
YXInXSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131456</attachid>
            <date>2012-03-12 16:58:32 -0700</date>
            <delta_ts>2012-03-12 17:02:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80906-20120312165831.patch</filename>
            <type>text/plain</type>
            <size>11180</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNDYzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjkwNmZmMmZkN2RkN2Q5NTA4MGJlYjgyMDk3M2YwZDgx
NjU5MTJkYS4uNjc0NTdjMzVlZGJkYzUwMjQ5Y2FiZGZhYWFhNTM2NTZkMGY0N2JhMSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0
IEBACisyMDEyLTAzLTEyICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIF9ydW50aW1lX2ZlYXR1cmVfbGlzdCBpc24ndCBzdXBwb3J0ZWQgb24gQXBwbGUgTWFj
IERSVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA5
MDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJdCBs
b29rcyBsaWtlIHRoaXMgZmVhdHVyZSBpcyBhY3R1YWxseSBvbmx5IHN1cHBvcnRlZCBvbiB0aGUg
V2luCisgICAgICAgIERSVCBwb3J0LCBzbyB0aGlzIHBhdGNoIHJld29ya3MgdGhlIGNvZGUgdG8g
bWFrZSB0aGF0IGNsZWFyZXIKKyAgICAgICAgYW5kIHJlZHVjZSB1bm5lY2Vzc2FyeSBvdmVycmlk
ZXMuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2VmbC5w
eToKKyAgICAgICAgKEVmbFBvcnQuX3BhdGhfdG9fd2ViY29yZV9saWJyYXJ5KToKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2d0ay5weToKKyAgICAgICAgKEd0
a1BvcnQuX3BhdGhfdG9fd2ViY29yZV9saWJyYXJ5KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9wb3J0L3F0LnB5OgorICAgICAgICAoUXRQb3J0Ll9za2lwcGVkX2Zp
bGVfc2VhcmNoX3BhdGhzKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9wb3J0L3dlYmtpdC5weToKKyAgICAgICAgKFdlYktpdFBvcnQuX3J1bnRpbWVfZmVhdHVyZV9s
aXN0KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dlYmtp
dF91bml0dGVzdC5weToKKyAgICAgICAgKFRlc3RXZWJLaXRQb3J0Ll9faW5pdF9fKToKKyAgICAg
ICAgKFRlc3RXZWJLaXRQb3J0LmFsbF90ZXN0X2NvbmZpZ3VyYXRpb25zKToKKyAgICAgICAgKHRl
c3Rfc2tpcHBlZF9kaXJlY3Rvcmllc19mb3JfZmVhdHVyZXMpOgorICAgICAgICAqIFNjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2luLnB5OgorICAgICAgICAoV2luUG9ydCk6Cisg
ICAgICAgIChXaW5Qb3J0Ll9ydW50aW1lX2ZlYXR1cmVfbGlzdCk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93aW5fdW5pdHRlc3QucHk6CisgICAgICAgIChX
aW5Qb3J0VGVzdC50ZXN0X29wZXJhdGluZ19zeXN0ZW0pOgorICAgICAgICAoV2luUG9ydFRlc3Qp
OgorICAgICAgICAoV2luUG9ydFRlc3QudGVzdF9ydW50aW1lX2ZlYXR1cmVfbGlzdCk6CisKIDIw
MTItMDMtMTIgIFBldGVyIEJldmVybG9vICA8cGV0ZXJAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFtDaHJvbWl1bV0gVGVtcG9yYXJ5IGJ1aWxkLWZpeCBmb3IgdGhlIEFuZHJvaWQgYm90CmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2VmbC5weSBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZWZsLnB5CmluZGV4IDM5
YjA4NDk1MTBkZjhiODY0M2E0YzViNDM4NGYyYjIxNWZmMjcyOTMuLjRlOWUzOWMwM2E3MmMxZDc2
NWRhNGNhYTdkYjYwOGI3NjVmMzZmODYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZWZsLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3BvcnQvZWZsLnB5CkBAIC02MSwxMCArNjEsNiBAQCBjbGFzcyBFZmxQb3J0
KFdlYktpdFBvcnQpOgogICAgICAgICBkeW5fcGF0aCA9IHNlbGYuX2J1aWxkX3BhdGgoJ1dlYkNv
cmUnLCAnbGlid2ViY29yZV9lZmwuc28nKQogICAgICAgICByZXR1cm4gc3RhdGljX3BhdGggaWYg
c2VsZi5fZmlsZXN5c3RlbS5leGlzdHMoc3RhdGljX3BhdGgpIGVsc2UgZHluX3BhdGgKIAotICAg
IGRlZiBfcnVudGltZV9mZWF0dXJlX2xpc3Qoc2VsZik6Ci0gICAgICAgICMgRklYTUU6IEVGTCBz
aG91bGQgZGV0ZWN0IHJ1bnRpbWUgZmVhdHVyZXMgbGlrZSBvdGhlciB3ZWJraXQgcG9ydHMgZG8u
Ci0gICAgICAgIHJldHVybiBOb25lCi0KICAgICBkZWYgc2hvd19yZXN1bHRzX2h0bWxfZmlsZShz
ZWxmLCByZXN1bHRzX2ZpbGVuYW1lKToKICAgICAgICAgIyBGSVhNRTogV2Ugc2hvdWxkIGZpbmQg
YSB3YXkgdG8gc2hhcmUgdGhpcyBpbXBsbWVudGF0aW9uIHdpdGggR3RrLAogICAgICAgICAjIG9y
IHRlYWNoIHJ1bi1sYXVuY2hlciBob3cgdG8gY2FsbCBydW4tc2FmYXJpIGFuZCBtb3ZlIHRoaXMg
ZG93biB0byBXZWJLaXRQb3J0LgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC9ndGsucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9wb3J0L2d0ay5weQppbmRleCA0ZjhjMDFmZjJkMGYwN2ZmY2Q4OWVjN2MwMzZlMThhMWJm
YzgzNTRhLi4yY2EyNjNhZTNmYTdiMTU2ZGZjZDhiMjRkYWMxZWY0NTFmNjJmZGNhIDEwMDY0NAot
LS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2d0ay5weQorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2d0ay5weQpAQCAtMTM2
LDkgKzEzNiw2IEBAIGNsYXNzIEd0a1BvcnQoV2ViS2l0UG9ydCk6CiAgICAgICAgICAgICAgICAg
cmV0dXJuIGZ1bGxfbGlicmFyeQogICAgICAgICByZXR1cm4gTm9uZQogCi0gICAgZGVmIF9ydW50
aW1lX2ZlYXR1cmVfbGlzdChzZWxmKToKLSAgICAgICAgcmV0dXJuIE5vbmUKLQogICAgICMgRklY
TUU6IFdlIHNob3VsZCBmaW5kIGEgd2F5IHRvIHNoYXJlIHRoaXMgaW1wbG1lbnRhdGlvbiB3aXRo
IEd0aywKICAgICAjIG9yIHRlYWNoIHJ1bi1sYXVuY2hlciBob3cgdG8gY2FsbCBydW4tc2FmYXJp
IGFuZCBtb3ZlIHRoaXMgZG93biB0byBXZWJLaXRQb3J0LgogICAgIGRlZiBzaG93X3Jlc3VsdHNf
aHRtbF9maWxlKHNlbGYsIHJlc3VsdHNfZmlsZW5hbWUpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9xdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvcXQucHkKaW5kZXggNWZjNjBhNTkwMDg1M2IyNDU1Yzg3
NzYzM2I4M2NlMTA3ODg0NzAwZS4uNDhlZTBmN2I3MjI2OTEwYzA4OTcxYTQ1NGM1NTI5NTk0OTM3
MDY1YSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9xdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3F0
LnB5CkBAIC0xMzIsOSArMTMyLDYgQEAgY2xhc3MgUXRQb3J0KFdlYktpdFBvcnQpOgogICAgICAg
ICAgICAgICAgIHNlYXJjaF9wYXRocy5hZGQoJ3F0LTUuMC13azEnKQogICAgICAgICByZXR1cm4g
c2VhcmNoX3BhdGhzCiAKLSAgICBkZWYgX3J1bnRpbWVfZmVhdHVyZV9saXN0KHNlbGYpOgotICAg
ICAgICByZXR1cm4gTm9uZQotCiAgICAgZGVmIHNldHVwX2Vudmlyb25fZm9yX3NlcnZlcihzZWxm
LCBzZXJ2ZXJfbmFtZT1Ob25lKToKICAgICAgICAgY2xlYW5fZW52ID0gV2ViS2l0UG9ydC5zZXR1
cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIoc2VsZiwgc2VydmVyX25hbWUpCiAgICAgICAgIGNsZWFuX2Vu
dlsnUVRXRUJLSVRfUExVR0lOX1BBVEgnXSA9IHNlbGYuX2J1aWxkX3BhdGgoJ2xpYi9wbHVnaW5z
JykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQv
d2Via2l0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJr
aXQucHkKaW5kZXggY2MzYjBjNzE2ZTE1MTZlNzM3ZDhiYjZmYWY5MDViOTUyNmY2OTQzNy4uMDg0
MDNiZThkNGM2ZTkyYjNlZWY0NjcyNmE1YjNiN2Y2ZWM1OThhMiAxMDA2NDQKLS0tIGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXQucHkKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXQucHkKQEAgLTI1MCwyMCAr
MjUwLDggQEAgY2xhc3MgV2ViS2l0UG9ydChQb3J0KToKICAgICAgICAgcmV0dXJuIGRpcnNfdG9f
c2tpcAogCiAgICAgZGVmIF9ydW50aW1lX2ZlYXR1cmVfbGlzdChzZWxmKToKLSAgICAgICAgIiIi
UmV0dXJuIHRoZSBzdXBwb3J0ZWQgZmVhdHVyZXMgb2YgRFJULiBJZiBhIHBvcnQgZG9lc24ndCBz
dXBwb3J0Ci0gICAgICAgIHRoaXMgRFJUIHN3aXRjaCwgaXQgaGFzIHRvIG92ZXJyaWRlIHRoaXMg
bWV0aG9kIHRvIHJldHVybiBOb25lIiIiCi0gICAgICAgIHN1cHBvcnRlZF9mZWF0dXJlc19jb21t
YW5kID0gW3NlbGYuX3BhdGhfdG9fZHJpdmVyKCksICctLXByaW50LXN1cHBvcnRlZC1mZWF0dXJl
cyddCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIG91dHB1dCA9IHNlbGYuX2V4ZWN1dGl2ZS5y
dW5fY29tbWFuZChzdXBwb3J0ZWRfZmVhdHVyZXNfY29tbWFuZCwgZXJyb3JfaGFuZGxlcj1FeGVj
dXRpdmUuaWdub3JlX2Vycm9yKQotICAgICAgICBleGNlcHQgT1NFcnJvciwgZToKLSAgICAgICAg
ICAgIF9sb2cud2FybigiRXhjZXB0aW9uIHJ1bm5pbmcgZHJpdmVyOiAlcywgJXMuICBEcml2ZXIg
bXVzdCBiZSBidWlsdCBiZWZvcmUgY2FsbGluZyBXZWJLaXRQb3J0LnRlc3RfZXhwZWN0YXRpb25z
KCkuIiAlIChzdXBwb3J0ZWRfZmVhdHVyZXNfY29tbWFuZCwgZSkpCi0gICAgICAgICAgICByZXR1
cm4gTm9uZQotCi0gICAgICAgICMgTm90ZTogd2luL0R1bXBSZW5kZXJUcmVlLmNwcCBkb2VzIG5v
dCBwcmludCBhIGxlYWRpbmcgc3BhY2UgYmVmb3JlIHRoZSBmZWF0dXJlc19zdHJpbmcuCi0gICAg
ICAgIG1hdGNoX29iamVjdCA9IHJlLm1hdGNoKCJTdXBwb3J0ZWRGZWF0dXJlczpccyooP1A8ZmVh
dHVyZXNfc3RyaW5nPi4qKVxzKiIsIG91dHB1dCkKLSAgICAgICAgaWYgbm90IG1hdGNoX29iamVj
dDoKLSAgICAgICAgICAgIHJldHVybiBOb25lCi0gICAgICAgIHJldHVybiBtYXRjaF9vYmplY3Qu
Z3JvdXAoJ2ZlYXR1cmVzX3N0cmluZycpLnNwbGl0KCcgJykKKyAgICAgICAgIiIiQSBwb3J0IGNh
biBpbXBsZW1lbnQgdGhpcyB0byBkZXRlY3QgZmVhdHVyZXMgb25seSBrbm93biB0aHJvdWdoIGNv
bXBpbGUtdGltZSBvciBydW4tdGltZSBmbGFncy4iIiIKKyAgICAgICAgcmV0dXJuIE5vbmUKIAog
ICAgIGRlZiBfd2ViY29yZV9zeW1ib2xzX3N0cmluZyhzZWxmKToKICAgICAgICAgd2ViY29yZV9s
aWJyYXJ5X3BhdGggPSBzZWxmLl9wYXRoX3RvX3dlYmNvcmVfbGlicmFyeSgpCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dlYmtpdF91bml0dGVz
dC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2Via2l0X3Vu
aXR0ZXN0LnB5CmluZGV4IGFhZGJmNzJmZDM1Nzc4MzlmOTJmOGNiMDdmZTkxYmQzZWUxY2FhY2Yu
LjVlMjBhYmNmYzYyZGIxYTFkMTVkNTk0MmJlZWQ2ZWZhYmQwOTJjODEgMTAwNzU1Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2Via2l0X3VuaXR0ZXN0LnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2Via2l0X3Vu
aXR0ZXN0LnB5CkBAIC00MSwyMCArNDEsMTYgQEAgZnJvbSB3ZWJraXRweS50b29sLm1vY2t0b29s
IGltcG9ydCBNb2NrT3B0aW9ucwogY2xhc3MgVGVzdFdlYktpdFBvcnQoV2ViS2l0UG9ydCk6CiAg
ICAgcG9ydF9uYW1lID0gInRlc3R3ZWJraXRwb3J0IgogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYs
IHN5bWJvbHNfc3RyaW5nPU5vbmUsIGZlYXR1cmVfbGlzdD1Ob25lLAorICAgIGRlZiBfX2luaXRf
XyhzZWxmLCBzeW1ib2xzX3N0cmluZz1Ob25lLAogICAgICAgICAgICAgICAgICBleHBlY3RhdGlv
bnNfZmlsZT1Ob25lLCBza2lwc19maWxlPU5vbmUsIGhvc3Q9Tm9uZSwKICAgICAgICAgICAgICAg
ICAgKiprd2FyZ3MpOgogICAgICAgICBzZWxmLnN5bWJvbHNfc3RyaW5nID0gc3ltYm9sc19zdHJp
bmcgICMgUGFzc2luZyAiIiBkaXNhYmxlcyBhbGwgc3RhdGljbHktZGV0ZWN0YWJsZSBmZWF0dXJl
cy4KLSAgICAgICAgc2VsZi5mZWF0dXJlX2xpc3QgPSBmZWF0dXJlX2xpc3QgICMgUGFzc2luZyBb
XSBkaXNhYmxlcyBhbGwgcnVudGltZS1kZXRlY3RhYmxlIGZlYXR1cmVzLgogICAgICAgICBob3N0
ID0gaG9zdCBvciBNb2NrU3lzdGVtSG9zdCgpCiAgICAgICAgIFdlYktpdFBvcnQuX19pbml0X18o
c2VsZiwgaG9zdD1ob3N0LCAqKmt3YXJncykKIAogICAgIGRlZiBhbGxfdGVzdF9jb25maWd1cmF0
aW9ucyhzZWxmKToKICAgICAgICAgcmV0dXJuIFtzZWxmLnRlc3RfY29uZmlndXJhdGlvbigpXQog
Ci0gICAgZGVmIF9ydW50aW1lX2ZlYXR1cmVfbGlzdChzZWxmKToKLSAgICAgICAgcmV0dXJuIHNl
bGYuZmVhdHVyZV9saXN0Ci0KICAgICBkZWYgX3dlYmNvcmVfc3ltYm9sc19zdHJpbmcoc2VsZik6
CiAgICAgICAgIHJldHVybiBzZWxmLnN5bWJvbHNfc3RyaW5nCiAKQEAgLTEyNSwxOCArMTIxLDEy
IEBAIGNsYXNzIFdlYktpdFBvcnRUZXN0KHBvcnRfdGVzdGNhc2UuUG9ydFRlc3RDYXNlKToKICAg
ICAgICAgcmVzdWx0X2RpcmVjdG9yaWVzID0gc2V0KFRlc3RXZWJLaXRQb3J0KHN5bWJvbHNfc3Ry
aW5nLCBOb25lKS5fc2tpcHBlZF90ZXN0c19mb3JfdW5zdXBwb3J0ZWRfZmVhdHVyZXModGVzdF9s
aXN0PVsnbWF0aG1sL2Zvby5odG1sJ10pKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3Vs
dF9kaXJlY3RvcmllcywgZXhwZWN0ZWRfZGlyZWN0b3JpZXMpCiAKLSAgICBkZWYgdGVzdF9ydW50
aW1lX2ZlYXR1cmVfbGlzdChzZWxmKToKLSAgICAgICAgcG9ydCA9IFdlYktpdFBvcnQoTW9ja1N5
c3RlbUhvc3QoKSkKLSAgICAgICAgcG9ydC5fZXhlY3V0aXZlLnJ1bl9jb21tYW5kID0gbGFtYmRh
IGNvbW1hbmQsIGN3ZD1Ob25lLCBlcnJvcl9oYW5kbGVyPU5vbmU6ICJOb25zZW5zZSIKLSAgICAg
ICAgIyBydW50aW1lX2ZlYXR1cmVzX2xpc3QgcmV0dXJucyBOb25lIHdoZW4gaXRzIHJlc3VsdHMg
YXJlIG1lYW5pbmdsZXNzIChpdCBjb3VsZG4ndCBydW4gRFJUIG9yIHBhcnNlIHRoZSBvdXRwdXQs
IGV0Yy4pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHBvcnQuX3J1bnRpbWVfZmVhdHVyZV9s
aXN0KCksIE5vbmUpCi0gICAgICAgIHBvcnQuX2V4ZWN1dGl2ZS5ydW5fY29tbWFuZCA9IGxhbWJk
YSBjb21tYW5kLCBjd2Q9Tm9uZSwgZXJyb3JfaGFuZGxlcj1Ob25lOiAiU3VwcG9ydGVkRmVhdHVy
ZXM6Zm9vIGJhciIKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocG9ydC5fcnVudGltZV9mZWF0
dXJlX2xpc3QoKSwgWydmb28nLCAnYmFyJ10pCi0KICAgICBkZWYgdGVzdF9za2lwcGVkX2RpcmVj
dG9yaWVzX2Zvcl9mZWF0dXJlcyhzZWxmKToKICAgICAgICAgc3VwcG9ydGVkX2ZlYXR1cmVzID0g
WyJBY2NlbGVyYXRlZCBDb21wb3NpdGluZyIsICJGb28gRmVhdHVyZSJdCiAgICAgICAgIGV4cGVj
dGVkX2RpcmVjdG9yaWVzID0gc2V0KFsiYW5pbWF0aW9ucy8zZCIsICJ0cmFuc2Zvcm1zLzNkIl0p
Ci0gICAgICAgIHJlc3VsdF9kaXJlY3RvcmllcyA9IHNldChUZXN0V2ViS2l0UG9ydChOb25lLCBz
dXBwb3J0ZWRfZmVhdHVyZXMpLl9za2lwcGVkX3Rlc3RzX2Zvcl91bnN1cHBvcnRlZF9mZWF0dXJl
cyh0ZXN0X2xpc3Q9WyJhbmltYXRpb25zLzNkL2Zvby5odG1sIl0pKQorICAgICAgICBwb3J0ID0g
VGVzdFdlYktpdFBvcnQoTm9uZSwgc3VwcG9ydGVkX2ZlYXR1cmVzKQorICAgICAgICBwb3J0Ll9y
dW50aW1lX2ZlYXR1cmVfbGlzdCA9IGxhbWJkYTogc3VwcG9ydGVkX2ZlYXR1cmVzCisgICAgICAg
IHJlc3VsdF9kaXJlY3RvcmllcyA9IHNldChwb3J0Ll9za2lwcGVkX3Rlc3RzX2Zvcl91bnN1cHBv
cnRlZF9mZWF0dXJlcyh0ZXN0X2xpc3Q9WyJhbmltYXRpb25zLzNkL2Zvby5odG1sIl0pKQogICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdF9kaXJlY3RvcmllcywgZXhwZWN0ZWRfZGlyZWN0
b3JpZXMpCiAKICAgICBkZWYgdGVzdF9za2lwcGVkX2RpcmVjdG9yaWVzX2Zvcl9mZWF0dXJlc19u
b19tYXRjaGluZ190ZXN0c19pbl90ZXN0X2xpc3Qoc2VsZik6CmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dpbi5weSBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2luLnB5CmluZGV4IGU0NjNiMDJmNGViODlkNTNl
YjgxZmE2NDEzYWM0YjI5ZjM5MjUzYzMuLmRhMzIwOWVhZDYwYzNlMGM5NTk4MzBhNWM3YjgzNTFi
YzI5NzM4MjUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3BvcnQvd2luLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Bv
cnQvd2luLnB5CkBAIC0zMCw3ICszMCw3IEBAIGltcG9ydCBsb2dnaW5nCiBpbXBvcnQgcmUKIGlt
cG9ydCBzeXMKIAotZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmV4ZWN1dGl2ZSBpbXBvcnQg
U2NyaXB0RXJyb3IKK2Zyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRpdmUgaW1wb3J0
IFNjcmlwdEVycm9yLCBFeGVjdXRpdmUKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5wYXRo
IGltcG9ydCBhYnNwYXRoX3RvX3VyaQogZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMucG9ydC5h
cHBsZSBpbXBvcnQgQXBwbGVQb3J0CiAKQEAgLTgwLDMgKzgwLDE3IEBAIGNsYXNzIFdpblBvcnQo
QXBwbGVQb3J0KToKICAgICAjIEZJWE1FOiB3ZWJraXRwZXJsL2h0dHBkLnBtIGluc3RhbGxzIC91
c3IvbGliL2FwYWNoZS9saWJwaHA0LmRsbCBvbiBjeWN3aW4gYXV0b21hdGljYWxseQogICAgICMg
YXMgcGFydCBvZiBydW5uaW5nIG9sZC1ydW4td2Via2l0LXRlc3RzLiAgVGhhdCdzIGJhZCBkZXNp
Z24sIGJ1dCB3ZSBtYXkgbmVlZCBzb21lIHNpbWlsYXIgaGFjay4KICAgICAjIFdlIG1pZ2h0IHVz
ZSBzZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIgZm9yIHN1Y2ggYSBoYWNrIChvciBtb2RpZnkgYXBh
Y2hlX2h0dHBfc2VydmVyLnB5KS4KKworICAgIGRlZiBfcnVudGltZV9mZWF0dXJlX2xpc3Qoc2Vs
Zik6CisgICAgICAgIHN1cHBvcnRlZF9mZWF0dXJlc19jb21tYW5kID0gW3NlbGYuX3BhdGhfdG9f
ZHJpdmVyKCksICctLXByaW50LXN1cHBvcnRlZC1mZWF0dXJlcyddCisgICAgICAgIHRyeToKKyAg
ICAgICAgICAgIG91dHB1dCA9IHNlbGYuX2V4ZWN1dGl2ZS5ydW5fY29tbWFuZChzdXBwb3J0ZWRf
ZmVhdHVyZXNfY29tbWFuZCwgZXJyb3JfaGFuZGxlcj1FeGVjdXRpdmUuaWdub3JlX2Vycm9yKQor
ICAgICAgICBleGNlcHQgT1NFcnJvciwgZToKKyAgICAgICAgICAgIF9sb2cud2FybigiRXhjZXB0
aW9uIHJ1bm5pbmcgZHJpdmVyOiAlcywgJXMuICBEcml2ZXIgbXVzdCBiZSBidWlsdCBiZWZvcmUg
Y2FsbGluZyBXZWJLaXRQb3J0LnRlc3RfZXhwZWN0YXRpb25zKCkuIiAlIChzdXBwb3J0ZWRfZmVh
dHVyZXNfY29tbWFuZCwgZSkpCisgICAgICAgICAgICByZXR1cm4gTm9uZQorCisgICAgICAgICMg
Tm90ZTogd2luL0R1bXBSZW5kZXJUcmVlLmNwcCBkb2VzIG5vdCBwcmludCBhIGxlYWRpbmcgc3Bh
Y2UgYmVmb3JlIHRoZSBmZWF0dXJlc19zdHJpbmcuCisgICAgICAgIG1hdGNoX29iamVjdCA9IHJl
Lm1hdGNoKCJTdXBwb3J0ZWRGZWF0dXJlczpccyooP1A8ZmVhdHVyZXNfc3RyaW5nPi4qKVxzKiIs
IG91dHB1dCkKKyAgICAgICAgaWYgbm90IG1hdGNoX29iamVjdDoKKyAgICAgICAgICAgIHJldHVy
biBOb25lCisgICAgICAgIHJldHVybiBtYXRjaF9vYmplY3QuZ3JvdXAoJ2ZlYXR1cmVzX3N0cmlu
ZycpLnNwbGl0KCcgJykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvd2luX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC93aW5fdW5pdHRlc3QucHkKaW5kZXggZmM5NzJhNGNkOGIzYWM4ZGE2ZDdi
ZWY5Mzg5MmZiOTZiOTQ5NDZjMi4uYzUxMWM4NzJlMmI1ODg4MWEyZjZkZDVmODIxZDkzMTQ2Zjhj
MjcwZCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC93aW5fdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcG9ydC93aW5fdW5pdHRlc3QucHkKQEAgLTk1LDMgKzk1LDExIEBAIGNsYXNzIFdpblBvcnRU
ZXN0KHBvcnRfdGVzdGNhc2UuUG9ydFRlc3RDYXNlKToKIAogICAgIGRlZiB0ZXN0X29wZXJhdGlu
Z19zeXN0ZW0oc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ3dpbicsIHNlbGYubWFr
ZV9wb3J0KCkub3BlcmF0aW5nX3N5c3RlbSgpKQorCisgICAgZGVmIHRlc3RfcnVudGltZV9mZWF0
dXJlX2xpc3Qoc2VsZik6CisgICAgICAgIHBvcnQgPSBzZWxmLm1ha2VfcG9ydCgpCisgICAgICAg
IHBvcnQuX2V4ZWN1dGl2ZS5ydW5fY29tbWFuZCA9IGxhbWJkYSBjb21tYW5kLCBjd2Q9Tm9uZSwg
ZXJyb3JfaGFuZGxlcj1Ob25lOiAiTm9uc2Vuc2UiCisgICAgICAgICMgcnVudGltZV9mZWF0dXJl
c19saXN0IHJldHVybnMgTm9uZSB3aGVuIGl0cyByZXN1bHRzIGFyZSBtZWFuaW5nbGVzcyAoaXQg
Y291bGRuJ3QgcnVuIERSVCBvciBwYXJzZSB0aGUgb3V0cHV0LCBldGMuKQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFscyhwb3J0Ll9ydW50aW1lX2ZlYXR1cmVfbGlzdCgpLCBOb25lKQorICAgICAg
ICBwb3J0Ll9leGVjdXRpdmUucnVuX2NvbW1hbmQgPSBsYW1iZGEgY29tbWFuZCwgY3dkPU5vbmUs
IGVycm9yX2hhbmRsZXI9Tm9uZTogIlN1cHBvcnRlZEZlYXR1cmVzOmZvbyBiYXIiCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWxzKHBvcnQuX3J1bnRpbWVfZmVhdHVyZV9saXN0KCksIFsnZm9vJywg
J2JhciddKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131458</attachid>
            <date>2012-03-12 17:02:13 -0700</date>
            <delta_ts>2012-03-12 17:03:09 -0700</delta_ts>
            <desc>rework docstring</desc>
            <filename>bug-80906-20120312170211.patch</filename>
            <type>text/plain</type>
            <size>11222</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNDYzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjkwNmZmMmZkN2RkN2Q5NTA4MGJlYjgyMDk3M2YwZDgx
NjU5MTJkYS4uNjc0NTdjMzVlZGJkYzUwMjQ5Y2FiZGZhYWFhNTM2NTZkMGY0N2JhMSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0
IEBACisyMDEyLTAzLTEyICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIF9ydW50aW1lX2ZlYXR1cmVfbGlzdCBpc24ndCBzdXBwb3J0ZWQgb24gQXBwbGUgTWFj
IERSVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA5
MDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJdCBs
b29rcyBsaWtlIHRoaXMgZmVhdHVyZSBpcyBhY3R1YWxseSBvbmx5IHN1cHBvcnRlZCBvbiB0aGUg
V2luCisgICAgICAgIERSVCBwb3J0LCBzbyB0aGlzIHBhdGNoIHJld29ya3MgdGhlIGNvZGUgdG8g
bWFrZSB0aGF0IGNsZWFyZXIKKyAgICAgICAgYW5kIHJlZHVjZSB1bm5lY2Vzc2FyeSBvdmVycmlk
ZXMuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2VmbC5w
eToKKyAgICAgICAgKEVmbFBvcnQuX3BhdGhfdG9fd2ViY29yZV9saWJyYXJ5KToKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2d0ay5weToKKyAgICAgICAgKEd0
a1BvcnQuX3BhdGhfdG9fd2ViY29yZV9saWJyYXJ5KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9wb3J0L3F0LnB5OgorICAgICAgICAoUXRQb3J0Ll9za2lwcGVkX2Zp
bGVfc2VhcmNoX3BhdGhzKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9wb3J0L3dlYmtpdC5weToKKyAgICAgICAgKFdlYktpdFBvcnQuX3J1bnRpbWVfZmVhdHVyZV9s
aXN0KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dlYmtp
dF91bml0dGVzdC5weToKKyAgICAgICAgKFRlc3RXZWJLaXRQb3J0Ll9faW5pdF9fKToKKyAgICAg
ICAgKFRlc3RXZWJLaXRQb3J0LmFsbF90ZXN0X2NvbmZpZ3VyYXRpb25zKToKKyAgICAgICAgKHRl
c3Rfc2tpcHBlZF9kaXJlY3Rvcmllc19mb3JfZmVhdHVyZXMpOgorICAgICAgICAqIFNjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2luLnB5OgorICAgICAgICAoV2luUG9ydCk6Cisg
ICAgICAgIChXaW5Qb3J0Ll9ydW50aW1lX2ZlYXR1cmVfbGlzdCk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93aW5fdW5pdHRlc3QucHk6CisgICAgICAgIChX
aW5Qb3J0VGVzdC50ZXN0X29wZXJhdGluZ19zeXN0ZW0pOgorICAgICAgICAoV2luUG9ydFRlc3Qp
OgorICAgICAgICAoV2luUG9ydFRlc3QudGVzdF9ydW50aW1lX2ZlYXR1cmVfbGlzdCk6CisKIDIw
MTItMDMtMTIgIFBldGVyIEJldmVybG9vICA8cGV0ZXJAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFtDaHJvbWl1bV0gVGVtcG9yYXJ5IGJ1aWxkLWZpeCBmb3IgdGhlIEFuZHJvaWQgYm90CmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2VmbC5weSBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZWZsLnB5CmluZGV4IDM5
YjA4NDk1MTBkZjhiODY0M2E0YzViNDM4NGYyYjIxNWZmMjcyOTMuLjRlOWUzOWMwM2E3MmMxZDc2
NWRhNGNhYTdkYjYwOGI3NjVmMzZmODYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZWZsLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3BvcnQvZWZsLnB5CkBAIC02MSwxMCArNjEsNiBAQCBjbGFzcyBFZmxQb3J0
KFdlYktpdFBvcnQpOgogICAgICAgICBkeW5fcGF0aCA9IHNlbGYuX2J1aWxkX3BhdGgoJ1dlYkNv
cmUnLCAnbGlid2ViY29yZV9lZmwuc28nKQogICAgICAgICByZXR1cm4gc3RhdGljX3BhdGggaWYg
c2VsZi5fZmlsZXN5c3RlbS5leGlzdHMoc3RhdGljX3BhdGgpIGVsc2UgZHluX3BhdGgKIAotICAg
IGRlZiBfcnVudGltZV9mZWF0dXJlX2xpc3Qoc2VsZik6Ci0gICAgICAgICMgRklYTUU6IEVGTCBz
aG91bGQgZGV0ZWN0IHJ1bnRpbWUgZmVhdHVyZXMgbGlrZSBvdGhlciB3ZWJraXQgcG9ydHMgZG8u
Ci0gICAgICAgIHJldHVybiBOb25lCi0KICAgICBkZWYgc2hvd19yZXN1bHRzX2h0bWxfZmlsZShz
ZWxmLCByZXN1bHRzX2ZpbGVuYW1lKToKICAgICAgICAgIyBGSVhNRTogV2Ugc2hvdWxkIGZpbmQg
YSB3YXkgdG8gc2hhcmUgdGhpcyBpbXBsbWVudGF0aW9uIHdpdGggR3RrLAogICAgICAgICAjIG9y
IHRlYWNoIHJ1bi1sYXVuY2hlciBob3cgdG8gY2FsbCBydW4tc2FmYXJpIGFuZCBtb3ZlIHRoaXMg
ZG93biB0byBXZWJLaXRQb3J0LgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC9ndGsucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9wb3J0L2d0ay5weQppbmRleCA0ZjhjMDFmZjJkMGYwN2ZmY2Q4OWVjN2MwMzZlMThhMWJm
YzgzNTRhLi4yY2EyNjNhZTNmYTdiMTU2ZGZjZDhiMjRkYWMxZWY0NTFmNjJmZGNhIDEwMDY0NAot
LS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2d0ay5weQorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2d0ay5weQpAQCAtMTM2
LDkgKzEzNiw2IEBAIGNsYXNzIEd0a1BvcnQoV2ViS2l0UG9ydCk6CiAgICAgICAgICAgICAgICAg
cmV0dXJuIGZ1bGxfbGlicmFyeQogICAgICAgICByZXR1cm4gTm9uZQogCi0gICAgZGVmIF9ydW50
aW1lX2ZlYXR1cmVfbGlzdChzZWxmKToKLSAgICAgICAgcmV0dXJuIE5vbmUKLQogICAgICMgRklY
TUU6IFdlIHNob3VsZCBmaW5kIGEgd2F5IHRvIHNoYXJlIHRoaXMgaW1wbG1lbnRhdGlvbiB3aXRo
IEd0aywKICAgICAjIG9yIHRlYWNoIHJ1bi1sYXVuY2hlciBob3cgdG8gY2FsbCBydW4tc2FmYXJp
IGFuZCBtb3ZlIHRoaXMgZG93biB0byBXZWJLaXRQb3J0LgogICAgIGRlZiBzaG93X3Jlc3VsdHNf
aHRtbF9maWxlKHNlbGYsIHJlc3VsdHNfZmlsZW5hbWUpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9xdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvcXQucHkKaW5kZXggNWZjNjBhNTkwMDg1M2IyNDU1Yzg3
NzYzM2I4M2NlMTA3ODg0NzAwZS4uNDhlZTBmN2I3MjI2OTEwYzA4OTcxYTQ1NGM1NTI5NTk0OTM3
MDY1YSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9xdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3F0
LnB5CkBAIC0xMzIsOSArMTMyLDYgQEAgY2xhc3MgUXRQb3J0KFdlYktpdFBvcnQpOgogICAgICAg
ICAgICAgICAgIHNlYXJjaF9wYXRocy5hZGQoJ3F0LTUuMC13azEnKQogICAgICAgICByZXR1cm4g
c2VhcmNoX3BhdGhzCiAKLSAgICBkZWYgX3J1bnRpbWVfZmVhdHVyZV9saXN0KHNlbGYpOgotICAg
ICAgICByZXR1cm4gTm9uZQotCiAgICAgZGVmIHNldHVwX2Vudmlyb25fZm9yX3NlcnZlcihzZWxm
LCBzZXJ2ZXJfbmFtZT1Ob25lKToKICAgICAgICAgY2xlYW5fZW52ID0gV2ViS2l0UG9ydC5zZXR1
cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIoc2VsZiwgc2VydmVyX25hbWUpCiAgICAgICAgIGNsZWFuX2Vu
dlsnUVRXRUJLSVRfUExVR0lOX1BBVEgnXSA9IHNlbGYuX2J1aWxkX3BhdGgoJ2xpYi9wbHVnaW5z
JykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQv
d2Via2l0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJr
aXQucHkKaW5kZXggY2MzYjBjNzE2ZTE1MTZlNzM3ZDhiYjZmYWY5MDViOTUyNmY2OTQzNy4uNTZl
YjBjNzQ4NzViMmJhYTIyNTBhNTEyZWMwNDFiNTRhMWI2ZmZhOSAxMDA2NDQKLS0tIGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXQucHkKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXQucHkKQEAgLTI1MCwyMCAr
MjUwLDggQEAgY2xhc3MgV2ViS2l0UG9ydChQb3J0KToKICAgICAgICAgcmV0dXJuIGRpcnNfdG9f
c2tpcAogCiAgICAgZGVmIF9ydW50aW1lX2ZlYXR1cmVfbGlzdChzZWxmKToKLSAgICAgICAgIiIi
UmV0dXJuIHRoZSBzdXBwb3J0ZWQgZmVhdHVyZXMgb2YgRFJULiBJZiBhIHBvcnQgZG9lc24ndCBz
dXBwb3J0Ci0gICAgICAgIHRoaXMgRFJUIHN3aXRjaCwgaXQgaGFzIHRvIG92ZXJyaWRlIHRoaXMg
bWV0aG9kIHRvIHJldHVybiBOb25lIiIiCi0gICAgICAgIHN1cHBvcnRlZF9mZWF0dXJlc19jb21t
YW5kID0gW3NlbGYuX3BhdGhfdG9fZHJpdmVyKCksICctLXByaW50LXN1cHBvcnRlZC1mZWF0dXJl
cyddCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIG91dHB1dCA9IHNlbGYuX2V4ZWN1dGl2ZS5y
dW5fY29tbWFuZChzdXBwb3J0ZWRfZmVhdHVyZXNfY29tbWFuZCwgZXJyb3JfaGFuZGxlcj1FeGVj
dXRpdmUuaWdub3JlX2Vycm9yKQotICAgICAgICBleGNlcHQgT1NFcnJvciwgZToKLSAgICAgICAg
ICAgIF9sb2cud2FybigiRXhjZXB0aW9uIHJ1bm5pbmcgZHJpdmVyOiAlcywgJXMuICBEcml2ZXIg
bXVzdCBiZSBidWlsdCBiZWZvcmUgY2FsbGluZyBXZWJLaXRQb3J0LnRlc3RfZXhwZWN0YXRpb25z
KCkuIiAlIChzdXBwb3J0ZWRfZmVhdHVyZXNfY29tbWFuZCwgZSkpCi0gICAgICAgICAgICByZXR1
cm4gTm9uZQotCi0gICAgICAgICMgTm90ZTogd2luL0R1bXBSZW5kZXJUcmVlLmNwcCBkb2VzIG5v
dCBwcmludCBhIGxlYWRpbmcgc3BhY2UgYmVmb3JlIHRoZSBmZWF0dXJlc19zdHJpbmcuCi0gICAg
ICAgIG1hdGNoX29iamVjdCA9IHJlLm1hdGNoKCJTdXBwb3J0ZWRGZWF0dXJlczpccyooP1A8ZmVh
dHVyZXNfc3RyaW5nPi4qKVxzKiIsIG91dHB1dCkKLSAgICAgICAgaWYgbm90IG1hdGNoX29iamVj
dDoKLSAgICAgICAgICAgIHJldHVybiBOb25lCi0gICAgICAgIHJldHVybiBtYXRjaF9vYmplY3Qu
Z3JvdXAoJ2ZlYXR1cmVzX3N0cmluZycpLnNwbGl0KCcgJykKKyAgICAgICAgIiIiSWYgYSBwb3J0
IG1ha2VzIGNlcnRhaW4gZmVhdHVyZXMgYXZhaWxhYmxlIG9ubHkgdGhyb3VnaCBydW50aW1lIGZs
YWdzLCBpdCBjYW4gb3ZlcnJpZGUgdGhpcyByb3V0aW5lIHRvIGluZGljYXRlIHdoaWNoIG9uZXMg
YXJlIGF2YWlsYWJsZS4iIiIKKyAgICAgICAgcmV0dXJuIE5vbmUKIAogICAgIGRlZiBfd2ViY29y
ZV9zeW1ib2xzX3N0cmluZyhzZWxmKToKICAgICAgICAgd2ViY29yZV9saWJyYXJ5X3BhdGggPSBz
ZWxmLl9wYXRoX3RvX3dlYmNvcmVfbGlicmFyeSgpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dlYmtpdF91bml0dGVzdC5weSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2Via2l0X3VuaXR0ZXN0LnB5CmluZGV4
IGFhZGJmNzJmZDM1Nzc4MzlmOTJmOGNiMDdmZTkxYmQzZWUxY2FhY2YuLjVlMjBhYmNmYzYyZGIx
YTFkMTVkNTk0MmJlZWQ2ZWZhYmQwOTJjODEgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2Via2l0X3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2Via2l0X3VuaXR0ZXN0LnB5CkBAIC00
MSwyMCArNDEsMTYgQEAgZnJvbSB3ZWJraXRweS50b29sLm1vY2t0b29sIGltcG9ydCBNb2NrT3B0
aW9ucwogY2xhc3MgVGVzdFdlYktpdFBvcnQoV2ViS2l0UG9ydCk6CiAgICAgcG9ydF9uYW1lID0g
InRlc3R3ZWJraXRwb3J0IgogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHN5bWJvbHNfc3RyaW5n
PU5vbmUsIGZlYXR1cmVfbGlzdD1Ob25lLAorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzeW1ib2xz
X3N0cmluZz1Ob25lLAogICAgICAgICAgICAgICAgICBleHBlY3RhdGlvbnNfZmlsZT1Ob25lLCBz
a2lwc19maWxlPU5vbmUsIGhvc3Q9Tm9uZSwKICAgICAgICAgICAgICAgICAgKiprd2FyZ3MpOgog
ICAgICAgICBzZWxmLnN5bWJvbHNfc3RyaW5nID0gc3ltYm9sc19zdHJpbmcgICMgUGFzc2luZyAi
IiBkaXNhYmxlcyBhbGwgc3RhdGljbHktZGV0ZWN0YWJsZSBmZWF0dXJlcy4KLSAgICAgICAgc2Vs
Zi5mZWF0dXJlX2xpc3QgPSBmZWF0dXJlX2xpc3QgICMgUGFzc2luZyBbXSBkaXNhYmxlcyBhbGwg
cnVudGltZS1kZXRlY3RhYmxlIGZlYXR1cmVzLgogICAgICAgICBob3N0ID0gaG9zdCBvciBNb2Nr
U3lzdGVtSG9zdCgpCiAgICAgICAgIFdlYktpdFBvcnQuX19pbml0X18oc2VsZiwgaG9zdD1ob3N0
LCAqKmt3YXJncykKIAogICAgIGRlZiBhbGxfdGVzdF9jb25maWd1cmF0aW9ucyhzZWxmKToKICAg
ICAgICAgcmV0dXJuIFtzZWxmLnRlc3RfY29uZmlndXJhdGlvbigpXQogCi0gICAgZGVmIF9ydW50
aW1lX2ZlYXR1cmVfbGlzdChzZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYuZmVhdHVyZV9saXN0
Ci0KICAgICBkZWYgX3dlYmNvcmVfc3ltYm9sc19zdHJpbmcoc2VsZik6CiAgICAgICAgIHJldHVy
biBzZWxmLnN5bWJvbHNfc3RyaW5nCiAKQEAgLTEyNSwxOCArMTIxLDEyIEBAIGNsYXNzIFdlYktp
dFBvcnRUZXN0KHBvcnRfdGVzdGNhc2UuUG9ydFRlc3RDYXNlKToKICAgICAgICAgcmVzdWx0X2Rp
cmVjdG9yaWVzID0gc2V0KFRlc3RXZWJLaXRQb3J0KHN5bWJvbHNfc3RyaW5nLCBOb25lKS5fc2tp
cHBlZF90ZXN0c19mb3JfdW5zdXBwb3J0ZWRfZmVhdHVyZXModGVzdF9saXN0PVsnbWF0aG1sL2Zv
by5odG1sJ10pKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdF9kaXJlY3Rvcmllcywg
ZXhwZWN0ZWRfZGlyZWN0b3JpZXMpCiAKLSAgICBkZWYgdGVzdF9ydW50aW1lX2ZlYXR1cmVfbGlz
dChzZWxmKToKLSAgICAgICAgcG9ydCA9IFdlYktpdFBvcnQoTW9ja1N5c3RlbUhvc3QoKSkKLSAg
ICAgICAgcG9ydC5fZXhlY3V0aXZlLnJ1bl9jb21tYW5kID0gbGFtYmRhIGNvbW1hbmQsIGN3ZD1O
b25lLCBlcnJvcl9oYW5kbGVyPU5vbmU6ICJOb25zZW5zZSIKLSAgICAgICAgIyBydW50aW1lX2Zl
YXR1cmVzX2xpc3QgcmV0dXJucyBOb25lIHdoZW4gaXRzIHJlc3VsdHMgYXJlIG1lYW5pbmdsZXNz
IChpdCBjb3VsZG4ndCBydW4gRFJUIG9yIHBhcnNlIHRoZSBvdXRwdXQsIGV0Yy4pCi0gICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWxzKHBvcnQuX3J1bnRpbWVfZmVhdHVyZV9saXN0KCksIE5vbmUpCi0g
ICAgICAgIHBvcnQuX2V4ZWN1dGl2ZS5ydW5fY29tbWFuZCA9IGxhbWJkYSBjb21tYW5kLCBjd2Q9
Tm9uZSwgZXJyb3JfaGFuZGxlcj1Ob25lOiAiU3VwcG9ydGVkRmVhdHVyZXM6Zm9vIGJhciIKLSAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocG9ydC5fcnVudGltZV9mZWF0dXJlX2xpc3QoKSwgWydm
b28nLCAnYmFyJ10pCi0KICAgICBkZWYgdGVzdF9za2lwcGVkX2RpcmVjdG9yaWVzX2Zvcl9mZWF0
dXJlcyhzZWxmKToKICAgICAgICAgc3VwcG9ydGVkX2ZlYXR1cmVzID0gWyJBY2NlbGVyYXRlZCBD
b21wb3NpdGluZyIsICJGb28gRmVhdHVyZSJdCiAgICAgICAgIGV4cGVjdGVkX2RpcmVjdG9yaWVz
ID0gc2V0KFsiYW5pbWF0aW9ucy8zZCIsICJ0cmFuc2Zvcm1zLzNkIl0pCi0gICAgICAgIHJlc3Vs
dF9kaXJlY3RvcmllcyA9IHNldChUZXN0V2ViS2l0UG9ydChOb25lLCBzdXBwb3J0ZWRfZmVhdHVy
ZXMpLl9za2lwcGVkX3Rlc3RzX2Zvcl91bnN1cHBvcnRlZF9mZWF0dXJlcyh0ZXN0X2xpc3Q9WyJh
bmltYXRpb25zLzNkL2Zvby5odG1sIl0pKQorICAgICAgICBwb3J0ID0gVGVzdFdlYktpdFBvcnQo
Tm9uZSwgc3VwcG9ydGVkX2ZlYXR1cmVzKQorICAgICAgICBwb3J0Ll9ydW50aW1lX2ZlYXR1cmVf
bGlzdCA9IGxhbWJkYTogc3VwcG9ydGVkX2ZlYXR1cmVzCisgICAgICAgIHJlc3VsdF9kaXJlY3Rv
cmllcyA9IHNldChwb3J0Ll9za2lwcGVkX3Rlc3RzX2Zvcl91bnN1cHBvcnRlZF9mZWF0dXJlcyh0
ZXN0X2xpc3Q9WyJhbmltYXRpb25zLzNkL2Zvby5odG1sIl0pKQogICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKHJlc3VsdF9kaXJlY3RvcmllcywgZXhwZWN0ZWRfZGlyZWN0b3JpZXMpCiAKICAgICBk
ZWYgdGVzdF9za2lwcGVkX2RpcmVjdG9yaWVzX2Zvcl9mZWF0dXJlc19ub19tYXRjaGluZ190ZXN0
c19pbl90ZXN0X2xpc3Qoc2VsZik6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9wb3J0L3dpbi5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvd2luLnB5CmluZGV4IGU0NjNiMDJmNGViODlkNTNlYjgxZmE2NDEzYWM0YjI5
ZjM5MjUzYzMuLmRhMzIwOWVhZDYwYzNlMGM5NTk4MzBhNWM3YjgzNTFiYzI5NzM4MjUgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2luLnB5Cisr
KyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2luLnB5CkBAIC0z
MCw3ICszMCw3IEBAIGltcG9ydCBsb2dnaW5nCiBpbXBvcnQgcmUKIGltcG9ydCBzeXMKIAotZnJv
bSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmV4ZWN1dGl2ZSBpbXBvcnQgU2NyaXB0RXJyb3IKK2Zy
b20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRpdmUgaW1wb3J0IFNjcmlwdEVycm9yLCBF
eGVjdXRpdmUKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5wYXRoIGltcG9ydCBhYnNwYXRo
X3RvX3VyaQogZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMucG9ydC5hcHBsZSBpbXBvcnQgQXBw
bGVQb3J0CiAKQEAgLTgwLDMgKzgwLDE3IEBAIGNsYXNzIFdpblBvcnQoQXBwbGVQb3J0KToKICAg
ICAjIEZJWE1FOiB3ZWJraXRwZXJsL2h0dHBkLnBtIGluc3RhbGxzIC91c3IvbGliL2FwYWNoZS9s
aWJwaHA0LmRsbCBvbiBjeWN3aW4gYXV0b21hdGljYWxseQogICAgICMgYXMgcGFydCBvZiBydW5u
aW5nIG9sZC1ydW4td2Via2l0LXRlc3RzLiAgVGhhdCdzIGJhZCBkZXNpZ24sIGJ1dCB3ZSBtYXkg
bmVlZCBzb21lIHNpbWlsYXIgaGFjay4KICAgICAjIFdlIG1pZ2h0IHVzZSBzZXR1cF9lbnZpcm9u
X2Zvcl9zZXJ2ZXIgZm9yIHN1Y2ggYSBoYWNrIChvciBtb2RpZnkgYXBhY2hlX2h0dHBfc2VydmVy
LnB5KS4KKworICAgIGRlZiBfcnVudGltZV9mZWF0dXJlX2xpc3Qoc2VsZik6CisgICAgICAgIHN1
cHBvcnRlZF9mZWF0dXJlc19jb21tYW5kID0gW3NlbGYuX3BhdGhfdG9fZHJpdmVyKCksICctLXBy
aW50LXN1cHBvcnRlZC1mZWF0dXJlcyddCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIG91dHB1
dCA9IHNlbGYuX2V4ZWN1dGl2ZS5ydW5fY29tbWFuZChzdXBwb3J0ZWRfZmVhdHVyZXNfY29tbWFu
ZCwgZXJyb3JfaGFuZGxlcj1FeGVjdXRpdmUuaWdub3JlX2Vycm9yKQorICAgICAgICBleGNlcHQg
T1NFcnJvciwgZToKKyAgICAgICAgICAgIF9sb2cud2FybigiRXhjZXB0aW9uIHJ1bm5pbmcgZHJp
dmVyOiAlcywgJXMuICBEcml2ZXIgbXVzdCBiZSBidWlsdCBiZWZvcmUgY2FsbGluZyBXZWJLaXRQ
b3J0LnRlc3RfZXhwZWN0YXRpb25zKCkuIiAlIChzdXBwb3J0ZWRfZmVhdHVyZXNfY29tbWFuZCwg
ZSkpCisgICAgICAgICAgICByZXR1cm4gTm9uZQorCisgICAgICAgICMgTm90ZTogd2luL0R1bXBS
ZW5kZXJUcmVlLmNwcCBkb2VzIG5vdCBwcmludCBhIGxlYWRpbmcgc3BhY2UgYmVmb3JlIHRoZSBm
ZWF0dXJlc19zdHJpbmcuCisgICAgICAgIG1hdGNoX29iamVjdCA9IHJlLm1hdGNoKCJTdXBwb3J0
ZWRGZWF0dXJlczpccyooP1A8ZmVhdHVyZXNfc3RyaW5nPi4qKVxzKiIsIG91dHB1dCkKKyAgICAg
ICAgaWYgbm90IG1hdGNoX29iamVjdDoKKyAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAg
IHJldHVybiBtYXRjaF9vYmplY3QuZ3JvdXAoJ2ZlYXR1cmVzX3N0cmluZycpLnNwbGl0KCcgJykK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvd2lu
X3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93
aW5fdW5pdHRlc3QucHkKaW5kZXggZmM5NzJhNGNkOGIzYWM4ZGE2ZDdiZWY5Mzg5MmZiOTZiOTQ5
NDZjMi4uYzUxMWM4NzJlMmI1ODg4MWEyZjZkZDVmODIxZDkzMTQ2ZjhjMjcwZCAxMDA2NDQKLS0t
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93aW5fdW5pdHRlc3Qu
cHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93aW5fdW5p
dHRlc3QucHkKQEAgLTk1LDMgKzk1LDExIEBAIGNsYXNzIFdpblBvcnRUZXN0KHBvcnRfdGVzdGNh
c2UuUG9ydFRlc3RDYXNlKToKIAogICAgIGRlZiB0ZXN0X29wZXJhdGluZ19zeXN0ZW0oc2VsZik6
CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ3dpbicsIHNlbGYubWFrZV9wb3J0KCkub3BlcmF0
aW5nX3N5c3RlbSgpKQorCisgICAgZGVmIHRlc3RfcnVudGltZV9mZWF0dXJlX2xpc3Qoc2VsZik6
CisgICAgICAgIHBvcnQgPSBzZWxmLm1ha2VfcG9ydCgpCisgICAgICAgIHBvcnQuX2V4ZWN1dGl2
ZS5ydW5fY29tbWFuZCA9IGxhbWJkYSBjb21tYW5kLCBjd2Q9Tm9uZSwgZXJyb3JfaGFuZGxlcj1O
b25lOiAiTm9uc2Vuc2UiCisgICAgICAgICMgcnVudGltZV9mZWF0dXJlc19saXN0IHJldHVybnMg
Tm9uZSB3aGVuIGl0cyByZXN1bHRzIGFyZSBtZWFuaW5nbGVzcyAoaXQgY291bGRuJ3QgcnVuIERS
VCBvciBwYXJzZSB0aGUgb3V0cHV0LCBldGMuKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhw
b3J0Ll9ydW50aW1lX2ZlYXR1cmVfbGlzdCgpLCBOb25lKQorICAgICAgICBwb3J0Ll9leGVjdXRp
dmUucnVuX2NvbW1hbmQgPSBsYW1iZGEgY29tbWFuZCwgY3dkPU5vbmUsIGVycm9yX2hhbmRsZXI9
Tm9uZTogIlN1cHBvcnRlZEZlYXR1cmVzOmZvbyBiYXIiCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWxzKHBvcnQuX3J1bnRpbWVfZmVhdHVyZV9saXN0KCksIFsnZm9vJywgJ2JhciddKQo=
</data>
<flag name="review"
          id="134783"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>