<?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>132509</bug_id>
          
          <creation_ts>2014-05-02 19:36:32 -0700</creation_ts>
          <short_desc>[iOS][WK2] Prefetch DNS hostnames on tap highlight</short_desc>
          <delta_ts>2014-05-05 18:14:37 -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="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>ap</cc>
    
    <cc>berto</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>danw</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>galpeter</cc>
    
    <cc>glenn</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mrobinson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1006270</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-05-02 19:36:32 -0700</bug_when>
    <thetext>[iOS][WK2] Prefetch DNS hostnames on tap highlight</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006271</commentid>
    <comment_count>1</comment_count>
      <attachid>230731</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-05-02 19:36:48 -0700</bug_when>
    <thetext>Created attachment 230731
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006305</commentid>
    <comment_count>2</comment_count>
      <attachid>230731</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-05-02 22:29:14 -0700</bug_when>
    <thetext>Comment on attachment 230731
Patch

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

&gt; Source/WebCore/dom/Document.cpp:4893
&gt; +void Document::prefetchDNSFrom(const Node&amp; node)
&gt; +{
&gt; +    if (node.isLink() &amp;&amp; isElement(node)) {
&gt; +        const Element&amp; linkTypeElement = toElement(node);
&gt; +
&gt; +        AtomicString urlString;
&gt; +        if (linkTypeElement.hasTagName(SVGNames::aTag))
&gt; +            urlString = linkTypeElement.getAttribute(XLinkNames::hrefAttr);
&gt; +        else
&gt; +            urlString = linkTypeElement.getAttribute(HTMLNames::hrefAttr);
&gt; +        if (!urlString.isEmpty()) {
&gt; +            URL absoluteURL = linkTypeElement.document().completeURL(stripLeadingAndTrailingHTMLSpaces(urlString));
&gt; +            prefetchDNS(absoluteURL.host());
&gt; +        }
&gt; +    }
&gt; +}

It would be nice if we could just make this a member function of Element instead.
And I guess we should share this code with HTMLAnchorElement::parseAttribute.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006495</commentid>
    <comment_count>3</comment_count>
      <attachid>230790</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-05-04 13:36:55 -0700</bug_when>
    <thetext>Created attachment 230790
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006507</commentid>
    <comment_count>4</comment_count>
      <attachid>230794</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-05-04 16:05:22 -0700</bug_when>
    <thetext>Created attachment 230794
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006525</commentid>
    <comment_count>5</comment_count>
      <attachid>230794</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-05-04 18:12:39 -0700</bug_when>
    <thetext>Comment on attachment 230794
Patch

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

&gt; Source/WebCore/dom/Element.cpp:1168
&gt; +void Element::prefetchDNSFrom(const Element&amp; element)

It is unfortunate that this implementation is so different from what we have in Chrome::mouseDidMoveOverElement(). Can you make it similar? The situation is essentially the same, so having different solutions will be confusing.

&gt; Source/WebCore/dom/Element.h:568
&gt; +    static void prefetchDNSFrom(const Element&amp;);

I don&apos;t think that we normally make Nodes or Elements const, so we?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006526</commentid>
    <comment_count>6</comment_count>
      <attachid>230794</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-05-04 18:15:12 -0700</bug_when>
    <thetext>Comment on attachment 230794
Patch

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

&gt; Source/WebCore/dom/Element.cpp:1177
&gt; +    if (element.hasTagName(SVGNames::aTag))
&gt; +        urlString = element.getAttribute(XLinkNames::hrefAttr);
&gt; +    else
&gt; +        urlString = element.getAttribute(HTMLNames::hrefAttr);

It is a layering violation to make core DOM code know about HTML and SVG like here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006532</commentid>
    <comment_count>7</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-05-04 18:37:38 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 230794 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=230794&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/Element.cpp:1177
&gt; &gt; +    if (element.hasTagName(SVGNames::aTag))
&gt; &gt; +        urlString = element.getAttribute(XLinkNames::hrefAttr);
&gt; &gt; +    else
&gt; &gt; +        urlString = element.getAttribute(HTMLNames::hrefAttr);
&gt; 
&gt; It is a layering violation to make core DOM code know about HTML and SVG like here.

Not sure to follow you. Element knows about SVG attributes in detail already.

Do you prefer if this is moved back to document?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006549</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-05-04 20:47:38 -0700</bug_when>
    <thetext>Prefetch on mouse move code path uses HitTestResult, which already has the url precomputed. So I would prefer this new code to not exist at all, and instead to use the same idiom as the existing solution.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006763</commentid>
    <comment_count>9</comment_count>
      <attachid>230862</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-05-05 15:46:26 -0700</bug_when>
    <thetext>Created attachment 230862
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006769</commentid>
    <comment_count>10</comment_count>
      <attachid>230862</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-05-05 16:00:33 -0700</bug_when>
    <thetext>Comment on attachment 230862
Patch

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

&gt; Source/WebCore/dom/Element.cpp:1179
&gt; +    if (linkAttribute.isEmpty())
&gt; +        return document().completeURL(stripLeadingAndTrailingHTMLSpaces(linkAttribute));
&gt; +    return URL();

Looks like normal and early return statements are switched here.

&gt; Source/WebCore/platform/network/DNS.h:34
&gt; -void prefetchDNS(const String&amp; hostname);
&gt; +class URL;
&gt; +
&gt; +void prefetchDNS(const URL&amp; absoluteURL);

I think that the original interface was superior, even though we had a bit of duplicated code. The new interface is misleading - this function logically takes a hostname, not a URL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006785</commentid>
    <comment_count>11</comment_count>
      <attachid>230869</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-05-05 17:02:12 -0700</bug_when>
    <thetext>Created attachment 230869
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006813</commentid>
    <comment_count>12</comment_count>
      <attachid>230869</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-05-05 18:14:27 -0700</bug_when>
    <thetext>Comment on attachment 230869
Patch

Clearing flags on attachment: 230869

Committed r168339: &lt;http://trac.webkit.org/changeset/168339&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006814</commentid>
    <comment_count>13</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-05-05 18:14:37 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230731</attachid>
            <date>2014-05-02 19:36:48 -0700</date>
            <delta_ts>2014-05-04 13:36:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132509-20140502193619.patch</filename>
            <type>text/plain</type>
            <size>5211</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY4MTM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjY3Zjk4MTU5NmQ1MDRl
