<?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>83759</bug_id>
          
          <creation_ts>2012-04-12 01:28:29 -0700</creation_ts>
          <short_desc>AudioContext createChannelMerger() method should have optional argument for number of inputs.</short_desc>
          <delta_ts>2012-04-13 18:25:52 -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>Web Audio</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="Raymond">rgbbones</reporter>
          <assigned_to name="Raymond">rgbbones</assigned_to>
          <cc>abarth</cc>
    
    <cc>crogers</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>600995</commentid>
    <comment_count>0</comment_count>
    <who name="Raymond">rgbbones</who>
    <bug_when>2012-04-12 01:28:29 -0700</bug_when>
    <thetext>AudioContext createChannelMerger() method should have optional argument for number of inputs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600996</commentid>
    <comment_count>1</comment_count>
      <attachid>136848</attachid>
    <who name="Raymond">rgbbones</who>
    <bug_when>2012-04-12 01:29:38 -0700</bug_when>
    <thetext>Created attachment 136848
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601001</commentid>
    <comment_count>2</comment_count>
    <who name="Raymond">rgbbones</who>
    <bug_when>2012-04-12 01:32:21 -0700</bug_when>
    <thetext>Hi Chris

Please take a review on this. Layout test case added too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601425</commentid>
    <comment_count>3</comment_count>
      <attachid>136848</attachid>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-04-12 12:13:49 -0700</bug_when>
    <thetext>Comment on attachment 136848
Patch

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

Looks good overall - a couple of minor comments:

&gt; Source/WebCore/Modules/webaudio/AudioChannelMerger.cpp:52
&gt;      // Create a fixed number of inputs (able to handle the maximum number of channels we deal with).

I might change the comment slightly:

&quot;Create a fixed number&quot; -&gt; &quot;Create the requested number&quot;

&gt; LayoutTests/webaudio/audiochannelmerger-basic-expected.txt:7
&gt; +PASS ChannelMerger created successfully with numerOfInputs = 32.

