<?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>66321</bug_id>
          
          <creation_ts>2011-08-16 11:35:22 -0700</creation_ts>
          <short_desc>Handle &quot;form&quot; attribute updates in parseMappedAttribute() instead of attributeChanged() to better match HTMLElement practices</short_desc>
          <delta_ts>2011-08-18 03:22:20 -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="Adam Klein">adamk</reporter>
          <assigned_to name="Adam Klein">adamk</assigned_to>
          <cc>ap</cc>
    
    <cc>arv</cc>
    
    <cc>bashi</cc>
    
    <cc>darin</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>451772</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-08-16 11:35:22 -0700</bug_when>
    <thetext>Handle &quot;form&quot; attribute updates in parseMappedAttribute() instead of attributeChanged() to better match HTMLElement practices</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451775</commentid>
    <comment_count>1</comment_count>
      <attachid>104072</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-08-16 11:38:23 -0700</bug_when>
    <thetext>Created attachment 104072
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451778</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-08-16 11:39:58 -0700</bug_when>
    <thetext>Background: I was trying to understand the implementation of WebKit&apos;s form attribute, and was confused by the fact that formAttr didn&apos;t show up in parseMappedAttribute.  This change should be a no-op, but imho makes the code easier to understand.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452298</commentid>
    <comment_count>3</comment_count>
      <attachid>104072</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-08-17 09:44:49 -0700</bug_when>
    <thetext>Comment on attachment 104072
Patch

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

Do we have test coverage for this? I suggest removing the three things done by attributeChanged one at a time and verifying that in each case an existing regression test fails. If not, then we should add regression tests. Since the benefit level of this is low (makes the code slightly more consistent and elegant) we want to be doubly sure we are not breaking anything.

I’m going to say review+ but I do not think this should go in unless we are sure we have test coverage.