NGMzYmY1N2E0MGVjZWYzMDExMjFlNGI4NC4uZDI3MTM5MjE2Y2RiZmJiMDI0ZjJhYjlmYThmN2Nj
OTQ1NmM0ZGQxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE0LTA1LTAyICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdW1dLMl0g
UHJlZmV0Y2ggRE5TIGhvc3RuYW1lcyBvbiB0YXAgaGlnaGxpZ2h0CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzI1MDkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAg
ICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cHJlZmV0
Y2hETlNGcm9tKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKwogMjAxNC0wNS0wMSAgQmVu
amFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KIAogICAgICAgICBWaWV3cG9ydENv
bmZpZ3VyYXRpb246Om1pbmltdW1TY2FsZSgpIHVzZXMgdGhlIGluaXRpYWwgc2NhbGUgYXMgaW5p
dGlhbCB2YWx1ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDdmOTE4MGVkZTIwYzczMDJmM2ZkZWY4OWNkMjY3MzZi
NjkzYjg2MGUuLjlhMzkwOThkMDVkNzc2MWNmMTkyYzA3NGRiOTUxNWEzNTY4ODc0ZjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKQEAgLTEsNSArMSwxNSBAQAogMjAxNC0wNS0wMiAgQmVuamFtaW4gUG91bGFpbiAgPGJw
b3VsYWluQGFwcGxlLmNvbT4KIAorICAgICAgICBbaU9TXVtXSzJdIFByZWZldGNoIEROUyBob3N0
bmFtZXMgb24gdGFwIGhpZ2hsaWdodAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTMyNTA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW06Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnRhcEhpZ2hsaWdodEF0UG9zaXRpb24pOgorCisyMDE0
LTA1LTAyICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCiAgICAgICAg
IFtpT1NdW1dLMl0gTW9yZSBhbmltYXRpb24gbWFkbmVzcyBmb3Igd2hlbiB0aGUgZXh0ZW5kZWRC
YWNrZ3JvdW5kIGlzIG1vZGlmaWVkIGluIGFuIGFuaW1hdGlvbiBibG9jawogICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMyNDk3CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5l
eHAuaW4KaW5kZXggYTY4M2E0N2FhMWFmNzc3OTIxYTMxMGY2NGUxYmY5MmRjOWE4NTYzYS4uNzlk
ODc4ODg3NDFkN2Q1ZmFhMzI4ZjhhNmZhMGVkZDE4NmIyNDdiNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAu
aW4KQEAgLTI0NDEsNiArMjQ0MSw3IEBAIF9XZWJUaHJlYWRVbmxvY2tHdWFyZEZvck1haWwKIF9X
ZWJVSUFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZlTm90aWZpY2F0aW9uCiBfV2ViVUlBcHBsaWNh
dGlvbldpbGxFbnRlckZvcmVncm91bmROb3RpZmljYXRpb24KIF9XZWJVSUFwcGxpY2F0aW9uV2ls
bFJlc2lnbkFjdGl2ZU5vdGlmaWNhdGlvbgorX19aTjdXZWJDb3JlOERvY3VtZW50MTVwcmVmZXRj
aEROU0Zyb21FUktOU180Tm9kZUUKIF9fWk43V2ViQ29yZTEwU2Nyb2xsVmlldzE1c2V0U2Nyb2xs
T2Zmc2V0RVJLTlNfOEludFBvaW50RQogX19aTjdXZWJDb3JlMTBTY3JvbGxWaWV3MTdzZXRTY3Jv
bGxWZWxvY2l0eUVkZGRkCiBfX1pON1dlYkNvcmUxMFNjcm9sbFZpZXcyMXNldEV4cG9zZWRDb250
ZW50UmVjdEVSS05TXzdJbnRSZWN0RQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggMTUyMGVi
MzA5MGEwYTYzOWI3MzQzOWYzYmM1MGEwYmUwZmUzZjUzNC4uYTkzYmE0ZjJjNDU5ZmY3YjJkYTI5
NjlkNjY3MTk0ZmE4NjIzYWEwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC00MSw2ICs0
MSw3IEBACiAjaW5jbHVkZSAiQ29tbWVudC5oIgogI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBv
bGljeS5oIgogI2luY2x1ZGUgIkNvb2tpZUphci5oIgorI2luY2x1ZGUgIkROUy5oIgogI2luY2x1
ZGUgIkRPTUltcGxlbWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRE9NTmFtZWRGbG93Q29sbGVjdGlv
bi5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgpAQCAtMTQ1LDYgKzE0Niw3IEBACiAjaW5jbHVk
ZSAiVHJhbnNmb3JtU291cmNlLmgiCiAjaW5jbHVkZSAiVHJlZVdhbGtlci5oIgogI2luY2x1ZGUg
IlZpc2l0ZWRMaW5rU3RhdGUuaCIKKyNpbmNsdWRlICJYTGlua05hbWVzLmgiCiAjaW5jbHVkZSAi
WE1MRG9jdW1lbnRQYXJzZXIuaCIKICNpbmNsdWRlICJYTUxOU05hbWVzLmgiCiAjaW5jbHVkZSAi
WE1MTmFtZXMuaCIKQEAgLTQ4NzMsNiArNDg3NSwyMyBAQCB2b2lkIERvY3VtZW50OjpwYXJzZURO
U1ByZWZldGNoQ29udHJvbEhlYWRlcihjb25zdCBTdHJpbmcmIGRuc1ByZWZldGNoQ29udHJvbCkK
ICAgICBtX2hhdmVFeHBsaWNpdGx5RGlzYWJsZWRETlNQcmVmZXRjaCA9IHRydWU7CiB9CiAKK3Zv
aWQgRG9jdW1lbnQ6OnByZWZldGNoRE5TRnJvbShjb25zdCBOb2RlJiBub2RlKQoreworICAgIGlm
IChub2RlLmlzTGluaygpICYmIGlzRWxlbWVudChub2RlKSkgeworICAgICAgICBjb25zdCBFbGVt
ZW50JiBsaW5rVHlwZUVsZW1lbnQgPSB0b0VsZW1lbnQobm9kZSk7CisKKyAgICAgICAgQXRvbWlj
U3RyaW5nIHVybFN0cmluZzsKKyAgICAgICAgaWYgKGxpbmtUeXBlRWxlbWVudC5oYXNUYWdOYW1l
KFNWR05hbWVzOjphVGFnKSkKKyAgICAgICAgICAgIHVybFN0cmluZyA9IGxpbmtUeXBlRWxlbWVu
dC5nZXRBdHRyaWJ1dGUoWExpbmtOYW1lczo6aHJlZkF0dHIpOworICAgICAgICBlbHNlCisgICAg
ICAgICAgICB1cmxTdHJpbmcgPSBsaW5rVHlwZUVsZW1lbnQuZ2V0QXR0cmlidXRlKEhUTUxOYW1l
czo6aHJlZkF0dHIpOworICAgICAgICBpZiAoIXVybFN0cmluZy5pc0VtcHR5KCkpIHsKKyAgICAg
ICAgICAgIFVSTCBhYnNvbHV0ZVVSTCA9IGxpbmtUeXBlRWxlbWVudC5kb2N1bWVudCgpLmNvbXBs
ZXRlVVJMKHN0cmlwTGVhZGluZ0FuZFRyYWlsaW5nSFRNTFNwYWNlcyh1cmxTdHJpbmcpKTsKKyAg
ICAgICAgICAgIHByZWZldGNoRE5TKGFic29sdXRlVVJMLmhvc3QoKSk7CisgICAgICAgIH0KKyAg
ICB9Cit9CisKIHZvaWQgRG9jdW1lbnQ6OmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ug
c291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWdu
ZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllcikKIHsKICAgICBpZiAoIWlzQ29udGV4dFRocmVhZCgp
KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDY1NWVkZmM4YTkyM2E0ODkzMWJkZmUzZGVlNjgy
ZWI0Y2JkMTdmMDQuLjYzMTdlYmM1MmJhZGRkYzA5ODU3NWZjZmNhNDY1MGNmZTMzYzQ1NzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMDA2LDYgKzEwMDYsNyBAQCBwdWJsaWM6CiAKICAgICBi
b29sIGlzRE5TUHJlZmV0Y2hFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc0ROU1ByZWZldGNo
RW5hYmxlZDsgfQogICAgIHZvaWQgcGFyc2VETlNQcmVmZXRjaENvbnRyb2xIZWFkZXIoY29uc3Qg
U3RyaW5nJik7CisgICAgc3RhdGljIHZvaWQgcHJlZmV0Y2hETlNGcm9tKGNvbnN0IE5vZGUmKTsK
IAogICAgIHZpcnR1YWwgdm9pZCBwb3N0VGFzayhUYXNrKSBvdmVycmlkZTsgLy8gRXhlY3V0ZXMg
dGhlIHRhc2sgb24gY29udGV4dCdzIHRocmVhZCBhc3luY2hyb25vdXNseS4KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4
IDMwZTBmOTQ4NmRjYTFiYjY4NmVlZmFmOWZiYmQ4MmY0NzkwMDRlMzkuLmVmZDNmYzA4YmFjZTdh
MmI5YjMwMjQ1YTk0OGIyYThjZTc3YWQ1ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KQEAgLTM2NiwxMCArMzY2LDEwIEBA
IHZvaWQgV2ViUGFnZTo6dGFwSGlnaGxpZ2h0QXRQb3NpdGlvbih1aW50NjRfdCByZXF1ZXN0SUQs
IGNvbnN0IEZsb2F0UG9pbnQmIHBvc2l0CiAgICAgaWYgKCFub2RlKQogICAgICAgICByZXR1cm47
CiAKLSAgICBSZW5kZXJPYmplY3QgKnJlbmRlcmVyID0gbm9kZS0+cmVuZGVyZXIoKTsKKyAgICBE
b2N1bWVudDo6cHJlZmV0Y2hETlNGcm9tKCpub2RlKTsKIAogICAgIFZlY3RvcjxGbG9hdFF1YWQ+
IHF1YWRzOwotICAgIGlmIChyZW5kZXJlcikgeworICAgIGlmIChSZW5kZXJPYmplY3QgKnJlbmRl
cmVyID0gbm9kZS0+cmVuZGVyZXIoKSkgewogICAgICAgICByZW5kZXJlci0+YWJzb2x1dGVRdWFk
cyhxdWFkcyk7CiAgICAgICAgIENvbG9yIGhpZ2hsaWdodENvbG9yID0gcmVuZGVyZXItPnN0eWxl
KCkudGFwSGlnaGxpZ2h0Q29sb3IoKTsKICAgICAgICAgaWYgKCFub2RlLT5kb2N1bWVudCgpLmZy
YW1lKCktPmlzTWFpbkZyYW1lKCkpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230790</attachid>
            <date>2014-05-04 13:36:55 -0700</date>
            <delta_ts>2014-05-04 16:05:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132509-20140504133632.patch</filename>
            <type>text/plain</type>
            <size>4330</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY4MjQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGU4YWE0YmM0MjFmZjNh