typo: &quot;numerOfInputs&quot; -&gt;&quot;numberOfInputs&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601697</commentid>
    <comment_count>4</comment_count>
      <attachid>137008</attachid>
    <who name="Raymond">rgbbones</who>
    <bug_when>2012-04-12 18:14:07 -0700</bug_when>
    <thetext>Created attachment 137008
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601698</commentid>
    <comment_count>5</comment_count>
    <who name="Raymond">rgbbones</who>
    <bug_when>2012-04-12 18:14:52 -0700</bug_when>
    <thetext>(In reply to comment #3)
Hi Chris
Thanks for the review. Patch updated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601710</commentid>
    <comment_count>6</comment_count>
      <attachid>137008</attachid>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-04-12 18:22:00 -0700</bug_when>
    <thetext>Comment on attachment 137008
Patch

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

&gt; LayoutTests/webaudio/audiochannelmerger-basic-expected.txt:6
&gt; +PASS Exception been thrown for numberOfInputs &gt;= 32.

&quot;been&quot; -&gt; &quot;was&quot;

&gt; LayoutTests/webaudio/audiochannelmerger-basic-expected.txt:8
&gt; +PASS ChannelMerger created successfully with empty parameter.

ChannelMerger -&gt; AudioChannelMerger</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601748</commentid>
    <comment_count>7</comment_count>
      <attachid>137025</attachid>
    <who name="Raymond">rgbbones</who>
    <bug_when>2012-04-12 18:57:29 -0700</bug_when>
    <thetext>Created attachment 137025
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601749</commentid>
    <comment_count>8</comment_count>
    <who name="Raymond">rgbbones</who>
    <bug_when>2012-04-12 18:58:29 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 137008 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=137008&amp;action=review
&gt; 
&gt; &gt; LayoutTests/webaudio/audiochannelmerger-basic-expected.txt:6
&gt; &gt; +PASS Exception been thrown for numberOfInputs &gt;= 32.
&gt; 
&gt; &quot;been&quot; -&gt; &quot;was&quot;
&gt; 
&gt; &gt; LayoutTests/webaudio/audiochannelmerger-basic-expected.txt:8
&gt; &gt; +PASS ChannelMerger created successfully with empty parameter.
&gt; 
&gt; ChannelMerger -&gt; AudioChannelMerger

Thanks, Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602574</commentid>
    <comment_count>9</comment_count>
      <attachid>137025</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-13 18:25:48 -0700</bug_when>
    <thetext>Comment on attachment 137025
Patch

Clearing flags on attachment: 137025

Committed r114193: &lt;http://trac.webkit.org/changeset/114193&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602575</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-13 18:25:52 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136848</attachid>
            <date>2012-04-12 01:29:38 -0700</date>
            <delta_ts>2012-04-12 18:14:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83759-20120412163526.patch</filename>
            <type>text/plain</type>
            <size>10601</size>
            <attacher name="Raymond">rgbbones</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzOTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTA5MWQ4Y2UxNjI3ZWI3
MTZlODI5MmZlOWY4ZTU1NWE2ZDVlMzkwMS4uODNhNmQ5M2IxYTRkMGNjNjU5YjgyYWI2YzUyNTg2
ZGUwODEyNzgyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTA0LTEyICBSYXlt
b25kIExpdSAgPHJheW1vbmQubGl1QGludGVsLmNvbT4KKworICAgICAgICBBdWRpb0NvbnRleHQg
Y3JlYXRlQ2hhbm5lbE1lcmdlcigpIG1ldGhvZCBzaG91bGQgaGF2ZSBvcHRpb25hbCBhcmd1bWVu
dCBmb3IgbnVtYmVyIG9mIGlucHV0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTgzNzU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQ2hlY2sgaHR0cHM6Ly9kdmNzLnczLm9yZy9oZy9hdWRpby9yYXctZmls
ZS90aXAvd2ViYXVkaW8vc3BlY2lmaWNhdGlvbi5odG1sIGZvciB0aGUgb3B0aW9uYWwgYXJndW1l
bnQuCisKKyAgICAgICAgVGVzdDogd2ViYXVkaW8vYXVkaW9jaGFubmVsbWVyZ2VyLWJhc2ljLmh0
bWwKKworICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9DaGFubmVsTWVyZ2VyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9DaGFubmVsTWVyZ2Vy
OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9DaGFubmVsTWVyZ2VyOjpBdWRpb0No
YW5uZWxNZXJnZXIpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9DaGFubmVsTWVy
Z2VyLmg6CisgICAgICAgIChBdWRpb0NoYW5uZWxNZXJnZXIpOgorICAgICAgICAqIE1vZHVsZXMv
d2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQ29udGV4
dDo6Y3JlYXRlQ2hhbm5lbE1lcmdlcik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBN
b2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oOgorICAgICAgICAoQXVkaW9Db250ZXh0KToK
KyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5pZGw6CisKIDIwMTItMDQt
MTEgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBJbXBsZW1lbnQg
TG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0F1ZGlvQ2hhbm5lbE1lcmdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0F1ZGlvQ2hhbm5lbE1lcmdlci5jcHAKaW5kZXggNTlhZGFhMGZiMWZhMGU3
ZDg4Mzc1MTBkNWZjNjEzODllZmViNjA1MS4uZjcwZWI4ZjhhNDJlNzU2ZGEwOGRjMTExMDZiMzUy
NjYyZTk4MmJkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9B
dWRpb0NoYW5uZWxNZXJnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vQXVkaW9DaGFubmVsTWVyZ2VyLmNwcApAQCAtMzcsMTYgKzM3LDIwIEBACiAjaW5jbHVkZSAi
QXVkaW9Ob2RlT3V0cHV0LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKKworUGFzc1JlZlB0cjxB
dWRpb0NoYW5uZWxNZXJnZXI+IEF1ZGlvQ2hhbm5lbE1lcmdlcjo6Y3JlYXRlKEF1ZGlvQ29udGV4
dCogY29udGV4dCwgZmxvYXQgc2FtcGxlUmF0ZSwgdW5zaWduZWQgbnVtYmVyT2ZJbnB1dHMpCit7
CisgICAgaWYgKCFudW1iZXJPZklucHV0cyB8fCBudW1iZXJPZklucHV0cyA+IEF1ZGlvQ29udGV4
dDo6bWF4TnVtYmVyT2ZDaGFubmVscygpKQorICAgICAgICByZXR1cm4gMDsKICAgICAKLS8vIFRo
aXMgaXMgY29uc2lkZXJpbmcgdGhhdCA1LjEgKDYgY2hhbm5lbHMpIGlzIHRoZSBsYXJnZXN0IHdl
J2xsIGV2ZXIgZGVhbCB3aXRoLgotLy8gSXQgY2FuIGVhc2lseSBiZSBpbmNyZWFzZWQgdG8gc3Vw
cG9ydCBtb3JlIGlmIHRoZSB3ZWIgYXVkaW8gc3BlY2lmaWNhdGlvbiBpcyB1cGRhdGVkLgotY29u
c3QgdW5zaWduZWQgTnVtYmVyT2ZJbnB1dHMgPSA2OworICAgIHJldHVybiBhZG9wdFJlZihuZXcg
QXVkaW9DaGFubmVsTWVyZ2VyKGNvbnRleHQsIHNhbXBsZVJhdGUsIG51bWJlck9mSW5wdXRzKSk7
ICAgICAgCit9CiAKLUF1ZGlvQ2hhbm5lbE1lcmdlcjo6QXVkaW9DaGFubmVsTWVyZ2VyKEF1ZGlv
Q29udGV4dCogY29udGV4dCwgZmxvYXQgc2FtcGxlUmF0ZSkKK0F1ZGlvQ2hhbm5lbE1lcmdlcjo6
QXVkaW9DaGFubmVsTWVyZ2VyKEF1ZGlvQ29udGV4dCogY29udGV4dCwgZmxvYXQgc2FtcGxlUmF0
ZSwgdW5zaWduZWQgbnVtYmVyT2ZJbnB1dHMpCiAgICAgOiBBdWRpb05vZGUoY29udGV4dCwgc2Ft
cGxlUmF0ZSkKIHsKICAgICAvLyBDcmVhdGUgYSBmaXhlZCBudW1iZXIgb2YgaW5wdXRzIChhYmxl
IHRvIGhhbmRsZSB0aGUgbWF4aW11bSBudW1iZXIgb2YgY2hhbm5lbHMgd2UgZGVhbCB3aXRoKS4K
LSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgTnVtYmVyT2ZJbnB1dHM7ICsraSkKKyAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbnVtYmVyT2ZJbnB1dHM7ICsraSkKICAgICAgICAgYWRk
SW5wdXQoYWRvcHRQdHIobmV3IEF1ZGlvTm9kZUlucHV0KHRoaXMpKSk7CiAKICAgICBhZGRPdXRw
dXQoYWRvcHRQdHIobmV3IEF1ZGlvTm9kZU91dHB1dCh0aGlzLCAxKSkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NoYW5uZWxNZXJnZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9DaGFubmVsTWVyZ2VyLmgKaW5kZXgg
MzVkZDA2ZGY1Mjg0MGJhMDQzZmJmYTM1Mzc2MTAxODExNWRkYjNlNS4uNGExZDU3NTIyOGJmMTRm
ZDVlYjRjYzM5NjBjYTg5YzE3NzllN2Y5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9BdWRpb0NoYW5uZWxNZXJnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ2hhbm5lbE1lcmdlci5oCkBAIC0zOCwxMCArMzgsNyBAQCBj
bGFzcyBBdWRpb0NvbnRleHQ7CiAgICAgCiBjbGFzcyBBdWRpb0NoYW5uZWxNZXJnZXIgOiBwdWJs
aWMgQXVkaW9Ob2RlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxBdWRpb0NoYW5u
ZWxNZXJnZXI+IGNyZWF0ZShBdWRpb0NvbnRleHQqIGNvbnRleHQsIGZsb2F0IHNhbXBsZVJhdGUp
Ci0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEF1ZGlvQ2hhbm5lbE1lcmdlcihj
b250ZXh0LCBzYW1wbGVSYXRlKSk7ICAgICAgCi0gICAgfQorICAgIHN0YXRpYyBQYXNzUmVmUHRy
PEF1ZGlvQ2hhbm5lbE1lcmdlcj4gY3JlYXRlKEF1ZGlvQ29udGV4dCosIGZsb2F0IHNhbXBsZVJh
dGUsIHVuc2lnbmVkIG51bWJlck9mSW5wdXRzKTsKIAogICAgIC8vIEF1ZGlvTm9kZQogICAgIHZp
cnR1YWwgdm9pZCBwcm9jZXNzKHNpemVfdCBmcmFtZXNUb1Byb2Nlc3MpOwpAQCAtNTQsNyArNTEs
NyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgZG91YmxlIHRhaWxUaW1lKCkgY29uc3QgT1ZFUlJJ
REUgeyByZXR1cm4gMDsgfQogICAgIHZpcnR1YWwgZG91YmxlIGxhdGVuY3lUaW1lKCkgY29uc3Qg
T1ZFUlJJREUgeyByZXR1cm4gMDsgfQogCi0gICAgQXVkaW9DaGFubmVsTWVyZ2VyKEF1ZGlvQ29u
dGV4dCosIGZsb2F0IHNhbXBsZVJhdGUpOworICAgIEF1ZGlvQ2hhbm5lbE1lcmdlcihBdWRpb0Nv
bnRleHQqLCBmbG9hdCBzYW1wbGVSYXRlLCB1bnNpZ25lZCBudW1iZXJPZklucHV0cyk7CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAKaW5kZXggNmMxZTE3ZWMyMTMwZWFlM2EwNmE0OTk4OWJk
ZDAwNDRjYjg0MGM2NC4uYTJiNjNiZmVkMDI3ZDI5NDBmMjUxMThlZDQzN2M5MDIwZTZiZjQwMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNw
cApAQCAtNDc5LDExICs0NzksMjUgQEAgUGFzc1JlZlB0cjxBdWRpb0NoYW5uZWxTcGxpdHRlcj4g
QXVkaW9Db250ZXh0OjpjcmVhdGVDaGFubmVsU3BsaXR0ZXIoc2l6ZV90IG51bWIKICAgICByZXR1
cm4gbm9kZTsKIH0KIAotUGFzc1JlZlB0cjxBdWRpb0NoYW5uZWxNZXJnZXI+IEF1ZGlvQ29udGV4
dDo6Y3JlYXRlQ2hhbm5lbE1lcmdlcigpCitQYXNzUmVmUHRyPEF1ZGlvQ2hhbm5lbE1lcmdlcj4g
QXVkaW9Db250ZXh0OjpjcmVhdGVDaGFubmVsTWVyZ2VyKEV4Y2VwdGlvbkNvZGUmIGVjKQorewor
ICAgIGNvbnN0IHVuc2lnbmVkIENoYW5uZWxNZXJnZXJEZWZhdWx0TnVtYmVyT2ZJbnB1dHMgPSA2
OworICAgIHJldHVybiBjcmVhdGVDaGFubmVsTWVyZ2VyKENoYW5uZWxNZXJnZXJEZWZhdWx0TnVt
YmVyT2ZJbnB1dHMsIGVjKTsKK30KKworUGFzc1JlZlB0cjxBdWRpb0NoYW5uZWxNZXJnZXI+IEF1
ZGlvQ29udGV4dDo6Y3JlYXRlQ2hhbm5lbE1lcmdlcihzaXplX3QgbnVtYmVyT2ZJbnB1dHMsIEV4
Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgbGF6
eUluaXRpYWxpemUoKTsKLSAgICByZXR1cm4gQXVkaW9DaGFubmVsTWVyZ2VyOjpjcmVhdGUodGhp
cywgbV9kZXN0aW5hdGlvbk5vZGUtPnNhbXBsZVJhdGUoKSk7CisKKyAgICBSZWZQdHI8QXVkaW9D
aGFubmVsTWVyZ2VyPiBub2RlID0gQXVkaW9DaGFubmVsTWVyZ2VyOjpjcmVhdGUodGhpcywgbV9k
ZXN0aW5hdGlvbk5vZGUtPnNhbXBsZVJhdGUoKSwgbnVtYmVyT2ZJbnB1dHMpOworCisgICAgaWYg
KCFub2RlLmdldCgpKSB7CisgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKKyAgICAgICAgcmV0dXJu
IDA7CisgICAgfQorCisgICAgcmV0dXJuIG5vZGU7CiB9CiAKIFBhc3NSZWZQdHI8T3NjaWxsYXRv
cj4gQXVkaW9Db250ZXh0OjpjcmVhdGVPc2NpbGxhdG9yKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oCmluZGV4IDAxYjBjNmZkOGIwYmE4ZGQ5ZmEw
MDY5ZGJmNDJjZTQwODk3OGMyZTAuLjUyNTRlZjY0ZmRmNTUyMGYwMTA2YjE5ODlhZjBiZGRiYzk4
ZDY4NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9D
b250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRl
eHQuaApAQCAtMTI4LDcgKzEyOCw4IEBAIHB1YmxpYzoKICAgICBQYXNzUmVmUHRyPEphdmFTY3Jp
cHRBdWRpb05vZGU+IGNyZWF0ZUphdmFTY3JpcHROb2RlKHNpemVfdCBidWZmZXJTaXplLCBzaXpl
X3QgbnVtYmVyT2ZJbnB1dENoYW5uZWxzLCBzaXplX3QgbnVtYmVyT2ZPdXRwdXRDaGFubmVscywg
RXhjZXB0aW9uQ29kZSYpOwogICAgIFBhc3NSZWZQdHI8QXVkaW9DaGFubmVsU3BsaXR0ZXI+IGNy
ZWF0ZUNoYW5uZWxTcGxpdHRlcihFeGNlcHRpb25Db2RlJik7CiAgICAgUGFzc1JlZlB0cjxBdWRp
b0NoYW5uZWxTcGxpdHRlcj4gY3JlYXRlQ2hhbm5lbFNwbGl0dGVyKHNpemVfdCBudW1iZXJPZk91
dHB1dHMsIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICBQYXNzUmVmUHRyPEF1ZGlvQ2hhbm5lbE1lcmdl
cj4gY3JlYXRlQ2hhbm5lbE1lcmdlcigpOworICAgIFBhc3NSZWZQdHI8QXVkaW9DaGFubmVsTWVy
Z2VyPiBjcmVhdGVDaGFubmVsTWVyZ2VyKEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBQYXNzUmVmUHRy
PEF1ZGlvQ2hhbm5lbE1lcmdlcj4gY3JlYXRlQ2hhbm5lbE1lcmdlcihzaXplX3QgbnVtYmVyT2ZJ
bnB1dHMsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBQYXNzUmVmUHRyPE9zY2lsbGF0b3I+IGNyZWF0
ZU9zY2lsbGF0b3IoKTsKICAgICBQYXNzUmVmUHRyPFdhdmVUYWJsZT4gY3JlYXRlV2F2ZVRhYmxl
KEZsb2F0MzJBcnJheSogcmVhbCwgRmxvYXQzMkFycmF5KiBpbWFnLCBFeGNlcHRpb25Db2RlJik7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250
ZXh0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0Lmlk
bAppbmRleCBhMTI5YjA4MTYxMzhiOTQ5YmU2MGIwZTRmZjgwY2MzMzZiNWMwNDliLi4xZDAyMjg4
NDhiZGNiNjQ4ZjAzZWMyMTNmYjg2ZDU1MjcwNmRkYjk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaWRsCkBAIC04MCw3ICs4MCw4IEBAIG1v
ZHVsZSB3ZWJhdWRpbyB7CiAgICAgICAgIC8vIENoYW5uZWwgc3BsaXR0aW5nIGFuZCBtZXJnaW5n
CiAgICAgICAgIEF1ZGlvQ2hhbm5lbFNwbGl0dGVyIGNyZWF0ZUNoYW5uZWxTcGxpdHRlcihpbiBb
T3B0aW9uYWxdIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZPdXRwdXRzKQogICAgICAgICAgICAgcmFp
c2VzKERPTUV4Y2VwdGlvbik7Ci0gICAgICAgIEF1ZGlvQ2hhbm5lbE1lcmdlciBjcmVhdGVDaGFu
bmVsTWVyZ2VyKCk7CisgICAgICAgIEF1ZGlvQ2hhbm5lbE1lcmdlciBjcmVhdGVDaGFubmVsTWVy
Z2VyKGluIFtPcHRpb25hbF0gdW5zaWduZWQgbG9uZyBudW1iZXJPZklucHV0cykKKyAgICAgICAg
ICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogCiAgICAgICAgIC8vIE9mZmxpbmUgcmVuZGVyaW5n
CiAgICAgICAgIC8vIHZvaWQgcHJlcGFyZU9mZmxpbmVCdWZmZXJSZW5kZXJpbmcoaW4gdW5zaWdu
ZWQgbG9uZyBudW1iZXJPZkNoYW5uZWxzLCBpbiB1bnNpZ25lZCBsb25nIG51bWJlck9mRnJhbWVz
LCBpbiBmbG9hdCBzYW1wbGVSYXRlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkMDQ3ZWU4Njc0NDRiNTNhNmJjZTI2NmQ0
MjZjMGVkYTU5M2I1YmJkLi45OTZmNzRlNmE5OGIzMjMyOGFjZTY3NjNiYTRhYjAxNmY0ZjQ2YmZj
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDQtMTIgIFJheW1vbmQgTGl1ICA8cmF5bW9u
ZC5saXVAaW50ZWwuY29tPgorCisgICAgICAgIEF1ZGlvQ29udGV4dCBjcmVhdGVDaGFubmVsTWVy
Z2VyKCkgbWV0aG9kIHNob3VsZCBoYXZlIG9wdGlvbmFsIGFyZ3VtZW50IGZvciBudW1iZXIgb2Yg
aW5wdXRzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODM3NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBD
aGVjayBodHRwczovL2R2Y3MudzMub3JnL2hnL2F1ZGlvL3Jhdy1maWxlL3RpcC93ZWJhdWRpby9z
cGVjaWZpY2F0aW9uLmh0bWwgZm9yIHRoZSBvcHRpb25hbCBhcmd1bWVudC4KKworICAgICAgICAq
IHdlYmF1ZGlvL2F1ZGlvY2hhbm5lbG1lcmdlci1iYXNpYy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYmF1ZGlvL2F1ZGlvY2hhbm5lbG1lcmdlci1iYXNpYy5odG1sOiBBZGRlZC4K
KwogMjAxMi0wNC0xMiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCwgR1RLIHJlYmFzZWxpbmUgYWZ0ZXIgcjExMzk0NS4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL2F1ZGlvY2hhbm5lbG1lcmdlci1iYXNpYy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9hdWRpb2NoYW5uZWxtZXJnZXItYmFzaWMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhkZDI0Y2JlMzFmYTdiZjdkZDE1MGVkMzM5ZjZmYjI4
NjNjYjgwNDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9hdWRpb2No
YW5uZWxtZXJnZXItYmFzaWMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK0Jhc2ljIHRl
c3RzIGZvciBBdWRpb0NoYW5uZWxNZXJnZXIuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworUEFTUyBFeGNlcHRpb24gYmVlbiB0aHJvd24gZm9yIG51bWJlck9mSW5wdXRzIDw9IDAuCitQ
QVNTIEV4Y2VwdGlvbiBiZWVuIHRocm93biBmb3IgbnVtYmVyT2ZJbnB1dHMgPj0gMzIuCitQQVNT
IENoYW5uZWxNZXJnZXIgY3JlYXRlZCBzdWNjZXNzZnVsbHkgd2l0aCBudW1lck9mSW5wdXRzID0g
MzIuCitQQVNTIENoYW5uZWxNZXJnZXIgY3JlYXRlZCBzdWNjZXNzZnVsbHkgd2l0aCBlbXB0eSBw
YXJhbWV0ZXIuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVkaW9jaGFubmVsbWVyZ2Vy
LWJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9hdWRpb2NoYW5uZWxtZXJnZXItYmFz
aWMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45NjA1MGE2YjRhZmE2ZGZjZDdkMjA3NjRhMGQ3ODUzYmU0MTc5
MzVkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVkaW9jaGFubmVs
bWVyZ2VyLWJhc2ljLmh0bWwKQEAgLTAsMCArMSw2MyBAQAorPCFET0NUWVBFIGh0bWw+CisKKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keT4KKworPGRpdiBpZD0iZGVzY3JpcHRp
b24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CitkZXNjcmlw
dGlvbigiQmFzaWMgdGVzdHMgZm9yIEF1ZGlvQ2hhbm5lbE1lcmdlci4iKTsKKworZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKworICAgIHdpbmRvdy5qc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKKworICAgIHZhciBjb250ZXh0ID0gbmV3IHdlYmtpdEF1ZGlvQ29udGV4
dCgpOworCisgICAgdHJ5IHsKKyAgICAgICAgdmFyIG1lcmdlcm5vZGUgPSBjb250ZXh0LmNyZWF0
ZUNoYW5uZWxNZXJnZXIoMCk7CisgICAgICAgIHRlc3RGYWlsZWQoIkV4Y2VwdGlvbiBzaG91bGQg
YmUgdGhyb3duIGZvciBudW1iZXJPZklucHV0cyA8PSAwLiIpOworICAgIH0gY2F0Y2goZSkgewor
ICAgICAgICB0ZXN0UGFzc2VkKCJFeGNlcHRpb24gYmVlbiB0aHJvd24gZm9yIG51bWJlck9mSW5w
dXRzIDw9IDAuIik7CisgICAgfQorCisgICAgdHJ5IHsKKyAgICAgICAgdmFyIG1lcmdlcm5vZGUg
PSBjb250ZXh0LmNyZWF0ZUNoYW5uZWxNZXJnZXIoMzMpOworICAgICAgICB0ZXN0RmFpbGVkKCJF
eGNlcHRpb24gc2hvdWxkIGJlIHRocm93biBmb3IgbnVtZXJPZklucHV0cyA+PSAzMi4iKTsKKyAg
ICB9IGNhdGNoKGUpIHsKKyAgICAgICAgdGVzdFBhc3NlZCgiRXhjZXB0aW9uIGJlZW4gdGhyb3du
IGZvciBudW1iZXJPZklucHV0cyA+PSAzMi4iKTsKKyAgICB9CisKKyAgICB0cnkgeworICAgICAg
ICB2YXIgbWVyZ2Vybm9kZSA9IGNvbnRleHQuY3JlYXRlQ2hhbm5lbE1lcmdlcigzMik7CisgICAg
ICAgIHRlc3RQYXNzZWQoIkNoYW5uZWxNZXJnZXIgY3JlYXRlZCBzdWNjZXNzZnVsbHkgd2l0aCBu
dW1lck9mSW5wdXRzID0gMzIuIik7CisgICAgfSBjYXRjaChlKSB7CisgICAgICAgIHRlc3RGYWls
ZWQoIkZhaWwgdG8gY3JlYXRlIENoYW5uZWxNZXJnZXIgd2l0aCBudW1iZXJPZklucHV0cyA9IDMy
LiIpOworICAgIH0KKworICAgIHRyeSB7CisgICAgICAgIHZhciBtZXJnZXJub2RlID0gY29udGV4
dC5jcmVhdGVDaGFubmVsTWVyZ2VyKCk7CisgICAgICAgIHRlc3RQYXNzZWQoIkNoYW5uZWxNZXJn
ZXIgY3JlYXRlZCBzdWNjZXNzZnVsbHkgd2l0aCBlbXB0eSBwYXJhbWV0ZXIuIik7CisgICAgfSBj
YXRjaChlKSB7CisgICAgICAgIHRlc3RGYWlsZWQoIkZhaWwgdG8gY3JlYXRlIENoYW5uZWxNZXJn
ZXIgd2l0aCBlbXB0eSBwYXJhbWV0ZXIuIik7CisgICAgfQorCisgICAgZmluaXNoSlNUZXN0KCk7
Cit9CisKK3J1blRlc3QoKTsKKworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137008</attachid>
            <date>2012-04-12 18:14:07 -0700</date>
            <delta_ts>2012-04-12 18:57:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83759-20120413091956.patch</filename>
            <type>text/plain</type>
            <size>10627</size>
            <attacher name="Raymond">rgbbones</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0MDQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmUzZjhkOTUwZWMyZjgz
ODY3YmM5ZTE5MzFhZmEzYTZlNGFmNzdhZC4uYTE1NjgzZmU3YmJmODZiOTUzOWYxZjk3N2NkZDk5
Y2ZkM2MwYTMzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTA0LTEyICBSYXlt
b25kIExpdSAgPHJheW1vbmQubGl1QGludGVsLmNvbT4KKworICAgICAgICBBdWRpb0NvbnRleHQg
Y3JlYXRlQ2hhbm5lbE1lcmdlcigpIG1ldGhvZCBzaG91bGQgaGF2ZSBvcHRpb25hbCBhcmd1bWVu
dCBmb3IgbnVtYmVyIG9mIGlucHV0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTgzNzU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQ2hlY2sgaHR0cHM6Ly9kdmNzLnczLm9yZy9oZy9hdWRpby9yYXctZmls
ZS90aXAvd2ViYXVkaW8vc3BlY2lmaWNhdGlvbi5odG1sIGZvciB0aGUgb3B0aW9uYWwgYXJndW1l
bnQuCisKKyAgICAgICAgVGVzdDogd2ViYXVkaW8vYXVkaW9jaGFubmVsbWVyZ2VyLWJhc2ljLmh0
bWwKKworICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9DaGFubmVsTWVyZ2VyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9DaGFubmVsTWVyZ2Vy
OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9DaGFubmVsTWVyZ2VyOjpBdWRpb0No
YW5uZWxNZXJnZXIpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9DaGFubmVsTWVy
Z2VyLmg6CisgICAgICAgIChBdWRpb0NoYW5uZWxNZXJnZXIpOgorICAgICAgICAqIE1vZHVsZXMv
d2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQ29udGV4
dDo6Y3JlYXRlQ2hhbm5lbE1lcmdlcik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBN
b2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oOgorICAgICAgICAoQXVkaW9Db250ZXh0KToK
KyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5pZGw6CisKIDIwMTItMDQt
MTIgIEJhbGF6cyBLZWxlbWVuICA8a2JhbGF6c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF0g
Rml4IFdlYktpdDEgYnVpbGQgd2l0aCBWOApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9BdWRpb0NoYW5uZWxNZXJnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9BdWRpb0NoYW5uZWxNZXJnZXIuY3BwCmluZGV4IDU5YWRhYTBmYjFmYTBl
N2Q4ODM3NTEwZDVmYzYxMzg5ZWZlYjYwNTEuLmY5ZGZjY2VmNGI2ZDk1Y2Y2YzVkZWI5YzkwYzY5
ZDNhNTY0NGVjNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
QXVkaW9DaGFubmVsTWVyZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0F1ZGlvQ2hhbm5lbE1lcmdlci5jcHAKQEAgLTM3LDE2ICszNywyMCBAQAogI2luY2x1ZGUg
IkF1ZGlvTm9kZU91dHB1dC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CisKK1Bhc3NSZWZQdHI8
QXVkaW9DaGFubmVsTWVyZ2VyPiBBdWRpb0NoYW5uZWxNZXJnZXI6OmNyZWF0ZShBdWRpb0NvbnRl
eHQqIGNvbnRleHQsIGZsb2F0IHNhbXBsZVJhdGUsIHVuc2lnbmVkIG51bWJlck9mSW5wdXRzKQor
eworICAgIGlmICghbnVtYmVyT2ZJbnB1dHMgfHwgbnVtYmVyT2ZJbnB1dHMgPiBBdWRpb0NvbnRl
eHQ6Om1heE51bWJlck9mQ2hhbm5lbHMoKSkKKyAgICAgICAgcmV0dXJuIDA7CiAgICAgCi0vLyBU
aGlzIGlzIGNvbnNpZGVyaW5nIHRoYXQgNS4xICg2IGNoYW5uZWxzKSBpcyB0aGUgbGFyZ2VzdCB3
ZSdsbCBldmVyIGRlYWwgd2l0aC4KLS8vIEl0IGNhbiBlYXNpbHkgYmUgaW5jcmVhc2VkIHRvIHN1
cHBvcnQgbW9yZSBpZiB0aGUgd2ViIGF1ZGlvIHNwZWNpZmljYXRpb24gaXMgdXBkYXRlZC4KLWNv
bnN0IHVuc2lnbmVkIE51bWJlck9mSW5wdXRzID0gNjsKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3
IEF1ZGlvQ2hhbm5lbE1lcmdlcihjb250ZXh0LCBzYW1wbGVSYXRlLCBudW1iZXJPZklucHV0cykp
OyAgICAgIAorfQogCi1BdWRpb0NoYW5uZWxNZXJnZXI6OkF1ZGlvQ2hhbm5lbE1lcmdlcihBdWRp
b0NvbnRleHQqIGNvbnRleHQsIGZsb2F0IHNhbXBsZVJhdGUpCitBdWRpb0NoYW5uZWxNZXJnZXI6
OkF1ZGlvQ2hhbm5lbE1lcmdlcihBdWRpb0NvbnRleHQqIGNvbnRleHQsIGZsb2F0IHNhbXBsZVJh
dGUsIHVuc2lnbmVkIG51bWJlck9mSW5wdXRzKQogICAgIDogQXVkaW9Ob2RlKGNvbnRleHQsIHNh
bXBsZVJhdGUpCiB7Ci0gICAgLy8gQ3JlYXRlIGEgZml4ZWQgbnVtYmVyIG9mIGlucHV0cyAoYWJs
ZSB0byBoYW5kbGUgdGhlIG1heGltdW0gbnVtYmVyIG9mIGNoYW5uZWxzIHdlIGRlYWwgd2l0aCku
Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IE51bWJlck9mSW5wdXRzOyArK2kpCisgICAg
Ly8gQ3JlYXRlIHRoZSByZXF1ZXN0ZWQgbnVtYmVyIG9mIGlucHV0cy4KKyAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgbnVtYmVyT2ZJbnB1dHM7ICsraSkKICAgICAgICAgYWRkSW5wdXQoYWRv
cHRQdHIobmV3IEF1ZGlvTm9kZUlucHV0KHRoaXMpKSk7CiAKICAgICBhZGRPdXRwdXQoYWRvcHRQ
dHIobmV3IEF1ZGlvTm9kZU91dHB1dCh0aGlzLCAxKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NoYW5uZWxNZXJnZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9DaGFubmVsTWVyZ2VyLmgKaW5kZXggMzVkZDA2ZGY1
Mjg0MGJhMDQzZmJmYTM1Mzc2MTAxODExNWRkYjNlNS4uNGExZDU3NTIyOGJmMTRmZDVlYjRjYzM5
NjBjYTg5YzE3NzllN2Y5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9BdWRpb0NoYW5uZWxNZXJnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL0F1ZGlvQ2hhbm5lbE1lcmdlci5oCkBAIC0zOCwxMCArMzgsNyBAQCBjbGFzcyBBdWRp
b0NvbnRleHQ7CiAgICAgCiBjbGFzcyBBdWRpb0NoYW5uZWxNZXJnZXIgOiBwdWJsaWMgQXVkaW9O
b2RlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxBdWRpb0NoYW5uZWxNZXJnZXI+
IGNyZWF0ZShBdWRpb0NvbnRleHQqIGNvbnRleHQsIGZsb2F0IHNhbXBsZVJhdGUpCi0gICAgewot
ICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEF1ZGlvQ2hhbm5lbE1lcmdlcihjb250ZXh0LCBz
YW1wbGVSYXRlKSk7ICAgICAgCi0gICAgfQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEF1ZGlvQ2hh
bm5lbE1lcmdlcj4gY3JlYXRlKEF1ZGlvQ29udGV4dCosIGZsb2F0IHNhbXBsZVJhdGUsIHVuc2ln
bmVkIG51bWJlck9mSW5wdXRzKTsKIAogICAgIC8vIEF1ZGlvTm9kZQogICAgIHZpcnR1YWwgdm9p
ZCBwcm9jZXNzKHNpemVfdCBmcmFtZXNUb1Byb2Nlc3MpOwpAQCAtNTQsNyArNTEsNyBAQCBwcml2
YXRlOgogICAgIHZpcnR1YWwgZG91YmxlIHRhaWxUaW1lKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1
cm4gMDsgfQogICAgIHZpcnR1YWwgZG91YmxlIGxhdGVuY3lUaW1lKCkgY29uc3QgT1ZFUlJJREUg
eyByZXR1cm4gMDsgfQogCi0gICAgQXVkaW9DaGFubmVsTWVyZ2VyKEF1ZGlvQ29udGV4dCosIGZs
b2F0IHNhbXBsZVJhdGUpOworICAgIEF1ZGlvQ2hhbm5lbE1lcmdlcihBdWRpb0NvbnRleHQqLCBm
bG9hdCBzYW1wbGVSYXRlLCB1bnNpZ25lZCBudW1iZXJPZklucHV0cyk7CiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0F1ZGlvQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1
ZGlvQ29udGV4dC5jcHAKaW5kZXggNmMxZTE3ZWMyMTMwZWFlM2EwNmE0OTk4OWJkZDAwNDRjYjg0
MGM2NC4uYTJiNjNiZmVkMDI3ZDI5NDBmMjUxMThlZDQzN2M5MDIwZTZiZjQwMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcApAQCAtNDc5
LDExICs0NzksMjUgQEAgUGFzc1JlZlB0cjxBdWRpb0NoYW5uZWxTcGxpdHRlcj4gQXVkaW9Db250
ZXh0OjpjcmVhdGVDaGFubmVsU3BsaXR0ZXIoc2l6ZV90IG51bWIKICAgICByZXR1cm4gbm9kZTsK
IH0KIAotUGFzc1JlZlB0cjxBdWRpb0NoYW5uZWxNZXJnZXI+IEF1ZGlvQ29udGV4dDo6Y3JlYXRl
Q2hhbm5lbE1lcmdlcigpCitQYXNzUmVmUHRyPEF1ZGlvQ2hhbm5lbE1lcmdlcj4gQXVkaW9Db250
ZXh0OjpjcmVhdGVDaGFubmVsTWVyZ2VyKEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGNvbnN0
IHVuc2lnbmVkIENoYW5uZWxNZXJnZXJEZWZhdWx0TnVtYmVyT2ZJbnB1dHMgPSA2OworICAgIHJl
dHVybiBjcmVhdGVDaGFubmVsTWVyZ2VyKENoYW5uZWxNZXJnZXJEZWZhdWx0TnVtYmVyT2ZJbnB1
dHMsIGVjKTsKK30KKworUGFzc1JlZlB0cjxBdWRpb0NoYW5uZWxNZXJnZXI+IEF1ZGlvQ29udGV4
dDo6Y3JlYXRlQ2hhbm5lbE1lcmdlcihzaXplX3QgbnVtYmVyT2ZJbnB1dHMsIEV4Y2VwdGlvbkNv
ZGUmIGVjKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgbGF6eUluaXRpYWxp
emUoKTsKLSAgICByZXR1cm4gQXVkaW9DaGFubmVsTWVyZ2VyOjpjcmVhdGUodGhpcywgbV9kZXN0
aW5hdGlvbk5vZGUtPnNhbXBsZVJhdGUoKSk7CisKKyAgICBSZWZQdHI8QXVkaW9DaGFubmVsTWVy
Z2VyPiBub2RlID0gQXVkaW9DaGFubmVsTWVyZ2VyOjpjcmVhdGUodGhpcywgbV9kZXN0aW5hdGlv
bk5vZGUtPnNhbXBsZVJhdGUoKSwgbnVtYmVyT2ZJbnB1dHMpOworCisgICAgaWYgKCFub2RlLmdl
dCgpKSB7CisgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKKyAgICAgICAgcmV0dXJuIDA7CisgICAg
fQorCisgICAgcmV0dXJuIG5vZGU7CiB9CiAKIFBhc3NSZWZQdHI8T3NjaWxsYXRvcj4gQXVkaW9D
b250ZXh0OjpjcmVhdGVPc2NpbGxhdG9yKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL0F1ZGlvQ29udGV4dC5oCmluZGV4IDAxYjBjNmZkOGIwYmE4ZGQ5ZmEwMDY5ZGJmNDJj
ZTQwODk3OGMyZTAuLjUyNTRlZjY0ZmRmNTUyMGYwMTA2YjE5ODlhZjBiZGRiYzk4ZDY4NzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaApAQCAt
MTI4LDcgKzEyOCw4IEBAIHB1YmxpYzoKICAgICBQYXNzUmVmUHRyPEphdmFTY3JpcHRBdWRpb05v
ZGU+IGNyZWF0ZUphdmFTY3JpcHROb2RlKHNpemVfdCBidWZmZXJTaXplLCBzaXplX3QgbnVtYmVy
T2ZJbnB1dENoYW5uZWxzLCBzaXplX3QgbnVtYmVyT2ZPdXRwdXRDaGFubmVscywgRXhjZXB0aW9u
Q29kZSYpOwogICAgIFBhc3NSZWZQdHI8QXVkaW9DaGFubmVsU3BsaXR0ZXI+IGNyZWF0ZUNoYW5u
ZWxTcGxpdHRlcihFeGNlcHRpb25Db2RlJik7CiAgICAgUGFzc1JlZlB0cjxBdWRpb0NoYW5uZWxT
cGxpdHRlcj4gY3JlYXRlQ2hhbm5lbFNwbGl0dGVyKHNpemVfdCBudW1iZXJPZk91dHB1dHMsIEV4
Y2VwdGlvbkNvZGUmKTsKLSAgICBQYXNzUmVmUHRyPEF1ZGlvQ2hhbm5lbE1lcmdlcj4gY3JlYXRl
Q2hhbm5lbE1lcmdlcigpOworICAgIFBhc3NSZWZQdHI8QXVkaW9DaGFubmVsTWVyZ2VyPiBjcmVh
dGVDaGFubmVsTWVyZ2VyKEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBQYXNzUmVmUHRyPEF1ZGlvQ2hh
bm5lbE1lcmdlcj4gY3JlYXRlQ2hhbm5lbE1lcmdlcihzaXplX3QgbnVtYmVyT2ZJbnB1dHMsIEV4
Y2VwdGlvbkNvZGUmKTsKICAgICBQYXNzUmVmUHRyPE9zY2lsbGF0b3I+IGNyZWF0ZU9zY2lsbGF0
b3IoKTsKICAgICBQYXNzUmVmUHRyPFdhdmVUYWJsZT4gY3JlYXRlV2F2ZVRhYmxlKEZsb2F0MzJB
cnJheSogcmVhbCwgRmxvYXQzMkFycmF5KiBpbWFnLCBFeGNlcHRpb25Db2RlJik7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmlkbCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmlkbAppbmRleCBh
MTI5YjA4MTYxMzhiOTQ5YmU2MGIwZTRmZjgwY2MzMzZiNWMwNDliLi4xZDAyMjg4NDhiZGNiNjQ4
ZjAzZWMyMTNmYjg2ZDU1MjcwNmRkYjk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaWRsCkBAIC04MCw3ICs4MCw4IEBAIG1vZHVsZSB3ZWJh
dWRpbyB7CiAgICAgICAgIC8vIENoYW5uZWwgc3BsaXR0aW5nIGFuZCBtZXJnaW5nCiAgICAgICAg
IEF1ZGlvQ2hhbm5lbFNwbGl0dGVyIGNyZWF0ZUNoYW5uZWxTcGxpdHRlcihpbiBbT3B0aW9uYWxd
IHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZPdXRwdXRzKQogICAgICAgICAgICAgcmFpc2VzKERPTUV4
Y2VwdGlvbik7Ci0gICAgICAgIEF1ZGlvQ2hhbm5lbE1lcmdlciBjcmVhdGVDaGFubmVsTWVyZ2Vy
KCk7CisgICAgICAgIEF1ZGlvQ2hhbm5lbE1lcmdlciBjcmVhdGVDaGFubmVsTWVyZ2VyKGluIFtP
cHRpb25hbF0gdW5zaWduZWQgbG9uZyBudW1iZXJPZklucHV0cykKKyAgICAgICAgICAgIHJhaXNl
cyhET01FeGNlcHRpb24pOwogCiAgICAgICAgIC8vIE9mZmxpbmUgcmVuZGVyaW5nCiAgICAgICAg
IC8vIHZvaWQgcHJlcGFyZU9mZmxpbmVCdWZmZXJSZW5kZXJpbmcoaW4gdW5zaWduZWQgbG9uZyBu
dW1iZXJPZkNoYW5uZWxzLCBpbiB1bnNpZ25lZCBsb25nIG51bWJlck9mRnJhbWVzLCBpbiBmbG9h
dCBzYW1wbGVSYXRlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzZTA2YjlmOGRlMjRiNzM3M2FlYjE4Yzg3MTE4NWE0NGFi
NzdiMWZjLi4yNTgxZGMwNWUyMzA1M2RlYjAzMTdhY2FiZjgwODM4MTdkZjJjMGQ2IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTItMDQtMTIgIFJheW1vbmQgTGl1ICA8cmF5bW9uZC5saXVAaW50
ZWwuY29tPgorCisgICAgICAgIEF1ZGlvQ29udGV4dCBjcmVhdGVDaGFubmVsTWVyZ2VyKCkgbWV0
aG9kIHNob3VsZCBoYXZlIG9wdGlvbmFsIGFyZ3VtZW50IGZvciBudW1iZXIgb2YgaW5wdXRzLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODM3NTkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGVjayBodHRw
czovL2R2Y3MudzMub3JnL2hnL2F1ZGlvL3Jhdy1maWxlL3RpcC93ZWJhdWRpby9zcGVjaWZpY2F0
aW9uLmh0bWwgZm9yIHRoZSBvcHRpb25hbCBhcmd1bWVudC4KKworICAgICAgICAqIHdlYmF1ZGlv
L2F1ZGlvY2hhbm5lbG1lcmdlci1iYXNpYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYmF1ZGlvL2F1ZGlvY2hhbm5lbG1lcmdlci1iYXNpYy5odG1sOiBBZGRlZC4KKwogMjAxMi0w
NC0xMiAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIE1v
cmUgcmViYXNlbGluaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVkaW9j
aGFubmVsbWVyZ2VyLWJhc2ljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2F1
ZGlvY2hhbm5lbG1lcmdlci1iYXNpYy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTFjY2FjYjYz
ZDlmNTM4Zjc5OGM4MDAyMjg4ODMwOTdlNTQ2MGY0MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmF1ZGlvL2F1ZGlvY2hhbm5lbG1lcmdlci1iYXNpYy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMiBAQAorQmFzaWMgdGVzdHMgZm9yIEF1ZGlvQ2hhbm5lbE1lcmdlci4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIEV4Y2VwdGlvbiBiZWVuIHRocm93biBmb3Ig
bnVtYmVyT2ZJbnB1dHMgPD0gMC4KK1BBU1MgRXhjZXB0aW9uIGJlZW4gdGhyb3duIGZvciBudW1i
ZXJPZklucHV0cyA+PSAzMi4KK1BBU1MgQ2hhbm5lbE1lcmdlciBjcmVhdGVkIHN1Y2Nlc3NmdWxs
eSB3aXRoIG51bWJlck9mSW5wdXRzID0gMzIuCitQQVNTIENoYW5uZWxNZXJnZXIgY3JlYXRlZCBz
dWNjZXNzZnVsbHkgd2l0aCBlbXB0eSBwYXJhbWV0ZXIuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
YXVkaW8vYXVkaW9jaGFubmVsbWVyZ2VyLWJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJhdWRp
by9hdWRpb2NoYW5uZWxtZXJnZXItYmFzaWMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lODUzNDcyNDVhMDAz
MmZmZGUyNWIwNTdiM2M3ODIzNGNmMTg4ZDMwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViYXVkaW8vYXVkaW9jaGFubmVsbWVyZ2VyLWJhc2ljLmh0bWwKQEAgLTAsMCArMSw2MyBA
QAorPCFET0NUWVBFIGh0bWw+CisKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9k
eT4KKworPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiQmFzaWMgdGVzdHMgZm9yIEF1ZGlvQ2hhbm5l
bE1lcmdlci4iKTsKKworZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1Rl
eHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAg
IH0KKworICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgIHZhciBjb250ZXh0
ID0gbmV3IHdlYmtpdEF1ZGlvQ29udGV4dCgpOworCisgICAgdHJ5IHsKKyAgICAgICAgdmFyIG1l
cmdlcm5vZGUgPSBjb250ZXh0LmNyZWF0ZUNoYW5uZWxNZXJnZXIoMCk7CisgICAgICAgIHRlc3RG
YWlsZWQoIkV4Y2VwdGlvbiBzaG91bGQgYmUgdGhyb3duIGZvciBudW1iZXJPZklucHV0cyA8PSAw
LiIpOworICAgIH0gY2F0Y2goZSkgeworICAgICAgICB0ZXN0UGFzc2VkKCJFeGNlcHRpb24gYmVl
biB0aHJvd24gZm9yIG51bWJlck9mSW5wdXRzIDw9IDAuIik7CisgICAgfQorCisgICAgdHJ5IHsK
KyAgICAgICAgdmFyIG1lcmdlcm5vZGUgPSBjb250ZXh0LmNyZWF0ZUNoYW5uZWxNZXJnZXIoMzMp
OworICAgICAgICB0ZXN0RmFpbGVkKCJFeGNlcHRpb24gc2hvdWxkIGJlIHRocm93biBmb3IgbnVt
YmVyT2ZJbnB1dHMgPj0gMzIuIik7CisgICAgfSBjYXRjaChlKSB7CisgICAgICAgIHRlc3RQYXNz
ZWQoIkV4Y2VwdGlvbiBiZWVuIHRocm93biBmb3IgbnVtYmVyT2ZJbnB1dHMgPj0gMzIuIik7Cisg
ICAgfQorCisgICAgdHJ5IHsKKyAgICAgICAgdmFyIG1lcmdlcm5vZGUgPSBjb250ZXh0LmNyZWF0
ZUNoYW5uZWxNZXJnZXIoMzIpOworICAgICAgICB0ZXN0UGFzc2VkKCJDaGFubmVsTWVyZ2VyIGNy
ZWF0ZWQgc3VjY2Vzc2Z1bGx5IHdpdGggbnVtYmVyT2ZJbnB1dHMgPSAzMi4iKTsKKyAgICB9IGNh
dGNoKGUpIHsKKyAgICAgICAgdGVzdEZhaWxlZCgiRmFpbCB0byBjcmVhdGUgQ2hhbm5lbE1lcmdl
ciB3aXRoIG51bWJlck9mSW5wdXRzID0gMzIuIik7CisgICAgfQorCisgICAgdHJ5IHsKKyAgICAg
ICAgdmFyIG1lcmdlcm5vZGUgPSBjb250ZXh0LmNyZWF0ZUNoYW5uZWxNZXJnZXIoKTsKKyAgICAg
ICAgdGVzdFBhc3NlZCgiQ2hhbm5lbE1lcmdlciBjcmVhdGVkIHN1Y2Nlc3NmdWxseSB3aXRoIGVt
cHR5IHBhcmFtZXRlci4iKTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgdGVzdEZhaWxlZCgi
RmFpbCB0byBjcmVhdGUgQ2hhbm5lbE1lcmdlciB3aXRoIGVtcHR5IHBhcmFtZXRlci4iKTsKKyAg
ICB9CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworcnVuVGVzdCgpOworCis8L3NjcmlwdD4K
KworPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137025</attachid>
            <date>2012-04-12 18:57:29 -0700</date>
            <delta_ts>2012-04-13 18:25:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83759-20120413100318.patch</filename>
            <type>text/plain</type>
            <size>10657</size>
            <attacher name="Raymond">rgbbones</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0MDQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmUzZjhkOTUwZWMyZjgz
ODY3YmM5ZTE5MzFhZmEzYTZlNGFmNzdhZC4uYTE1NjgzZmU3YmJmODZiOTUzOWYxZjk3N2NkZDk5
Y2ZkM2MwYTMzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTA0LTEyICBSYXlt
b25kIExpdSAgPHJheW1vbmQubGl1QGludGVsLmNvbT4KKworICAgICAgICBBdWRpb0NvbnRleHQg
Y3JlYXRlQ2hhbm5lbE1lcmdlcigpIG1ldGhvZCBzaG91bGQgaGF2ZSBvcHRpb25hbCBhcmd1bWVu
dCBmb3IgbnVtYmVyIG9mIGlucHV0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTgzNzU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQ2hlY2sgaHR0cHM6Ly9kdmNzLnczLm9yZy9oZy9hdWRpby9yYXctZmls
ZS90aXAvd2ViYXVkaW8vc3BlY2lmaWNhdGlvbi5odG1sIGZvciB0aGUgb3B0aW9uYWwgYXJndW1l
bnQuCisKKyAgICAgICAgVGVzdDogd2ViYXVkaW8vYXVkaW9jaGFubmVsbWVyZ2VyLWJhc2ljLmh0
bWwKKworICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9DaGFubmVsTWVyZ2VyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9DaGFubmVsTWVyZ2Vy
OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9DaGFubmVsTWVyZ2VyOjpBdWRpb0No
YW5uZWxNZXJnZXIpOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9DaGFubmVsTWVy
Z2VyLmg6CisgICAgICAgIChBdWRpb0NoYW5uZWxNZXJnZXIpOgorICAgICAgICAqIE1vZHVsZXMv
d2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvQ29udGV4
dDo6Y3JlYXRlQ2hhbm5lbE1lcmdlcik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBN
b2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oOgorICAgICAgICAoQXVkaW9Db250ZXh0KToK
KyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5pZGw6CisKIDIwMTItMDQt
MTIgIEJhbGF6cyBLZWxlbWVuICA8a2JhbGF6c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF0g
Rml4IFdlYktpdDEgYnVpbGQgd2l0aCBWOApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9BdWRpb0NoYW5uZWxNZXJnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9BdWRpb0NoYW5uZWxNZXJnZXIuY3BwCmluZGV4IDU5YWRhYTBmYjFmYTBl
N2Q4ODM3NTEwZDVmYzYxMzg5ZWZlYjYwNTEuLmY5ZGZjY2VmNGI2ZDk1Y2Y2YzVkZWI5YzkwYzY5
ZDNhNTY0NGVjNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
QXVkaW9DaGFubmVsTWVyZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0F1ZGlvQ2hhbm5lbE1lcmdlci5jcHAKQEAgLTM3LDE2ICszNywyMCBAQAogI2luY2x1ZGUg
IkF1ZGlvTm9kZU91dHB1dC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CisKK1Bhc3NSZWZQdHI8
QXVkaW9DaGFubmVsTWVyZ2VyPiBBdWRpb0NoYW5uZWxNZXJnZXI6OmNyZWF0ZShBdWRpb0NvbnRl
eHQqIGNvbnRleHQsIGZsb2F0IHNhbXBsZVJhdGUsIHVuc2lnbmVkIG51bWJlck9mSW5wdXRzKQor
eworICAgIGlmICghbnVtYmVyT2ZJbnB1dHMgfHwgbnVtYmVyT2ZJbnB1dHMgPiBBdWRpb0NvbnRl
eHQ6Om1heE51bWJlck9mQ2hhbm5lbHMoKSkKKyAgICAgICAgcmV0dXJuIDA7CiAgICAgCi0vLyBU
aGlzIGlzIGNvbnNpZGVyaW5nIHRoYXQgNS4xICg2IGNoYW5uZWxzKSBpcyB0aGUgbGFyZ2VzdCB3
ZSdsbCBldmVyIGRlYWwgd2l0aC4KLS8vIEl0IGNhbiBlYXNpbHkgYmUgaW5jcmVhc2VkIHRvIHN1
cHBvcnQgbW9yZSBpZiB0aGUgd2ViIGF1ZGlvIHNwZWNpZmljYXRpb24gaXMgdXBkYXRlZC4KLWNv
bnN0IHVuc2lnbmVkIE51bWJlck9mSW5wdXRzID0gNjsKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3
IEF1ZGlvQ2hhbm5lbE1lcmdlcihjb250ZXh0LCBzYW1wbGVSYXRlLCBudW1iZXJPZklucHV0cykp
OyAgICAgIAorfQogCi1BdWRpb0NoYW5uZWxNZXJnZXI6OkF1ZGlvQ2hhbm5lbE1lcmdlcihBdWRp
b0NvbnRleHQqIGNvbnRleHQsIGZsb2F0IHNhbXBsZVJhdGUpCitBdWRpb0NoYW5uZWxNZXJnZXI6
OkF1ZGlvQ2hhbm5lbE1lcmdlcihBdWRpb0NvbnRleHQqIGNvbnRleHQsIGZsb2F0IHNhbXBsZVJh
dGUsIHVuc2lnbmVkIG51bWJlck9mSW5wdXRzKQogICAgIDogQXVkaW9Ob2RlKGNvbnRleHQsIHNh
bXBsZVJhdGUpCiB7Ci0gICAgLy8gQ3JlYXRlIGEgZml4ZWQgbnVtYmVyIG9mIGlucHV0cyAoYWJs
ZSB0byBoYW5kbGUgdGhlIG1heGltdW0gbnVtYmVyIG9mIGNoYW5uZWxzIHdlIGRlYWwgd2l0aCku
Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IE51bWJlck9mSW5wdXRzOyArK2kpCisgICAg
Ly8gQ3JlYXRlIHRoZSByZXF1ZXN0ZWQgbnVtYmVyIG9mIGlucHV0cy4KKyAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgbnVtYmVyT2ZJbnB1dHM7ICsraSkKICAgICAgICAgYWRkSW5wdXQoYWRv
cHRQdHIobmV3IEF1ZGlvTm9kZUlucHV0KHRoaXMpKSk7CiAKICAgICBhZGRPdXRwdXQoYWRvcHRQ
dHIobmV3IEF1ZGlvTm9kZU91dHB1dCh0aGlzLCAxKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NoYW5uZWxNZXJnZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9DaGFubmVsTWVyZ2VyLmgKaW5kZXggMzVkZDA2ZGY1
Mjg0MGJhMDQzZmJmYTM1Mzc2MTAxODExNWRkYjNlNS4uNGExZDU3NTIyOGJmMTRmZDVlYjRjYzM5
NjBjYTg5YzE3NzllN2Y5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9BdWRpb0NoYW5uZWxNZXJnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL0F1ZGlvQ2hhbm5lbE1lcmdlci5oCkBAIC0zOCwxMCArMzgsNyBAQCBjbGFzcyBBdWRp
b0NvbnRleHQ7CiAgICAgCiBjbGFzcyBBdWRpb0NoYW5uZWxNZXJnZXIgOiBwdWJsaWMgQXVkaW9O
b2RlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxBdWRpb0NoYW5uZWxNZXJnZXI+
IGNyZWF0ZShBdWRpb0NvbnRleHQqIGNvbnRleHQsIGZsb2F0IHNhbXBsZVJhdGUpCi0gICAgewot
ICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEF1ZGlvQ2hhbm5lbE1lcmdlcihjb250ZXh0LCBz
YW1wbGVSYXRlKSk7ICAgICAgCi0gICAgfQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEF1ZGlvQ2hh
bm5lbE1lcmdlcj4gY3JlYXRlKEF1ZGlvQ29udGV4dCosIGZsb2F0IHNhbXBsZVJhdGUsIHVuc2ln
bmVkIG51bWJlck9mSW5wdXRzKTsKIAogICAgIC8vIEF1ZGlvTm9kZQogICAgIHZpcnR1YWwgdm9p
ZCBwcm9jZXNzKHNpemVfdCBmcmFtZXNUb1Byb2Nlc3MpOwpAQCAtNTQsNyArNTEsNyBAQCBwcml2
YXRlOgogICAgIHZpcnR1YWwgZG91YmxlIHRhaWxUaW1lKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1
cm4gMDsgfQogICAgIHZpcnR1YWwgZG91YmxlIGxhdGVuY3lUaW1lKCkgY29uc3QgT1ZFUlJJREUg
eyByZXR1cm4gMDsgfQogCi0gICAgQXVkaW9DaGFubmVsTWVyZ2VyKEF1ZGlvQ29udGV4dCosIGZs
b2F0IHNhbXBsZVJhdGUpOworICAgIEF1ZGlvQ2hhbm5lbE1lcmdlcihBdWRpb0NvbnRleHQqLCBm
bG9hdCBzYW1wbGVSYXRlLCB1bnNpZ25lZCBudW1iZXJPZklucHV0cyk7CiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0F1ZGlvQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1
ZGlvQ29udGV4dC5jcHAKaW5kZXggNmMxZTE3ZWMyMTMwZWFlM2EwNmE0OTk4OWJkZDAwNDRjYjg0
MGM2NC4uYTJiNjNiZmVkMDI3ZDI5NDBmMjUxMThlZDQzN2M5MDIwZTZiZjQwMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcApAQCAtNDc5
LDExICs0NzksMjUgQEAgUGFzc1JlZlB0cjxBdWRpb0NoYW5uZWxTcGxpdHRlcj4gQXVkaW9Db250
ZXh0OjpjcmVhdGVDaGFubmVsU3BsaXR0ZXIoc2l6ZV90IG51bWIKICAgICByZXR1cm4gbm9kZTsK
IH0KIAotUGFzc1JlZlB0cjxBdWRpb0NoYW5uZWxNZXJnZXI+IEF1ZGlvQ29udGV4dDo6Y3JlYXRl
Q2hhbm5lbE1lcmdlcigpCitQYXNzUmVmUHRyPEF1ZGlvQ2hhbm5lbE1lcmdlcj4gQXVkaW9Db250
ZXh0OjpjcmVhdGVDaGFubmVsTWVyZ2VyKEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGNvbnN0
IHVuc2lnbmVkIENoYW5uZWxNZXJnZXJEZWZhdWx0TnVtYmVyT2ZJbnB1dHMgPSA2OworICAgIHJl
dHVybiBjcmVhdGVDaGFubmVsTWVyZ2VyKENoYW5uZWxNZXJnZXJEZWZhdWx0TnVtYmVyT2ZJbnB1
dHMsIGVjKTsKK30KKworUGFzc1JlZlB0cjxBdWRpb0NoYW5uZWxNZXJnZXI+IEF1ZGlvQ29udGV4
dDo6Y3JlYXRlQ2hhbm5lbE1lcmdlcihzaXplX3QgbnVtYmVyT2ZJbnB1dHMsIEV4Y2VwdGlvbkNv
ZGUmIGVjKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgbGF6eUluaXRpYWxp
emUoKTsKLSAgICByZXR1cm4gQXVkaW9DaGFubmVsTWVyZ2VyOjpjcmVhdGUodGhpcywgbV9kZXN0
aW5hdGlvbk5vZGUtPnNhbXBsZVJhdGUoKSk7CisKKyAgICBSZWZQdHI8QXVkaW9DaGFubmVsTWVy
Z2VyPiBub2RlID0gQXVkaW9DaGFubmVsTWVyZ2VyOjpjcmVhdGUodGhpcywgbV9kZXN0aW5hdGlv
bk5vZGUtPnNhbXBsZVJhdGUoKSwgbnVtYmVyT2ZJbnB1dHMpOworCisgICAgaWYgKCFub2RlLmdl
dCgpKSB7CisgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKKyAgICAgICAgcmV0dXJuIDA7CisgICAg
fQorCisgICAgcmV0dXJuIG5vZGU7CiB9CiAKIFBhc3NSZWZQdHI8T3NjaWxsYXRvcj4gQXVkaW9D
b250ZXh0OjpjcmVhdGVPc2NpbGxhdG9yKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL0F1ZGlvQ29udGV4dC5oCmluZGV4IDAxYjBjNmZkOGIwYmE4ZGQ5ZmEwMDY5ZGJmNDJj
ZTQwODk3OGMyZTAuLjUyNTRlZjY0ZmRmNTUyMGYwMTA2YjE5ODlhZjBiZGRiYzk4ZDY4NzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaApAQCAt
MTI4LDcgKzEyOCw4IEBAIHB1YmxpYzoKICAgICBQYXNzUmVmUHRyPEphdmFTY3JpcHRBdWRpb05v
ZGU+IGNyZWF0ZUphdmFTY3JpcHROb2RlKHNpemVfdCBidWZmZXJTaXplLCBzaXplX3QgbnVtYmVy
T2ZJbnB1dENoYW5uZWxzLCBzaXplX3QgbnVtYmVyT2ZPdXRwdXRDaGFubmVscywgRXhjZXB0aW9u
Q29kZSYpOwogICAgIFBhc3NSZWZQdHI8QXVkaW9DaGFubmVsU3BsaXR0ZXI+IGNyZWF0ZUNoYW5u
ZWxTcGxpdHRlcihFeGNlcHRpb25Db2RlJik7CiAgICAgUGFzc1JlZlB0cjxBdWRpb0NoYW5uZWxT
cGxpdHRlcj4gY3JlYXRlQ2hhbm5lbFNwbGl0dGVyKHNpemVfdCBudW1iZXJPZk91dHB1dHMsIEV4
Y2VwdGlvbkNvZGUmKTsKLSAgICBQYXNzUmVmUHRyPEF1ZGlvQ2hhbm5lbE1lcmdlcj4gY3JlYXRl
Q2hhbm5lbE1lcmdlcigpOworICAgIFBhc3NSZWZQdHI8QXVkaW9DaGFubmVsTWVyZ2VyPiBjcmVh
dGVDaGFubmVsTWVyZ2VyKEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBQYXNzUmVmUHRyPEF1ZGlvQ2hh
bm5lbE1lcmdlcj4gY3JlYXRlQ2hhbm5lbE1lcmdlcihzaXplX3QgbnVtYmVyT2ZJbnB1dHMsIEV4
Y2VwdGlvbkNvZGUmKTsKICAgICBQYXNzUmVmUHRyPE9zY2lsbGF0b3I+IGNyZWF0ZU9zY2lsbGF0
b3IoKTsKICAgICBQYXNzUmVmUHRyPFdhdmVUYWJsZT4gY3JlYXRlV2F2ZVRhYmxlKEZsb2F0MzJB
cnJheSogcmVhbCwgRmxvYXQzMkFycmF5KiBpbWFnLCBFeGNlcHRpb25Db2RlJik7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmlkbCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmlkbAppbmRleCBh
MTI5YjA4MTYxMzhiOTQ5YmU2MGIwZTRmZjgwY2MzMzZiNWMwNDliLi4xZDAyMjg4NDhiZGNiNjQ4
ZjAzZWMyMTNmYjg2ZDU1MjcwNmRkYjk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaWRsCkBAIC04MCw3ICs4MCw4IEBAIG1vZHVsZSB3ZWJh
dWRpbyB7CiAgICAgICAgIC8vIENoYW5uZWwgc3BsaXR0aW5nIGFuZCBtZXJnaW5nCiAgICAgICAg
IEF1ZGlvQ2hhbm5lbFNwbGl0dGVyIGNyZWF0ZUNoYW5uZWxTcGxpdHRlcihpbiBbT3B0aW9uYWxd
IHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZPdXRwdXRzKQogICAgICAgICAgICAgcmFpc2VzKERPTUV4
Y2VwdGlvbik7Ci0gICAgICAgIEF1ZGlvQ2hhbm5lbE1lcmdlciBjcmVhdGVDaGFubmVsTWVyZ2Vy
KCk7CisgICAgICAgIEF1ZGlvQ2hhbm5lbE1lcmdlciBjcmVhdGVDaGFubmVsTWVyZ2VyKGluIFtP
cHRpb25hbF0gdW5zaWduZWQgbG9uZyBudW1iZXJPZklucHV0cykKKyAgICAgICAgICAgIHJhaXNl
cyhET01FeGNlcHRpb24pOwogCiAgICAgICAgIC8vIE9mZmxpbmUgcmVuZGVyaW5nCiAgICAgICAg
IC8vIHZvaWQgcHJlcGFyZU9mZmxpbmVCdWZmZXJSZW5kZXJpbmcoaW4gdW5zaWduZWQgbG9uZyBu
dW1iZXJPZkNoYW5uZWxzLCBpbiB1bnNpZ25lZCBsb25nIG51bWJlck9mRnJhbWVzLCBpbiBmbG9h
dCBzYW1wbGVSYXRlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzZTA2YjlmOGRlMjRiNzM3M2FlYjE4Yzg3MTE4NWE0NGFi
NzdiMWZjLi4yNTgxZGMwNWUyMzA1M2RlYjAzMTdhY2FiZjgwODM4MTdkZjJjMGQ2IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTItMDQtMTIgIFJheW1vbmQgTGl1ICA8cmF5bW9uZC5saXVAaW50
ZWwuY29tPgorCisgICAgICAgIEF1ZGlvQ29udGV4dCBjcmVhdGVDaGFubmVsTWVyZ2VyKCkgbWV0
aG9kIHNob3VsZCBoYXZlIG9wdGlvbmFsIGFyZ3VtZW50IGZvciBudW1iZXIgb2YgaW5wdXRzLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODM3NTkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGVjayBodHRw
czovL2R2Y3MudzMub3JnL2hnL2F1ZGlvL3Jhdy1maWxlL3RpcC93ZWJhdWRpby9zcGVjaWZpY2F0
aW9uLmh0bWwgZm9yIHRoZSBvcHRpb25hbCBhcmd1bWVudC4KKworICAgICAgICAqIHdlYmF1ZGlv
L2F1ZGlvY2hhbm5lbG1lcmdlci1iYXNpYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYmF1ZGlvL2F1ZGlvY2hhbm5lbG1lcmdlci1iYXNpYy5odG1sOiBBZGRlZC4KKwogMjAxMi0w
NC0xMiAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIE1v
cmUgcmViYXNlbGluaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vYXVkaW9j
aGFubmVsbWVyZ2VyLWJhc2ljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2F1
ZGlvY2hhbm5lbG1lcmdlci1iYXNpYy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWE2YTE2ZGE3
YmU5OTNkNTQ2MmNhNzQ2NjI3ZjIwOTI3NTU4NGZmMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmF1ZGlvL2F1ZGlvY2hhbm5lbG1lcmdlci1iYXNpYy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMiBAQAorQmFzaWMgdGVzdHMgZm9yIEF1ZGlvQ2hhbm5lbE1lcmdlci4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duIGZvciBu
dW1iZXJPZklucHV0cyA8PSAwLgorUEFTUyBFeGNlcHRpb24gd2FzIHRocm93biBmb3IgbnVtYmVy
T2ZJbnB1dHMgPj0gMzIuCitQQVNTIEF1ZGlvQ2hhbm5lbE1lcmdlciBjcmVhdGVkIHN1Y2Nlc3Nm
dWxseSB3aXRoIG51bWJlck9mSW5wdXRzID0gMzIuCitQQVNTIEF1ZGlvQ2hhbm5lbE1lcmdlciBj
cmVhdGVkIHN1Y2Nlc3NmdWxseSB3aXRoIGVtcHR5IHBhcmFtZXRlci4KK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJhdWRpby9hdWRpb2NoYW5uZWxtZXJnZXItYmFzaWMuaHRtbCBiL0xheW91dFRlc3Rz
L3dlYmF1ZGlvL2F1ZGlvY2hhbm5lbG1lcmdlci1iYXNpYy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRmNjA2
MWYwZTg4YjUzNTY2MzgyZDdjYTZlMGRhYjRlNzM2NGY4ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJhdWRpby9hdWRpb2NoYW5uZWxtZXJnZXItYmFzaWMuaHRtbApAQCAtMCww
ICsxLDYzIEBACis8IURPQ1RZUEUgaHRtbD4KKworPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
CisKKzxib2R5PgorCis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJCYXNpYyB0ZXN0cyBmb3IgQXVk
aW9DaGFubmVsTWVyZ2VyLiIpOworCitmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
ZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25l
KCk7CisgICAgfQorCisgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgdmFy
IGNvbnRleHQgPSBuZXcgd2Via2l0QXVkaW9Db250ZXh0KCk7CisKKyAgICB0cnkgeworICAgICAg
ICB2YXIgbWVyZ2Vybm9kZSA9IGNvbnRleHQuY3JlYXRlQ2hhbm5lbE1lcmdlcigwKTsKKyAgICAg
ICAgdGVzdEZhaWxlZCgiRXhjZXB0aW9uIHNob3VsZCBiZSB0aHJvd24gZm9yIG51bWJlck9mSW5w
dXRzIDw9IDAuIik7CisgICAgfSBjYXRjaChlKSB7CisgICAgICAgIHRlc3RQYXNzZWQoIkV4Y2Vw
dGlvbiB3YXMgdGhyb3duIGZvciBudW1iZXJPZklucHV0cyA8PSAwLiIpOworICAgIH0KKworICAg
IHRyeSB7CisgICAgICAgIHZhciBtZXJnZXJub2RlID0gY29udGV4dC5jcmVhdGVDaGFubmVsTWVy
Z2VyKDMzKTsKKyAgICAgICAgdGVzdEZhaWxlZCgiRXhjZXB0aW9uIHNob3VsZCBiZSB0aHJvd24g
Zm9yIG51bWJlck9mSW5wdXRzID49IDMyLiIpOworICAgIH0gY2F0Y2goZSkgeworICAgICAgICB0
ZXN0UGFzc2VkKCJFeGNlcHRpb24gd2FzIHRocm93biBmb3IgbnVtYmVyT2ZJbnB1dHMgPj0gMzIu
Iik7CisgICAgfQorCisgICAgdHJ5IHsKKyAgICAgICAgdmFyIG1lcmdlcm5vZGUgPSBjb250ZXh0
LmNyZWF0ZUNoYW5uZWxNZXJnZXIoMzIpOworICAgICAgICB0ZXN0UGFzc2VkKCJBdWRpb0NoYW5u
ZWxNZXJnZXIgY3JlYXRlZCBzdWNjZXNzZnVsbHkgd2l0aCBudW1iZXJPZklucHV0cyA9IDMyLiIp
OworICAgIH0gY2F0Y2goZSkgeworICAgICAgICB0ZXN0RmFpbGVkKCJGYWlsZWQgdG8gY3JlYXRl
IEF1ZGlvQ2hhbm5lbE1lcmdlciB3aXRoIG51bWJlck9mSW5wdXRzID0gMzIuIik7CisgICAgfQor
CisgICAgdHJ5IHsKKyAgICAgICAgdmFyIG1lcmdlcm5vZGUgPSBjb250ZXh0LmNyZWF0ZUNoYW5u
ZWxNZXJnZXIoKTsKKyAgICAgICAgdGVzdFBhc3NlZCgiQXVkaW9DaGFubmVsTWVyZ2VyIGNyZWF0
ZWQgc3VjY2Vzc2Z1bGx5IHdpdGggZW1wdHkgcGFyYW1ldGVyLiIpOworICAgIH0gY2F0Y2goZSkg
eworICAgICAgICB0ZXN0RmFpbGVkKCJGYWlsZWQgdG8gY3JlYXRlIEF1ZGlvQ2hhbm5lbE1lcmdl
ciB3aXRoIGVtcHR5IHBhcmFtZXRlci4iKTsKKyAgICB9CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsK
K30KKworcnVuVGVzdCgpOworCis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>