&gt; Source/WebCore/html/HTMLObjectElement.cpp:90
&gt; +    if (attr-&gt;name() == formAttr) {
&gt; +        formAttributeChanged();
&gt; +    } else if (attr-&gt;name() == typeAttr) {

WebKit coding style says to not use braces around a single-line body like this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452550</commentid>
    <comment_count>4</comment_count>
      <attachid>104236</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-08-17 14:05:43 -0700</bug_when>
    <thetext>Created attachment 104236
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452553</commentid>
    <comment_count>5</comment_count>
      <attachid>104237</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-08-17 14:07:38 -0700</bug_when>
    <thetext>Created attachment 104237
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452558</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-08-17 14:09:57 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 104072 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=104072&amp;action=review
&gt; 
&gt; Do we have test coverage for this? I suggest removing the three things done by attributeChanged one at a time and verifying that in each case an existing regression test fails. If not, then we should add regression tests. Since the benefit level of this is low (makes the code slightly more consistent and elegant) we want to be doubly sure we are not breaking anything.

Thanks for the suggestion! Though this looked at first glance to be covered, it turns out only one of the three things done by these attributeChanged was covered. I&apos;ve added coverage for both of those.
 
&gt; I’m going to say review+ but I do not think this should go in unless we are sure we have test coverage.

Thanks.  Care to look again?

&gt; &gt; Source/WebCore/html/HTMLObjectElement.cpp:90
&gt; &gt; +    if (attr-&gt;name() == formAttr) {
&gt; &gt; +        formAttributeChanged();
&gt; &gt; +    } else if (attr-&gt;name() == typeAttr) {
&gt; 
&gt; WebKit coding style says to not use braces around a single-line body like this one.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452587</commentid>
    <comment_count>7</comment_count>
      <attachid>104237</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2011-08-17 14:31:02 -0700</bug_when>
    <thetext>Comment on attachment 104237
Patch

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

&gt; LayoutTests/fast/forms/script-tests/form-attribute.js:100
&gt; +    &apos;&lt;object id=objectElement name=victim /&gt;&apos;;

object requires a closing tag... this works in innerHTML because it is the last element and we hit the error case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452605</commentid>
    <comment_count>8</comment_count>
      <attachid>104249</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-08-17 14:40:52 -0700</bug_when>
    <thetext>Created attachment 104249
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452606</commentid>
    <comment_count>9</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-08-17 14:41:29 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 104237 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=104237&amp;action=review
&gt; 
&gt; &gt; LayoutTests/fast/forms/script-tests/form-attribute.js:100
&gt; &gt; +    &apos;&lt;object id=objectElement name=victim /&gt;&apos;;
&gt; 
&gt; object requires a closing tag... this works in innerHTML because it is the last element and we hit the error case.

Fixed here and in above, where this already existed in the test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452931</commentid>
    <comment_count>10</comment_count>
      <attachid>104249</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-18 03:22:15 -0700</bug_when>
    <thetext>Comment on attachment 104249
Patch for landing

Clearing flags on attachment: 104249

Committed r93292: &lt;http://trac.webkit.org/changeset/93292&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>452932</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-18 03:22:20 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104072</attachid>
            <date>2011-08-16 11:38:23 -0700</date>
            <delta_ts>2011-08-17 14:05:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66321-20110816113822.patch</filename>
            <type>text/plain</type>
            <size>5073</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTI4ODkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyY2ZkM2RkNzMwZjQyY2Vk
MWVlYmYyMTU0ODk0MmEyMDAxNGY0ZjE3Li44NzExMDI3ZDRmYjAwMjhhMGRhNDIxYzRlZWUwZGYx
NmQ2MWY2YWEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDgtMTYgIEFkYW0g
S2xlaW4gIDxhZGFta0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSGFuZGxlICJmb3JtIiBhdHRy
aWJ1dGUgdXBkYXRlcyBpbiBwYXJzZU1hcHBlZEF0dHJpYnV0ZSgpIGluc3RlYWQgb2YgYXR0cmli
dXRlQ2hhbmdlZCgpIHRvIGJldHRlciBtYXRjaCBIVE1MRWxlbWVudCBwcmFjdGljZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzIxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyBzaW1wbHkg
YSBjbGVhbnVwIGNoYW5nZTogdGhlcmUncyBubyBuZWVkIHRoYXQgSSBjYW4gc2VlIGZvcgorICAg
ICAgICBIVE1MRm9ybUNvbnRyb2xFbGVtZW50IGFuZCBIVE1MT2JqZWN0RWxlbWVudCB0byBvdmVy
cmlkZQorICAgICAgICBFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkIHNpbmNlIHRoZXkgY2FuIHBy
b3Blcmx5IGhhbmRsZSBmb3JtCisgICAgICAgIGF0dHJpYnV0ZSBjaGFuZ2VzIGluIHBhcnNlTWFw
cGVkQXR0cmlidXRlLCB3aGljaCB0aGV5IGFsc28gb3ZlcnJpZGUuCisKKyAgICAgICAgTm8gZXhw
ZWN0ZWQgY2hhbmdlIGluIGJlaGF2aW9yLCB0aHVzIG5vIHRlc3RzLgorCisgICAgICAgICogaHRt
bC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3Jt
Q29udHJvbEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKiBodG1sL0hU
TUxGb3JtQ29udHJvbEVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxPYmplY3RFbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxPYmplY3RFbGVtZW50OjpwYXJzZU1hcHBlZEF0
dHJpYnV0ZSk6CisgICAgICAgICogaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5oOgorCiAyMDExLTA4
LTExICBMZXZpIFdlaW50cmF1YiAgPGxldml3QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZW1v
dmUgZGVhZCBjb2RlOiBib3JkZXJJbm5lclJlY3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCmluZGV4IGYzNjk3Y2UxNzE1NGYxOTNjYzRhOGQ5MWQ2
MDhkNDUxYWZhNzliYjYuLjgwYzhjZWY5NjA1YWNmNDYyMTM1YzAzYWJjOWRkMDBiOTExNjc1NDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcApA
QCAtODUsNyArODUsMTEgQEAgYm9vbCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50Ojpmb3JtTm9WYWxp
ZGF0ZSgpIGNvbnN0CiAKIHZvaWQgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6cGFyc2VNYXBwZWRB
dHRyaWJ1dGUoQXR0cmlidXRlKiBhdHRyKQogewotICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gZGlz
YWJsZWRBdHRyKSB7CisgICAgaWYgKGF0dHItPm5hbWUoKSA9PSBmb3JtQXR0cikgeworICAgICAg
ICBmb3JtQXR0cmlidXRlQ2hhbmdlZCgpOworICAgICAgICBpZiAoIWZvcm0oKSkKKyAgICAgICAg
ICAgIGRvY3VtZW50KCktPmNoZWNrZWRSYWRpb0J1dHRvbnMoKS5hZGRCdXR0b24odGhpcyk7Cisg
ICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gZGlzYWJsZWRBdHRyKSB7CiAgICAgICAgIGJv
b2wgb2xkRGlzYWJsZWQgPSBtX2Rpc2FibGVkOwogICAgICAgICBtX2Rpc2FibGVkID0gIWF0dHIt
PmlzTnVsbCgpOwogICAgICAgICBpZiAob2xkRGlzYWJsZWQgIT0gbV9kaXNhYmxlZCkgewpAQCAt
NDQ2LDE2ICs0NTAsNiBAQCBib29sIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmlzRGVmYXVsdEJ1
dHRvbkZvckZvcm0oKSBjb25zdAogICAgIHJldHVybiBpc1N1Y2Nlc3NmdWxTdWJtaXRCdXR0b24o
KSAmJiBmb3JtKCkgJiYgZm9ybSgpLT5kZWZhdWx0QnV0dG9uKCkgPT0gdGhpczsKIH0KIAotdm9p
ZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKEF0dHJpYnV0ZSogYXR0
ciwgYm9vbCBwcmVzZXJ2ZURlY2xzKQotewotICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gZm9ybUF0
dHIpIHsKLSAgICAgICAgZm9ybUF0dHJpYnV0ZUNoYW5nZWQoKTsKLSAgICAgICAgaWYgKCFmb3Jt
KCkpCi0gICAgICAgICAgICBkb2N1bWVudCgpLT5jaGVja2VkUmFkaW9CdXR0b25zKCkuYWRkQnV0
dG9uKHRoaXMpOwotICAgIH0gZWxzZQotICAgICAgICBIVE1MRWxlbWVudDo6YXR0cmlidXRlQ2hh
bmdlZChhdHRyLCBwcmVzZXJ2ZURlY2xzKTsKLX0KLQogYm9vbCBIVE1MRm9ybUNvbnRyb2xFbGVt
ZW50Ojppc0xhYmVsYWJsZSgpIGNvbnN0CiB7CiAgICAgLy8gRklYTUU6IEFkZCBtZXRlclRhZyBh
bmQgb3V0cHV0VGFnIHRvIHRoZSBsaXN0IG9uY2Ugd2Ugc3VwcG9ydCB0aGVtLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaAppbmRleCAxYjNhNWZjYjY0NTQ4
OTVjYmZiMzA4OGYzMDM1YzViMDM4OTMzYWU2Li5lOGUxNTkzNTI2NTFjNzI0MzAzNjljZDQ2MDVl
M2EzZWI0NjE2M2RhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29u
dHJvbEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVs
ZW1lbnQuaApAQCAtOTksOCArOTksNiBAQCBwdWJsaWM6CiAKICAgICBib29sIHJlYWRPbmx5KCkg
Y29uc3QgeyByZXR1cm4gbV9yZWFkT25seTsgfQogCi0gICAgdmlydHVhbCB2b2lkIGF0dHJpYnV0
ZUNoYW5nZWQoQXR0cmlidXRlKiwgYm9vbCBwcmVzZXJ2ZURlY2xzID0gZmFsc2UpOwotCiAgICAg
dXNpbmcgVHJlZVNoYXJlZDxDb250YWluZXJOb2RlPjo6cmVmOwogICAgIHVzaW5nIFRyZWVTaGFy
ZWQ8Q29udGFpbmVyTm9kZT46OmRlcmVmOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxPYmplY3RFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVj
dEVsZW1lbnQuY3BwCmluZGV4IGUzYzJiZDE0M2EzMGUyYjVjMTRlNjE0OTFmOGFlYTRmYWRmZmYz
ZGQuLjNhZDc2ZmI5OTYyODlhMTY0N2U1NWQ3NGE2OWIwNmM4YmRiNmVjN2YgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuY3BwCkBAIC04NSw3ICs4NSw5IEBAIFJlbmRl
cldpZGdldCogSFRNTE9iamVjdEVsZW1lbnQ6OnJlbmRlcldpZGdldEZvckpTQmluZGluZ3MoKQog
CiB2b2lkIEhUTUxPYmplY3RFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUq
IGF0dHIpCiB7Ci0gICAgaWYgKGF0dHItPm5hbWUoKSA9PSB0eXBlQXR0cikgeworICAgIGlmIChh
dHRyLT5uYW1lKCkgPT0gZm9ybUF0dHIpIHsKKyAgICAgICAgZm9ybUF0dHJpYnV0ZUNoYW5nZWQo
KTsKKyAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSB0eXBlQXR0cikgewogICAgICAgICBt
X3NlcnZpY2VUeXBlID0gYXR0ci0+dmFsdWUoKS5sb3dlcigpOwogICAgICAgICBzaXplX3QgcG9z
ID0gbV9zZXJ2aWNlVHlwZS5maW5kKCI7Iik7CiAgICAgICAgIGlmIChwb3MgIT0gbm90Rm91bmQp
CkBAIC0zNzMsMTQgKzM3NSw2IEBAIHZvaWQgSFRNTE9iamVjdEVsZW1lbnQ6OnJlbW92ZWRGcm9t
RG9jdW1lbnQoKQogICAgIEZvcm1Bc3NvY2lhdGVkRWxlbWVudDo6cmVtb3ZlZEZyb21Eb2N1bWVu
dCgpOwogfQogCi12b2lkIEhUTUxPYmplY3RFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKEF0dHJp
YnV0ZSogYXR0ciwgYm9vbCBwcmVzZXJ2ZURlY2xzKQotewotICAgIGlmIChhdHRyLT5uYW1lKCkg
PT0gZm9ybUF0dHIpCi0gICAgICAgIGZvcm1BdHRyaWJ1dGVDaGFuZ2VkKCk7Ci0gICAgZWxzZQot
ICAgICAgICBIVE1MUGx1Z0luSW1hZ2VFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKGF0dHIsIHBy
ZXNlcnZlRGVjbHMpOwotfQotCiB2b2lkIEhUTUxPYmplY3RFbGVtZW50OjpjaGlsZHJlbkNoYW5n
ZWQoYm9vbCBjaGFuZ2VkQnlQYXJzZXIsIE5vZGUqIGJlZm9yZUNoYW5nZSwgTm9kZSogYWZ0ZXJD
aGFuZ2UsIGludCBjaGlsZENvdW50RGVsdGEpCiB7CiAgICAgdXBkYXRlRG9jTmFtZWRJdGVtKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmgKaW5kZXggNmMwZTA1ZTRhZmI2
ZWY5YzJhYjJhMjBiOTgzOTRkYTY0Y2Y2NTZhNS4uNjIwMTdhZTkxNzE2ZDdhNmI1YjNjYjNlMjU3
ZTQ2ZWMxY2RmOThhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaApA
QCAtNTgsOCArNTgsNiBAQCBwdWJsaWM6CiAgICAgYm9vbCBjaGVja1ZhbGlkaXR5KCkgeyByZXR1
cm4gdHJ1ZTsgfQogICAgIHZvaWQgc2V0Q3VzdG9tVmFsaWRpdHkoY29uc3QgU3RyaW5nJikgeyB9
CiAKLSAgICB2aXJ0dWFsIHZvaWQgYXR0cmlidXRlQ2hhbmdlZChBdHRyaWJ1dGUqLCBib29sIHBy
ZXNlcnZlRGVjbHMgPSBmYWxzZSk7Ci0KICAgICB1c2luZyBUcmVlU2hhcmVkPENvbnRhaW5lck5v
ZGU+OjpyZWY7CiAgICAgdXNpbmcgVHJlZVNoYXJlZDxDb250YWluZXJOb2RlPjo6ZGVyZWY7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104236</attachid>
            <date>2011-08-17 14:05:43 -0700</date>
            <delta_ts>2011-08-17 14:07:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66321-20110817140542.patch</filename>
            <type>text/plain</type>
            <size>12635</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTI4ODkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwZWY1MzdlYTE2ZGRhY2U3ZTZiZGJj
NmQxYjc5Njk2Yzc5NGEzNWJiLi44NTI4ZGExYjRkMjhiOWQzZmMzNzZmNDA4MzllOTc0MTZhOTg2
MDNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDgtMTcgIEFkYW0gS2xlaW4gIDxhZGFt
a0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSGFuZGxlICJmb3JtIiBhdHRyaWJ1dGUgdXBkYXRl
cyBpbiBwYXJzZU1hcHBlZEF0dHJpYnV0ZSgpIGluc3RlYWQgb2YgYXR0cmlidXRlQ2hhbmdlZCgp
IHRvIGJldHRlciBtYXRjaCBIVE1MRWxlbWVudCBwcmFjdGljZXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzIxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgbmV3IGNvdmVyYWdlIHRvIGVuc3Vy
ZSB0aGF0IGFkZGluZyBhIHJhZGlvIGJ1dHRvbiB0byBhIHJhZGlvCisgICAgICAgIGdyb3VwIGlu
IHRoZSBkb2N1bWVudCBieSByZW1vdmluZyBhIGZvcm0gYXR0cmlidXRlIGxlYXZlcyB0aGUgZ3Jv
dXAgaW4KKyAgICAgICAgYSB2YWxpZCBzdGF0ZSAobm8gbW9yZSB0aGFuIG9uZSBidXR0b24gY2hl
Y2tlZCkuCisKKyAgICAgICAgQmVlZmVkIHVwIGNvdmVyYWdlIG9mIGZvcm0gYXNzb2NpYXRlZCBl
bGVtZW50cyB0byBiZXR0ZXIgY292ZXIKKyAgICAgICAgSFRNTE9iamVjdEVsZW1lbnQuCisKKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL2Zvcm0tYXR0cmlidXRlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBmYXN0L2Zvcm1zL3JhZGlvLXJlbW92ZS1mb3JtLWF0dHItZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2Zvcm1zL3JhZGlvLXJlbW92ZS1mb3JtLWF0dHIuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvZm9ybS1hdHRyaWJ1dGUuanM6Cisg
ICAgICAgIEFkZGVkIGNvdmVyYWdlIG9mIDxvYmplY3QgZm9ybT0iIj4gYmVoYXZpb3IuCisKIDIw
MTEtMDgtMTEgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBwZmVs
ZG1hbiBzYXlzIHdlIG5lZWQgdG8gcmViYXNlbGluZSB0aGlzIHRlc3QuICBUaGUgbWFzc2l2ZWx5
IGNvbXBsZXgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZm9ybS1hdHRyaWJ1
dGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3JtLWF0dHJpYnV0ZS1l
eHBlY3RlZC50eHQKaW5kZXggNTJjYjI1MjEwNDZkOTYyNDg4MDJlY2MxNDY2NDVhM2M1YzY0NzYw
Zi4uMzdiYzk4OWFiNzI5YjNjYTM2MmYwZGJkZjQ1YjUwMWQyYmZhMzcyNCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3JtLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3JtLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQKQEAgLTM0
LDExICszNCwxNiBAQCBQQVNTIGlucHV0RWxlbWVudDMuZm9ybSBpcyBvd25lcgogLSBFbnN1cmVz
IHdoZXRoZXIgdGhlIGZvcm0gb3duZXIgaXMgc2V0IGNvcnJlY3RseSB3aGVuIHRoZSB2YWx1ZSBv
ZiBmb3JtIGF0dHJpYnV0ZSBvZiBhIGZvcm0tYXNzb2NpYXRlZCBlbGVtZW50IGNoYW5nZWQuCiBQ
QVNTIGlucHV0RWxlbWVudC5mb3JtIGlzIGZvcm0xCiBQQVNTIGlucHV0RWxlbWVudC5mb3JtIGlz
IGZvcm0yCitQQVNTIG9iamVjdEVsZW1lbnQuZm9ybSBpcyBmb3JtMQorUEFTUyBvYmplY3RFbGVt
ZW50LmZvcm0gaXMgZm9ybTIKIAogLSBFbnN1cmVzIHdoZXRoZXIgdGhlIGZvcm0gb3duZXIgaXMg
c2V0IGNvcnJlY3RseSB3aGVuIHRoZSB2YWx1ZSBvZiBmb3JtIGF0dHJpYnV0ZSBpcyBhZGRlZC9y
ZW1vdmVkLgogUEFTUyBpbnB1dEVsZW1lbnQuZm9ybSBpcyBudWxsCiBQQVNTIGlucHV0RWxlbWVu
dC5mb3JtIGlzIG93bmVyCiBQQVNTIGlucHV0RWxlbWVudC5mb3JtIGlzIG51bGwKK1BBU1Mgb2Jq
ZWN0RWxlbWVudC5mb3JtIGlzIG51bGwKK1BBU1Mgb2JqZWN0RWxlbWVudC5mb3JtIGlzIG93bmVy
CitQQVNTIG9iamVjdEVsZW1lbnQuZm9ybSBpcyBudWxsCiAKIC0gRW5zdXJlcyB3aGV0aGVyIHRo
ZSBmb3JtIG93bmVyIGlzIHNldCBjb3JyZWN0bHkgd2hlbiB0aGUgZm9ybSBvd25lciBpcyBhZGRl
ZC9yZW1vdmVkLgogUEFTUyBvd25lci5uYW1lIGlzICJmaXJzdE93bmVyIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yYWRpby1yZW1vdmUtZm9ybS1hdHRyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFkaW8tcmVtb3ZlLWZvcm0tYXR0ci1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNzFiMWIzN2M4NWQ1Yzg0YTI0ODFhYjgwMDU1YTcwOTUxNGUzZDFm
ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFkaW8tcmVtb3Zl
LWZvcm0tYXR0ci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGVzdCB0aGF0IHJlbW92
aW5nIGEgZm9ybSBhdHRyaWJ1dGUgZnJvbSBhbiBpbnB1dCBlbGVtZW50IGxlYXZlcyBhbnkgZXhp
c3RpbmcgcmFkaW8gYnV0dG9uIGdyb3VwIGluIHRoZSBkb2N1bWVudCBpbiBhIHZhbGlkIHN0YXRl
LgorCistIFZlcmlmeSBpbml0aWFsIHN0YXRlCitQQVNTIHJiMS5jaGVja2VkIGlzIGZhbHNlCitQ
QVNTIHJiMi5jaGVja2VkIGlzIGZhbHNlCitQQVNTIHJiMy5jaGVja2VkIGlzIHRydWUKK1BBU1Mg
cmI0LmNoZWNrZWQgaXMgZmFsc2UKK1BBU1MgcmI1LmNoZWNrZWQgaXMgdHJ1ZQorCistIFJlbW92
ZSBmb3JtIGF0dHIgZnJvbSByYjMsIHZlcmlmeSB0aGF0IHJiNSBiZWNvbWVzIHVuY2hlY2tlZCBz
dGF0ZQorUEFTUyByYjEuY2hlY2tlZCBpcyBmYWxzZQorUEFTUyByYjIuY2hlY2tlZCBpcyBmYWxz
ZQorUEFTUyByYjMuY2hlY2tlZCBpcyB0cnVlCitQQVNTIHJiNC5jaGVja2VkIGlzIGZhbHNlCitQ
QVNTIHJiNS5jaGVja2VkIGlzIGZhbHNlCisgIAorICAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvcmFkaW8tcmVtb3ZlLWZvcm0tYXR0ci5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9yYWRpby1yZW1vdmUtZm9ybS1hdHRyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDFkNDAzZmU1
YWVhZTE3MGZkNmYzOTc5Yjk2M2JmM2MzYzJiNmJjMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvcmFkaW8tcmVtb3ZlLWZvcm0tYXR0ci5odG1sCkBAIC0wLDAgKzEs
NDEgQEAKKzxodG1sPgorPGhlYWQ+CisgIDxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8cD5UZXN0IHRoYXQgcmVtb3ZpbmcgYSBm
b3JtIGF0dHJpYnV0ZSBmcm9tIGFuIGlucHV0IGVsZW1lbnQgbGVhdmVzIGFueQorZXhpc3Rpbmcg
cmFkaW8gYnV0dG9uIGdyb3VwIGluIHRoZSAgZG9jdW1lbnQgaW4gYSB2YWxpZCBzdGF0ZS48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxmb3JtIGlkPSJmb3JtMSI+CisgIDxpbnB1dCB0
eXBlPSJyYWRpbyIgbmFtZT0idGVzdCIgaWQ9InJiMSIgdmFsdWU9IjEiPgorICA8aW5wdXQgdHlw
ZT0icmFkaW8iIG5hbWU9InRlc3QiIGlkPSJyYjIiIHZhbHVlPSIyIj4KKzwvZm9ybT4KKzxpbnB1
dCB0eXBlPSJyYWRpbyIgbmFtZT0idGVzdCIgaWQ9InJiMyIgZm9ybT0iZm9ybTEiIHZhbHVlPSIz
IiBjaGVja2VkPgorPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJ0ZXN0IiBpZD0icmI0IiB2YWx1
ZT0iNCI+Cis8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9InRlc3QiIGlkPSJyYjUiIHZhbHVlPSI1
IiBjaGVja2VkPgorPHNjcmlwdD4KKyAgdmFyIHJlc3VsdCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdyZXN1bHQnKTsKKyAgdmFyIGZvcm0gPSBkb2N1bWVudC5mb3Jtc1swXTsKKyAgdmFyIHJi
MSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyYjEnKTsKKyAgdmFyIHJiMiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdyYjInKTsKKyAgdmFyIHJiMyA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdyYjMnKTsKKyAgdmFyIHJiNCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyYjQnKTsK
KyAgdmFyIHJiNSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyYjUnKTsKKworICBkZWJ1Zygn
LSBWZXJpZnkgaW5pdGlhbCBzdGF0ZScpCisgIHNob3VsZEJlRmFsc2UoJ3JiMS5jaGVja2VkJyk7
CisgIHNob3VsZEJlRmFsc2UoJ3JiMi5jaGVja2VkJyk7CisgIHNob3VsZEJlVHJ1ZSgncmIzLmNo
ZWNrZWQnKTsKKyAgc2hvdWxkQmVGYWxzZSgncmI0LmNoZWNrZWQnKTsKKyAgc2hvdWxkQmVUcnVl
KCdyYjUuY2hlY2tlZCcpOworCisgIGRlYnVnKCcnKTsKKyAgZGVidWcoJy0gUmVtb3ZlIGZvcm0g
YXR0ciBmcm9tIHJiMywgdmVyaWZ5IHRoYXQgcmI1IGJlY29tZXMgdW5jaGVja2VkIHN0YXRlJyk7
CisgIHJiMy5yZW1vdmVBdHRyaWJ1dGUoJ2Zvcm0nKTsKKyAgc2hvdWxkQmVGYWxzZSgncmIxLmNo
ZWNrZWQnKTsKKyAgc2hvdWxkQmVGYWxzZSgncmIyLmNoZWNrZWQnKTsKKyAgc2hvdWxkQmVUcnVl
KCdyYjMuY2hlY2tlZCcpOworICBzaG91bGRCZUZhbHNlKCdyYjQuY2hlY2tlZCcpOworICBzaG91
bGRCZUZhbHNlKCdyYjUuY2hlY2tlZCcpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9mb3JtLWF0dHJp
YnV0ZS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2Zvcm0tYXR0cmli
dXRlLmpzCmluZGV4IDMwNzliYmZiNzNhM2QwNDkwZjA2YTAzY2U1MDFjNWRmYmUyYTVmYTEuLjBi
OWFjNzg4YzczZDlmNDYxMDFkMDA3NjNhN2EzYzc4ODUxMDNkOWYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2Zvcm0tYXR0cmlidXRlLmpzCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2Zvcm0tYXR0cmlidXRlLmpzCkBAIC03
OCw3ICs3OCw4IEBAIGRlYnVnKCcnKTsKIGRlYnVnKCctIEVuc3VyZXMgd2hldGhlciB0aGUgZm9y
bSBvd25lciBpcyBzZXQgY29ycmVjdGx5IHdoZW4gdGhlIHZhbHVlIG9mIGZvcm0gYXR0cmlidXRl
IG9mIGEgZm9ybS1hc3NvY2lhdGVkIGVsZW1lbnQgY2hhbmdlZC4nKTsKIGNvbnRhaW5lci5pbm5l
ckhUTUwgPSAnPGZvcm0gaWQ9Zm9ybTE+PC9mb3JtPicgKwogICAgICc8Zm9ybSBpZD1mb3JtMj48
L2Zvcm0+JyArCi0gICAgJzxpbnB1dCBpZD1pbnB1dEVsZW1lbnQgbmFtZT12aWN0aW0gZm9ybT1m
b3JtMSAvPic7CisgICAgJzxpbnB1dCBpZD1pbnB1dEVsZW1lbnQgbmFtZT12aWN0aW0gZm9ybT1m
b3JtMSAvPicgKworICAgICc8b2JqZWN0IGlkPW9iamVjdEVsZW1lbnQgbmFtZT12aWN0aW0gZm9y
bT1mb3JtMSAvPic7CiB2YXIgZm9ybTEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9ybTEn
KTsKIHZhciBmb3JtMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb3JtMicpOwogaW5wdXRF
bGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0RWxlbWVudCcpOwpAQCAtODYs
MTAgKzg3LDE3IEBAIHNob3VsZEJlKCdpbnB1dEVsZW1lbnQuZm9ybScsICdmb3JtMScpOwogaW5w
dXRFbGVtZW50LmF0dHJpYnV0ZXNbJ2Zvcm0nXS52YWx1ZSA9ICdmb3JtMic7CiBzaG91bGRCZSgn
aW5wdXRFbGVtZW50LmZvcm0nLCAnZm9ybTInKTsKIAorLy8gSFRNTE9iamVjdEVsZW1lbnQgaGFz
IGl0cyBvd24gaW1wbGVtZW50YXRpb24gb2YgZm9ybUF0dHIgcHJvY2Vzc2luZyBhbmQgc28gbmVl
ZHMgaXRzIG93biB0ZXN0Lgorb2JqZWN0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdvYmplY3RFbGVtZW50Jyk7CitzaG91bGRCZSgnb2JqZWN0RWxlbWVudC5mb3JtJywgJ2Zvcm0x
Jyk7CitvYmplY3RFbGVtZW50LmF0dHJpYnV0ZXNbJ2Zvcm0nXS52YWx1ZSA9ICdmb3JtMic7Citz
aG91bGRCZSgnb2JqZWN0RWxlbWVudC5mb3JtJywgJ2Zvcm0yJyk7CisKIGRlYnVnKCcnKTsKIGRl
YnVnKCctIEVuc3VyZXMgd2hldGhlciB0aGUgZm9ybSBvd25lciBpcyBzZXQgY29ycmVjdGx5IHdo
ZW4gdGhlIHZhbHVlIG9mIGZvcm0gYXR0cmlidXRlIGlzIGFkZGVkL3JlbW92ZWQuJyk7CiBjb250
YWluZXIuaW5uZXJIVE1MID0gJzxmb3JtIGlkPW93bmVyIG5hbWU9Zmlyc3RPd25lcj48L2Zvcm0+
JyArCi0gICAgJzxpbnB1dCBpZD1pbnB1dEVsZW1lbnQgbmFtZT12aWN0aW0gLz4nOworICAgICc8
aW5wdXQgaWQ9aW5wdXRFbGVtZW50IG5hbWU9dmljdGltIC8+JyArCisgICAgJzxvYmplY3QgaWQ9
b2JqZWN0RWxlbWVudCBuYW1lPXZpY3RpbSAvPic7CiBvd25lciA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdvd25lcicpOwogaW5wdXRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2lucHV0RWxlbWVudCcpOwogc2hvdWxkQmUoJ2lucHV0RWxlbWVudC5mb3JtJywgJ251bGwnKTsK
QEAgLTk5LDYgKzEwNywxNCBAQCBzaG91bGRCZSgnaW5wdXRFbGVtZW50LmZvcm0nLCAnb3duZXIn
KTsKIGlucHV0RWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ2Zvcm0nKTsKIHNob3VsZEJlKCdpbnB1
dEVsZW1lbnQuZm9ybScsICdudWxsJyk7CiAKKy8vIEhUTUxPYmplY3RFbGVtZW50IGhhcyBpdHMg
b3duIGltcGxlbWVudGF0aW9uIG9mIGZvcm1BdHRyIHByb2Nlc3NpbmcgYW5kIHNvIG5lZWRzIGl0
cyBvd24gdGVzdC4KK29iamVjdEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb2Jq
ZWN0RWxlbWVudCcpOworc2hvdWxkQmUoJ29iamVjdEVsZW1lbnQuZm9ybScsICdudWxsJyk7Citv
YmplY3RFbGVtZW50LnNldEF0dHJpYnV0ZSgnZm9ybScsICdvd25lcicpOworc2hvdWxkQmUoJ29i
amVjdEVsZW1lbnQuZm9ybScsICdvd25lcicpOworb2JqZWN0RWxlbWVudC5yZW1vdmVBdHRyaWJ1
dGUoJ2Zvcm0nKTsKK3Nob3VsZEJlKCdvYmplY3RFbGVtZW50LmZvcm0nLCAnbnVsbCcpOworCiBk
ZWJ1ZygnJyk7CiBkZWJ1ZygnLSBFbnN1cmVzIHdoZXRoZXIgdGhlIGZvcm0gb3duZXIgaXMgc2V0
IGNvcnJlY3RseSB3aGVuIHRoZSBmb3JtIG93bmVyIGlzIGFkZGVkL3JlbW92ZWQuJyk7CiBjb250
YWluZXIuaW5uZXJIVE1MID0gJzxmb3JtIGlkPW93bmVyIG5hbWU9Zmlyc3RPd25lcj48L2Zvcm0+
JyArCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggMmNmZDNkZDczMGY0MmNlZDFlZWJmMjE1NDg5NDJhMjAwMTRmNGYx
Ny4uNjg5YjEzMjMwMmQzZGNlNDI2ZmE0ZTM0NWJkMWQ5ZjYxNTlmOTc1YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDI4IEBACisyMDExLTA4LTE3ICBBZGFtIEtsZWluICA8YWRhbWtAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIEhhbmRsZSAiZm9ybSIgYXR0cmlidXRlIHVwZGF0ZXMgaW4gcGFyc2VN
YXBwZWRBdHRyaWJ1dGUoKSBpbnN0ZWFkIG9mIGF0dHJpYnV0ZUNoYW5nZWQoKSB0byBiZXR0ZXIg
bWF0Y2ggSFRNTEVsZW1lbnQgcHJhY3RpY2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02NjMyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgc2ltcGx5IGEgY2xlYW51cCBjaGFuZ2U6IHRoZXJl
J3Mgbm8gbmVlZCB0aGF0IEkgY2FuIHNlZSBmb3IKKyAgICAgICAgSFRNTEZvcm1Db250cm9sRWxl
bWVudCBhbmQgSFRNTE9iamVjdEVsZW1lbnQgdG8gb3ZlcnJpZGUKKyAgICAgICAgRWxlbWVudDo6
YXR0cmlidXRlQ2hhbmdlZCBzaW5jZSB0aGV5IGNhbiBwcm9wZXJseSBoYW5kbGUgZm9ybQorICAg
ICAgICBhdHRyaWJ1dGUgY2hhbmdlcyBpbiBwYXJzZU1hcHBlZEF0dHJpYnV0ZSwgd2hpY2ggdGhl
eSBhbHNvIG92ZXJyaWRlLgorCisgICAgICAgIFRob3VnaCBubyBjaGFuZ2UgaW4gYmVoYXZpb3Is
IEkndmUgYWRkZWQgdGVzdCBjb3ZlcmFnZSBvZiB0aGUgbW92ZWQKKyAgICAgICAgY29kZSB0byBh
biBleGlzdGluZyB0ZXN0IChmYXN0L2Zvcm1zL2Zvcm0tYXR0cmlidXRlLmh0bWwpIGFuZCBhZGRl
ZAorICAgICAgICBhIG5ldyB0ZXN0LgorCisgICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMvcmFkaW8t
cmVtb3ZlLWZvcm0tYXR0ci5odG1sCisKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtQ29udHJvbEVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1Db250cm9sRWxlbWVudDo6cGFy
c2VNYXBwZWRBdHRyaWJ1dGUpOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVu
dC5oOgorICAgICAgICAqIGh0bWwvSFRNTE9iamVjdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTE9iamVjdEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAg
KiBodG1sL0hUTUxPYmplY3RFbGVtZW50Lmg6CisKIDIwMTEtMDgtMTEgIExldmkgV2VpbnRyYXVi
ICA8bGV2aXdAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlbW92ZSBkZWFkIGNvZGU6IGJvcmRl
cklubmVyUmVjdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRy
b2xFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVu
dC5jcHAKaW5kZXggZjM2OTdjZTE3MTU0ZjE5M2NjNGE4ZDkxZDYwOGQ0NTFhZmE3OWJiNi4uODBj
OGNlZjk2MDVhY2Y0NjIxMzVjMDNhYmM5ZGQwMGI5MTE2NzU0MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCkBAIC04NSw3ICs4NSwxMSBAQCBi
b29sIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmZvcm1Ob1ZhbGlkYXRlKCkgY29uc3QKIAogdm9p
ZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUq
IGF0dHIpCiB7Ci0gICAgaWYgKGF0dHItPm5hbWUoKSA9PSBkaXNhYmxlZEF0dHIpIHsKKyAgICBp
ZiAoYXR0ci0+bmFtZSgpID09IGZvcm1BdHRyKSB7CisgICAgICAgIGZvcm1BdHRyaWJ1dGVDaGFu
Z2VkKCk7CisgICAgICAgIGlmICghZm9ybSgpKQorICAgICAgICAgICAgZG9jdW1lbnQoKS0+Y2hl
Y2tlZFJhZGlvQnV0dG9ucygpLmFkZEJ1dHRvbih0aGlzKTsKKyAgICB9IGVsc2UgaWYgKGF0dHIt
Pm5hbWUoKSA9PSBkaXNhYmxlZEF0dHIpIHsKICAgICAgICAgYm9vbCBvbGREaXNhYmxlZCA9IG1f
ZGlzYWJsZWQ7CiAgICAgICAgIG1fZGlzYWJsZWQgPSAhYXR0ci0+aXNOdWxsKCk7CiAgICAgICAg
IGlmIChvbGREaXNhYmxlZCAhPSBtX2Rpc2FibGVkKSB7CkBAIC00NDYsMTYgKzQ1MCw2IEBAIGJv
b2wgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6aXNEZWZhdWx0QnV0dG9uRm9yRm9ybSgpIGNvbnN0
CiAgICAgcmV0dXJuIGlzU3VjY2Vzc2Z1bFN1Ym1pdEJ1dHRvbigpICYmIGZvcm0oKSAmJiBmb3Jt
KCktPmRlZmF1bHRCdXR0b24oKSA9PSB0aGlzOwogfQogCi12b2lkIEhUTUxGb3JtQ29udHJvbEVs
ZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQoQXR0cmlidXRlKiBhdHRyLCBib29sIHByZXNlcnZlRGVj
bHMpCi17Ci0gICAgaWYgKGF0dHItPm5hbWUoKSA9PSBmb3JtQXR0cikgewotICAgICAgICBmb3Jt
QXR0cmlidXRlQ2hhbmdlZCgpOwotICAgICAgICBpZiAoIWZvcm0oKSkKLSAgICAgICAgICAgIGRv
Y3VtZW50KCktPmNoZWNrZWRSYWRpb0J1dHRvbnMoKS5hZGRCdXR0b24odGhpcyk7Ci0gICAgfSBl
bHNlCi0gICAgICAgIEhUTUxFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKGF0dHIsIHByZXNlcnZl
RGVjbHMpOwotfQotCiBib29sIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmlzTGFiZWxhYmxlKCkg
Y29uc3QKIHsKICAgICAvLyBGSVhNRTogQWRkIG1ldGVyVGFnIGFuZCBvdXRwdXRUYWcgdG8gdGhl
IGxpc3Qgb25jZSB3ZSBzdXBwb3J0IHRoZW0uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZv
cm1Db250cm9sRWxlbWVudC5oCmluZGV4IDFiM2E1ZmNiNjQ1NDg5NWNiZmIzMDg4ZjMwMzVjNWIw
Mzg5MzNhZTYuLmU4ZTE1OTM1MjY1MWM3MjQzMDM2OWNkNDYwNWUzYTNlYjQ2MTYzZGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oCkBAIC05OSw4ICs5
OSw2IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgcmVhZE9ubHkoKSBjb25zdCB7IHJldHVybiBtX3Jl
YWRPbmx5OyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgYXR0cmlidXRlQ2hhbmdlZChBdHRyaWJ1dGUq
LCBib29sIHByZXNlcnZlRGVjbHMgPSBmYWxzZSk7Ci0KICAgICB1c2luZyBUcmVlU2hhcmVkPENv
bnRhaW5lck5vZGU+OjpyZWY7CiAgICAgdXNpbmcgVHJlZVNoYXJlZDxDb250YWluZXJOb2RlPjo6
ZGVyZWY7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHAKaW5kZXgg
ZTNjMmJkMTQzYTMwZTJiNWMxNGU2MTQ5MWY4YWVhNGZhZGZmZjNkZC4uM2FkNzZmYjk5NjI4OWEx
NjQ3ZTU1ZDc0YTY5YjA2YzhiZGI2ZWM3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MT2JqZWN0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2Jq
ZWN0RWxlbWVudC5jcHAKQEAgLTg1LDcgKzg1LDkgQEAgUmVuZGVyV2lkZ2V0KiBIVE1MT2JqZWN0
RWxlbWVudDo6cmVuZGVyV2lkZ2V0Rm9ySlNCaW5kaW5ncygpCiAKIHZvaWQgSFRNTE9iamVjdEVs
ZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSogYXR0cikKIHsKLSAgICBpZiAo
YXR0ci0+bmFtZSgpID09IHR5cGVBdHRyKSB7CisgICAgaWYgKGF0dHItPm5hbWUoKSA9PSBmb3Jt
QXR0cikgeworICAgICAgICBmb3JtQXR0cmlidXRlQ2hhbmdlZCgpOworICAgIH0gZWxzZSBpZiAo
YXR0ci0+bmFtZSgpID09IHR5cGVBdHRyKSB7CiAgICAgICAgIG1fc2VydmljZVR5cGUgPSBhdHRy
LT52YWx1ZSgpLmxvd2VyKCk7CiAgICAgICAgIHNpemVfdCBwb3MgPSBtX3NlcnZpY2VUeXBlLmZp
bmQoIjsiKTsKICAgICAgICAgaWYgKHBvcyAhPSBub3RGb3VuZCkKQEAgLTM3MywxNCArMzc1LDYg
QEAgdm9pZCBIVE1MT2JqZWN0RWxlbWVudDo6cmVtb3ZlZEZyb21Eb2N1bWVudCgpCiAgICAgRm9y
bUFzc29jaWF0ZWRFbGVtZW50OjpyZW1vdmVkRnJvbURvY3VtZW50KCk7CiB9CiAKLXZvaWQgSFRN
TE9iamVjdEVsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQoQXR0cmlidXRlKiBhdHRyLCBib29sIHBy
ZXNlcnZlRGVjbHMpCi17Ci0gICAgaWYgKGF0dHItPm5hbWUoKSA9PSBmb3JtQXR0cikKLSAgICAg
ICAgZm9ybUF0dHJpYnV0ZUNoYW5nZWQoKTsKLSAgICBlbHNlCi0gICAgICAgIEhUTUxQbHVnSW5J
bWFnZUVsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQoYXR0ciwgcHJlc2VydmVEZWNscyk7Ci19Ci0K
IHZvaWQgSFRNTE9iamVjdEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChib29sIGNoYW5nZWRCeVBh
cnNlciwgTm9kZSogYmVmb3JlQ2hhbmdlLCBOb2RlKiBhZnRlckNoYW5nZSwgaW50IGNoaWxkQ291
bnREZWx0YSkKIHsKICAgICB1cGRhdGVEb2NOYW1lZEl0ZW0oKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE9iamVjdEVsZW1lbnQuaAppbmRleCA2YzBlMDVlNGFmYjZlZjljMmFiMmEyMGI5ODM5NGRh
NjRjZjY1NmE1Li42MjAxN2FlOTE3MTZkN2E2YjViM2NiM2UyNTdlNDZlYzFjZGY5OGE3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5oCkBAIC01OCw4ICs1OCw2IEBAIHB1
YmxpYzoKICAgICBib29sIGNoZWNrVmFsaWRpdHkoKSB7IHJldHVybiB0cnVlOyB9CiAgICAgdm9p
ZCBzZXRDdXN0b21WYWxpZGl0eShjb25zdCBTdHJpbmcmKSB7IH0KIAotICAgIHZpcnR1YWwgdm9p
ZCBhdHRyaWJ1dGVDaGFuZ2VkKEF0dHJpYnV0ZSosIGJvb2wgcHJlc2VydmVEZWNscyA9IGZhbHNl
KTsKLQogICAgIHVzaW5nIFRyZWVTaGFyZWQ8Q29udGFpbmVyTm9kZT46OnJlZjsKICAgICB1c2lu
ZyBUcmVlU2hhcmVkPENvbnRhaW5lck5vZGU+OjpkZXJlZjsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104237</attachid>
            <date>2011-08-17 14:07:38 -0700</date>
            <delta_ts>2011-08-17 14:40:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66321-20110817140737.patch</filename>
            <type>text/plain</type>
            <size>12631</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTI4ODkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwZWY1MzdlYTE2ZGRhY2U3ZTZiZGJj
NmQxYjc5Njk2Yzc5NGEzNWJiLi44NTI4ZGExYjRkMjhiOWQzZmMzNzZmNDA4MzllOTc0MTZhOTg2
MDNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDgtMTcgIEFkYW0gS2xlaW4gIDxhZGFt
a0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSGFuZGxlICJmb3JtIiBhdHRyaWJ1dGUgdXBkYXRl
cyBpbiBwYXJzZU1hcHBlZEF0dHJpYnV0ZSgpIGluc3RlYWQgb2YgYXR0cmlidXRlQ2hhbmdlZCgp
IHRvIGJldHRlciBtYXRjaCBIVE1MRWxlbWVudCBwcmFjdGljZXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzIxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgbmV3IGNvdmVyYWdlIHRvIGVuc3Vy
ZSB0aGF0IGFkZGluZyBhIHJhZGlvIGJ1dHRvbiB0byBhIHJhZGlvCisgICAgICAgIGdyb3VwIGlu
IHRoZSBkb2N1bWVudCBieSByZW1vdmluZyBhIGZvcm0gYXR0cmlidXRlIGxlYXZlcyB0aGUgZ3Jv
dXAgaW4KKyAgICAgICAgYSB2YWxpZCBzdGF0ZSAobm8gbW9yZSB0aGFuIG9uZSBidXR0b24gY2hl
Y2tlZCkuCisKKyAgICAgICAgQmVlZmVkIHVwIGNvdmVyYWdlIG9mIGZvcm0gYXNzb2NpYXRlZCBl
bGVtZW50cyB0byBiZXR0ZXIgY292ZXIKKyAgICAgICAgSFRNTE9iamVjdEVsZW1lbnQuCisKKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL2Zvcm0tYXR0cmlidXRlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBmYXN0L2Zvcm1zL3JhZGlvLXJlbW92ZS1mb3JtLWF0dHItZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2Zvcm1zL3JhZGlvLXJlbW92ZS1mb3JtLWF0dHIuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvZm9ybS1hdHRyaWJ1dGUuanM6Cisg
ICAgICAgIEFkZGVkIGNvdmVyYWdlIG9mIDxvYmplY3QgZm9ybT0iIj4gYmVoYXZpb3IuCisKIDIw
MTEtMDgtMTEgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBwZmVs
ZG1hbiBzYXlzIHdlIG5lZWQgdG8gcmViYXNlbGluZSB0aGlzIHRlc3QuICBUaGUgbWFzc2l2ZWx5
IGNvbXBsZXgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZm9ybS1hdHRyaWJ1
dGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3JtLWF0dHJpYnV0ZS1l
eHBlY3RlZC50eHQKaW5kZXggNTJjYjI1MjEwNDZkOTYyNDg4MDJlY2MxNDY2NDVhM2M1YzY0NzYw
Zi4uMzdiYzk4OWFiNzI5YjNjYTM2MmYwZGJkZjQ1YjUwMWQyYmZhMzcyNCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3JtLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3JtLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQKQEAgLTM0
LDExICszNCwxNiBAQCBQQVNTIGlucHV0RWxlbWVudDMuZm9ybSBpcyBvd25lcgogLSBFbnN1cmVz
IHdoZXRoZXIgdGhlIGZvcm0gb3duZXIgaXMgc2V0IGNvcnJlY3RseSB3aGVuIHRoZSB2YWx1ZSBv
ZiBmb3JtIGF0dHJpYnV0ZSBvZiBhIGZvcm0tYXNzb2NpYXRlZCBlbGVtZW50IGNoYW5nZWQuCiBQ
QVNTIGlucHV0RWxlbWVudC5mb3JtIGlzIGZvcm0xCiBQQVNTIGlucHV0RWxlbWVudC5mb3JtIGlz
IGZvcm0yCitQQVNTIG9iamVjdEVsZW1lbnQuZm9ybSBpcyBmb3JtMQorUEFTUyBvYmplY3RFbGVt
ZW50LmZvcm0gaXMgZm9ybTIKIAogLSBFbnN1cmVzIHdoZXRoZXIgdGhlIGZvcm0gb3duZXIgaXMg
c2V0IGNvcnJlY3RseSB3aGVuIHRoZSB2YWx1ZSBvZiBmb3JtIGF0dHJpYnV0ZSBpcyBhZGRlZC9y
ZW1vdmVkLgogUEFTUyBpbnB1dEVsZW1lbnQuZm9ybSBpcyBudWxsCiBQQVNTIGlucHV0RWxlbWVu
dC5mb3JtIGlzIG93bmVyCiBQQVNTIGlucHV0RWxlbWVudC5mb3JtIGlzIG51bGwKK1BBU1Mgb2Jq
ZWN0RWxlbWVudC5mb3JtIGlzIG51bGwKK1BBU1Mgb2JqZWN0RWxlbWVudC5mb3JtIGlzIG93bmVy
CitQQVNTIG9iamVjdEVsZW1lbnQuZm9ybSBpcyBudWxsCiAKIC0gRW5zdXJlcyB3aGV0aGVyIHRo
ZSBmb3JtIG93bmVyIGlzIHNldCBjb3JyZWN0bHkgd2hlbiB0aGUgZm9ybSBvd25lciBpcyBhZGRl
ZC9yZW1vdmVkLgogUEFTUyBvd25lci5uYW1lIGlzICJmaXJzdE93bmVyIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yYWRpby1yZW1vdmUtZm9ybS1hdHRyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFkaW8tcmVtb3ZlLWZvcm0tYXR0ci1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNzFiMWIzN2M4NWQ1Yzg0YTI0ODFhYjgwMDU1YTcwOTUxNGUzZDFm
ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFkaW8tcmVtb3Zl
LWZvcm0tYXR0ci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGVzdCB0aGF0IHJlbW92
aW5nIGEgZm9ybSBhdHRyaWJ1dGUgZnJvbSBhbiBpbnB1dCBlbGVtZW50IGxlYXZlcyBhbnkgZXhp
c3RpbmcgcmFkaW8gYnV0dG9uIGdyb3VwIGluIHRoZSBkb2N1bWVudCBpbiBhIHZhbGlkIHN0YXRl
LgorCistIFZlcmlmeSBpbml0aWFsIHN0YXRlCitQQVNTIHJiMS5jaGVja2VkIGlzIGZhbHNlCitQ
QVNTIHJiMi5jaGVja2VkIGlzIGZhbHNlCitQQVNTIHJiMy5jaGVja2VkIGlzIHRydWUKK1BBU1Mg
cmI0LmNoZWNrZWQgaXMgZmFsc2UKK1BBU1MgcmI1LmNoZWNrZWQgaXMgdHJ1ZQorCistIFJlbW92
ZSBmb3JtIGF0dHIgZnJvbSByYjMsIHZlcmlmeSB0aGF0IHJiNSBiZWNvbWVzIHVuY2hlY2tlZCBz
dGF0ZQorUEFTUyByYjEuY2hlY2tlZCBpcyBmYWxzZQorUEFTUyByYjIuY2hlY2tlZCBpcyBmYWxz
ZQorUEFTUyByYjMuY2hlY2tlZCBpcyB0cnVlCitQQVNTIHJiNC5jaGVja2VkIGlzIGZhbHNlCitQ
QVNTIHJiNS5jaGVja2VkIGlzIGZhbHNlCisgIAorICAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvcmFkaW8tcmVtb3ZlLWZvcm0tYXR0ci5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9yYWRpby1yZW1vdmUtZm9ybS1hdHRyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDFkNDAzZmU1
YWVhZTE3MGZkNmYzOTc5Yjk2M2JmM2MzYzJiNmJjMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvcmFkaW8tcmVtb3ZlLWZvcm0tYXR0ci5odG1sCkBAIC0wLDAgKzEs
NDEgQEAKKzxodG1sPgorPGhlYWQ+CisgIDxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8cD5UZXN0IHRoYXQgcmVtb3ZpbmcgYSBm
b3JtIGF0dHJpYnV0ZSBmcm9tIGFuIGlucHV0IGVsZW1lbnQgbGVhdmVzIGFueQorZXhpc3Rpbmcg
cmFkaW8gYnV0dG9uIGdyb3VwIGluIHRoZSAgZG9jdW1lbnQgaW4gYSB2YWxpZCBzdGF0ZS48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxmb3JtIGlkPSJmb3JtMSI+CisgIDxpbnB1dCB0
eXBlPSJyYWRpbyIgbmFtZT0idGVzdCIgaWQ9InJiMSIgdmFsdWU9IjEiPgorICA8aW5wdXQgdHlw
ZT0icmFkaW8iIG5hbWU9InRlc3QiIGlkPSJyYjIiIHZhbHVlPSIyIj4KKzwvZm9ybT4KKzxpbnB1
dCB0eXBlPSJyYWRpbyIgbmFtZT0idGVzdCIgaWQ9InJiMyIgZm9ybT0iZm9ybTEiIHZhbHVlPSIz
IiBjaGVja2VkPgorPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJ0ZXN0IiBpZD0icmI0IiB2YWx1
ZT0iNCI+Cis8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9InRlc3QiIGlkPSJyYjUiIHZhbHVlPSI1
IiBjaGVja2VkPgorPHNjcmlwdD4KKyAgdmFyIHJlc3VsdCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdyZXN1bHQnKTsKKyAgdmFyIGZvcm0gPSBkb2N1bWVudC5mb3Jtc1swXTsKKyAgdmFyIHJi
MSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyYjEnKTsKKyAgdmFyIHJiMiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdyYjInKTsKKyAgdmFyIHJiMyA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdyYjMnKTsKKyAgdmFyIHJiNCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyYjQnKTsK
KyAgdmFyIHJiNSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyYjUnKTsKKworICBkZWJ1Zygn
LSBWZXJpZnkgaW5pdGlhbCBzdGF0ZScpCisgIHNob3VsZEJlRmFsc2UoJ3JiMS5jaGVja2VkJyk7
CisgIHNob3VsZEJlRmFsc2UoJ3JiMi5jaGVja2VkJyk7CisgIHNob3VsZEJlVHJ1ZSgncmIzLmNo
ZWNrZWQnKTsKKyAgc2hvdWxkQmVGYWxzZSgncmI0LmNoZWNrZWQnKTsKKyAgc2hvdWxkQmVUcnVl
KCdyYjUuY2hlY2tlZCcpOworCisgIGRlYnVnKCcnKTsKKyAgZGVidWcoJy0gUmVtb3ZlIGZvcm0g
YXR0ciBmcm9tIHJiMywgdmVyaWZ5IHRoYXQgcmI1IGJlY29tZXMgdW5jaGVja2VkIHN0YXRlJyk7
CisgIHJiMy5yZW1vdmVBdHRyaWJ1dGUoJ2Zvcm0nKTsKKyAgc2hvdWxkQmVGYWxzZSgncmIxLmNo
ZWNrZWQnKTsKKyAgc2hvdWxkQmVGYWxzZSgncmIyLmNoZWNrZWQnKTsKKyAgc2hvdWxkQmVUcnVl
KCdyYjMuY2hlY2tlZCcpOworICBzaG91bGRCZUZhbHNlKCdyYjQuY2hlY2tlZCcpOworICBzaG91
bGRCZUZhbHNlKCdyYjUuY2hlY2tlZCcpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9mb3JtLWF0dHJp
YnV0ZS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2Zvcm0tYXR0cmli
dXRlLmpzCmluZGV4IDMwNzliYmZiNzNhM2QwNDkwZjA2YTAzY2U1MDFjNWRmYmUyYTVmYTEuLjBi
OWFjNzg4YzczZDlmNDYxMDFkMDA3NjNhN2EzYzc4ODUxMDNkOWYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2Zvcm0tYXR0cmlidXRlLmpzCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2Zvcm0tYXR0cmlidXRlLmpzCkBAIC03
OCw3ICs3OCw4IEBAIGRlYnVnKCcnKTsKIGRlYnVnKCctIEVuc3VyZXMgd2hldGhlciB0aGUgZm9y
bSBvd25lciBpcyBzZXQgY29ycmVjdGx5IHdoZW4gdGhlIHZhbHVlIG9mIGZvcm0gYXR0cmlidXRl
IG9mIGEgZm9ybS1hc3NvY2lhdGVkIGVsZW1lbnQgY2hhbmdlZC4nKTsKIGNvbnRhaW5lci5pbm5l
ckhUTUwgPSAnPGZvcm0gaWQ9Zm9ybTE+PC9mb3JtPicgKwogICAgICc8Zm9ybSBpZD1mb3JtMj48
L2Zvcm0+JyArCi0gICAgJzxpbnB1dCBpZD1pbnB1dEVsZW1lbnQgbmFtZT12aWN0aW0gZm9ybT1m
b3JtMSAvPic7CisgICAgJzxpbnB1dCBpZD1pbnB1dEVsZW1lbnQgbmFtZT12aWN0aW0gZm9ybT1m
b3JtMSAvPicgKworICAgICc8b2JqZWN0IGlkPW9iamVjdEVsZW1lbnQgbmFtZT12aWN0aW0gZm9y
bT1mb3JtMSAvPic7CiB2YXIgZm9ybTEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9ybTEn
KTsKIHZhciBmb3JtMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb3JtMicpOwogaW5wdXRF
bGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0RWxlbWVudCcpOwpAQCAtODYs
MTAgKzg3LDE3IEBAIHNob3VsZEJlKCdpbnB1dEVsZW1lbnQuZm9ybScsICdmb3JtMScpOwogaW5w
dXRFbGVtZW50LmF0dHJpYnV0ZXNbJ2Zvcm0nXS52YWx1ZSA9ICdmb3JtMic7CiBzaG91bGRCZSgn
aW5wdXRFbGVtZW50LmZvcm0nLCAnZm9ybTInKTsKIAorLy8gSFRNTE9iamVjdEVsZW1lbnQgaGFz
IGl0cyBvd24gaW1wbGVtZW50YXRpb24gb2YgZm9ybUF0dHIgcHJvY2Vzc2luZyBhbmQgc28gbmVl
ZHMgaXRzIG93biB0ZXN0Lgorb2JqZWN0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdvYmplY3RFbGVtZW50Jyk7CitzaG91bGRCZSgnb2JqZWN0RWxlbWVudC5mb3JtJywgJ2Zvcm0x
Jyk7CitvYmplY3RFbGVtZW50LmF0dHJpYnV0ZXNbJ2Zvcm0nXS52YWx1ZSA9ICdmb3JtMic7Citz
aG91bGRCZSgnb2JqZWN0RWxlbWVudC5mb3JtJywgJ2Zvcm0yJyk7CisKIGRlYnVnKCcnKTsKIGRl
YnVnKCctIEVuc3VyZXMgd2hldGhlciB0aGUgZm9ybSBvd25lciBpcyBzZXQgY29ycmVjdGx5IHdo
ZW4gdGhlIHZhbHVlIG9mIGZvcm0gYXR0cmlidXRlIGlzIGFkZGVkL3JlbW92ZWQuJyk7CiBjb250
YWluZXIuaW5uZXJIVE1MID0gJzxmb3JtIGlkPW93bmVyIG5hbWU9Zmlyc3RPd25lcj48L2Zvcm0+
JyArCi0gICAgJzxpbnB1dCBpZD1pbnB1dEVsZW1lbnQgbmFtZT12aWN0aW0gLz4nOworICAgICc8
aW5wdXQgaWQ9aW5wdXRFbGVtZW50IG5hbWU9dmljdGltIC8+JyArCisgICAgJzxvYmplY3QgaWQ9
b2JqZWN0RWxlbWVudCBuYW1lPXZpY3RpbSAvPic7CiBvd25lciA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdvd25lcicpOwogaW5wdXRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2lucHV0RWxlbWVudCcpOwogc2hvdWxkQmUoJ2lucHV0RWxlbWVudC5mb3JtJywgJ251bGwnKTsK
QEAgLTk5LDYgKzEwNywxNCBAQCBzaG91bGRCZSgnaW5wdXRFbGVtZW50LmZvcm0nLCAnb3duZXIn
KTsKIGlucHV0RWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ2Zvcm0nKTsKIHNob3VsZEJlKCdpbnB1
dEVsZW1lbnQuZm9ybScsICdudWxsJyk7CiAKKy8vIEhUTUxPYmplY3RFbGVtZW50IGhhcyBpdHMg
b3duIGltcGxlbWVudGF0aW9uIG9mIGZvcm1BdHRyIHByb2Nlc3NpbmcgYW5kIHNvIG5lZWRzIGl0
cyBvd24gdGVzdC4KK29iamVjdEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb2Jq
ZWN0RWxlbWVudCcpOworc2hvdWxkQmUoJ29iamVjdEVsZW1lbnQuZm9ybScsICdudWxsJyk7Citv
YmplY3RFbGVtZW50LnNldEF0dHJpYnV0ZSgnZm9ybScsICdvd25lcicpOworc2hvdWxkQmUoJ29i
amVjdEVsZW1lbnQuZm9ybScsICdvd25lcicpOworb2JqZWN0RWxlbWVudC5yZW1vdmVBdHRyaWJ1
dGUoJ2Zvcm0nKTsKK3Nob3VsZEJlKCdvYmplY3RFbGVtZW50LmZvcm0nLCAnbnVsbCcpOworCiBk
ZWJ1ZygnJyk7CiBkZWJ1ZygnLSBFbnN1cmVzIHdoZXRoZXIgdGhlIGZvcm0gb3duZXIgaXMgc2V0
IGNvcnJlY3RseSB3aGVuIHRoZSBmb3JtIG93bmVyIGlzIGFkZGVkL3JlbW92ZWQuJyk7CiBjb250
YWluZXIuaW5uZXJIVE1MID0gJzxmb3JtIGlkPW93bmVyIG5hbWU9Zmlyc3RPd25lcj48L2Zvcm0+
JyArCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggMmNmZDNkZDczMGY0MmNlZDFlZWJmMjE1NDg5NDJhMjAwMTRmNGYx
Ny4uNjg5YjEzMjMwMmQzZGNlNDI2ZmE0ZTM0NWJkMWQ5ZjYxNTlmOTc1YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDI4IEBACisyMDExLTA4LTE3ICBBZGFtIEtsZWluICA8YWRhbWtAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIEhhbmRsZSAiZm9ybSIgYXR0cmlidXRlIHVwZGF0ZXMgaW4gcGFyc2VN
YXBwZWRBdHRyaWJ1dGUoKSBpbnN0ZWFkIG9mIGF0dHJpYnV0ZUNoYW5nZWQoKSB0byBiZXR0ZXIg
bWF0Y2ggSFRNTEVsZW1lbnQgcHJhY3RpY2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02NjMyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgc2ltcGx5IGEgY2xlYW51cCBjaGFuZ2U6IHRoZXJl
J3Mgbm8gbmVlZCB0aGF0IEkgY2FuIHNlZSBmb3IKKyAgICAgICAgSFRNTEZvcm1Db250cm9sRWxl
bWVudCBhbmQgSFRNTE9iamVjdEVsZW1lbnQgdG8gb3ZlcnJpZGUKKyAgICAgICAgRWxlbWVudDo6
YXR0cmlidXRlQ2hhbmdlZCBzaW5jZSB0aGV5IGNhbiBwcm9wZXJseSBoYW5kbGUgZm9ybQorICAg
ICAgICBhdHRyaWJ1dGUgY2hhbmdlcyBpbiBwYXJzZU1hcHBlZEF0dHJpYnV0ZSwgd2hpY2ggdGhl
eSBhbHNvIG92ZXJyaWRlLgorCisgICAgICAgIFRob3VnaCBubyBjaGFuZ2UgaW4gYmVoYXZpb3Is
IEkndmUgYWRkZWQgdGVzdCBjb3ZlcmFnZSBvZiB0aGUgbW92ZWQKKyAgICAgICAgY29kZSB0byBh
biBleGlzdGluZyB0ZXN0IChmYXN0L2Zvcm1zL2Zvcm0tYXR0cmlidXRlLmh0bWwpIGFuZCBhZGRl
ZAorICAgICAgICBhIG5ldyB0ZXN0LgorCisgICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMvcmFkaW8t
cmVtb3ZlLWZvcm0tYXR0ci5odG1sCisKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtQ29udHJvbEVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1Db250cm9sRWxlbWVudDo6cGFy
c2VNYXBwZWRBdHRyaWJ1dGUpOgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVu
dC5oOgorICAgICAgICAqIGh0bWwvSFRNTE9iamVjdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTE9iamVjdEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAg
KiBodG1sL0hUTUxPYmplY3RFbGVtZW50Lmg6CisKIDIwMTEtMDgtMTEgIExldmkgV2VpbnRyYXVi
ICA8bGV2aXdAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlbW92ZSBkZWFkIGNvZGU6IGJvcmRl
cklubmVyUmVjdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRy
b2xFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVu
dC5jcHAKaW5kZXggZjM2OTdjZTE3MTU0ZjE5M2NjNGE4ZDkxZDYwOGQ0NTFhZmE3OWJiNi4uODBj
OGNlZjk2MDVhY2Y0NjIxMzVjMDNhYmM5ZGQwMGI5MTE2NzU0MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCkBAIC04NSw3ICs4NSwxMSBAQCBi
b29sIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmZvcm1Ob1ZhbGlkYXRlKCkgY29uc3QKIAogdm9p
ZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUq
IGF0dHIpCiB7Ci0gICAgaWYgKGF0dHItPm5hbWUoKSA9PSBkaXNhYmxlZEF0dHIpIHsKKyAgICBp
ZiAoYXR0ci0+bmFtZSgpID09IGZvcm1BdHRyKSB7CisgICAgICAgIGZvcm1BdHRyaWJ1dGVDaGFu
Z2VkKCk7CisgICAgICAgIGlmICghZm9ybSgpKQorICAgICAgICAgICAgZG9jdW1lbnQoKS0+Y2hl
Y2tlZFJhZGlvQnV0dG9ucygpLmFkZEJ1dHRvbih0aGlzKTsKKyAgICB9IGVsc2UgaWYgKGF0dHIt
Pm5hbWUoKSA9PSBkaXNhYmxlZEF0dHIpIHsKICAgICAgICAgYm9vbCBvbGREaXNhYmxlZCA9IG1f
ZGlzYWJsZWQ7CiAgICAgICAgIG1fZGlzYWJsZWQgPSAhYXR0ci0+aXNOdWxsKCk7CiAgICAgICAg
IGlmIChvbGREaXNhYmxlZCAhPSBtX2Rpc2FibGVkKSB7CkBAIC00NDYsMTYgKzQ1MCw2IEBAIGJv
b2wgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6aXNEZWZhdWx0QnV0dG9uRm9yRm9ybSgpIGNvbnN0
CiAgICAgcmV0dXJuIGlzU3VjY2Vzc2Z1bFN1Ym1pdEJ1dHRvbigpICYmIGZvcm0oKSAmJiBmb3Jt
KCktPmRlZmF1bHRCdXR0b24oKSA9PSB0aGlzOwogfQogCi12b2lkIEhUTUxGb3JtQ29udHJvbEVs
ZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQoQXR0cmlidXRlKiBhdHRyLCBib29sIHByZXNlcnZlRGVj
bHMpCi17Ci0gICAgaWYgKGF0dHItPm5hbWUoKSA9PSBmb3JtQXR0cikgewotICAgICAgICBmb3Jt
QXR0cmlidXRlQ2hhbmdlZCgpOwotICAgICAgICBpZiAoIWZvcm0oKSkKLSAgICAgICAgICAgIGRv
Y3VtZW50KCktPmNoZWNrZWRSYWRpb0J1dHRvbnMoKS5hZGRCdXR0b24odGhpcyk7Ci0gICAgfSBl
bHNlCi0gICAgICAgIEhUTUxFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKGF0dHIsIHByZXNlcnZl
RGVjbHMpOwotfQotCiBib29sIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmlzTGFiZWxhYmxlKCkg
Y29uc3QKIHsKICAgICAvLyBGSVhNRTogQWRkIG1ldGVyVGFnIGFuZCBvdXRwdXRUYWcgdG8gdGhl
IGxpc3Qgb25jZSB3ZSBzdXBwb3J0IHRoZW0uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZv
cm1Db250cm9sRWxlbWVudC5oCmluZGV4IDFiM2E1ZmNiNjQ1NDg5NWNiZmIzMDg4ZjMwMzVjNWIw
Mzg5MzNhZTYuLmU4ZTE1OTM1MjY1MWM3MjQzMDM2OWNkNDYwNWUzYTNlYjQ2MTYzZGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oCkBAIC05OSw4ICs5
OSw2IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgcmVhZE9ubHkoKSBjb25zdCB7IHJldHVybiBtX3Jl
YWRPbmx5OyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgYXR0cmlidXRlQ2hhbmdlZChBdHRyaWJ1dGUq
LCBib29sIHByZXNlcnZlRGVjbHMgPSBmYWxzZSk7Ci0KICAgICB1c2luZyBUcmVlU2hhcmVkPENv
bnRhaW5lck5vZGU+OjpyZWY7CiAgICAgdXNpbmcgVHJlZVNoYXJlZDxDb250YWluZXJOb2RlPjo6
ZGVyZWY7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHAKaW5kZXgg
ZTNjMmJkMTQzYTMwZTJiNWMxNGU2MTQ5MWY4YWVhNGZhZGZmZjNkZC4uMjQ4MWQxMGFjN2IwZGYw
ZWNmMzY4MzAzNDkzYjYxNjA4ZDUwNGViNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MT2JqZWN0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2Jq
ZWN0RWxlbWVudC5jcHAKQEAgLTg1LDcgKzg1LDkgQEAgUmVuZGVyV2lkZ2V0KiBIVE1MT2JqZWN0
RWxlbWVudDo6cmVuZGVyV2lkZ2V0Rm9ySlNCaW5kaW5ncygpCiAKIHZvaWQgSFRNTE9iamVjdEVs
ZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSogYXR0cikKIHsKLSAgICBpZiAo
YXR0ci0+bmFtZSgpID09IHR5cGVBdHRyKSB7CisgICAgaWYgKGF0dHItPm5hbWUoKSA9PSBmb3Jt
QXR0cikKKyAgICAgICAgZm9ybUF0dHJpYnV0ZUNoYW5nZWQoKTsKKyAgICBlbHNlIGlmIChhdHRy
LT5uYW1lKCkgPT0gdHlwZUF0dHIpIHsKICAgICAgICAgbV9zZXJ2aWNlVHlwZSA9IGF0dHItPnZh
bHVlKCkubG93ZXIoKTsKICAgICAgICAgc2l6ZV90IHBvcyA9IG1fc2VydmljZVR5cGUuZmluZCgi
OyIpOwogICAgICAgICBpZiAocG9zICE9IG5vdEZvdW5kKQpAQCAtMzczLDE0ICszNzUsNiBAQCB2
b2lkIEhUTUxPYmplY3RFbGVtZW50OjpyZW1vdmVkRnJvbURvY3VtZW50KCkKICAgICBGb3JtQXNz
b2NpYXRlZEVsZW1lbnQ6OnJlbW92ZWRGcm9tRG9jdW1lbnQoKTsKIH0KIAotdm9pZCBIVE1MT2Jq
ZWN0RWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChBdHRyaWJ1dGUqIGF0dHIsIGJvb2wgcHJlc2Vy
dmVEZWNscykKLXsKLSAgICBpZiAoYXR0ci0+bmFtZSgpID09IGZvcm1BdHRyKQotICAgICAgICBm
b3JtQXR0cmlidXRlQ2hhbmdlZCgpOwotICAgIGVsc2UKLSAgICAgICAgSFRNTFBsdWdJbkltYWdl
RWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChhdHRyLCBwcmVzZXJ2ZURlY2xzKTsKLX0KLQogdm9p
ZCBIVE1MT2JqZWN0RWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGJvb2wgY2hhbmdlZEJ5UGFyc2Vy
LCBOb2RlKiBiZWZvcmVDaGFuZ2UsIE5vZGUqIGFmdGVyQ2hhbmdlLCBpbnQgY2hpbGRDb3VudERl
bHRhKQogewogICAgIHVwZGF0ZURvY05hbWVkSXRlbSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
T2JqZWN0RWxlbWVudC5oCmluZGV4IDZjMGUwNWU0YWZiNmVmOWMyYWIyYTIwYjk4Mzk0ZGE2NGNm
NjU2YTUuLjYyMDE3YWU5MTcxNmQ3YTZiNWIzY2IzZTI1N2U0NmVjMWNkZjk4YTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmgKQEAgLTU4LDggKzU4LDYgQEAgcHVibGlj
OgogICAgIGJvb2wgY2hlY2tWYWxpZGl0eSgpIHsgcmV0dXJuIHRydWU7IH0KICAgICB2b2lkIHNl
dEN1c3RvbVZhbGlkaXR5KGNvbnN0IFN0cmluZyYpIHsgfQogCi0gICAgdmlydHVhbCB2b2lkIGF0
dHJpYnV0ZUNoYW5nZWQoQXR0cmlidXRlKiwgYm9vbCBwcmVzZXJ2ZURlY2xzID0gZmFsc2UpOwot
CiAgICAgdXNpbmcgVHJlZVNoYXJlZDxDb250YWluZXJOb2RlPjo6cmVmOwogICAgIHVzaW5nIFRy
ZWVTaGFyZWQ8Q29udGFpbmVyTm9kZT46OmRlcmVmOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104249</attachid>
            <date>2011-08-17 14:40:52 -0700</date>
            <delta_ts>2011-08-18 03:22:15 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-66321-20110817144051.patch</filename>
            <type>text/plain</type>
            <size>13057</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTI4ODkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwZWY1MzdlYTE2ZGRhY2U3ZTZiZGJj
NmQxYjc5Njk2Yzc5NGEzNWJiLi4zOTkwZDBlNjc4Nzk3ZjkxMDc2YzFiOTYzOWViMjU1NDlhNWUw
YjI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDgtMTcgIEFkYW0gS2xlaW4gIDxhZGFt
a0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSGFuZGxlICJmb3JtIiBhdHRyaWJ1dGUgdXBkYXRl
cyBpbiBwYXJzZU1hcHBlZEF0dHJpYnV0ZSgpIGluc3RlYWQgb2YgYXR0cmlidXRlQ2hhbmdlZCgp
IHRvIGJldHRlciBtYXRjaCBIVE1MRWxlbWVudCBwcmFjdGljZXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzIxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgQWRkZWQgbmV3IGNvdmVyYWdlIHRvIGVuc3VyZSB0
aGF0IGFkZGluZyBhIHJhZGlvIGJ1dHRvbiB0byBhIHJhZGlvCisgICAgICAgIGdyb3VwIGluIHRo
ZSBkb2N1bWVudCBieSByZW1vdmluZyBhIGZvcm0gYXR0cmlidXRlIGxlYXZlcyB0aGUgZ3JvdXAg
aW4KKyAgICAgICAgYSB2YWxpZCBzdGF0ZSAobm8gbW9yZSB0aGFuIG9uZSBidXR0b24gY2hlY2tl
ZCkuCisKKyAgICAgICAgQmVlZmVkIHVwIGNvdmVyYWdlIG9mIGZvcm0gYXNzb2NpYXRlZCBlbGVt
ZW50cyB0byBiZXR0ZXIgY292ZXIKKyAgICAgICAgSFRNTE9iamVjdEVsZW1lbnQuCisKKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL2Zvcm0tYXR0cmlidXRlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBm
YXN0L2Zvcm1zL3JhZGlvLXJlbW92ZS1mb3JtLWF0dHItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL3JhZGlvLXJlbW92ZS1mb3JtLWF0dHIuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvZm9ybS1hdHRyaWJ1dGUuanM6CisgICAg
ICAgIEFkZGVkIGNvdmVyYWdlIG9mIDxvYmplY3QgZm9ybT0iIj4gYmVoYXZpb3IuCisKIDIwMTEt
MDgtMTEgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBwZmVsZG1h
biBzYXlzIHdlIG5lZWQgdG8gcmViYXNlbGluZSB0aGlzIHRlc3QuICBUaGUgbWFzc2l2ZWx5IGNv
bXBsZXgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZm9ybS1hdHRyaWJ1dGUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3JtLWF0dHJpYnV0ZS1leHBl
Y3RlZC50eHQKaW5kZXggNTJjYjI1MjEwNDZkOTYyNDg4MDJlY2MxNDY2NDVhM2M1YzY0NzYwZi4u
MzdiYzk4OWFiNzI5YjNjYTM2MmYwZGJkZjQ1YjUwMWQyYmZhMzcyNCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3JtLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3JtLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQKQEAgLTM0LDEx
ICszNCwxNiBAQCBQQVNTIGlucHV0RWxlbWVudDMuZm9ybSBpcyBvd25lcgogLSBFbnN1cmVzIHdo
ZXRoZXIgdGhlIGZvcm0gb3duZXIgaXMgc2V0IGNvcnJlY3RseSB3aGVuIHRoZSB2YWx1ZSBvZiBm
b3JtIGF0dHJpYnV0ZSBvZiBhIGZvcm0tYXNzb2NpYXRlZCBlbGVtZW50IGNoYW5nZWQuCiBQQVNT
IGlucHV0RWxlbWVudC5mb3JtIGlzIGZvcm0xCiBQQVNTIGlucHV0RWxlbWVudC5mb3JtIGlzIGZv
cm0yCitQQVNTIG9iamVjdEVsZW1lbnQuZm9ybSBpcyBmb3JtMQorUEFTUyBvYmplY3RFbGVtZW50
LmZvcm0gaXMgZm9ybTIKIAogLSBFbnN1cmVzIHdoZXRoZXIgdGhlIGZvcm0gb3duZXIgaXMgc2V0
IGNvcnJlY3RseSB3aGVuIHRoZSB2YWx1ZSBvZiBmb3JtIGF0dHJpYnV0ZSBpcyBhZGRlZC9yZW1v
dmVkLgogUEFTUyBpbnB1dEVsZW1lbnQuZm9ybSBpcyBudWxsCiBQQVNTIGlucHV0RWxlbWVudC5m
b3JtIGlzIG93bmVyCiBQQVNTIGlucHV0RWxlbWVudC5mb3JtIGlzIG51bGwKK1BBU1Mgb2JqZWN0
RWxlbWVudC5mb3JtIGlzIG51bGwKK1BBU1Mgb2JqZWN0RWxlbWVudC5mb3JtIGlzIG93bmVyCitQ
QVNTIG9iamVjdEVsZW1lbnQuZm9ybSBpcyBudWxsCiAKIC0gRW5zdXJlcyB3aGV0aGVyIHRoZSBm
b3JtIG93bmVyIGlzIHNldCBjb3JyZWN0bHkgd2hlbiB0aGUgZm9ybSBvd25lciBpcyBhZGRlZC9y
ZW1vdmVkLgogUEFTUyBvd25lci5uYW1lIGlzICJmaXJzdE93bmVyIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9yYWRpby1yZW1vdmUtZm9ybS1hdHRyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFkaW8tcmVtb3ZlLWZvcm0tYXR0ci1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNzFiMWIzN2M4NWQ1Yzg0YTI0ODFhYjgwMDU1YTcwOTUxNGUzZDFmZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmFkaW8tcmVtb3ZlLWZv
cm0tYXR0ci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGVzdCB0aGF0IHJlbW92aW5n
IGEgZm9ybSBhdHRyaWJ1dGUgZnJvbSBhbiBpbnB1dCBlbGVtZW50IGxlYXZlcyBhbnkgZXhpc3Rp
bmcgcmFkaW8gYnV0dG9uIGdyb3VwIGluIHRoZSBkb2N1bWVudCBpbiBhIHZhbGlkIHN0YXRlLgor
CistIFZlcmlmeSBpbml0aWFsIHN0YXRlCitQQVNTIHJiMS5jaGVja2VkIGlzIGZhbHNlCitQQVNT
IHJiMi5jaGVja2VkIGlzIGZhbHNlCitQQVNTIHJiMy5jaGVja2VkIGlzIHRydWUKK1BBU1MgcmI0
LmNoZWNrZWQgaXMgZmFsc2UKK1BBU1MgcmI1LmNoZWNrZWQgaXMgdHJ1ZQorCistIFJlbW92ZSBm
b3JtIGF0dHIgZnJvbSByYjMsIHZlcmlmeSB0aGF0IHJiNSBiZWNvbWVzIHVuY2hlY2tlZCBzdGF0
ZQorUEFTUyByYjEuY2hlY2tlZCBpcyBmYWxzZQorUEFTUyByYjIuY2hlY2tlZCBpcyBmYWxzZQor
UEFTUyByYjMuY2hlY2tlZCBpcyB0cnVlCitQQVNTIHJiNC5jaGVja2VkIGlzIGZhbHNlCitQQVNT
IHJiNS5jaGVja2VkIGlzIGZhbHNlCisgIAorICAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvcmFkaW8tcmVtb3ZlLWZvcm0tYXR0ci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9yYWRpby1yZW1vdmUtZm9ybS1hdHRyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDFkNDAzZmU1YWVh
ZTE3MGZkNmYzOTc5Yjk2M2JmM2MzYzJiNmJjMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvcmFkaW8tcmVtb3ZlLWZvcm0tYXR0ci5odG1sCkBAIC0wLDAgKzEsNDEg
QEAKKzxodG1sPgorPGhlYWQ+CisgIDxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8cD5UZXN0IHRoYXQgcmVtb3ZpbmcgYSBmb3Jt
IGF0dHJpYnV0ZSBmcm9tIGFuIGlucHV0IGVsZW1lbnQgbGVhdmVzIGFueQorZXhpc3RpbmcgcmFk
aW8gYnV0dG9uIGdyb3VwIGluIHRoZSAgZG9jdW1lbnQgaW4gYSB2YWxpZCBzdGF0ZS48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxmb3JtIGlkPSJmb3JtMSI+CisgIDxpbnB1dCB0eXBl
PSJyYWRpbyIgbmFtZT0idGVzdCIgaWQ9InJiMSIgdmFsdWU9IjEiPgorICA8aW5wdXQgdHlwZT0i
cmFkaW8iIG5hbWU9InRlc3QiIGlkPSJyYjIiIHZhbHVlPSIyIj4KKzwvZm9ybT4KKzxpbnB1dCB0
eXBlPSJyYWRpbyIgbmFtZT0idGVzdCIgaWQ9InJiMyIgZm9ybT0iZm9ybTEiIHZhbHVlPSIzIiBj
aGVja2VkPgorPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJ0ZXN0IiBpZD0icmI0IiB2YWx1ZT0i
NCI+Cis8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9InRlc3QiIGlkPSJyYjUiIHZhbHVlPSI1IiBj
aGVja2VkPgorPHNjcmlwdD4KKyAgdmFyIHJlc3VsdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdyZXN1bHQnKTsKKyAgdmFyIGZvcm0gPSBkb2N1bWVudC5mb3Jtc1swXTsKKyAgdmFyIHJiMSA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyYjEnKTsKKyAgdmFyIHJiMiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdyYjInKTsKKyAgdmFyIHJiMyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdyYjMnKTsKKyAgdmFyIHJiNCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyYjQnKTsKKyAg
dmFyIHJiNSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyYjUnKTsKKworICBkZWJ1ZygnLSBW
ZXJpZnkgaW5pdGlhbCBzdGF0ZScpCisgIHNob3VsZEJlRmFsc2UoJ3JiMS5jaGVja2VkJyk7Cisg
IHNob3VsZEJlRmFsc2UoJ3JiMi5jaGVja2VkJyk7CisgIHNob3VsZEJlVHJ1ZSgncmIzLmNoZWNr
ZWQnKTsKKyAgc2hvdWxkQmVGYWxzZSgncmI0LmNoZWNrZWQnKTsKKyAgc2hvdWxkQmVUcnVlKCdy
YjUuY2hlY2tlZCcpOworCisgIGRlYnVnKCcnKTsKKyAgZGVidWcoJy0gUmVtb3ZlIGZvcm0gYXR0
ciBmcm9tIHJiMywgdmVyaWZ5IHRoYXQgcmI1IGJlY29tZXMgdW5jaGVja2VkIHN0YXRlJyk7Cisg
IHJiMy5yZW1vdmVBdHRyaWJ1dGUoJ2Zvcm0nKTsKKyAgc2hvdWxkQmVGYWxzZSgncmIxLmNoZWNr
ZWQnKTsKKyAgc2hvdWxkQmVGYWxzZSgncmIyLmNoZWNrZWQnKTsKKyAgc2hvdWxkQmVUcnVlKCdy
YjMuY2hlY2tlZCcpOworICBzaG91bGRCZUZhbHNlKCdyYjQuY2hlY2tlZCcpOworICBzaG91bGRC
ZUZhbHNlKCdyYjUuY2hlY2tlZCcpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9mb3JtLWF0dHJpYnV0
ZS5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2Zvcm0tYXR0cmlidXRl
LmpzCmluZGV4IDMwNzliYmZiNzNhM2QwNDkwZjA2YTAzY2U1MDFjNWRmYmUyYTVmYTEuLmM3M2E4
YTliOTU0MmE1YjA5OTRkNzY5ODJmM2ZiMzYyNGQ3NDA1Y2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2Zvcm0tYXR0cmlidXRlLmpzCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2Zvcm0tYXR0cmlidXRlLmpzCkBAIC0xMiw3
ICsxMiw3IEBAIGNvbnRhaW5lci5pbm5lckhUTUwgPSAnPGZvcm0gaWQ9b3duZXI+PC9mb3JtPicg
KwogICAgICc8a2V5Z2VuIG5hbWU9dmljdGltIGZvcm09b3duZXIgLz4nICsKICAgICAnPGxhYmVs
IG5hbWU9dmljdGltIGZvcm09b3duZXIgLz4nICsKICAgICAnPG1ldGVyIG5hbWU9dmljdGltIGZv
cm09b3duZXIgLz4nICsKLSAgICAnPG9iamVjdCBuYW1lPXZpY3RpbSBmb3JtPW93bmVyIC8+JyAr
CisgICAgJzxvYmplY3QgbmFtZT12aWN0aW0gZm9ybT1vd25lcj48L29iamVjdD4nICsKICAgICAn
PG91dHB1dCBuYW1lPXZpY3RpbSBmb3JtPW93bmVyIC8+JyArCiAgICAgJzxwcm9ncmVzcyBuYW1l
PXZpY3RpbSBmb3JtPW93bmVyIC8+JyArCiAgICAgJzxzZWxlY3QgbmFtZT12aWN0aW0gZm9ybT1v
d25lciAvPicgKwpAQCAtNzgsNyArNzgsOCBAQCBkZWJ1ZygnJyk7CiBkZWJ1ZygnLSBFbnN1cmVz
IHdoZXRoZXIgdGhlIGZvcm0gb3duZXIgaXMgc2V0IGNvcnJlY3RseSB3aGVuIHRoZSB2YWx1ZSBv
ZiBmb3JtIGF0dHJpYnV0ZSBvZiBhIGZvcm0tYXNzb2NpYXRlZCBlbGVtZW50IGNoYW5nZWQuJyk7
CiBjb250YWluZXIuaW5uZXJIVE1MID0gJzxmb3JtIGlkPWZvcm0xPjwvZm9ybT4nICsKICAgICAn
PGZvcm0gaWQ9Zm9ybTI+PC9mb3JtPicgKwotICAgICc8aW5wdXQgaWQ9aW5wdXRFbGVtZW50IG5h
bWU9dmljdGltIGZvcm09Zm9ybTEgLz4nOworICAgICc8aW5wdXQgaWQ9aW5wdXRFbGVtZW50IG5h
bWU9dmljdGltIGZvcm09Zm9ybTEgLz4nICsKKyAgICAnPG9iamVjdCBpZD1vYmplY3RFbGVtZW50
IG5hbWU9dmljdGltIGZvcm09Zm9ybTE+PC9vYmplY3Q+JzsKIHZhciBmb3JtMSA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdmb3JtMScpOwogdmFyIGZvcm0yID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2Zvcm0yJyk7CiBpbnB1dEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
aW5wdXRFbGVtZW50Jyk7CkBAIC04NiwxMCArODcsMTcgQEAgc2hvdWxkQmUoJ2lucHV0RWxlbWVu
dC5mb3JtJywgJ2Zvcm0xJyk7CiBpbnB1dEVsZW1lbnQuYXR0cmlidXRlc1snZm9ybSddLnZhbHVl
ID0gJ2Zvcm0yJzsKIHNob3VsZEJlKCdpbnB1dEVsZW1lbnQuZm9ybScsICdmb3JtMicpOwogCisv
LyBIVE1MT2JqZWN0RWxlbWVudCBoYXMgaXRzIG93biBpbXBsZW1lbnRhdGlvbiBvZiBmb3JtQXR0
ciBwcm9jZXNzaW5nIGFuZCBzbyBuZWVkcyBpdHMgb3duIHRlc3QuCitvYmplY3RFbGVtZW50ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ29iamVjdEVsZW1lbnQnKTsKK3Nob3VsZEJlKCdvYmpl
Y3RFbGVtZW50LmZvcm0nLCAnZm9ybTEnKTsKK29iamVjdEVsZW1lbnQuYXR0cmlidXRlc1snZm9y
bSddLnZhbHVlID0gJ2Zvcm0yJzsKK3Nob3VsZEJlKCdvYmplY3RFbGVtZW50LmZvcm0nLCAnZm9y
bTInKTsKKwogZGVidWcoJycpOwogZGVidWcoJy0gRW5zdXJlcyB3aGV0aGVyIHRoZSBmb3JtIG93
bmVyIGlzIHNldCBjb3JyZWN0bHkgd2hlbiB0aGUgdmFsdWUgb2YgZm9ybSBhdHRyaWJ1dGUgaXMg
YWRkZWQvcmVtb3ZlZC4nKTsKIGNvbnRhaW5lci5pbm5lckhUTUwgPSAnPGZvcm0gaWQ9b3duZXIg
bmFtZT1maXJzdE93bmVyPjwvZm9ybT4nICsKLSAgICAnPGlucHV0IGlkPWlucHV0RWxlbWVudCBu
YW1lPXZpY3RpbSAvPic7CisgICAgJzxpbnB1dCBpZD1pbnB1dEVsZW1lbnQgbmFtZT12aWN0aW0g
Lz4nICsKKyAgICAnPG9iamVjdCBpZD1vYmplY3RFbGVtZW50IG5hbWU9dmljdGltPjwvb2JqZWN0
Pic7CiBvd25lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvd25lcicpOwogaW5wdXRFbGVt
ZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0RWxlbWVudCcpOwogc2hvdWxkQmUo
J2lucHV0RWxlbWVudC5mb3JtJywgJ251bGwnKTsKQEAgLTk5LDYgKzEwNywxNCBAQCBzaG91bGRC
ZSgnaW5wdXRFbGVtZW50LmZvcm0nLCAnb3duZXInKTsKIGlucHV0RWxlbWVudC5yZW1vdmVBdHRy
aWJ1dGUoJ2Zvcm0nKTsKIHNob3VsZEJlKCdpbnB1dEVsZW1lbnQuZm9ybScsICdudWxsJyk7CiAK
Ky8vIEhUTUxPYmplY3RFbGVtZW50IGhhcyBpdHMgb3duIGltcGxlbWVudGF0aW9uIG9mIGZvcm1B
dHRyIHByb2Nlc3NpbmcgYW5kIHNvIG5lZWRzIGl0cyBvd24gdGVzdC4KK29iamVjdEVsZW1lbnQg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb2JqZWN0RWxlbWVudCcpOworc2hvdWxkQmUoJ29i
amVjdEVsZW1lbnQuZm9ybScsICdudWxsJyk7CitvYmplY3RFbGVtZW50LnNldEF0dHJpYnV0ZSgn
Zm9ybScsICdvd25lcicpOworc2hvdWxkQmUoJ29iamVjdEVsZW1lbnQuZm9ybScsICdvd25lcicp
Oworb2JqZWN0RWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ2Zvcm0nKTsKK3Nob3VsZEJlKCdvYmpl
Y3RFbGVtZW50LmZvcm0nLCAnbnVsbCcpOworCiBkZWJ1ZygnJyk7CiBkZWJ1ZygnLSBFbnN1cmVz
IHdoZXRoZXIgdGhlIGZvcm0gb3duZXIgaXMgc2V0IGNvcnJlY3RseSB3aGVuIHRoZSBmb3JtIG93
bmVyIGlzIGFkZGVkL3JlbW92ZWQuJyk7CiBjb250YWluZXIuaW5uZXJIVE1MID0gJzxmb3JtIGlk
PW93bmVyIG5hbWU9Zmlyc3RPd25lcj48L2Zvcm0+JyArCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmNmZDNkZDcz
MGY0MmNlZDFlZWJmMjE1NDg5NDJhMjAwMTRmNGYxNy4uNjgzMDFjZjE4NTRiMDhjZjNmOTM2N2Ji
YWIyYjdkYmZhYTYzNjk3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDExLTA4LTE3
ICBBZGFtIEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEhhbmRsZSAiZm9y
bSIgYXR0cmlidXRlIHVwZGF0ZXMgaW4gcGFyc2VNYXBwZWRBdHRyaWJ1dGUoKSBpbnN0ZWFkIG9m
IGF0dHJpYnV0ZUNoYW5nZWQoKSB0byBiZXR0ZXIgbWF0Y2ggSFRNTEVsZW1lbnQgcHJhY3RpY2Vz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjMyMQor
CisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFRoaXMgaXMgc2lt
cGx5IGEgY2xlYW51cCBjaGFuZ2U6IHRoZXJlJ3Mgbm8gbmVlZCB0aGF0IEkgY2FuIHNlZSBmb3IK
KyAgICAgICAgSFRNTEZvcm1Db250cm9sRWxlbWVudCBhbmQgSFRNTE9iamVjdEVsZW1lbnQgdG8g
b3ZlcnJpZGUKKyAgICAgICAgRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZCBzaW5jZSB0aGV5IGNh
biBwcm9wZXJseSBoYW5kbGUgZm9ybQorICAgICAgICBhdHRyaWJ1dGUgY2hhbmdlcyBpbiBwYXJz
ZU1hcHBlZEF0dHJpYnV0ZSwgd2hpY2ggdGhleSBhbHNvIG92ZXJyaWRlLgorCisgICAgICAgIFRo
b3VnaCBubyBjaGFuZ2UgaW4gYmVoYXZpb3IsIEkndmUgYWRkZWQgdGVzdCBjb3ZlcmFnZSBvZiB0
aGUgbW92ZWQKKyAgICAgICAgY29kZSB0byBhbiBleGlzdGluZyB0ZXN0IChmYXN0L2Zvcm1zL2Zv
cm0tYXR0cmlidXRlLmh0bWwpIGFuZCBhZGRlZAorICAgICAgICBhIG5ldyB0ZXN0LgorCisgICAg
ICAgIFRlc3Q6IGZhc3QvZm9ybXMvcmFkaW8tcmVtb3ZlLWZvcm0tYXR0ci5odG1sCisKKyAgICAg
ICAgKiBodG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTEZvcm1Db250cm9sRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOgorICAgICAgICAq
IGh0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTE9iamVj
dEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE9iamVjdEVsZW1lbnQ6OnBhcnNl
TWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKiBodG1sL0hUTUxPYmplY3RFbGVtZW50Lmg6CisK
IDIwMTEtMDgtMTEgIExldmkgV2VpbnRyYXViICA8bGV2aXdAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFJlbW92ZSBkZWFkIGNvZGU6IGJvcmRlcklubmVyUmVjdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAKaW5kZXggZjM2OTdjZTE3MTU0ZjE5M2Nj
NGE4ZDkxZDYwOGQ0NTFhZmE3OWJiNi4uODBjOGNlZjk2MDVhY2Y0NjIxMzVjMDNhYmM5ZGQwMGI5
MTE2NzU0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1l
bnQuY3BwCkBAIC04NSw3ICs4NSwxMSBAQCBib29sIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmZv
cm1Ob1ZhbGlkYXRlKCkgY29uc3QKIAogdm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpwYXJz
ZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqIGF0dHIpCiB7Ci0gICAgaWYgKGF0dHItPm5hbWUo
KSA9PSBkaXNhYmxlZEF0dHIpIHsKKyAgICBpZiAoYXR0ci0+bmFtZSgpID09IGZvcm1BdHRyKSB7
CisgICAgICAgIGZvcm1BdHRyaWJ1dGVDaGFuZ2VkKCk7CisgICAgICAgIGlmICghZm9ybSgpKQor
ICAgICAgICAgICAgZG9jdW1lbnQoKS0+Y2hlY2tlZFJhZGlvQnV0dG9ucygpLmFkZEJ1dHRvbih0
aGlzKTsKKyAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBkaXNhYmxlZEF0dHIpIHsKICAg
ICAgICAgYm9vbCBvbGREaXNhYmxlZCA9IG1fZGlzYWJsZWQ7CiAgICAgICAgIG1fZGlzYWJsZWQg
PSAhYXR0ci0+aXNOdWxsKCk7CiAgICAgICAgIGlmIChvbGREaXNhYmxlZCAhPSBtX2Rpc2FibGVk
KSB7CkBAIC00NDYsMTYgKzQ1MCw2IEBAIGJvb2wgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6aXNE
ZWZhdWx0QnV0dG9uRm9yRm9ybSgpIGNvbnN0CiAgICAgcmV0dXJuIGlzU3VjY2Vzc2Z1bFN1Ym1p
dEJ1dHRvbigpICYmIGZvcm0oKSAmJiBmb3JtKCktPmRlZmF1bHRCdXR0b24oKSA9PSB0aGlzOwog
fQogCi12b2lkIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQoQXR0cmli
dXRlKiBhdHRyLCBib29sIHByZXNlcnZlRGVjbHMpCi17Ci0gICAgaWYgKGF0dHItPm5hbWUoKSA9
PSBmb3JtQXR0cikgewotICAgICAgICBmb3JtQXR0cmlidXRlQ2hhbmdlZCgpOwotICAgICAgICBp
ZiAoIWZvcm0oKSkKLSAgICAgICAgICAgIGRvY3VtZW50KCktPmNoZWNrZWRSYWRpb0J1dHRvbnMo
KS5hZGRCdXR0b24odGhpcyk7Ci0gICAgfSBlbHNlCi0gICAgICAgIEhUTUxFbGVtZW50OjphdHRy
aWJ1dGVDaGFuZ2VkKGF0dHIsIHByZXNlcnZlRGVjbHMpOwotfQotCiBib29sIEhUTUxGb3JtQ29u
dHJvbEVsZW1lbnQ6OmlzTGFiZWxhYmxlKCkgY29uc3QKIHsKICAgICAvLyBGSVhNRTogQWRkIG1l
dGVyVGFnIGFuZCBvdXRwdXRUYWcgdG8gdGhlIGxpc3Qgb25jZSB3ZSBzdXBwb3J0IHRoZW0uCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oCmluZGV4IDFiM2E1
ZmNiNjQ1NDg5NWNiZmIzMDg4ZjMwMzVjNWIwMzg5MzNhZTYuLmU4ZTE1OTM1MjY1MWM3MjQzMDM2
OWNkNDYwNWUzYTNlYjQ2MTYzZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEZvcm1Db250cm9sRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1D
b250cm9sRWxlbWVudC5oCkBAIC05OSw4ICs5OSw2IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgcmVh
ZE9ubHkoKSBjb25zdCB7IHJldHVybiBtX3JlYWRPbmx5OyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQg
YXR0cmlidXRlQ2hhbmdlZChBdHRyaWJ1dGUqLCBib29sIHByZXNlcnZlRGVjbHMgPSBmYWxzZSk7
Ci0KICAgICB1c2luZyBUcmVlU2hhcmVkPENvbnRhaW5lck5vZGU+OjpyZWY7CiAgICAgdXNpbmcg
VHJlZVNoYXJlZDxDb250YWluZXJOb2RlPjo6ZGVyZWY7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MT2JqZWN0RWxlbWVudC5jcHAKaW5kZXggZTNjMmJkMTQzYTMwZTJiNWMxNGU2MTQ5MWY4YWVh
NGZhZGZmZjNkZC4uMjQ4MWQxMGFjN2IwZGYwZWNmMzY4MzAzNDkzYjYxNjA4ZDUwNGViNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHAKQEAgLTg1LDcgKzg1LDkg
QEAgUmVuZGVyV2lkZ2V0KiBIVE1MT2JqZWN0RWxlbWVudDo6cmVuZGVyV2lkZ2V0Rm9ySlNCaW5k
aW5ncygpCiAKIHZvaWQgSFRNTE9iamVjdEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKEF0
dHJpYnV0ZSogYXR0cikKIHsKLSAgICBpZiAoYXR0ci0+bmFtZSgpID09IHR5cGVBdHRyKSB7Cisg
ICAgaWYgKGF0dHItPm5hbWUoKSA9PSBmb3JtQXR0cikKKyAgICAgICAgZm9ybUF0dHJpYnV0ZUNo
YW5nZWQoKTsKKyAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gdHlwZUF0dHIpIHsKICAgICAg
ICAgbV9zZXJ2aWNlVHlwZSA9IGF0dHItPnZhbHVlKCkubG93ZXIoKTsKICAgICAgICAgc2l6ZV90
IHBvcyA9IG1fc2VydmljZVR5cGUuZmluZCgiOyIpOwogICAgICAgICBpZiAocG9zICE9IG5vdEZv
dW5kKQpAQCAtMzczLDE0ICszNzUsNiBAQCB2b2lkIEhUTUxPYmplY3RFbGVtZW50OjpyZW1vdmVk
RnJvbURvY3VtZW50KCkKICAgICBGb3JtQXNzb2NpYXRlZEVsZW1lbnQ6OnJlbW92ZWRGcm9tRG9j
dW1lbnQoKTsKIH0KIAotdm9pZCBIVE1MT2JqZWN0RWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChB
dHRyaWJ1dGUqIGF0dHIsIGJvb2wgcHJlc2VydmVEZWNscykKLXsKLSAgICBpZiAoYXR0ci0+bmFt
ZSgpID09IGZvcm1BdHRyKQotICAgICAgICBmb3JtQXR0cmlidXRlQ2hhbmdlZCgpOwotICAgIGVs
c2UKLSAgICAgICAgSFRNTFBsdWdJbkltYWdlRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChhdHRy
LCBwcmVzZXJ2ZURlY2xzKTsKLX0KLQogdm9pZCBIVE1MT2JqZWN0RWxlbWVudDo6Y2hpbGRyZW5D
aGFuZ2VkKGJvb2wgY2hhbmdlZEJ5UGFyc2VyLCBOb2RlKiBiZWZvcmVDaGFuZ2UsIE5vZGUqIGFm
dGVyQ2hhbmdlLCBpbnQgY2hpbGRDb3VudERlbHRhKQogewogICAgIHVwZGF0ZURvY05hbWVkSXRl
bSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5oCmluZGV4IDZjMGUwNWU0
YWZiNmVmOWMyYWIyYTIwYjk4Mzk0ZGE2NGNmNjU2YTUuLjYyMDE3YWU5MTcxNmQ3YTZiNWIzY2Iz
ZTI1N2U0NmVjMWNkZjk4YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9i
amVjdEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50
LmgKQEAgLTU4LDggKzU4LDYgQEAgcHVibGljOgogICAgIGJvb2wgY2hlY2tWYWxpZGl0eSgpIHsg
cmV0dXJuIHRydWU7IH0KICAgICB2b2lkIHNldEN1c3RvbVZhbGlkaXR5KGNvbnN0IFN0cmluZyYp
IHsgfQogCi0gICAgdmlydHVhbCB2b2lkIGF0dHJpYnV0ZUNoYW5nZWQoQXR0cmlidXRlKiwgYm9v
bCBwcmVzZXJ2ZURlY2xzID0gZmFsc2UpOwotCiAgICAgdXNpbmcgVHJlZVNoYXJlZDxDb250YWlu
ZXJOb2RlPjo6cmVmOwogICAgIHVzaW5nIFRyZWVTaGFyZWQ8Q29udGFpbmVyTm9kZT46OmRlcmVm
OwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>