N2NjMGZiYTg0MjBmMzk4MjYwMTg3MzIxYy4uYzQ4MjZkNTc4ODY1NDBhMWIyZDViZTM3Yjg5NjA1
NjFkNmE2MzkzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE0LTA1LTA0ICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdW1dLMl0g
UHJlZmV0Y2ggRE5TIGhvc3RuYW1lcyBvbiB0YXAgaGlnaGxpZ2h0CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzI1MDkKKworICAgICAgICBSZXZpZXdl
ZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAg
KiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cHJlZmV0Y2hE
TlNGcm9tKToKKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgorCiAyMDE0LTA1LTA0ICBCZW5qYW1p
biBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBDbGVhciB0aGUgU2Vs
ZWN0b3IgUXVlcnkgY2FjaGVzIG9uIG1lbW9yeSBwcmVzc3VyZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGRmMmVh
MWRhNGJhYmUzMTkwMTY0Mjc2Mjk4NmVkYzY4N2JiODExNjIuLjg0ODA4ZDhlOWJjZmMzMTllZjQz
NDY1NDYxZjZkZmUzYTA5NTUxYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNC0w
NS0wNCAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KKworICAgICAgICBb
aU9TXVtXSzJdIFByZWZldGNoIEROUyBob3N0bmFtZXMgb24gdGFwIGhpZ2hsaWdodAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMyNTA5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL2lvcy9XZWJQYWdlSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp0YXBIaWdo
bGlnaHRBdFBvc2l0aW9uKToKKwogMjAxNC0wNS0wMyAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1
ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE2ODIz
Mi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCBhY2RkMzYwNmEwOGM1NzQwZWU1YjM1NjExMzUy
ZTVmZmEwM2VmZGY0Li5iYmVhYmMwYTYwYWExZWFlZGQ5YTFhMDZlZGJiZmM0OTFiNTUwMWFiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiQ2xpZW50
UmVjdC5oIgogI2luY2x1ZGUgIkNsaWVudFJlY3RMaXN0LmgiCiAjaW5jbHVkZSAiQ29udGFpbmVy
Tm9kZUFsZ29yaXRobXMuaCIKKyNpbmNsdWRlICJETlMuaCIKICNpbmNsdWRlICJET01Ub2tlbkxp
c3QuaCIKICNpbmNsdWRlICJEb2N1bWVudFNoYXJlZE9iamVjdFBvb2wuaCIKICNpbmNsdWRlICJF
bGVtZW50SXRlcmF0b3IuaCIKQEAgLTc3LDYgKzc4LDcgQEAKICNpbmNsdWRlICJUZXh0SXRlcmF0
b3IuaCIKICNpbmNsdWRlICJWb2lkQ2FsbGJhY2suaCIKICNpbmNsdWRlICJXaGVlbEV2ZW50Lmgi
CisjaW5jbHVkZSAiWExpbmtOYW1lcy5oIgogI2luY2x1ZGUgIlhNTE5TTmFtZXMuaCIKICNpbmNs
dWRlICJYTUxOYW1lcy5oIgogI2luY2x1ZGUgImh0bWxlZGl0aW5nLmgiCkBAIC0xMTYzLDYgKzEx
NjUsMjMgQEAgdm9pZCBFbGVtZW50OjpjbGFzc0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgQXRvbWlj
U3RyaW5nJiBuZXdDbGFzc1N0cmluZykKICAgICAgICAgc2V0TmVlZHNTdHlsZVJlY2FsYygpOwog
fQogCit2b2lkIEVsZW1lbnQ6OnByZWZldGNoRE5TRnJvbShjb25zdCBFbGVtZW50JiBlbGVtZW50
KQoreworICAgIGlmICghZWxlbWVudC5pc0xpbmsoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
QXRvbWljU3RyaW5nIHVybFN0cmluZzsKKyAgICBpZiAobGlua1R5cGVFbGVtZW50Lmhhc1RhZ05h
bWUoU1ZHTmFtZXM6OmFUYWcpKQorICAgICAgICB1cmxTdHJpbmcgPSBlbGVtZW50LmdldEF0dHJp
YnV0ZShYTGlua05hbWVzOjpocmVmQXR0cik7CisgICAgZWxzZQorICAgICAgICB1cmxTdHJpbmcg
PSBlbGVtZW50LmdldEF0dHJpYnV0ZShIVE1MTmFtZXM6OmhyZWZBdHRyKTsKKyAgICBpZiAoIXVy
bFN0cmluZy5pc0VtcHR5KCkpIHsKKyAgICAgICAgVVJMIGFic29sdXRlVVJMID0gZWxlbWVudC5k
b2N1bWVudCgpLmNvbXBsZXRlVVJMKHN0cmlwTGVhZGluZ0FuZFRyYWlsaW5nSFRNTFNwYWNlcyh1
cmxTdHJpbmcpKTsKKyAgICAgICAgaWYgKGFic29sdXRlVVJMLnByb3RvY29sSXNJbkhUVFBGYW1p
bHkoKSkKKyAgICAgICAgICAgIHByZWZldGNoRE5TKGFic29sdXRlVVJMLmhvc3QoKSk7CisgICAg
fQorfQorCiAvLyBSZXR1cm5zIHRydWUgaXMgdGhlIGdpdmVuIGF0dHJpYnV0ZSBpcyBhbiBldmVu
dCBoYW5kbGVyLgogLy8gV2UgY29uc2lkZXIgYW4gZXZlbnQgaGFuZGxlciBhbnkgYXR0cmlidXRl
IHRoYXQgYmVnaW5zIHdpdGggIm9uIi4KIC8vIEl0IGlzIGEgc2ltcGxlIHNvbHV0aW9uIHRoYXQg
aGFzIHRoZSBhZHZhbnRhZ2Ugb2Ygbm90IHJlcXVpcmluZyBhbnkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCmlu
ZGV4IDcwNjEwZGJiYTIzYmE4YTQzY2E1YzFmNzM4ZjUwMmQ5OGFjNjQ1ZGUuLjNmMjRhM2Q5ZGU2
MmY0NzAwNzY4M2MxMDAzMmVkZDZiZmMwYWUyZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtNTg4
LDYgKzU4OCw4IEBAIHByb3RlY3RlZDoKICAgICAvLyBzdmdBdHRyaWJ1dGVDaGFuZ2VkIChjYWxs
ZWQgd2hlbiBlbGVtZW50LmNsYXNzTmFtZS5iYXNlVmFsdWUgaXMgc2V0KQogICAgIHZvaWQgY2xh
c3NBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IEF0b21pY1N0cmluZyYgbmV3Q2xhc3NTdHJpbmcpOwog
CisgICAgc3RhdGljIHZvaWQgcHJlZmV0Y2hETlNGcm9tKGNvbnN0IEVsZW1lbnQmKTsKKwogcHJp
dmF0ZToKICAgICBib29sIGlzVGV4dE5vZGUoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4IDMwZTBmOTQ4
NmRjYTFiYjY4NmVlZmFmOWZiYmQ4MmY0NzkwMDRlMzkuLmZhYmM1ODEyNzM1YzQxZWJiYmFjZmM4
YjVhMjI3OTg3ZDJjNTQ3M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KQEAgLTM2NiwxMCArMzY2LDExIEBAIHZvaWQgV2Vi
UGFnZTo6dGFwSGlnaGxpZ2h0QXRQb3NpdGlvbih1aW50NjRfdCByZXF1ZXN0SUQsIGNvbnN0IEZs
b2F0UG9pbnQmIHBvc2l0CiAgICAgaWYgKCFub2RlKQogICAgICAgICByZXR1cm47CiAKLSAgICBS
ZW5kZXJPYmplY3QgKnJlbmRlcmVyID0gbm9kZS0+cmVuZGVyZXIoKTsKKyAgICBpZiAoaXNFbGVt
ZW50KG5vZGUpKQorICAgICAgICBFbGVtZW50OjpwcmVmZXRjaEROU0Zyb20odG9FbGVtZW50KCpu
b2RlKSk7CiAKICAgICBWZWN0b3I8RmxvYXRRdWFkPiBxdWFkczsKLSAgICBpZiAocmVuZGVyZXIp
IHsKKyAgICBpZiAoUmVuZGVyT2JqZWN0ICpyZW5kZXJlciA9IG5vZGUtPnJlbmRlcmVyKCkpIHsK
ICAgICAgICAgcmVuZGVyZXItPmFic29sdXRlUXVhZHMocXVhZHMpOwogICAgICAgICBDb2xvciBo
aWdobGlnaHRDb2xvciA9IHJlbmRlcmVyLT5zdHlsZSgpLnRhcEhpZ2hsaWdodENvbG9yKCk7CiAg
ICAgICAgIGlmICghbm9kZS0+ZG9jdW1lbnQoKS5mcmFtZSgpLT5pc01haW5GcmFtZSgpKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230794</attachid>
            <date>2014-05-04 16:05:22 -0700</date>
            <delta_ts>2014-05-05 15:46:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132509-20140504160450.patch</filename>
            <type>text/plain</type>
            <size>5122</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY4MjQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDM1ZDE5ZmE0ZTllMDY5
NDUzNDVhNWIxZDlmODU5MzFjMDFhOWZjOS4uMDdmYzE1ZWY4NDdkNzc5YTdjNjU4NzljZWVlMDQy
OGQ3NmZmYTA5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE0LTA1LTA0ICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdW1dLMl0g
UHJlZmV0Y2ggRE5TIGhvc3RuYW1lcyBvbiB0YXAgaGlnaGxpZ2h0CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzI1MDkKKworICAgICAgICBSZXZpZXdl
ZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAg
KiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cHJlZmV0Y2hE
TlNGcm9tKToKKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgorCiAyMDE0LTA1LTA0ICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIGRldmljZVNjYWxl
RmFjdG9yIGlzIGJlaW5nIGRvdWJsZS1hcHBsaWVkIHdoZW4gcmVuZGVyaW5nIGNhcHRpb25zIGlu
IGZ1bGwgc2NyZWVuIG1vZGUgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOGI1ZTAxYmMzYTAwNTg0MTEwZDA5YmUz
ZTJlOTEzNDE4NzhiMTI1Mi4uM2JhOGIzYTc5ODI0MDE5Y2QzMGYyNzYwMjlhYzBkODJkOWE3Y2Vi
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE0LTA1LTA0ICBCZW5qYW1pbiBQb3Vs
YWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdW1dLMl0gUHJlZmV0Y2gg
RE5TIGhvc3RuYW1lcyBvbiB0YXAgaGlnaGxpZ2h0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzI1MDkKKworICAgICAgICBSZXZpZXdlZCBieSBSeW9z
dWtlIE5pd2EuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1Mu
bW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnRhcEhpZ2hsaWdodEF0UG9zaXRpb24pOgor
CiAyMDE0LTA1LTA0ICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBU
b3AgY29udGVudCBpbnNldDogTWFyZ2luIHRpbGVzIHNob3VsZCBub3QgZGlzcGxheSBpbiB0aGUg
aW5zZXQgYXJlYSB3aGVuIHBpbm5lZCAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggN2JmNjA2ZmQ2
OTVhNjRiMzdlMDY5NDI0NGQ4ZWM2MTllMzRhMjFjOS4uZjk3YWJhMDgxMjExNzFmOGY5YTI3ZTY4
NzY2NDYyY2ZjZDQ2NmI4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAu
aW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTI0NDAsNiArMjQ0MCw3
IEBAIF9XZWJUaHJlYWRVbmxvY2tHdWFyZEZvck1haWwKIF9XZWJVSUFwcGxpY2F0aW9uRGlkQmVj
b21lQWN0aXZlTm90aWZpY2F0aW9uCiBfV2ViVUlBcHBsaWNhdGlvbldpbGxFbnRlckZvcmVncm91
bmROb3RpZmljYXRpb24KIF9XZWJVSUFwcGxpY2F0aW9uV2lsbFJlc2lnbkFjdGl2ZU5vdGlmaWNh
dGlvbgorX19aTjdXZWJDb3JlN0VsZW1lbnQxNXByZWZldGNoRE5TRnJvbUVSS1MwXwogX19aTjdX
ZWJDb3JlOUZyYW1lVmlldzE3c2V0U2Nyb2xsVmVsb2NpdHlFZGRkZAogX19aTjdXZWJDb3JlMTBT
Y3JvbGxWaWV3MTVzZXRTY3JvbGxPZmZzZXRFUktOU184SW50UG9pbnRFCiBfX1pON1dlYkNvcmUx
MFNjcm9sbFZpZXcyMXNldEV4cG9zZWRDb250ZW50UmVjdEVSS05TXzdJbnRSZWN0RQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuY3BwCmluZGV4IGFjZGQzNjA2YTA4YzU3NDBlZTViMzU2MTEzNTJlNWZmYTAzZWZk
ZjQuLmIwMGE4NmM1ZDE5NmJjMTBiZjhmMDEwNTU4NjZjMzc2ODRjOGQyYzMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudC5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJDbGllbnRSZWN0LmgiCiAj
aW5jbHVkZSAiQ2xpZW50UmVjdExpc3QuaCIKICNpbmNsdWRlICJDb250YWluZXJOb2RlQWxnb3Jp
dGhtcy5oIgorI2luY2x1ZGUgIkROUy5oIgogI2luY2x1ZGUgIkRPTVRva2VuTGlzdC5oIgogI2lu
Y2x1ZGUgIkRvY3VtZW50U2hhcmVkT2JqZWN0UG9vbC5oIgogI2luY2x1ZGUgIkVsZW1lbnRJdGVy
YXRvci5oIgpAQCAtNzcsNiArNzgsNyBAQAogI2luY2x1ZGUgIlRleHRJdGVyYXRvci5oIgogI2lu
Y2x1ZGUgIlZvaWRDYWxsYmFjay5oIgogI2luY2x1ZGUgIldoZWVsRXZlbnQuaCIKKyNpbmNsdWRl
ICJYTGlua05hbWVzLmgiCiAjaW5jbHVkZSAiWE1MTlNOYW1lcy5oIgogI2luY2x1ZGUgIlhNTE5h
bWVzLmgiCiAjaW5jbHVkZSAiaHRtbGVkaXRpbmcuaCIKQEAgLTExNjMsNiArMTE2NSwyMyBAQCB2
b2lkIEVsZW1lbnQ6OmNsYXNzQXR0cmlidXRlQ2hhbmdlZChjb25zdCBBdG9taWNTdHJpbmcmIG5l
d0NsYXNzU3RyaW5nKQogICAgICAgICBzZXROZWVkc1N0eWxlUmVjYWxjKCk7CiB9CiAKK3ZvaWQg
RWxlbWVudDo6cHJlZmV0Y2hETlNGcm9tKGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpCit7CisgICAg
aWYgKCFlbGVtZW50LmlzTGluaygpKQorICAgICAgICByZXR1cm47CisKKyAgICBBdG9taWNTdHJp
bmcgdXJsU3RyaW5nOworICAgIGlmIChlbGVtZW50Lmhhc1RhZ05hbWUoU1ZHTmFtZXM6OmFUYWcp
KQorICAgICAgICB1cmxTdHJpbmcgPSBlbGVtZW50LmdldEF0dHJpYnV0ZShYTGlua05hbWVzOjpo
cmVmQXR0cik7CisgICAgZWxzZQorICAgICAgICB1cmxTdHJpbmcgPSBlbGVtZW50LmdldEF0dHJp
YnV0ZShIVE1MTmFtZXM6OmhyZWZBdHRyKTsKKyAgICBpZiAoIXVybFN0cmluZy5pc0VtcHR5KCkp
IHsKKyAgICAgICAgVVJMIGFic29sdXRlVVJMID0gZWxlbWVudC5kb2N1bWVudCgpLmNvbXBsZXRl
VVJMKHN0cmlwTGVhZGluZ0FuZFRyYWlsaW5nSFRNTFNwYWNlcyh1cmxTdHJpbmcpKTsKKyAgICAg
ICAgaWYgKGFic29sdXRlVVJMLnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSkKKyAgICAgICAgICAg
IHByZWZldGNoRE5TKGFic29sdXRlVVJMLmhvc3QoKSk7CisgICAgfQorfQorCiAvLyBSZXR1cm5z
IHRydWUgaXMgdGhlIGdpdmVuIGF0dHJpYnV0ZSBpcyBhbiBldmVudCBoYW5kbGVyLgogLy8gV2Ug
Y29uc2lkZXIgYW4gZXZlbnQgaGFuZGxlciBhbnkgYXR0cmlidXRlIHRoYXQgYmVnaW5zIHdpdGgg
Im9uIi4KIC8vIEl0IGlzIGEgc2ltcGxlIHNvbHV0aW9uIHRoYXQgaGFzIHRoZSBhZHZhbnRhZ2Ug
b2Ygbm90IHJlcXVpcmluZyBhbnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IDcwNjEwZGJiYTIzYmE4
YTQzY2E1YzFmNzM4ZjUwMmQ5OGFjNjQ1ZGUuLjQ5N2QyZDBlMDQ4ZDE2OGI0NDg2MGFkMTg1Zjhk
NzM0YzU5MTcxYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtNTY1LDYgKzU2NSw4IEBAIHB1Ymxp
YzoKICAgICB2b2lkIGNsZWFyU3R5bGVEZXJpdmVkRGF0YUJlZm9yZURldGFjaGluZ1JlbmRlcmVy
KCk7CiAgICAgdm9pZCBjbGVhckhvdmVyQW5kQWN0aXZlU3RhdHVzQmVmb3JlRGV0YWNoaW5nUmVu
ZGVyZXIoKTsKIAorICAgIHN0YXRpYyB2b2lkIHByZWZldGNoRE5TRnJvbShjb25zdCBFbGVtZW50
Jik7CisKIHByb3RlY3RlZDoKICAgICBFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05h
bWUsIERvY3VtZW50JiBkb2N1bWVudCwgQ29uc3RydWN0aW9uVHlwZSB0eXBlKQogICAgICAgICA6
IENvbnRhaW5lck5vZGUoZG9jdW1lbnQsIHR5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KaW5kZXggMzBlMGY5NDg2ZGNhMWJi
Njg2ZWVmYWY5ZmJiZDgyZjQ3OTAwNGUzOS4uMjY3YmFiM2Y2ZDQ4ZDQ0YWU0MzYwZjQyNzk3ZDBm
M2E0Y2U3Zjc3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L2lvcy9XZWJQYWdlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9pb3MvV2ViUGFnZUlPUy5tbQpAQCAtMzY2LDEwICszNjYsMTEgQEAgdm9pZCBXZWJQYWdlOjp0
YXBIaWdobGlnaHRBdFBvc2l0aW9uKHVpbnQ2NF90IHJlcXVlc3RJRCwgY29uc3QgRmxvYXRQb2lu
dCYgcG9zaXQKICAgICBpZiAoIW5vZGUpCiAgICAgICAgIHJldHVybjsKIAotICAgIFJlbmRlck9i
amVjdCAqcmVuZGVyZXIgPSBub2RlLT5yZW5kZXJlcigpOworICAgIGlmIChpc0VsZW1lbnQoKm5v
ZGUpKQorICAgICAgICBFbGVtZW50OjpwcmVmZXRjaEROU0Zyb20odG9FbGVtZW50KCpub2RlKSk7
CiAKICAgICBWZWN0b3I8RmxvYXRRdWFkPiBxdWFkczsKLSAgICBpZiAocmVuZGVyZXIpIHsKKyAg
ICBpZiAoUmVuZGVyT2JqZWN0ICpyZW5kZXJlciA9IG5vZGUtPnJlbmRlcmVyKCkpIHsKICAgICAg
ICAgcmVuZGVyZXItPmFic29sdXRlUXVhZHMocXVhZHMpOwogICAgICAgICBDb2xvciBoaWdobGln
aHRDb2xvciA9IHJlbmRlcmVyLT5zdHlsZSgpLnRhcEhpZ2hsaWdodENvbG9yKCk7CiAgICAgICAg
IGlmICghbm9kZS0+ZG9jdW1lbnQoKS5mcmFtZSgpLT5pc01haW5GcmFtZSgpKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230862</attachid>
            <date>2014-05-05 15:46:26 -0700</date>
            <delta_ts>2014-05-05 17:02:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132509-20140505154554.patch</filename>
            <type>text/plain</type>
            <size>13114</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY4MjUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2VmMGQwN2IyMDczNjYy
MWIwNjgxZDM0ODhiNTk5Njg4ZmMxMDBkMi4uM2RhMGEzZjcxYTUxNGViNDBkODIzNWFhZDg1ZTQy
ZjM2NTY5YmUxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE0LTA1LTA1ICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdW1dLMl0g
UHJlZmV0Y2ggRE5TIGhvc3RuYW1lcyBvbiB0YXAgaGlnaGxpZ2h0CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzI1MDkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAg
ICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgorICAgICAgICAo
V2ViQ29yZTo6RWxlbWVudDo6YWJzb2x1dGVMaW5rVVJMKCkpOgorCiAyMDE0LTA1LTA0ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgVXNlIHN0ZDo6
dW5pcXVlX3B0ciBpbiBtX3Rhc2tUaW1lciBvZiBOb3RpZmljYXRpb24gY2xhc3MKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpp
bmRleCA0N2ZmM2Q0MGJjOWVjZTI1YjcxOGJmMDcwNDIyZjRmYjU0MDc5YjMxLi5jNjEwYTMyYzYx
OTU3MzFmN2Q0NDIxZDZkNGNhYzNhMTdhMzVjYTExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTQtMDUtMDUgIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CisK
KyAgICAgICAgW2lPU11bV0syXSBQcmVmZXRjaCBETlMgaG9zdG5hbWVzIG9uIHRhcCBoaWdobGln
aHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMjUw
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlOjp0YXBIaWdobGlnaHRBdFBvc2l0aW9uKToKKwogMjAxNC0wNS0wNCAgUHJhdGlrIFNvbGFu
a2kgIDxwc29sYW5raUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVkdWNlIGNhbGxzIHRvIENGVVJM
Q2FjaGVDb3B5U2hhcmVkVVJMQ2FjaGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggODM2NTdmNGE4
YjY0ODgwYTBhY2FhY2RhMTRhYjJmOWYxODM2MTQ2Yi4uYzliMWZmYTJmMTQwYzg1M2ZjNjA4NGIx
MmU0OWQxMmQzY2UzOTJhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAu
aW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTI2NTYsNiArMjY1Niw4
IEBAIF9fWk43V2ViQ29yZTlGcmFtZVZpZXczM3JlY3RGb3JWaWV3cG9ydENvbnN0cmFpbmVkT2Jq
ZWN0c0VSS05TXzEwTGF5b3V0UmVjdEVSS05TCiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MzVzZXRV
c2VDdXN0b21GaXhlZFBvc2l0aW9uTGF5b3V0UmVjdEViCiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3
MzZzY2hlZHVsZUxheWVyRmx1c2hBbGxvd2luZ1Rocm90dGxpbmdFdgogX19aTjdXZWJDb3JlOVBh
Z2VHcm91cDE3cmVtb3ZlVmlzaXRlZExpbmtFUktOU18zVVJMRQorX19aTjdXZWJDb3JlMTFwcmVm
ZXRjaEROU0VSS05TXzNVUkxFCitfX1pOSzdXZWJDb3JlN0VsZW1lbnQxNWFic29sdXRlTGlua1VS
TEV2CiBfX1pOSzdXZWJDb3JlOUZyYW1lVmlldzE3d2FzU2Nyb2xsZWRCeVVzZXJFdgogX19aTks3
V2ViQ29yZTEwRmxvYXRQb2ludGN2N0NHUG9pbnRFdgogX19aTks3V2ViQ29yZTEwU2Nyb2xsVmll
dzIxdW5vYnNjdXJlZENvbnRlbnRSZWN0RU5TXzE0U2Nyb2xsYWJsZUFyZWEzNlZpc2libGVDb250
ZW50UmVjdEluY2x1ZGVzU2Nyb2xsYmFyc0UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2ZDM1MDQwNmRiMmM4NGRhNTYyZmZjZGNk
NDk4MTRiNzFiNDNkMDlmLi44ODYzODVhZmY4ZGNjNzRmZWI4YTVhNDUyOTAxZDkwYjQ3NWQ2OTdi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC00NjMyLDcgKzQ2MzIsNyBAQAogCQlCMkU0RUM5NzBEMDBDMjJCMDA0MzI2NDMgLyog
U1ZHWm9vbUV2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEIyRTRFQzk0MEQwMEMyMkIwMDQzMjY0MyAvKiBTVkdab29tRXZlbnQuY3BwICovOyB9
OwogCQlCMkU0RUM5ODBEMDBDMjJCMDA0MzI2NDMgLyogU1ZHWm9vbUV2ZW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkU0RUM5NTBEMDBDMjJCMDA0
MzI2NDMgLyogU1ZHWm9vbUV2ZW50LmggKi87IH07CiAJCUIyRUQ5NzcxMEIxRjU1Q0UwMDI1N0Qw
RiAvKiBHcmFwaGljc0NvbnRleHRDRy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCMkVEOTc3MDBCMUY1NUNFMDAyNTdEMEYgLyogR3JhcGhpY3NDb250
ZXh0Q0cuY3BwICovOyB9OwotCQlCMkYzNEZFNjBFODJGODE0MDBGNjI3Q0QgLyogRE5TLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkYzNEZFNTBFODJG
ODE0MDBGNjI3Q0QgLyogRE5TLmggKi87IH07CisJCUIyRjM0RkU2MEU4MkY4MTQwMEY2MjdDRCAv
KiBETlMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIy
RjM0RkU1MEU4MkY4MTQwMEY2MjdDRCAvKiBETlMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCMkYzNEZFOTBFODJGODI3MDBGNjI3Q0QgLyogRE5T
Q0ZOZXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QjJGMzRGRTgwRTgyRjgyNzAwRjYyN0NEIC8qIEROU0NGTmV0LmNwcCAqLzsgfTsKIAkJQjJGQTNE
MzYwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZUNvbG9yRWxlbWVudC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkZBM0M0RTBBQjc1QTZF
MDAwRTVBQzQgLyogSlNTVkdBbmltYXRlQ29sb3JFbGVtZW50LmNwcCAqLzsgfTsKIAkJQjJGQTNE
MzcwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZUNvbG9yRWxlbWVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjJGQTNDNEYwQUI3NUE2RTAw
MEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZUNvbG9yRWxlbWVudC5oICovOyB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnQuY3BwCmluZGV4IGFjZGQzNjA2YTA4YzU3NDBlZTViMzU2MTEzNTJlNWZmYTAzZWZkZjQuLmY4
NTJmNDM3Y2VhM2E4YjI5MDk0ZWM3YTg2OGRlYjQ5ODYyNTAwNWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dC5jcHAKQEAgLTc3LDYgKzc3LDcgQEAKICNpbmNsdWRlICJUZXh0SXRlcmF0b3IuaCIKICNpbmNs
dWRlICJWb2lkQ2FsbGJhY2suaCIKICNpbmNsdWRlICJXaGVlbEV2ZW50LmgiCisjaW5jbHVkZSAi
WExpbmtOYW1lcy5oIgogI2luY2x1ZGUgIlhNTE5TTmFtZXMuaCIKICNpbmNsdWRlICJYTUxOYW1l
cy5oIgogI2luY2x1ZGUgImh0bWxlZGl0aW5nLmgiCkBAIC0xMTYzLDYgKzExNjQsMjEgQEAgdm9p
ZCBFbGVtZW50OjpjbGFzc0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgQXRvbWljU3RyaW5nJiBuZXdD
bGFzc1N0cmluZykKICAgICAgICAgc2V0TmVlZHNTdHlsZVJlY2FsYygpOwogfQogCitVUkwgRWxl
bWVudDo6YWJzb2x1dGVMaW5rVVJMKCkgY29uc3QKK3sKKyAgICBpZiAoIWlzTGluaygpKQorICAg
ICAgICByZXR1cm4gVVJMKCk7CisKKyAgICBBdG9taWNTdHJpbmcgbGlua0F0dHJpYnV0ZTsKKyAg
ICBpZiAoaGFzVGFnTmFtZShTVkdOYW1lczo6YVRhZykpCisgICAgICAgIGxpbmtBdHRyaWJ1dGUg
PSBnZXRBdHRyaWJ1dGUoWExpbmtOYW1lczo6aHJlZkF0dHIpOworICAgIGVsc2UKKyAgICAgICAg
bGlua0F0dHJpYnV0ZSA9IGdldEF0dHJpYnV0ZShIVE1MTmFtZXM6OmhyZWZBdHRyKTsKKyAgICBp
ZiAobGlua0F0dHJpYnV0ZS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBkb2N1bWVudCgpLmNv
bXBsZXRlVVJMKHN0cmlwTGVhZGluZ0FuZFRyYWlsaW5nSFRNTFNwYWNlcyhsaW5rQXR0cmlidXRl
KSk7CisgICAgcmV0dXJuIFVSTCgpOworfQorCiAvLyBSZXR1cm5zIHRydWUgaXMgdGhlIGdpdmVu
IGF0dHJpYnV0ZSBpcyBhbiBldmVudCBoYW5kbGVyLgogLy8gV2UgY29uc2lkZXIgYW4gZXZlbnQg
aGFuZGxlciBhbnkgYXR0cmlidXRlIHRoYXQgYmVnaW5zIHdpdGggIm9uIi4KIC8vIEl0IGlzIGEg
c2ltcGxlIHNvbHV0aW9uIHRoYXQgaGFzIHRoZSBhZHZhbnRhZ2Ugb2Ygbm90IHJlcXVpcmluZyBh
bnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5oCmluZGV4IDcwNjEwZGJiYTIzYmE4YTQzY2E1YzFmNzM4ZjUwMmQ5
OGFjNjQ1ZGUuLjRkZDE5YWRjNGJiN2RkZTc0ZGQyZDA3ZTVlNmJiODYzZmQ3Mjk2MzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuaApAQCAtNTY1LDYgKzU2NSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGNsZWFy
U3R5bGVEZXJpdmVkRGF0YUJlZm9yZURldGFjaGluZ1JlbmRlcmVyKCk7CiAgICAgdm9pZCBjbGVh
ckhvdmVyQW5kQWN0aXZlU3RhdHVzQmVmb3JlRGV0YWNoaW5nUmVuZGVyZXIoKTsKIAorICAgIFVS
TCBhYnNvbHV0ZUxpbmtVUkwoKSBjb25zdDsKKwogcHJvdGVjdGVkOgogICAgIEVsZW1lbnQoY29u
c3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvY3VtZW50LCBDb25zdHJ1Y3Rp
b25UeXBlIHR5cGUpCiAgICAgICAgIDogQ29udGFpbmVyTm9kZShkb2N1bWVudCwgdHlwZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAKaW5kZXggODcxMWI4MGNkOWIx
YzBhOGM2N2I0Y2Y0NzUyOThlMGJjYjk2YTY5NS4uZTQ5ZWM1ZWQ0M2U4ODVjNTMxZjNkZTNmYWM3
MjhiYmY2MTA2M2EyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9y
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5j
cHAKQEAgLTI1Miw3ICsyNTIsNyBAQCB2b2lkIEhUTUxBbmNob3JFbGVtZW50OjpwYXJzZUF0dHJp
YnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdAogICAgICAgICAg
ICAgU3RyaW5nIHBhcnNlZFVSTCA9IHN0cmlwTGVhZGluZ0FuZFRyYWlsaW5nSFRNTFNwYWNlcyh2
YWx1ZSk7CiAgICAgICAgICAgICBpZiAoZG9jdW1lbnQoKS5pc0ROU1ByZWZldGNoRW5hYmxlZCgp
KSB7CiAgICAgICAgICAgICAgICAgaWYgKHByb3RvY29sSXNJbkhUVFBGYW1pbHkocGFyc2VkVVJM
KSB8fCBwYXJzZWRVUkwuc3RhcnRzV2l0aCgiLy8iKSkKLSAgICAgICAgICAgICAgICAgICAgcHJl
ZmV0Y2hETlMoZG9jdW1lbnQoKS5jb21wbGV0ZVVSTChwYXJzZWRVUkwpLmhvc3QoKSk7CisgICAg
ICAgICAgICAgICAgICAgIHByZWZldGNoRE5TKGRvY3VtZW50KCkuY29tcGxldGVVUkwocGFyc2Vk
VVJMKSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgaW52YWxpZGF0ZUNhY2hl
ZFZpc2l0ZWRMaW5rSGFzaCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xp
bmtMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0xpbmtMb2FkZXIuY3BwCmluZGV4
IGU2M2JiZjBjMjJlNTZkNmNlYTE1YWYzMWZlN2Q4ZTM5YTQ5N2I3MjQuLjc5NmRkMDI2YmUyMTRj
YWE0ZWEwM2Q1YzdkYjg5MTFjMzY4MTkwYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9MaW5rTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRl
ci5jcHAKQEAgLTEwMCw3ICsxMDAsNyBAQCBib29sIExpbmtMb2FkZXI6OmxvYWRMaW5rKGNvbnN0
IExpbmtSZWxBdHRyaWJ1dGUmIHJlbEF0dHJpYnV0ZSwgY29uc3QgU3RyaW5nJiB0eQogICAgICAg
ICAvLyBGSVhNRTogVGhlIGhyZWYgYXR0cmlidXRlIG9mIHRoZSBsaW5rIGVsZW1lbnQgY2FuIGJl
IGluICIvL2hvc3RuYW1lIiBmb3JtLCBhbmQgd2Ugc2hvdWxkbid0IGF0dGVtcHQKICAgICAgICAg
Ly8gdG8gY29tcGxldGUgdGhhdCBhcyBVUkwgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00ODg1Nz4uCiAgICAgICAgIGlmIChzZXR0aW5ncyAmJiBzZXR0aW5ncy0+ZG5z
UHJlZmV0Y2hpbmdFbmFibGVkKCkgJiYgaHJlZi5pc1ZhbGlkKCkgJiYgIWhyZWYuaXNFbXB0eSgp
KQotICAgICAgICAgICAgcHJlZmV0Y2hETlMoaHJlZi5ob3N0KCkpOworICAgICAgICAgICAgcHJl
ZmV0Y2hETlMoaHJlZik7CiAgICAgfQogCiAjaWYgRU5BQkxFKExJTktfUFJFRkVUQ0gpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0Nocm9tZS5jcHAKaW5kZXggNGRjZDYzNTdkNmNlOGE0NjgzYmZjY2YyZWQ4NGRjOTM3N2Qx
N2EzMi4uMWY1NmE3ODZiMWJkOTQ0YWI4ZTEzNWI2YTZmODRjNDJjNjdiNWQ4YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ2hyb21lLmNwcApAQCAtMzgwLDcgKzM4MCw3IEBAIEludFJlY3QgQ2hyb21lOjp3aW5kb3dS
ZXNpemVyUmVjdCgpIGNvbnN0CiB2b2lkIENocm9tZTo6bW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQo
Y29uc3QgSGl0VGVzdFJlc3VsdCYgcmVzdWx0LCB1bnNpZ25lZCBtb2RpZmllckZsYWdzKQogewog
ICAgIGlmIChyZXN1bHQuaW5uZXJOb2RlKCkgJiYgcmVzdWx0LmlubmVyTm9kZSgpLT5kb2N1bWVu
dCgpLmlzRE5TUHJlZmV0Y2hFbmFibGVkKCkpCi0gICAgICAgIHByZWZldGNoRE5TKHJlc3VsdC5h
YnNvbHV0ZUxpbmtVUkwoKS5ob3N0KCkpOworICAgICAgICBwcmVmZXRjaEROUyhyZXN1bHQuYWJz
b2x1dGVMaW5rVVJMKCkpOwogICAgIG1fY2xpZW50Lm1vdXNlRGlkTW92ZU92ZXJFbGVtZW50KHJl
c3VsdCwgbW9kaWZpZXJGbGFncyk7CiAKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Om1v
dXNlRGlkTW92ZU92ZXJFbGVtZW50KCZtX3BhZ2UsIHJlc3VsdCwgbW9kaWZpZXJGbGFncyk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0ROUy5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ETlMuaAppbmRleCAyODI3OGU4OGE1YTdjMTY5NzQ4
Y2FmZTM0YWIzOTg0N2I0MmEzZjJiLi41OGMxY2U4NjA5MmVmNjRkNjM3NTRiNzczMDAwMzU3NGE2
OGE4ZTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0ROUy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRE5TLmgKQEAgLTI2LDExICsy
NiwxMiBAQAogI2lmbmRlZiBETlNfaAogI2RlZmluZSBETlNfaAogCi0jaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi12b2lkIHByZWZldGNoRE5TKGNvbnN0
IFN0cmluZyYgaG9zdG5hbWUpOworY2xhc3MgVVJMOworCit2b2lkIHByZWZldGNoRE5TKGNvbnN0
IFVSTCYgYWJzb2x1dGVVUkwpOwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvRE5TQ0ZOZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9jZi9ETlNDRk5ldC5jcHAKaW5kZXggYmQ0MDU3MmQ5ZjFiMGI4NGY1MGIz
YTBjYTllNDBkYzIzMWE2MDUwMy4uY2NlYjc0M2YzZjA0M2Q0Yzk2ZmJiOTQwZDdmY2FjM2VkZjM4
ZjdlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9ETlND
Rk5ldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9ETlNDRk5l
dC5jcHAKQEAgLTEwNCw5ICsxMDQsMTAgQEAgdm9pZCBETlNSZXNvbHZlUXVldWU6OnBsYXRmb3Jt
UmVzb2x2ZShjb25zdCBTdHJpbmcmIGhvc3RuYW1lKQogICAgIENGSG9zdFN0YXJ0SW5mb1Jlc29s
dXRpb24obGVha2VkSG9zdCwga0NGSG9zdEFkZHJlc3NlcywgMCk7CiB9CiAKLXZvaWQgcHJlZmV0
Y2hETlMoY29uc3QgU3RyaW5nJiBob3N0bmFtZSkKK3ZvaWQgcHJlZmV0Y2hETlMoY29uc3QgVVJM
JiBhYnNvbHV0ZVVSTCkKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOworICAgIFN0cmlu
ZyBob3N0bmFtZSA9IGFic29sdXRlVVJMLmhvc3QoKTsKICAgICBpZiAoaG9zdG5hbWUuaXNFbXB0
eSgpKQogICAgICAgICByZXR1cm47CiAgICAgRE5TUmVzb2x2ZVF1ZXVlOjpzaGFyZWQoKS5hZGQo
aG9zdG5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
dXJsL0ROU0N1cmwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0RO
U0N1cmwuY3BwCmluZGV4IDc4ZjYzNzc0NTMxYTBhZmE5ZTQ1YTc2Y2NlOGEzY2QxMDE5NzVlY2Uu
LmNiNjE2ZjY2NmQ0Yzg0MTUxY2VkNjgzOWQyNzBlYWVmMmFkMmI5NDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9ETlNDdXJsLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvRE5TQ3VybC5jcHAKQEAgLTMyLDcgKzMy
LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi12b2lkIHByZWZldGNoRE5TKGNvbnN0IFN0
cmluZyYgLyogaG9zdG5hbWUgKi8pCit2b2lkIHByZWZldGNoRE5TKGNvbnN0IFVSTCYgLyogaG9z
dG5hbWUgKi8pCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9ETlNTb3VwLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9ETlNTb3VwLmNwcAppbmRleCBjYTQxNDg0N2Y1Zjlk
ZTEwYTc3YmFiNjEwYjljNWY0Yzg5ZWRlNzU5Li43YmI5MTllMzU4NjRjZjVhNDhjYTU1M2FkZWRl
OGZhNDQxMjllZDlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvRE5TU291cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9z
b3VwL0ROU1NvdXAuY3BwCkBAIC01Nyw5ICs1NywxMCBAQCB2b2lkIEROU1Jlc29sdmVRdWV1ZTo6
cGxhdGZvcm1SZXNvbHZlKGNvbnN0IFN0cmluZyYgaG9zdG5hbWUpCiAgICAgc291cF9zZXNzaW9u
X3ByZWZldGNoX2RucyhTb3VwTmV0d29ya1Nlc3Npb246OmRlZmF1bHRTZXNzaW9uKCkuc291cFNl
c3Npb24oKSwgaG9zdG5hbWUudXRmOCgpLmRhdGEoKSwgbnVsbHB0ciwgcmVzb2x2ZWRDYWxsYmFj
aywgbnVsbHB0cik7CiB9CiAKLXZvaWQgcHJlZmV0Y2hETlMoY29uc3QgU3RyaW5nJiBob3N0bmFt
ZSkKK3ZvaWQgcHJlZmV0Y2hETlMoY29uc3QgVVJMJiBob3N0bmFtZSkKIHsKICAgICBBU1NFUlQo
aXNNYWluVGhyZWFkKCkpOworICAgIFN0cmluZyBob3N0bmFtZSA9IGFic29sdXRlVVJMLmhvc3Qo
KTsKICAgICBpZiAoaG9zdG5hbWUuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFuZGxl
V2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFu
ZGxlV2luLmNwcAppbmRleCBhMWE2ZDUxOTUyZjMyMWNlZDQwNGM2NWNkNzdmZGIyZmQxYjc2YzE2
Li40ZmU3MjNmMjQyNmZmNmEyYzM2NTJjMGViNzU0OTU4Y2EwMzBmOWI4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3dpbi9SZXNvdXJjZUhhbmRsZVdpbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVX
aW4uY3BwCkBAIC00MzAsNyArNDMwLDcgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6c2V0U3luY2hy
b25vdXNJbnRlcm5ldEhhbmRsZShISU5URVJORVQgaW50ZXJuZXRIYW5kbGUpCiAgICAgZC0+bV9s
b2FkU3luY2hyb25vdXNseSA9IHRydWU7CiB9CiAKLXZvaWQgcHJlZmV0Y2hETlMoY29uc3QgU3Ry
aW5nJikKK3ZvaWQgcHJlZmV0Y2hETlMoY29uc3QgVVJMJikKIHsKICAgICBub3RJbXBsZW1lbnRl
ZCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1
bHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCmluZGV4
IDIwYjdhZDE5MWE5N2JiMWY1N2I2NDk5MDY0NDEwNjhkODA5NGNmYjguLmQ0ZGIzNTk1MGFjZGI4
NWU3YWI1YWQ3MWIwYjQwOWI4Y2Y5NTMxODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
SGl0VGVzdFJlc3VsdC5jcHAKQEAgLTUwNywxOCArNTA3LDkgQEAgdm9pZCBIaXRUZXN0UmVzdWx0
Ojp0b2dnbGVNZWRpYU11dGVTdGF0ZSgpIGNvbnN0CiAKIFVSTCBIaXRUZXN0UmVzdWx0OjphYnNv
bHV0ZUxpbmtVUkwoKSBjb25zdAogewotICAgIGlmICghbV9pbm5lclVSTEVsZW1lbnQpCi0gICAg
ICAgIHJldHVybiBVUkwoKTsKLQotICAgIEF0b21pY1N0cmluZyB1cmxTdHJpbmc7Ci0gICAgaWYg
KGlzSFRNTEFuY2hvckVsZW1lbnQobV9pbm5lclVSTEVsZW1lbnQuZ2V0KCkpIHx8IGlzSFRNTEFy
ZWFFbGVtZW50KG1faW5uZXJVUkxFbGVtZW50LmdldCgpKSB8fCBtX2lubmVyVVJMRWxlbWVudC0+
aGFzVGFnTmFtZShsaW5rVGFnKSkKLSAgICAgICAgdXJsU3RyaW5nID0gbV9pbm5lclVSTEVsZW1l
bnQtPmdldEF0dHJpYnV0ZShocmVmQXR0cik7Ci0gICAgZWxzZSBpZiAobV9pbm5lclVSTEVsZW1l
bnQtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OmFUYWcpKQotICAgICAgICB1cmxTdHJpbmcgPSBtX2lu
bmVyVVJMRWxlbWVudC0+Z2V0QXR0cmlidXRlKFhMaW5rTmFtZXM6OmhyZWZBdHRyKTsKLSAgICBl
bHNlCi0gICAgICAgIHJldHVybiBVUkwoKTsKLQotICAgIHJldHVybiBtX2lubmVyVVJMRWxlbWVu
dC0+ZG9jdW1lbnQoKS5jb21wbGV0ZVVSTChzdHJpcExlYWRpbmdBbmRUcmFpbGluZ0hUTUxTcGFj
ZXModXJsU3RyaW5nKSk7CisgICAgaWYgKG1faW5uZXJVUkxFbGVtZW50KQorICAgICAgICByZXR1
cm4gbV9pbm5lclVSTEVsZW1lbnQtPmFic29sdXRlTGlua1VSTCgpOworICAgIHJldHVybiBVUkwo
KTsKIH0KIAogYm9vbCBIaXRUZXN0UmVzdWx0Ojppc0xpdmVMaW5rKCkgY29uc3QKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbSBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQppbmRl
eCAzMGUwZjk0ODZkY2ExYmI2ODZlZWZhZjlmYmJkODJmNDc5MDA0ZTM5Li4xN2YzYWNhN2FhYTk1
ZTA4ZWJiNmU3YzMyOWU0ZWZlZmU3YjMxY2RmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCkBAIC00OCw2ICs0OCw3IEBACiAj
aW1wb3J0ICJXZWJQcm9jZXNzLmgiCiAjaW1wb3J0IDxDb3JlVGV4dC9DVEZvbnQuaD4KICNpbXBv
cnQgPFdlYkNvcmUvQ2hyb21lLmg+CisjaW1wb3J0IDxXZWJDb3JlL0ROUy5oPgogI2ltcG9ydCA8
V2ViQ29yZS9FbGVtZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0V2ZW50SGFuZGxlci5oPgogI2lt
cG9ydCA8V2ViQ29yZS9GbG9hdFF1YWQuaD4KQEAgLTM2NiwxMCArMzY3LDExIEBAIHZvaWQgV2Vi
UGFnZTo6dGFwSGlnaGxpZ2h0QXRQb3NpdGlvbih1aW50NjRfdCByZXF1ZXN0SUQsIGNvbnN0IEZs
b2F0UG9pbnQmIHBvc2l0CiAgICAgaWYgKCFub2RlKQogICAgICAgICByZXR1cm47CiAKLSAgICBS
ZW5kZXJPYmplY3QgKnJlbmRlcmVyID0gbm9kZS0+cmVuZGVyZXIoKTsKKyAgICBpZiAoaXNFbGVt
ZW50KCpub2RlKSkKKyAgICAgICAgcHJlZmV0Y2hETlModG9FbGVtZW50KCpub2RlKS5hYnNvbHV0
ZUxpbmtVUkwoKSk7CiAKICAgICBWZWN0b3I8RmxvYXRRdWFkPiBxdWFkczsKLSAgICBpZiAocmVu
ZGVyZXIpIHsKKyAgICBpZiAoUmVuZGVyT2JqZWN0ICpyZW5kZXJlciA9IG5vZGUtPnJlbmRlcmVy
KCkpIHsKICAgICAgICAgcmVuZGVyZXItPmFic29sdXRlUXVhZHMocXVhZHMpOwogICAgICAgICBD
b2xvciBoaWdobGlnaHRDb2xvciA9IHJlbmRlcmVyLT5zdHlsZSgpLnRhcEhpZ2hsaWdodENvbG9y
KCk7CiAgICAgICAgIGlmICghbm9kZS0+ZG9jdW1lbnQoKS5mcmFtZSgpLT5pc01haW5GcmFtZSgp
KSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230869</attachid>
            <date>2014-05-05 17:02:12 -0700</date>
            <delta_ts>2014-05-05 18:14:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132509-20140505170139.patch</filename>
            <type>text/plain</type>
            <size>8132</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY4MjUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2VmMGQwN2IyMDczNjYy
MWIwNjgxZDM0ODhiNTk5Njg4ZmMxMDBkMi4uYWIzZDZjNDM0MWY3ZTE5NWIzYTU0NzI1ZWQyMTY4
NGI4Y2UxYTU0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE0LTA1LTA1ICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdW1dLMl0g
UHJlZmV0Y2ggRE5TIGhvc3RuYW1lcyBvbiB0YXAgaGlnaGxpZ2h0CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzI1MDkKKworICAgICAgICBSZXZpZXdl
ZCBieSBBbGV4ZXkgUHJvc2t1cnlha292LgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46Cisg
ICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAqIGRvbS9FbGVtZW50Lmg6CisgICAg
ICAgIChXZWJDb3JlOjpFbGVtZW50OjphYnNvbHV0ZUxpbmtVUkwoKSk6CisKIDIwMTQtMDUtMDQg
IEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBVc2Ug
c3RkOjp1bmlxdWVfcHRyIGluIG1fdGFza1RpbWVyIG9mIE5vdGlmaWNhdGlvbiBjbGFzcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCmluZGV4IDQ3ZmYzZDQwYmM5ZWNlMjViNzE4YmYwNzA0MjJmNGZiNTQwNzliMzEuLjAwYjZj
OGIxNDVlNjg4YTgwNzgyZmE0MDJmMjA5ZDVkZTU0ZDYxODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxMyBAQAorMjAxNC0wNS0wNSAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNv
bT4KKworICAgICAgICBbaU9TXVtXSzJdIFByZWZldGNoIEROUyBob3N0bmFtZXMgb24gdGFwIGhp
Z2hsaWdodAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTMyNTA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KKworICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZTo6dGFwSGlnaGxpZ2h0QXRQb3NpdGlvbik6CisKIDIwMTQtMDUtMDQgIFBy
YXRpayBTb2xhbmtpICA8cHNvbGFua2lAYXBwbGUuY29tPgogCiAgICAgICAgIFJlZHVjZSBjYWxs
cyB0byBDRlVSTENhY2hlQ29weVNoYXJlZFVSTENhY2hlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4
IDgzNjU3ZjRhOGI2NDg4MGEwYWNhYWNkYTE0YWIyZjlmMTgzNjE0NmIuLmVkNzhiYzhiZThjZjEw
ZjM2YWU3ZDU5OTBjZWQ5N2QyYTBjOThhZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0yNDU1
LDYgKzI0NTUsNyBAQCBfX1pON1dlYkNvcmUxMU1hdGhNTE5hbWVzNGluaXRFdgogX19aTjdXZWJD
b3JlMTFNZW1vcnlDYWNoZTE4cHJ1bmVEZWFkUmVzb3VyY2VzRXYKIF9fWk43V2ViQ29yZTExTWVt
b3J5Q2FjaGUxOHBydW5lTGl2ZVJlc291cmNlc0ViCiBfX1pON1dlYkNvcmUxMWlzRW5kT2ZMaW5l
RVJLTlNfMTVWaXNpYmxlUG9zaXRpb25FCitfX1pON1dlYkNvcmUxMXByZWZldGNoRE5TRVJLTjNX
VEY2U3RyaW5nRQogX19aTjdXZWJDb3JlMTJBdWRpb1Nlc3Npb24xMXNldENhdGVnb3J5RU5TMF8x
MkNhdGVnb3J5VHlwZUUKIF9fWk43V2ViQ29yZTEyQXVkaW9TZXNzaW9uMTNzaGFyZWRTZXNzaW9u
RXYKIF9fWk43V2ViQ29yZTEyRXZlbnRIYW5kbGVyMTBtb3VzZU1vdmVkRVA4V2ViRXZlbnQKQEAg
LTI2NTYsNiArMjY1Nyw3IEBAIF9fWk43V2ViQ29yZTlGcmFtZVZpZXczM3JlY3RGb3JWaWV3cG9y
dENvbnN0cmFpbmVkT2JqZWN0c0VSS05TXzEwTGF5b3V0UmVjdEVSS05TCiBfX1pON1dlYkNvcmU5
RnJhbWVWaWV3MzVzZXRVc2VDdXN0b21GaXhlZFBvc2l0aW9uTGF5b3V0UmVjdEViCiBfX1pON1dl
YkNvcmU5RnJhbWVWaWV3MzZzY2hlZHVsZUxheWVyRmx1c2hBbGxvd2luZ1Rocm90dGxpbmdFdgog
X19aTjdXZWJDb3JlOVBhZ2VHcm91cDE3cmVtb3ZlVmlzaXRlZExpbmtFUktOU18zVVJMRQorX19a
Tks3V2ViQ29yZTdFbGVtZW50MTVhYnNvbHV0ZUxpbmtVUkxFdgogX19aTks3V2ViQ29yZTlGcmFt
ZVZpZXcxN3dhc1Njcm9sbGVkQnlVc2VyRXYKIF9fWk5LN1dlYkNvcmUxMEZsb2F0UG9pbnRjdjdD
R1BvaW50RXYKIF9fWk5LN1dlYkNvcmUxMFNjcm9sbFZpZXcyMXVub2JzY3VyZWRDb250ZW50UmVj
dEVOU18xNFNjcm9sbGFibGVBcmVhMzZWaXNpYmxlQ29udGVudFJlY3RJbmNsdWRlc1Njcm9sbGJh
cnNFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggNmQzNTA0MDZkYjJjODRkYTU2MmZmY2RjZDQ5ODE0YjcxYjQzZDA5Zi4uODg2Mzg1
YWZmOGRjYzc0ZmViOGE1YTQ1MjkwMWQ5MGI0NzVkNjk3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDYzMiw3ICs0NjMyLDcg
QEAKIAkJQjJFNEVDOTcwRDAwQzIyQjAwNDMyNjQzIC8qIFNWR1pvb21FdmVudC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkU0RUM5NDBEMDBDMjJC
MDA0MzI2NDMgLyogU1ZHWm9vbUV2ZW50LmNwcCAqLzsgfTsKIAkJQjJFNEVDOTgwRDAwQzIyQjAw
NDMyNjQzIC8qIFNWR1pvb21FdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQjJFNEVDOTUwRDAwQzIyQjAwNDMyNjQzIC8qIFNWR1pvb21FdmVudC5o
ICovOyB9OwogCQlCMkVEOTc3MTBCMUY1NUNFMDAyNTdEMEYgLyogR3JhcGhpY3NDb250ZXh0Q0cu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjJFRDk3
NzAwQjFGNTVDRTAwMjU3RDBGIC8qIEdyYXBoaWNzQ29udGV4dENHLmNwcCAqLzsgfTsKLQkJQjJG
MzRGRTYwRTgyRjgxNDAwRjYyN0NEIC8qIEROUy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQjJGMzRGRTUwRTgyRjgxNDAwRjYyN0NEIC8qIEROUy5oICov
OyB9OworCQlCMkYzNEZFNjBFODJGODE0MDBGNjI3Q0QgLyogRE5TLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkYzNEZFNTBFODJGODE0MDBGNjI3Q0Qg
LyogRE5TLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJQjJGMzRGRTkwRTgyRjgyNzAwRjYyN0NEIC8qIEROU0NGTmV0LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyRjM0RkU4MEU4MkY4MjcwMEY2MjdD
RCAvKiBETlNDRk5ldC5jcHAgKi87IH07CiAJCUIyRkEzRDM2MEFCNzVBNkYwMDBFNUFDNCAvKiBK
U1NWR0FuaW1hdGVDb2xvckVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQjJGQTNDNEUwQUI3NUE2RTAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0
ZUNvbG9yRWxlbWVudC5jcHAgKi87IH07CiAJCUIyRkEzRDM3MEFCNzVBNkYwMDBFNUFDNCAvKiBK
U1NWR0FuaW1hdGVDb2xvckVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEIyRkEzQzRGMEFCNzVBNkUwMDBFNUFDNCAvKiBKU1NWR0FuaW1hdGVD
b2xvckVsZW1lbnQuaCAqLzsgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCBhY2RkMzYwNmEw
OGM1NzQwZWU1YjM1NjExMzUyZTVmZmEwM2VmZGY0Li5iYmE0NWJkNmY2NjFmNGNiZTE1ZjA5Zjdk
ZjMxYjhkZDJjM2Y5NTVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC03Nyw2ICs3Nyw3IEBA
CiAjaW5jbHVkZSAiVGV4dEl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiVm9pZENhbGxiYWNrLmgiCiAj
aW5jbHVkZSAiV2hlZWxFdmVudC5oIgorI2luY2x1ZGUgIlhMaW5rTmFtZXMuaCIKICNpbmNsdWRl
ICJYTUxOU05hbWVzLmgiCiAjaW5jbHVkZSAiWE1MTmFtZXMuaCIKICNpbmNsdWRlICJodG1sZWRp
dGluZy5oIgpAQCAtMTE2Myw2ICsxMTY0LDIzIEBAIHZvaWQgRWxlbWVudDo6Y2xhc3NBdHRyaWJ1
dGVDaGFuZ2VkKGNvbnN0IEF0b21pY1N0cmluZyYgbmV3Q2xhc3NTdHJpbmcpCiAgICAgICAgIHNl
dE5lZWRzU3R5bGVSZWNhbGMoKTsKIH0KIAorVVJMIEVsZW1lbnQ6OmFic29sdXRlTGlua1VSTCgp
IGNvbnN0Cit7CisgICAgaWYgKCFpc0xpbmsoKSkKKyAgICAgICAgcmV0dXJuIFVSTCgpOworCisg
ICAgQXRvbWljU3RyaW5nIGxpbmtBdHRyaWJ1dGU7CisgICAgaWYgKGhhc1RhZ05hbWUoU1ZHTmFt
ZXM6OmFUYWcpKQorICAgICAgICBsaW5rQXR0cmlidXRlID0gZ2V0QXR0cmlidXRlKFhMaW5rTmFt
ZXM6OmhyZWZBdHRyKTsKKyAgICBlbHNlCisgICAgICAgIGxpbmtBdHRyaWJ1dGUgPSBnZXRBdHRy
aWJ1dGUoSFRNTE5hbWVzOjpocmVmQXR0cik7CisKKyAgICBpZiAobGlua0F0dHJpYnV0ZS5pc0Vt
cHR5KCkpCisgICAgICAgIHJldHVybiBVUkwoKTsKKworICAgIHJldHVybiBkb2N1bWVudCgpLmNv
bXBsZXRlVVJMKHN0cmlwTGVhZGluZ0FuZFRyYWlsaW5nSFRNTFNwYWNlcyhsaW5rQXR0cmlidXRl
KSk7Cit9CisKIC8vIFJldHVybnMgdHJ1ZSBpcyB0aGUgZ2l2ZW4gYXR0cmlidXRlIGlzIGFuIGV2
ZW50IGhhbmRsZXIuCiAvLyBXZSBjb25zaWRlciBhbiBldmVudCBoYW5kbGVyIGFueSBhdHRyaWJ1
dGUgdGhhdCBiZWdpbnMgd2l0aCAib24iLgogLy8gSXQgaXMgYSBzaW1wbGUgc29sdXRpb24gdGhh
dCBoYXMgdGhlIGFkdmFudGFnZSBvZiBub3QgcmVxdWlyaW5nIGFueQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgK
aW5kZXggNzA2MTBkYmJhMjNiYThhNDNjYTVjMWY3MzhmNTAyZDk4YWM2NDVkZS4uNGRkMTlhZGM0
YmI3ZGRlNzRkZDJkMDdlNWU2YmI4NjNmZDcyOTYzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCkBAIC01
NjUsNiArNTY1LDggQEAgcHVibGljOgogICAgIHZvaWQgY2xlYXJTdHlsZURlcml2ZWREYXRhQmVm
b3JlRGV0YWNoaW5nUmVuZGVyZXIoKTsKICAgICB2b2lkIGNsZWFySG92ZXJBbmRBY3RpdmVTdGF0
dXNCZWZvcmVEZXRhY2hpbmdSZW5kZXJlcigpOwogCisgICAgVVJMIGFic29sdXRlTGlua1VSTCgp
IGNvbnN0OworCiBwcm90ZWN0ZWQ6CiAgICAgRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0
YWdOYW1lLCBEb2N1bWVudCYgZG9jdW1lbnQsIENvbnN0cnVjdGlvblR5cGUgdHlwZSkKICAgICAg
ICAgOiBDb250YWluZXJOb2RlKGRvY3VtZW50LCB0eXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0hpdFRlc3RSZXN1bHQuY3BwCmluZGV4IDIwYjdhZDE5MWE5N2JiMWY1N2I2NDk5MDY0NDEw
NjhkODA5NGNmYjguLmQ0ZGIzNTk1MGFjZGI4NWU3YWI1YWQ3MWIwYjQwOWI4Y2Y5NTMxODcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKQEAgLTUwNywxOCAr
NTA3LDkgQEAgdm9pZCBIaXRUZXN0UmVzdWx0Ojp0b2dnbGVNZWRpYU11dGVTdGF0ZSgpIGNvbnN0
CiAKIFVSTCBIaXRUZXN0UmVzdWx0OjphYnNvbHV0ZUxpbmtVUkwoKSBjb25zdAogewotICAgIGlm
ICghbV9pbm5lclVSTEVsZW1lbnQpCi0gICAgICAgIHJldHVybiBVUkwoKTsKLQotICAgIEF0b21p
Y1N0cmluZyB1cmxTdHJpbmc7Ci0gICAgaWYgKGlzSFRNTEFuY2hvckVsZW1lbnQobV9pbm5lclVS
TEVsZW1lbnQuZ2V0KCkpIHx8IGlzSFRNTEFyZWFFbGVtZW50KG1faW5uZXJVUkxFbGVtZW50Lmdl
dCgpKSB8fCBtX2lubmVyVVJMRWxlbWVudC0+aGFzVGFnTmFtZShsaW5rVGFnKSkKLSAgICAgICAg
dXJsU3RyaW5nID0gbV9pbm5lclVSTEVsZW1lbnQtPmdldEF0dHJpYnV0ZShocmVmQXR0cik7Ci0g
ICAgZWxzZSBpZiAobV9pbm5lclVSTEVsZW1lbnQtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OmFUYWcp
KQotICAgICAgICB1cmxTdHJpbmcgPSBtX2lubmVyVVJMRWxlbWVudC0+Z2V0QXR0cmlidXRlKFhM
aW5rTmFtZXM6OmhyZWZBdHRyKTsKLSAgICBlbHNlCi0gICAgICAgIHJldHVybiBVUkwoKTsKLQot
ICAgIHJldHVybiBtX2lubmVyVVJMRWxlbWVudC0+ZG9jdW1lbnQoKS5jb21wbGV0ZVVSTChzdHJp
cExlYWRpbmdBbmRUcmFpbGluZ0hUTUxTcGFjZXModXJsU3RyaW5nKSk7CisgICAgaWYgKG1faW5u
ZXJVUkxFbGVtZW50KQorICAgICAgICByZXR1cm4gbV9pbm5lclVSTEVsZW1lbnQtPmFic29sdXRl
TGlua1VSTCgpOworICAgIHJldHVybiBVUkwoKTsKIH0KIAogYm9vbCBIaXRUZXN0UmVzdWx0Ojpp
c0xpdmVMaW5rKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9pb3MvV2ViUGFnZUlPUy5tbQppbmRleCAzMGUwZjk0ODZkY2ExYmI2ODZlZWZhZjlmYmJk
ODJmNDc5MDA0ZTM5Li4yN2VkODE4MDFmMmIxMzI0YzE1Yjg3YTM4YTY3ZWZjMjVmN2RhZjZjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJ
T1MubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdl
SU9TLm1tCkBAIC00OCw2ICs0OCw3IEBACiAjaW1wb3J0ICJXZWJQcm9jZXNzLmgiCiAjaW1wb3J0
IDxDb3JlVGV4dC9DVEZvbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ2hyb21lLmg+CisjaW1wb3J0
IDxXZWJDb3JlL0ROUy5oPgogI2ltcG9ydCA8V2ViQ29yZS9FbGVtZW50Lmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL0V2ZW50SGFuZGxlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9GbG9hdFF1YWQuaD4KQEAg
LTM2NiwxMCArMzY3LDExIEBAIHZvaWQgV2ViUGFnZTo6dGFwSGlnaGxpZ2h0QXRQb3NpdGlvbih1
aW50NjRfdCByZXF1ZXN0SUQsIGNvbnN0IEZsb2F0UG9pbnQmIHBvc2l0CiAgICAgaWYgKCFub2Rl
KQogICAgICAgICByZXR1cm47CiAKLSAgICBSZW5kZXJPYmplY3QgKnJlbmRlcmVyID0gbm9kZS0+
cmVuZGVyZXIoKTsKKyAgICBpZiAoaXNFbGVtZW50KCpub2RlKSkKKyAgICAgICAgcHJlZmV0Y2hE
TlModG9FbGVtZW50KCpub2RlKS5hYnNvbHV0ZUxpbmtVUkwoKS5ob3N0KCkpOwogCiAgICAgVmVj
dG9yPEZsb2F0UXVhZD4gcXVhZHM7Ci0gICAgaWYgKHJlbmRlcmVyKSB7CisgICAgaWYgKFJlbmRl
ck9iamVjdCAqcmVuZGVyZXIgPSBub2RlLT5yZW5kZXJlcigpKSB7CiAgICAgICAgIHJlbmRlcmVy
LT5hYnNvbHV0ZVF1YWRzKHF1YWRzKTsKICAgICAgICAgQ29sb3IgaGlnaGxpZ2h0Q29sb3IgPSBy
ZW5kZXJlci0+c3R5bGUoKS50YXBIaWdobGlnaHRDb2xvcigpOwogICAgICAgICBpZiAoIW5vZGUt
PmRvY3VtZW50KCkuZnJhbWUoKS0+aXNNYWluRnJhbWUoKSkgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>