<?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>118465</bug_id>
          
          <creation_ts>2013-07-08 05:17:24 -0700</creation_ts>
          <short_desc>Update the HTML Media Capture implementation.</short_desc>
          <delta_ts>2014-02-12 06:54:01 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</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>http://www.w3.org/TR/html-media-capture/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>BlinkMergeCandidate</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Raphael Kubo da Costa (:rakuco)">rakuco</reporter>
          <assigned_to name="Raphael Kubo da Costa (:rakuco)">rakuco</assigned_to>
          <cc>andersca</cc>
    
    <cc>benjamin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jonlee</cc>
    
    <cc>kling</cc>
    
    <cc>mxie</cc>
    
    <cc>rniwa</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>syoichi</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>906739</commentid>
    <comment_count>0</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2013-07-08 05:17:24 -0700</bug_when>
    <thetext>Update the HTML Media Capture implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906742</commentid>
    <comment_count>1</comment_count>
      <attachid>206232</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2013-07-08 05:26:52 -0700</bug_when>
    <thetext>Created attachment 206232
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906745</commentid>
    <comment_count>2</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2013-07-08 05:34:24 -0700</bug_when>
    <thetext>CC&apos;ing people who can take a look at the changes to WebCore/WebKit2 and the ports affected by the change.

Since the spec has been changed in an incompatible way, I&apos;ve changed the API in EFL-WebKit1 accordingly. I&apos;m not sure if I can remove or change existing C API in WK2, so I&apos;ve just deprecated the existing function there and added another one.

The work in Blink/Chromium is being tracked in &lt;https://codereview.chromium.org/15015006&gt;, &lt;https://codereview.chromium.org/14758008&gt; and &lt;https://codereview.chromium.org/18332015&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916272</commentid>
    <comment_count>3</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2013-08-12 06:57:47 -0700</bug_when>
    <thetext>Ping?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979400</commentid>
    <comment_count>4</comment_count>
      <attachid>223860</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2014-02-11 07:28:24 -0800</bug_when>
    <thetext>Created attachment 223860
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979634</commentid>
    <comment_count>5</comment_count>
      <attachid>223860</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-02-11 15:30:16 -0800</bug_when>
    <thetext>Comment on attachment 223860
Patch

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

&gt; Source/WebCore/html/HTMLInputElement.cpp:1806
&gt; -    if (!isFileUpload())
&gt; -        return String();
&gt; -
&gt; -    String capture = fastGetAttribute(captureAttr).lower();
&gt; -    if (capture == &quot;camera&quot;
&gt; -        || capture == &quot;camcorder&quot;
&gt; -        || capture == &quot;microphone&quot;
&gt; -        || capture == &quot;filesystem&quot;)
&gt; -        return capture;
&gt; -
&gt; -    return &quot;filesystem&quot;;
&gt; -}
&gt; +    if (!isFileUpload() || !fastHasAttribute(captureAttr))
&gt; +        return false;
&gt;  
&gt; -void HTMLInputElement::setCapture(const String&amp; value)
&gt; -{
&gt; -    setAttribute(captureAttr, value);
&gt; +    return true;

Coding style wise, the the way to write this is:

    return isFileUpload() &amp;&amp; fastHasAttribute(captureAttr);

But getting at capture from the DOM API in JavaScript or other bindings will give true, even if isFileUpload() is false.

If we keep this function, I suggest we name it differently to make it clear it’s not exactly the same as the DOM API function.

&gt; Source/WebCore/html/HTMLInputElement.h:301
&gt; +    bool capture() const;

As I said above, I think it’s not good to have this HTMLInputElement::capture function that returns something different from what calling capture on an HTMLInputElement from JavaScript would give. It should be named differently.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979850</commentid>
    <comment_count>6</comment_count>
      <attachid>223964</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2014-02-12 05:32:19 -0800</bug_when>
    <thetext>Created attachment 223964
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979851</commentid>
    <comment_count>7</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2014-02-12 05:33:06 -0800</bug_when>
    <thetext>Thanks for the suggestion. I&apos;ve renamed capture() to shouldUseMediaCapture().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979858</commentid>
    <comment_count>8</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2014-02-12 06:54:01 -0800</bug_when>
    <thetext>Committed r163958: &lt;http://trac.webkit.org/changeset/163958&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206232</attachid>
            <date>2013-07-08 05:26:52 -0700</date>
            <delta_ts>2014-02-11 07:28:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118465-20130708152636.patch</filename>
            <type>text/plain</type>
            <size>18146</size>
            <attacher name="Raphael Kubo da Costa (:rakuco)">rakuco</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyNDEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODg1NDQ5YWFhNTU3NDQ1
M2NiODQ4NzFhODZjM2JmZTFlYzMxMzFlYi4uMGQ3MTNiYmUwYzM3NjZhMjMxYmI1ZTZiZTcxYTcz
ZWQzYzMwYTdjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEzLTA3LTA4ICBSYXBo
YWVsIEt1Ym8gZGEgQ29zdGEgIDxyYXBoYWVsLmt1Ym8uZGEuY29zdGFAaW50ZWwuY29tPgorCisg
ICAgICAgIFVwZGF0ZSB0aGUgSFRNTCBNZWRpYSBDYXB0dXJlIGltcGxlbWVudGF0aW9uLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NDY1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSB0aGUgaW1w
bGVtZW50YXRpb24gaW4gV2ViS2l0IGNvbXBhdGlibGUgd2l0aCB0aGUgMjAxMy0wNS0wOQorICAg
ICAgICB2ZXJzaW9uIG9mIHRoZSBzcGVjLCB3aGljaCBtYWtlcyB0aGUgImNhcHR1cmUiIGF0dHJp
YnV0ZSBhIGJvb2xlYW4KKyAgICAgICAgaW5zdGVhZCBvZiBhbiBlbnVtLgorCisgICAgICAgIENv
dmVyZWQgYnkgZmFzdC9mb3Jtcy9maWxlL2ZpbGUtaW5wdXQtY2FwdHVyZS5odG1sLgorCisgICAg
ICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJ
bnB1dEVsZW1lbnQ6OmNhcHR1cmUpOiBSZXR1cm4gYSBib29sLgorICAgICAgICAqIGh0bWwvSFRN
TElucHV0RWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5pZGw6IFR1
cm4gdGhlIGBjYXB0dXJlJyBhdHRyaWJ1dGUgaW50byBhCisgICAgICAgIHJlZmxlY3RpdmUgYm9v
bGVhbiBpbnN0ZWFkIG9mIGEgRE9NU3RyaW5nLgorICAgICAgICAqIHBsYXRmb3JtL0ZpbGVDaG9v
c2VyLmg6CisKIDIwMTMtMDctMDUgIEd3YW5nIFlvb24gSHdhbmcgIDxyeXVtaWVsQGNvbXBhbnkx
MDAubmV0PgogCiAgICAgICAgIEJ1aWxkIGZpeCBHVEsgYWZ0ZXIgcjE1MjQwNC4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQ2hhbmdlTG9nCmluZGV4IDkwZGZlOTJkNGQ3YjViZWZjZjNhY2QxZGJjN2Y0ZTY5
ODIzZDQ0YmEuLmM2M2NiNzNiZjc4Zjg4OWFjOTRhMTYwNWY4MWMwNTE4OGNjMTgxNGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEzLTA3LTA4ICBS
YXBoYWVsIEt1Ym8gZGEgQ29zdGEgIDxyYXBoYWVsLmt1Ym8uZGEuY29zdGFAaW50ZWwuY29tPgor
CisgICAgICAgIFVwZGF0ZSB0aGUgSFRNTCBNZWRpYSBDYXB0dXJlIGltcGxlbWVudGF0aW9uLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NDY1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSB0aGUg
aW1wbGVtZW50YXRpb24gaW4gV2ViS2l0IGNvbXBhdGlibGUgd2l0aCB0aGUgMjAxMy0wNS0wOQor
ICAgICAgICB2ZXJzaW9uIG9mIHRoZSBzcGVjLCB3aGljaCBtYWtlcyB0aGUgImNhcHR1cmUiIGF0
dHJpYnV0ZSBhIGJvb2xlYW4KKyAgICAgICAgaW5zdGVhZCBvZiBhbiBlbnVtLgorCisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDaHJvbWVDbGllbnRCbGFja0JlcnJ5OjpydW5PcGVuUGFuZWwpOgorCiAyMDEzLTA3
LTAxICBKb2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJl
bW92ZSBzdXBwb3J0IGZvciBjb25zdW1hYmxlIHVzZXIgZ2VzdHVyZXMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpp
bmRleCAxNzVmZGFmYjA3OWYzNWExNjRmMzkyZDFhOTZhZDMxNDZiNzMyYWM0Li5hMGZmZjBlYzdl
ZjgyNDU3ODNmOWM2MDU4YzZjYTlkZjFmOGI3ZTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTggQEAKKzIwMTMtMDctMDggIFJhcGhhZWwgS3VibyBkYSBDb3N0YSAgPHJhcGhhZWwua3Vi
by5kYS5jb3N0YUBpbnRlbC5jb20+CisKKyAgICAgICAgVXBkYXRlIHRoZSBIVE1MIE1lZGlhIENh
cHR1cmUgaW1wbGVtZW50YXRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMTg0NjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBNYWtlIHRoZSBpbXBsZW1lbnRhdGlvbiBpbiBXZWJLaXQgY29tcGF0aWJs
ZSB3aXRoIHRoZSAyMDEzLTA1LTA5CisgICAgICAgIHZlcnNpb24gb2YgdGhlIHNwZWMsIHdoaWNo
IG1ha2VzIHRoZSAiY2FwdHVyZSIgYXR0cmlidXRlIGEgYm9vbGVhbgorICAgICAgICBpbnN0ZWFk
IG9mIGFuIGVudW0uCisKKyAgICAgICAgKiBld2svZXdrX2ZpbGVfY2hvb3Nlci5jcHA6CisgICAg
ICAgIChld2tfZmlsZV9jaG9vc2VyX2NhcHR1cmVfZ2V0KTogUmV0dXJuIGFuIEVpbmFfQm9vbCBu
b3cuCisgICAgICAgICogZXdrL2V3a19maWxlX2Nob29zZXIuaDogR2V0IHJpZCBvZiBFd2tfRmls
ZV9DaG9vc2VyX0NhcHR1cmVfVHlwZS4KKwogMjAxMy0wNi0yNyAgS2FuZ2lsIEhhbiAgPGthbmdp
bC5oYW5Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgQWRvcHQgaXMvdG9IVE1MSW5wdXRFbGVtZW50
IGZvciBjb2RlIGNsZWFudXAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAwYzdhYmU3M2UxMjdmOWM1NGRhMmM2Y2Fi
Zjg5OTI1NTgwNTRmM2RiLi4wMzIyNDQ4M2U4YzI0ODIzOGJmZTljMTI5MmM2NDNmNDcyYWNhZGQ4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTMtMDctMDggIFJhcGhhZWwgS3VibyBk
YSBDb3N0YSAgPHJhcGhhZWwua3Viby5kYS5jb3N0YUBpbnRlbC5jb20+CisKKyAgICAgICAgVXBk
YXRlIHRoZSBIVE1MIE1lZGlhIENhcHR1cmUgaW1wbGVtZW50YXRpb24uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTg0NjUKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHRoZSBpbXBsZW1lbnRhdGlv
biBpbiBXZWJLaXQgY29tcGF0aWJsZSB3aXRoIHRoZSAyMDEzLTA1LTA5CisgICAgICAgIHZlcnNp
b24gb2YgdGhlIHNwZWMsIHdoaWNoIG1ha2VzIHRoZSAiY2FwdHVyZSIgYXR0cmlidXRlIGEgYm9v
bGVhbgorICAgICAgICBpbnN0ZWFkIG9mIGFuIGVudW0uCisKKyAgICAgICAgKiBTaGFyZWQvV2Vi
T3BlblBhbmVsUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYk9wZW5QYW5lbFBh
cmFtZXRlcnM6OmNhcHR1cmUpOiBSZXR1cm4gYSBib29sLgorICAgICAgICAqIFNoYXJlZC9XZWJP
cGVuUGFuZWxQYXJhbWV0ZXJzLmg6IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9X
S09wZW5QYW5lbFBhcmFtZXRlcnMuY3BwOgorICAgICAgICAoV0tPcGVuUGFuZWxQYXJhbWV0ZXJz
Q29weUNhcHR1cmUpOiBEZXByZWNhdGUsIHRoZSBpbXBsZW1lbnRhdGlvbiBpcworICAgICAgICBp
bmNvbXBhdGlibGUgd2l0aCB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSBzcGVjLgorICAgICAg
ICAoV0tPcGVuUGFuZWxQYXJhbWV0ZXJzR2V0Q2FwdHVyZUVuYWJsZWQpOiBBZGQgYW5kIHJldHVy
biBhIGJvb2wuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLT3BlblBhbmVsUGFyYW1ldGVy
cy5oOgorCiAyMDEzLTA3LTA1ICBYYWJpZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGln
YWxpYS5jb20+CiAKICAgICAgICAgVGVzdFdlYktpdEZhdmljb25EYXRhYmFzZS9jbGVhci1kYXRh
YmFzZSBpcyBub3QgdGVzdGluZyB0aGluZ3MgcHJvcGVybHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4IGYwMWNiZjI0ZGRkZjRhY2M2YjRlMzE5YjBmODA5ODQ2
NzFkNzJhZjcuLmQxOTI5NTMyYTRhZGM2YWNmZjdmZDhjYTk3ZmVkMDQ0NjE0ODhkMTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcApAQCAtMTgwMCwyNiArMTgwMCwx
MyBAQCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnNob3VsZEFwcGVhckluZGV0ZXJtaW5hdGUoKSBj
b25zdAogfQogCiAjaWYgRU5BQkxFKE1FRElBX0NBUFRVUkUpCi1TdHJpbmcgSFRNTElucHV0RWxl
bWVudDo6Y2FwdHVyZSgpIGNvbnN0Citib29sIEhUTUxJbnB1dEVsZW1lbnQ6OmNhcHR1cmUoKSBj
b25zdAogewotICAgIGlmICghaXNGaWxlVXBsb2FkKCkpCi0gICAgICAgIHJldHVybiBTdHJpbmco
KTsKLQotICAgIFN0cmluZyBjYXB0dXJlID0gZmFzdEdldEF0dHJpYnV0ZShjYXB0dXJlQXR0ciku
bG93ZXIoKTsKLSAgICBpZiAoY2FwdHVyZSA9PSAiY2FtZXJhIgotICAgICAgICB8fCBjYXB0dXJl
ID09ICJjYW1jb3JkZXIiCi0gICAgICAgIHx8IGNhcHR1cmUgPT0gIm1pY3JvcGhvbmUiCi0gICAg
ICAgIHx8IGNhcHR1cmUgPT0gImZpbGVzeXN0ZW0iKQotICAgICAgICByZXR1cm4gY2FwdHVyZTsK
LQotICAgIHJldHVybiAiZmlsZXN5c3RlbSI7Ci19CisgICAgaWYgKCFpc0ZpbGVVcGxvYWQoKSB8
fCAhZmFzdEhhc0F0dHJpYnV0ZShjYXB0dXJlQXR0cikpCisgICAgICAgIHJldHVybiBmYWxzZTsK
IAotdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzZXRDYXB0dXJlKGNvbnN0IFN0cmluZyYgdmFsdWUp
Ci17Ci0gICAgc2V0QXR0cmlidXRlKGNhcHR1cmVBdHRyLCB2YWx1ZSk7CisgICAgcmV0dXJuIHRy
dWU7CiB9Ci0KICNlbmRpZgogCiBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OmlzSW5SZXF1aXJlZFJh
ZGlvQnV0dG9uR3JvdXAoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5w
dXRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaAppbmRl
eCAyMjcxZGQ5NTY5N2VmNDQxMTRkODI2MjliOTRjYzZhNzJhN2UwOGEzLi5kMDc2YzhiNWYzMmJi
MTcwMGQzNjQxZGI3ZWM4M2JjY2RiNmFmYjI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1
dEVsZW1lbnQuaApAQCAtMjcwLDggKzI3MCw3IEBAIHB1YmxpYzoKICAgICBTdHJpbmcgZGVmYXVs
dFRvb2xUaXAoKSBjb25zdDsKIAogI2lmIEVOQUJMRShNRURJQV9DQVBUVVJFKQotICAgIFN0cmlu
ZyBjYXB0dXJlKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRDYXB0dXJlKGNvbnN0IFN0cmluZyYgdmFs
dWUpOworICAgIGJvb2wgY2FwdHVyZSgpIGNvbnN0OwogI2VuZGlmCiAKICAgICBzdGF0aWMgY29u
c3QgaW50IG1heGltdW1MZW5ndGg7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxJbnB1dEVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50
LmlkbAppbmRleCA3MjdiZjY5M2E4OTQ1ODE4NzFjYzdiMjkzMTYyYjY4YzY2ZTdjMTE5Li5kZTNi
MjE1YTE5NDdjNjgwNjAxZTMwYzE4MmQwYzc3ZWZhYzkxM2JkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTElucHV0RWxlbWVudC5pZGwKQEAgLTEyNiw1ICsxMjYsNSBAQCBpbnRlcmZhY2UgSFRN
TElucHV0RWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICNlbmRpZgogCiAgICAgLy8gU2VlIGh0dHA6
Ly93d3cudzMub3JnL1RSL2h0bWwtbWVkaWEtY2FwdHVyZS8KLSAgICBbQ29uZGl0aW9uYWw9TUVE
SUFfQ0FQVFVSRV0gYXR0cmlidXRlIERPTVN0cmluZyBjYXB0dXJlOworICAgIFtDb25kaXRpb25h
bD1NRURJQV9DQVBUVVJFLCBSZWZsZWN0XSBhdHRyaWJ1dGUgYm9vbGVhbiBjYXB0dXJlOwogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVDaG9vc2VyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlQ2hvb3Nlci5oCmluZGV4IDZjMDIzZTNkNmRkZDNlZGQ5
MDczMWQxYzFhYTg5Y2E5NzMxNzg4MDAuLmM2NDVjNWZkNmFmOTc3YWI2OGQ4YTdjMWU5YmI4ZGRh
MWY3YWUwZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVDaG9vc2Vy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZUNob29zZXIuaApAQCAtNTgsNyAr
NTgsNyBAQCBzdHJ1Y3QgRmlsZUNob29zZXJTZXR0aW5ncyB7CiAgICAgVmVjdG9yPFN0cmluZz4g
YWNjZXB0RmlsZUV4dGVuc2lvbnM7CiAgICAgVmVjdG9yPFN0cmluZz4gc2VsZWN0ZWRGaWxlczsK
ICNpZiBFTkFCTEUoTUVESUFfQ0FQVFVSRSkKLSAgICBTdHJpbmcgY2FwdHVyZTsKKyAgICBib29s
IGNhcHR1cmU7CiAjZW5kaWYKIAogICAgIC8vIFJldHVybnMgYSBjb21iaW5lZCB2ZWN0b3Igb2Yg
YWNjZXB0TUlNRVR5cGVzIGFuZCBhY2NlcHRGaWxlRXh0ZW5zaW9ucy4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0Jl
cnJ5LmNwcCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRCbGFja0JlcnJ5LmNwcAppbmRleCAxZGU5MTI3MzQyMGMyOGM0YTE5Mzk2NWNlODNmY2Nl
ZmZkNTQxMjRiLi4wOWYwYTVhN2U4NDI2OTZkZjU3NjFmNjIyN2I4NTJlZjVhNGFmYWU2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50QmxhY2tCZXJyeS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudEJsYWNrQmVycnkuY3BwCkBAIC01MDQsNyArNTA0LDcgQEAgdm9p
ZCBDaHJvbWVDbGllbnRCbGFja0JlcnJ5OjpydW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRy
PEZpbGVDaG9vc2VyPiBjaG9vc2UKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbnVtYmVy
T2ZUeXBlczsgKytpKQogICAgICAgICBhY2NlcHRNSU1FVHlwZXNbaV0gPSBjaG9vc2VyLT5zZXR0
aW5ncygpLmFjY2VwdE1JTUVUeXBlc1tpXTsKIAotICAgIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpT
dHJpbmcgY2FwdHVyZTsKKyAgICBib29sIGNhcHR1cmUgPSBmYWxzZTsKICNpZiBFTkFCTEUoTUVE
SUFfQ0FQVFVSRSkKICAgICBjYXB0dXJlID0gY2hvb3Nlci0+c2V0dGluZ3MoKS5jYXB0dXJlOwog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZpbGVfY2hvb3Nl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZpbGVfY2hvb3Nlci5jcHAKaW5kZXgg
NDc2ZDJhMTdmNjU4M2IwZmQ4NGY4NDkzMTkxMTYzNDRiNzdkNzM2OS4uMWJmYjJlOTE2NGE3MGQz
MWU5ZDI4MDg4NDdkMzg3NTMwYzcwMDE0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwv
ZXdrL2V3a19maWxlX2Nob29zZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tf
ZmlsZV9jaG9vc2VyLmNwcApAQCAtODEsMjYgKzgxLDE0IEBAIEVpbmFfTGlzdCogZXdrX2ZpbGVf
Y2hvb3Nlcl9zZWxlY3RlZF9maWxlc19nZXQoY29uc3QgRXdrX0ZpbGVfQ2hvb3NlciogY2hvb3Nl
cikKICAgICByZXR1cm4gZmlsZXM7CiB9CiAKLUV3a19GaWxlX0Nob29zZXJfQ2FwdHVyZV9UeXBl
IGV3a19maWxlX2Nob29zZXJfY2FwdHVyZV9nZXQoY29uc3QgRXdrX0ZpbGVfQ2hvb3NlciogY2hv
b3NlcikKK0VpbmFfQm9vbCBld2tfZmlsZV9jaG9vc2VyX2NhcHR1cmVfZ2V0KGNvbnN0IEV3a19G
aWxlX0Nob29zZXIqIGNob29zZXIpCiB7CiAjaWYgRU5BQkxFKE1FRElBX0NBUFRVUkUpCi0gICAg
RUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKGNob29zZXIsIEVXS19GSUxFX0NIT09TRVJf
Q0FQVFVSRV9UWVBFX0lOVkFMSUQpOwotCi0gICAgU3RyaW5nIGNhcHR1cmUgPSBjaG9vc2VyLT5m
aWxlQ2hvb3Nlci0+c2V0dGluZ3MoKS5jYXB0dXJlOwotCi0gICAgaWYgKGNhcHR1cmUgPT0gImNh
bWVyYSIpCi0gICAgICAgIHJldHVybiBFV0tfRklMRV9DSE9PU0VSX0NBUFRVUkVfVFlQRV9DQU1F
UkE7Ci0KLSAgICBpZiAoY2FwdHVyZSA9PSAiY2FtY29yZGVyIikKLSAgICAgICAgcmV0dXJuIEVX
S19GSUxFX0NIT09TRVJfQ0FQVFVSRV9UWVBFX0NBTUNPUkRFUjsKLQotICAgIGlmIChjYXB0dXJl
ID09ICJtaWNyb3Bob25lIikKLSAgICAgICAgcmV0dXJuIEVXS19GSUxFX0NIT09TRVJfQ0FQVFVS
RV9UWVBFX01JQ1JPUEhPTkU7Ci0KLSAgICByZXR1cm4gRVdLX0ZJTEVfQ0hPT1NFUl9DQVBUVVJF
X1RZUEVfRklMRVNZU1RFTTsKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoY2hv
b3NlciwgZmFsc2UpOworICAgIHJldHVybiBjaG9vc2VyLT5maWxlQ2hvb3Nlci0+c2V0dGluZ3Mo
KS5jYXB0dXJlOwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0oY2hvb3Nlcik7Ci0gICAgcmV0dXJu
IEVXS19GSUxFX0NIT09TRVJfQ0FQVFVSRV9UWVBFX0lOVkFMSUQ7CisgICAgcmV0dXJuIGZhbHNl
OwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZmls
ZV9jaG9vc2VyLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZpbGVfY2hvb3Nlci5oCmlu
ZGV4IGM0NTkwZDRkZGNkNjg1NzJhZDNhMzRiM2JhNTMzYzQwZWU0OTE0YTQuLjcyYmU5YzhlMmFh
MjRmMzhmNzMxZTJjNDE0NmI3NTZlNzgwNTk0YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
ZWZsL2V3ay9ld2tfZmlsZV9jaG9vc2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3
a19maWxlX2Nob29zZXIuaApAQCAtNDMsMTkgKzQzLDYgQEAgZXh0ZXJuICJDIiB7CiB0eXBlZGVm
IHN0cnVjdCBfRXdrX0ZpbGVfQ2hvb3NlciBFd2tfRmlsZV9DaG9vc2VyOwogCiAvKioKLSAqIFxl
bnVtICAgIF9Fd2tfRmlsZV9DaG9vc2VyX0NhcHR1cmVfVHlwZQotICogQGJyaWVmICAgVHlwZXMg
b2YgY2FwdHVyZSBhdHRyaWJ1dGUgb2YgZmlsZSBjaG9vc2VyIHRvIHN1cHBvcnQgdGhlIEhUTUwg
bWVkaWEgY2FwdHVyZS4KLSAqLwotZW51bSBfRXdrX0ZpbGVfQ2hvb3Nlcl9DYXB0dXJlX1R5cGUg
ewotICAgIEVXS19GSUxFX0NIT09TRVJfQ0FQVFVSRV9UWVBFX0lOVkFMSUQsCi0gICAgRVdLX0ZJ
TEVfQ0hPT1NFUl9DQVBUVVJFX1RZUEVfRklMRVNZU1RFTSwKLSAgICBFV0tfRklMRV9DSE9PU0VS
X0NBUFRVUkVfVFlQRV9DQU1FUkEsCi0gICAgRVdLX0ZJTEVfQ0hPT1NFUl9DQVBUVVJFX1RZUEVf
Q0FNQ09SREVSLAotICAgIEVXS19GSUxFX0NIT09TRVJfQ0FQVFVSRV9UWVBFX01JQ1JPUEhPTkUK
LX07Ci10eXBlZGVmIGVudW0gX0V3a19GaWxlX0Nob29zZXJfQ2FwdHVyZV9UeXBlIEV3a19GaWxl
X0Nob29zZXJfQ2FwdHVyZV9UeXBlOwotCi0vKioKICAqIFF1ZXJ5IGlmIG11bHRpcGxlIGZpbGVz
IGFyZSBzdXBwb3J0ZWQgYnkgZmlsZSBjaG9vc2VyLgogICoKICAqIEBwYXJhbSBmIGZpbGUgY2hv
b3NlciBvYmplY3QuCkBAIC0xMTQsMTYgKzEwMSwxNSBAQCBFQVBJIEVpbmFfTGlzdCAqZXdrX2Zp
bGVfY2hvb3Nlcl9hY2NlcHRfZmlsZV9leHRlbnRpb25zX2dldChjb25zdCBFd2tfRmlsZV9DaG9v
cwogRUFQSSBFaW5hX0xpc3QgKmV3a19maWxlX2Nob29zZXJfc2VsZWN0ZWRfZmlsZXNfZ2V0KGNv
bnN0IEV3a19GaWxlX0Nob29zZXIgKmYpOwogCiAvKioKLSAqIFJldHVybnMgdGhlIGNhcHR1cmUg
YXR0cmlidXRlIG9mIHRoZSBmaWxlIGNob29zZXIgdG8gc3VwcG9ydCBIVE1MIG1lZGlhIGNhcHR1
cmUuCisgKiBSZXR1cm5zIHdoZXRoZXIgdGhlIGRldmljZSdzIG1lZGlhIGNhcHR1cmUgY2FwYWJp
bGl0aWVzIHNob3VsZCBiZSB1c2VkIGluIHRoZSBmaWxlIGNob29zZXIuCiAgKgogICogQHNlZSBo
dHRwOi8vd3d3LnczLm9yZy9UUi9odG1sLW1lZGlhLWNhcHR1cmUvIGZvciB0aGUgc2VtYW50aWNz
IG9mIHRoZSBjYXB0dXJlIGF0dHJpYnV0ZS4KICAqCiAgKiBAcGFyYW0gZiBmaWxlIGNob29zZXIg
b2JqZWN0LgogICoKLSAqIEByZXR1cm4gQGMgRXdrX0ZpbGVfQ2hvb3Nlcl9DYXB0dXJlX1R5cGUg
b24gc3VwcG9ydGluZyBIVE1MIG1lZGlhIGNhcHR1cmUgb3IKLSAqICAgICAgICAgQGMgRVdLX0ZJ
TEVfQ0hPT1NFUl9DQVBUVVJFX1RZUEVfSU5WQUxJRCBvbiBmYWlsdXJlLgorICogQHJldHVybiBA
YyBFSU5BX1RSVUUgaWYgdGhlIGRldmljZSdzIGNhcGFiaWxpdGllcyBzaG91bGQgYmUgdXNlZCwg
QGMgRUlOQV9GQUxTRSBvdGhlcndpc2UuCiAgKi8KLUVBUEkgRXdrX0ZpbGVfQ2hvb3Nlcl9DYXB0
dXJlX1R5cGUgZXdrX2ZpbGVfY2hvb3Nlcl9jYXB0dXJlX2dldChjb25zdCBFd2tfRmlsZV9DaG9v
c2VyICpmKTsKK0VBUEkgRWluYV9Cb29sIGV3a19maWxlX2Nob29zZXJfY2FwdHVyZV9nZXQoY29u
c3QgRXdrX0ZpbGVfQ2hvb3NlciAqZik7CiAKICNpZmRlZiBfX2NwbHVzcGx1cwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk9wZW5QYW5lbFBhcmFtZXRlcnMuY3BwIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk9wZW5QYW5lbFBhcmFtZXRlcnMuY3BwCmluZGV4IDQ4
MmYzNmMzMzBkY2E4ZDJiOTkzYTAwZGMxYjNkN2FkYTdmZGFmMmEuLjUxOWJkMmY5M2M1ZjU1YTRj
M2U5MDk1MGE5ZmIyMzU2OWJlM2ZlZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJPcGVuUGFuZWxQYXJhbWV0ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViT3BlblBhbmVsUGFyYW1ldGVycy5jcHAKQEAgLTYyLDcgKzYyLDcgQEAgUGFzc1JlZlB0cjxJ
bW11dGFibGVBcnJheT4gV2ViT3BlblBhbmVsUGFyYW1ldGVyczo6YWNjZXB0TUlNRVR5cGVzKCkg
Y29uc3QKIH0KIAogI2lmIEVOQUJMRShNRURJQV9DQVBUVVJFKQotU3RyaW5nIFdlYk9wZW5QYW5l
bFBhcmFtZXRlcnM6OmNhcHR1cmUoKSBjb25zdAorYm9vbCBXZWJPcGVuUGFuZWxQYXJhbWV0ZXJz
OjpjYXB0dXJlKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9zZXR0aW5ncy5jYXB0dXJlOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk9wZW5QYW5lbFBhcmFtZXRlcnMu
aCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJPcGVuUGFuZWxQYXJhbWV0ZXJzLmgKaW5kZXgg
ZWZiN2E4MDRmMWY5NzQzZjhhNmViZDAxNTk1OTE5NDcxOTY4ZmZmMS4uOWFiNDE0YWQ1MjFhYWQ2
ZjBlN2FmNGRlM2RhNGNiZTgxNjdiZDdmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL1dlYk9wZW5QYW5lbFBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViT3BlblBhbmVsUGFyYW1ldGVycy5oCkBAIC00NSw3ICs0NSw3IEBAIHB1YmxpYzoKICAgICBQ
YXNzUmVmUHRyPEltbXV0YWJsZUFycmF5PiBhY2NlcHRNSU1FVHlwZXMoKSBjb25zdDsKICAgICBQ
YXNzUmVmUHRyPEltbXV0YWJsZUFycmF5PiBzZWxlY3RlZEZpbGVOYW1lcygpIGNvbnN0OwogI2lm
IEVOQUJMRShNRURJQV9DQVBUVVJFKQotICAgIFN0cmluZyBjYXB0dXJlKCkgY29uc3Q7CisgICAg
Ym9vbCBjYXB0dXJlKCkgY29uc3Q7CiAjZW5kaWYKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS09wZW5QYW5lbFBhcmFtZXRlcnMuY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLT3BlblBhbmVsUGFyYW1ldGVycy5jcHAK
aW5kZXggMjllY2Y1NDNiMDA1NmFjZGQ2OGM0MzA3OGQ1NzE2ZmU1YmQ5MzQzMS4uMWY1ZjcyYmZi
OTNlZjNmZDhkMzRlNmNkNDEwMGJhOWY4YjVjMDc0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLT3BlblBhbmVsUGFyYW1ldGVycy5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLT3BlblBhbmVsUGFyYW1ldGVycy5jcHAKQEAgLTQ4
LDEyICs0OCwxOCBAQCBXS0FycmF5UmVmIFdLT3BlblBhbmVsUGFyYW1ldGVyc0NvcHlBY2NlcHRl
ZE1JTUVUeXBlcyhXS09wZW5QYW5lbFBhcmFtZXRlcnNSZWYgcAogICAgIHJldHVybiB0b0FQSSh0
b0ltcGwocGFyYW1ldGVyc1JlZiktPmFjY2VwdE1JTUVUeXBlcygpLmxlYWtSZWYoKSk7CiB9CiAK
Ky8vIERlcHJlY2F0ZWQuCiBXS1N0cmluZ1JlZiBXS09wZW5QYW5lbFBhcmFtZXRlcnNDb3B5Q2Fw
dHVyZShXS09wZW5QYW5lbFBhcmFtZXRlcnNSZWYgcGFyYW1ldGVyc1JlZikKIHsKKyAgICByZXR1
cm4gMDsKK30KKworYm9vbCBXS09wZW5QYW5lbFBhcmFtZXRlcnNHZXRDYXB0dXJlRW5hYmxlZChX
S09wZW5QYW5lbFBhcmFtZXRlcnNSZWYgcGFyYW1ldGVyc1JlZikKK3sKICNpZiBFTkFCTEUoTUVE
SUFfQ0FQVFVSRSkKLSAgICByZXR1cm4gdG9Db3BpZWRBUEkodG9JbXBsKHBhcmFtZXRlcnNSZWYp
LT5jYXB0dXJlKCkpOworICAgIHJldHVybiB0b0ltcGwocGFyYW1ldGVyc1JlZiktPmNhcHR1cmUo
KTsKICNlbHNlCi0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS09wZW5QYW5lbFBh
cmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS09wZW5QYW5lbFBh
cmFtZXRlcnMuaAppbmRleCAzODAxYzJmN2I1YTE5NDkzNjY1NzUyOTIxZDc4NjYzNmE4MDIwOGY0
Li41YWYyZGQyNGMxMmRiM2I1ZmRlYjMwNzdjMTAxYWMxN2MyNWI4NWZjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tPcGVuUGFuZWxQYXJhbWV0ZXJzLmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLT3BlblBhbmVsUGFyYW1ldGVycy5o
CkBAIC00Myw4ICs0MywxMSBAQCBXS19FWFBPUlQgYm9vbCBXS09wZW5QYW5lbFBhcmFtZXRlcnNH
ZXRBbGxvd3NNdWx0aXBsZUZpbGVzKFdLT3BlblBhbmVsUGFyYW1ldGVycwogCiBXS19FWFBPUlQg
V0tBcnJheVJlZiBXS09wZW5QYW5lbFBhcmFtZXRlcnNDb3B5QWNjZXB0ZWRNSU1FVHlwZXMoV0tP
cGVuUGFuZWxQYXJhbWV0ZXJzUmVmIHBhcmFtZXRlcnMpOwogCisvKiBERVBSRUNBVEVEIC0gUGxl
YXNlIHVzZSBXS09wZW5QYW5lbFBhcmFtZXRlcnNHZXRDYXB0dXJlRW5hYmxlZCgpIGluc3RlYWQu
ICovCiBXS19FWFBPUlQgV0tTdHJpbmdSZWYgV0tPcGVuUGFuZWxQYXJhbWV0ZXJzQ29weUNhcHR1
cmUoV0tPcGVuUGFuZWxQYXJhbWV0ZXJzUmVmIHBhcmFtZXRlcnMpOwogCitXS19FWFBPUlQgYm9v
bCBXS09wZW5QYW5lbFBhcmFtZXRlcnNHZXRDYXB0dXJlRW5hYmxlZChXS09wZW5QYW5lbFBhcmFt
ZXRlcnNSZWYgcGFyYW1ldGVyc1JlZik7CisKIFdLX0VYUE9SVCBXS0FycmF5UmVmIFdLT3BlblBh
bmVsUGFyYW1ldGVyc0NvcHlTZWxlY3RlZEZpbGVOYW1lcyhXS09wZW5QYW5lbFBhcmFtZXRlcnNS
ZWYgcGFyYW1ldGVyc1JlZik7CiAKICNpZmRlZiBfX2NwbHVzcGx1cwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDUxOTcyNGMz
ZDc2OGZmNjUxNjBjNDBiNjE1NDdhZjc2OTU2YjM4ZmIuLjg4ZTczNWQwY2MwMGQ0ODlhNGNjZDlk
M2EyNjMyMjNlMjdkNmVmODQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMy0wNy0wOCAgUmFw
aGFlbCBLdWJvIGRhIENvc3RhICA8cmFwaGFlbC5rdWJvLmRhLmNvc3RhQGludGVsLmNvbT4KKwor
ICAgICAgICBVcGRhdGUgdGhlIEhUTUwgTWVkaWEgQ2FwdHVyZSBpbXBsZW1lbnRhdGlvbi4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODQ2NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgdGhlIGlt
cGxlbWVudGF0aW9uIGluIFdlYktpdCBjb21wYXRpYmxlIHdpdGggdGhlIDIwMTMtMDUtMDkKKyAg
ICAgICAgdmVyc2lvbiBvZiB0aGUgc3BlYywgd2hpY2ggbWFrZXMgdGhlICJjYXB0dXJlIiBhdHRy
aWJ1dGUgYSBib29sZWFuCisgICAgICAgIGluc3RlYWQgb2YgYW4gZW51bS4KKworICAgICAgICAq
IGZhc3QvZm9ybXMvZmlsZS9maWxlLWlucHV0LWNhcHR1cmUtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGZhc3QvZm9ybXMvZmlsZS9maWxlLWlucHV0LWNhcHR1cmUuaHRtbDoKKwogMjAxMy0wNy0w
NCAgQ2hyaXN0b3BoZSBEdW1leiAgPGNoLmR1bWV6QHNpc2Euc2Ftc3VuZy5jb20+CiAKICAgICAg
ICAgSGF2ZSBTVkdUZXh0Q29udGVudEVsZW1lbnQgaW5oZXJpdCBTVkdHcmFwaGljc0VsZW1lbnQK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZmlsZS9maWxlLWlucHV0LWNhcHR1
cmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxlL2ZpbGUtaW5wdXQt
Y2FwdHVyZS1leHBlY3RlZC50eHQKaW5kZXggZWM0NGI3NTFkZjBkODQ5NzQyMGY2NDBlNDhjZTAy
YTM4YjRjNTczNy4uYWViYWM0ZGFjNmI3MTY2NWM1MjM3OTQzMWFmNmMwMjMwNzQ2MzY0YyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxlL2ZpbGUtaW5wdXQtY2FwdHVyZS1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxlL2ZpbGUtaW5wdXQt
Y2FwdHVyZS1leHBlY3RlZC50eHQKQEAgLTQsMTQgKzQsMjAgQEAgT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUKIAogCiBQQVNTICdjYXB0dXJlJyBpbiBpbnB1dCBpcyB0cnVlCi1QQVNTIGlucHV0LmNh
cHR1cmUgaXMgJycKLVBBU1MgaW5wdXQuY2FwdHVyZSBpcyAnZmlsZXN5c3RlbScKLVBBU1MgaW5w
dXQuY2FwdHVyZSBpcyAnY2FtZXJhJwotUEFTUyBpbnB1dC5jYXB0dXJlIGlzICdjYW1jb3JkZXIn
Ci1QQVNTIGlucHV0LmNhcHR1cmUgaXMgJ21pY3JvcGhvbmUnCi1QQVNTIGlucHV0LmNhcHR1cmUg
aXMgJ2ZpbGVzeXN0ZW0nCi1QQVNTIGlucHV0LmNhcHR1cmUgaXMgJ2NhbWNvcmRlcicKLVBBU1Mg
aW5wdXQuZ2V0QXR0cmlidXRlKCdjYXB0dXJlJykgaXMgJ0NhbUNvcmRlcicKK1BBU1MgaW5wdXQu
Y2FwdHVyZSBpcyBmYWxzZQorUEFTUyBpbnB1dC5oYXNBdHRyaWJ1dGUoJ2NhcHR1cmUnKSBpcyBm
YWxzZQorUEFTUyBpbnB1dC5jYXB0dXJlIGlzIGZhbHNlCitQQVNTIGlucHV0Lmhhc0F0dHJpYnV0
ZSgnY2FwdHVyZScpIGlzIGZhbHNlCitQQVNTIGlucHV0LmNhcHR1cmUgaXMgdHJ1ZQorUEFTUyBp
bnB1dC5oYXNBdHRyaWJ1dGUoJ2NhcHR1cmUnKSBpcyB0cnVlCitQQVNTIGlucHV0LmNhcHR1cmUg
aXMgZmFsc2UKK1BBU1MgaW5wdXQuaGFzQXR0cmlidXRlKCdjYXB0dXJlJykgaXMgZmFsc2UKK1BB
U1MgaW5wdXQuY2FwdHVyZSBpcyB0cnVlCitQQVNTIGlucHV0Lmhhc0F0dHJpYnV0ZSgnY2FwdHVy
ZScpIGlzIHRydWUKK1BBU1MgaW5wdXQuY2FwdHVyZSBpcyBmYWxzZQorUEFTUyBpbnB1dC5oYXNB
dHRyaWJ1dGUoJ2NhcHR1cmUnKSBpcyBmYWxzZQorUEFTUyBpbnB1dC5jYXB0dXJlIGlzIHRydWUK
K1BBU1MgaW5wdXQuaGFzQXR0cmlidXRlKCdjYXB0dXJlJykgaXMgdHJ1ZQogUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvZmlsZS1pbnB1dC1jYXB0dXJlLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2ZpbGUvZmlsZS1pbnB1dC1jYXB0dXJlLmh0bWwKaW5kZXggMGNlOTk1NWJh
YzMyMTA2NjE4NDE3Mjk0MmY4Mzc3YWE5ZjZmMjFmYy4uNWNjNGRiYjIwNDYwOWYyNWQzMjc0NjBh
OTg5YTUxMTVkZjdmM2E0YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxl
L2ZpbGUtaW5wdXQtY2FwdHVyZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZmls
ZS9maWxlLWlucHV0LWNhcHR1cmUuaHRtbApAQCAtNywyOCArNywzMyBAQCBkZXNjcmlwdGlvbigi
VGVzdHMgdGhlIGNhcHR1cmUgYXR0cmlidXRlIG9mICZsdDtpbnB1dCB0eXBlPSdmaWxlJyZndDsi
KTsKIHZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7CiAKIHNob3Vs
ZEJlVHJ1ZSgiJ2NhcHR1cmUnIGluIGlucHV0Iik7Ci1zaG91bGRCZSgiaW5wdXQuY2FwdHVyZSIs
ICInJyIpOworc2hvdWxkQmUoImlucHV0LmNhcHR1cmUiLCAiZmFsc2UiKTsKK3Nob3VsZEJlKCJp
bnB1dC5oYXNBdHRyaWJ1dGUoJ2NhcHR1cmUnKSIsICJmYWxzZSIpOwogCiBpbnB1dC5zZXRBdHRy
aWJ1dGUoInR5cGUiLCAiZmlsZSIpOwogCi1zaG91bGRCZSgiaW5wdXQuY2FwdHVyZSIsICInZmls
ZXN5c3RlbSciKTsKK3Nob3VsZEJlKCJpbnB1dC5jYXB0dXJlIiwgImZhbHNlIik7CitzaG91bGRC
ZSgiaW5wdXQuaGFzQXR0cmlidXRlKCdjYXB0dXJlJykiLCAiZmFsc2UiKTsKIAotaW5wdXQuc2V0
QXR0cmlidXRlKCJjYXB0dXJlIiwgIkNhTWVyQSIpOwotc2hvdWxkQmUoImlucHV0LmNhcHR1cmUi
LCAiJ2NhbWVyYSciKTsKK2lucHV0LnNldEF0dHJpYnV0ZSgiY2FwdHVyZSIsIHRydWUpOworc2hv
dWxkQmUoImlucHV0LmNhcHR1cmUiLCAidHJ1ZSIpOworc2hvdWxkQmUoImlucHV0Lmhhc0F0dHJp
YnV0ZSgnY2FwdHVyZScpIiwgInRydWUiKTsKIAotaW5wdXQuc2V0QXR0cmlidXRlKCJjYXB0dXJl
IiwgImNhbWNvcmRlciIpOwotc2hvdWxkQmUoImlucHV0LmNhcHR1cmUiLCAiJ2NhbWNvcmRlcici
KTsKK2lucHV0LnJlbW92ZUF0dHJpYnV0ZSgiY2FwdHVyZSIpOworc2hvdWxkQmUoImlucHV0LmNh
cHR1cmUiLCAiZmFsc2UiKTsKK3Nob3VsZEJlKCJpbnB1dC5oYXNBdHRyaWJ1dGUoJ2NhcHR1cmUn
KSIsICJmYWxzZSIpOwogCi1pbnB1dC5zZXRBdHRyaWJ1dGUoImNhcHR1cmUiLCAiTWlDcm9QaG9u
RSIpOwotc2hvdWxkQmUoImlucHV0LmNhcHR1cmUiLCAiJ21pY3JvcGhvbmUnIik7CitpbnB1dC5z
ZXRBdHRyaWJ1dGUoImNhcHR1cmUiLCAiJ3gnIik7CitzaG91bGRCZSgiaW5wdXQuY2FwdHVyZSIs
ICJ0cnVlIik7CitzaG91bGRCZSgiaW5wdXQuaGFzQXR0cmlidXRlKCdjYXB0dXJlJykiLCAidHJ1
ZSIpOwogCi1pbnB1dC5zZXRBdHRyaWJ1dGUoImNhcHR1cmUiLCAieHl6enkiKTsKLXNob3VsZEJl
KCJpbnB1dC5jYXB0dXJlIiwgIidmaWxlc3lzdGVtJyIpOwotCi1pbnB1dC5jYXB0dXJlID0gIkNh
bUNvcmRlciI7Ci1zaG91bGRCZSgiaW5wdXQuY2FwdHVyZSIsICInY2FtY29yZGVyJyIpOwotc2hv
dWxkQmUoImlucHV0LmdldEF0dHJpYnV0ZSgnY2FwdHVyZScpIiwgIidDYW1Db3JkZXInIik7Citp
bnB1dC5jYXB0dXJlID0gZmFsc2U7CitzaG91bGRCZSgiaW5wdXQuY2FwdHVyZSIsICJmYWxzZSIp
Oworc2hvdWxkQmUoImlucHV0Lmhhc0F0dHJpYnV0ZSgnY2FwdHVyZScpIiwgImZhbHNlIik7CiAK
K2lucHV0LmNhcHR1cmUgPSB0cnVlOworc2hvdWxkQmUoImlucHV0LmNhcHR1cmUiLCAidHJ1ZSIp
Oworc2hvdWxkQmUoImlucHV0Lmhhc0F0dHJpYnV0ZSgnY2FwdHVyZScpIiwgInRydWUiKTsKIDwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgogPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223860</attachid>
            <date>2014-02-11 07:28:24 -0800</date>
            <delta_ts>2014-02-12 05:32:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118465-20140211172903.patch</filename>
            <type>text/plain</type>
            <size>16538</size>
            <attacher name="Raphael Kubo da Costa (:rakuco)">rakuco</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYzODcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODg4NGJiZGRiNzg0NTlj
YjUzMjIzZjIyOWY3YTAyODQyNDg5NzY0Zi4uNTRkZDZiZWFlZjE5YjU0MjhhZDE0Y2QxNDkxZmY3
YzVhZTcxNGIyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEzLTA3LTA4ICBSYXBo
YWVsIEt1Ym8gZGEgQ29zdGEgIDxyYXBoYWVsLmt1Ym8uZGEuY29zdGFAaW50ZWwuY29tPgorCisg
ICAgICAgIFVwZGF0ZSB0aGUgSFRNTCBNZWRpYSBDYXB0dXJlIGltcGxlbWVudGF0aW9uLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NDY1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSB0aGUgaW1w
bGVtZW50YXRpb24gaW4gV2ViS2l0IGNvbXBhdGlibGUgd2l0aCB0aGUgMjAxMy0wNS0wOQorICAg
ICAgICB2ZXJzaW9uIG9mIHRoZSBzcGVjLCB3aGljaCBtYWtlcyB0aGUgImNhcHR1cmUiIGF0dHJp
YnV0ZSBhIGJvb2xlYW4KKyAgICAgICAgaW5zdGVhZCBvZiBhbiBlbnVtLgorCisgICAgICAgIENv
dmVyZWQgYnkgZmFzdC9mb3Jtcy9maWxlL2ZpbGUtaW5wdXQtY2FwdHVyZS5odG1sLgorCisgICAg
ICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJ
bnB1dEVsZW1lbnQ6OmNhcHR1cmUpOiBSZXR1cm4gYSBib29sLgorICAgICAgICAqIGh0bWwvSFRN
TElucHV0RWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5pZGw6IFR1
cm4gdGhlIGBjYXB0dXJlJyBhdHRyaWJ1dGUgaW50byBhCisgICAgICAgIHJlZmxlY3RpdmUgYm9v
bGVhbiBpbnN0ZWFkIG9mIGEgRE9NU3RyaW5nLgorICAgICAgICAqIHBsYXRmb3JtL0ZpbGVDaG9v
c2VyLmg6CisKIDIwMTQtMDItMTEgIEJlbmphbWluIFBvdWxhaW4gIDxiZW5qYW1pbkB3ZWJraXQu
b3JnPgogCiAgICAgICAgIHF1ZXJ5U2VsZWN0b3IoKSBkb2VzIG5vdCB1c2UgdGhlIGNvbXBpbGVy
IGNvcnJlY3RseQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCmluZGV4IDA2Zjc4OTlhNWMwNTk4NDM5NmU4NTlmYzIz
MTNhNTkyMWMyMDAyZjMuLmUxNTc0MWQ1MGQ2MDZjN2ZkNjIxNWZmZDY1YTFiOTQ3Y2EzMGZhNjUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L2VmbC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMy0wNy0wOCAgUmFwaGFlbCBL
dWJvIGRhIENvc3RhICA8cmFwaGFlbC5rdWJvLmRhLmNvc3RhQGludGVsLmNvbT4KKworICAgICAg
ICBVcGRhdGUgdGhlIEhUTUwgTWVkaWEgQ2FwdHVyZSBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODQ2NQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgdGhlIGltcGxlbWVu
dGF0aW9uIGluIFdlYktpdCBjb21wYXRpYmxlIHdpdGggdGhlIDIwMTMtMDUtMDkKKyAgICAgICAg
dmVyc2lvbiBvZiB0aGUgc3BlYywgd2hpY2ggbWFrZXMgdGhlICJjYXB0dXJlIiBhdHRyaWJ1dGUg
YSBib29sZWFuCisgICAgICAgIGluc3RlYWQgb2YgYW4gZW51bS4KKworICAgICAgICAqIGV3ay9l
d2tfZmlsZV9jaG9vc2VyLmNwcDoKKyAgICAgICAgKGV3a19maWxlX2Nob29zZXJfY2FwdHVyZV9n
ZXQpOiBSZXR1cm4gYW4gRWluYV9Cb29sIG5vdy4KKyAgICAgICAgKiBld2svZXdrX2ZpbGVfY2hv
b3Nlci5oOiBHZXQgcmlkIG9mIEV3a19GaWxlX0Nob29zZXJfQ2FwdHVyZV9UeXBlLgorCiAyMDE0
LTAyLTA5ICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBb
RUZMXSBSZW1vdmUgUGFnZUNsaWVudEVmbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDhlOGEyNDg4MDkzZDM2ZmRj
MzkzMmZiYzRhY2YzZWE0MzJhOTA0YjguLmQ4MjJiMjU4MTJhMzhkYjIzYjUyMjBjZGM1YmUzZDg0
MjliNWQzNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMy0wNy0wOCAgUmFwaGFl
bCBLdWJvIGRhIENvc3RhICA8cmFwaGFlbC5rdWJvLmRhLmNvc3RhQGludGVsLmNvbT4KKworICAg
ICAgICBVcGRhdGUgdGhlIEhUTUwgTWVkaWEgQ2FwdHVyZSBpbXBsZW1lbnRhdGlvbi4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExODQ2NQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgdGhlIGltcGxl
bWVudGF0aW9uIGluIFdlYktpdCBjb21wYXRpYmxlIHdpdGggdGhlIDIwMTMtMDUtMDkKKyAgICAg
ICAgdmVyc2lvbiBvZiB0aGUgc3BlYywgd2hpY2ggbWFrZXMgdGhlICJjYXB0dXJlIiBhdHRyaWJ1
dGUgYSBib29sZWFuCisgICAgICAgIGluc3RlYWQgb2YgYW4gZW51bS4KKworICAgICAgICAqIFNo
YXJlZC9XZWJPcGVuUGFuZWxQYXJhbWV0ZXJzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViT3Bl
blBhbmVsUGFyYW1ldGVyczo6Y2FwdHVyZSk6IFJldHVybiBhIGJvb2wuCisgICAgICAgICogU2hh
cmVkL1dlYk9wZW5QYW5lbFBhcmFtZXRlcnMuaDogRGl0dG8uCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9DL1dLT3BlblBhbmVsUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXS09wZW5QYW5lbFBh
cmFtZXRlcnNDb3B5Q2FwdHVyZSk6IERlcHJlY2F0ZSwgdGhlIGltcGxlbWVudGF0aW9uIGlzCisg
ICAgICAgIGluY29tcGF0aWJsZSB3aXRoIHRoZSBjdXJyZW50IHZlcnNpb24gb2YgdGhlIHNwZWMu
CisgICAgICAgIChXS09wZW5QYW5lbFBhcmFtZXRlcnNHZXRDYXB0dXJlRW5hYmxlZCk6IEFkZCBh
bmQgcmV0dXJuIGEgYm9vbC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tPcGVuUGFuZWxQ
YXJhbWV0ZXJzLmg6CisKIDIwMTQtMDItMTAgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3
ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxNjM4NTYuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAppbmRleCAyNDY2ODk3Y2UzZmE4
ODJhMTE2ZWJmMDIyMGFhYmM4NzIzODY4ZGVlLi4xYzNiNTE2MTU3ODQxYjJjMTM0YjdjMWRkMzdi
ZTJlNWRiZDJmZDU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAK
QEAgLTE3OTgsMjYgKzE3OTgsMTMgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpzaG91bGRBcHBl
YXJJbmRldGVybWluYXRlKCkgY29uc3QKIH0KIAogI2lmIEVOQUJMRShNRURJQV9DQVBUVVJFKQot
U3RyaW5nIEhUTUxJbnB1dEVsZW1lbnQ6OmNhcHR1cmUoKSBjb25zdAorYm9vbCBIVE1MSW5wdXRF
bGVtZW50OjpjYXB0dXJlKCkgY29uc3QKIHsKLSAgICBpZiAoIWlzRmlsZVVwbG9hZCgpKQotICAg
ICAgICByZXR1cm4gU3RyaW5nKCk7Ci0KLSAgICBTdHJpbmcgY2FwdHVyZSA9IGZhc3RHZXRBdHRy
aWJ1dGUoY2FwdHVyZUF0dHIpLmxvd2VyKCk7Ci0gICAgaWYgKGNhcHR1cmUgPT0gImNhbWVyYSIK
LSAgICAgICAgfHwgY2FwdHVyZSA9PSAiY2FtY29yZGVyIgotICAgICAgICB8fCBjYXB0dXJlID09
ICJtaWNyb3Bob25lIgotICAgICAgICB8fCBjYXB0dXJlID09ICJmaWxlc3lzdGVtIikKLSAgICAg
ICAgcmV0dXJuIGNhcHR1cmU7Ci0KLSAgICByZXR1cm4gImZpbGVzeXN0ZW0iOwotfQorICAgIGlm
ICghaXNGaWxlVXBsb2FkKCkgfHwgIWZhc3RIYXNBdHRyaWJ1dGUoY2FwdHVyZUF0dHIpKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKLXZvaWQgSFRNTElucHV0RWxlbWVudDo6c2V0Q2FwdHVyZShj
b25zdCBTdHJpbmcmIHZhbHVlKQotewotICAgIHNldEF0dHJpYnV0ZShjYXB0dXJlQXR0ciwgdmFs
dWUpOworICAgIHJldHVybiB0cnVlOwogfQotCiAjZW5kaWYKIAogYm9vbCBIVE1MSW5wdXRFbGVt
ZW50Ojppc0luUmVxdWlyZWRSYWRpb0J1dHRvbkdyb3VwKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmgKaW5kZXggMjg2YjhhNjk5NjM5MGM5ZTI3ZTFlOGQ3MzE1MWViZjk5YjUw
NDBmNi4uNjI1ZWM2NDRkYWY3OWYyMmEzZmQ5YjJmMTViZmZmNjQ3Y2M0ZDk5NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKQEAgLTI5OCw4ICsyOTgsNyBAQCBwdWJsaWM6
CiAgICAgU3RyaW5nIGRlZmF1bHRUb29sVGlwKCkgY29uc3Q7CiAKICNpZiBFTkFCTEUoTUVESUFf
Q0FQVFVSRSkKLSAgICBTdHJpbmcgY2FwdHVyZSgpIGNvbnN0OwotICAgIHZvaWQgc2V0Q2FwdHVy
ZShjb25zdCBTdHJpbmcmIHZhbHVlKTsKKyAgICBib29sIGNhcHR1cmUoKSBjb25zdDsKICNlbmRp
ZgogCiAgICAgc3RhdGljIGNvbnN0IGludCBtYXhpbXVtTGVuZ3RoOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTElucHV0RWxlbWVudC5pZGwKaW5kZXggYWViZjIwNmM5NTFiNzg2ZGVkOTY1NTY4NGM5
OGFmZGIwNmNkNGUzMC4uYWNjOTg1ZWYzMDMyMDBlNDU5ZjEwYzRkMTlhNGJlNGI0NDljMjViZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCkBAIC0xMjYsNSArMTI2
LDUgQEAgaW50ZXJmYWNlIEhUTUxJbnB1dEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgICAgW0Nv
bmRpdGlvbmFsPUlPU19BVVRPQ09SUkVDVF9BTkRfQVVUT0NBUElUQUxJWkUsIFRyZWF0TnVsbEFz
PU51bGxTdHJpbmddIGF0dHJpYnV0ZSBET01TdHJpbmcgYXV0b2NhcGl0YWxpemU7CiAKICAgICAv
LyBTZWUgaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbC1tZWRpYS1jYXB0dXJlLwotICAgIFtDb25k
aXRpb25hbD1NRURJQV9DQVBUVVJFXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNhcHR1cmU7CisgICAg
W0NvbmRpdGlvbmFsPU1FRElBX0NBUFRVUkUsIFJlZmxlY3RdIGF0dHJpYnV0ZSBib29sZWFuIGNh
cHR1cmU7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZUNob29z
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVDaG9vc2VyLmgKaW5kZXggOTg0MmI2
OGM2YzA2NDI3MjllOTQ4MDU4NDZjMThlOTgwMjcwZTg5ZS4uMjg5YmE5MjliZmQ3ZjMzZTgyNGZl
ZGE4OThiYTVlMGE5MWYwNzhjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
RmlsZUNob29zZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlQ2hvb3Nlci5o
CkBAIC01Niw3ICs1Niw3IEBAIHN0cnVjdCBGaWxlQ2hvb3NlclNldHRpbmdzIHsKICAgICBWZWN0
b3I8U3RyaW5nPiBhY2NlcHRGaWxlRXh0ZW5zaW9uczsKICAgICBWZWN0b3I8U3RyaW5nPiBzZWxl
Y3RlZEZpbGVzOwogI2lmIEVOQUJMRShNRURJQV9DQVBUVVJFKQotICAgIFN0cmluZyBjYXB0dXJl
OworICAgIGJvb2wgY2FwdHVyZTsKICNlbmRpZgogCiAgICAgLy8gUmV0dXJucyBhIGNvbWJpbmVk
IHZlY3RvciBvZiBhY2NlcHRNSU1FVHlwZXMgYW5kIGFjY2VwdEZpbGVFeHRlbnNpb25zLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19maWxlX2Nob29zZXIuY3BwIGIvU291
cmNlL1dlYktpdC9lZmwvZXdrL2V3a19maWxlX2Nob29zZXIuY3BwCmluZGV4IGZmZWFjN2E2YTFj
MWZjMzZjMDkyNDA5NDc1ZjU5Yzc0Y2ZjNTBlZmQuLjRiZGM1Mzk2MmY3MDczODIyMDY1MDNhNDJm
MjgwNGMwZTI2YmZkYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZmls
ZV9jaG9vc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZpbGVfY2hvb3Nl
ci5jcHAKQEAgLTc2LDI2ICs3NiwxNCBAQCBFaW5hX0xpc3QqIGV3a19maWxlX2Nob29zZXJfc2Vs
ZWN0ZWRfZmlsZXNfZ2V0KGNvbnN0IEV3a19GaWxlX0Nob29zZXIqIGNob29zZXIpCiAgICAgcmV0
dXJuIGZpbGVzOwogfQogCi1Fd2tfRmlsZV9DaG9vc2VyX0NhcHR1cmVfVHlwZSBld2tfZmlsZV9j
aG9vc2VyX2NhcHR1cmVfZ2V0KGNvbnN0IEV3a19GaWxlX0Nob29zZXIqIGNob29zZXIpCitFaW5h
X0Jvb2wgZXdrX2ZpbGVfY2hvb3Nlcl9jYXB0dXJlX2dldChjb25zdCBFd2tfRmlsZV9DaG9vc2Vy
KiBjaG9vc2VyKQogewogI2lmIEVOQUJMRShNRURJQV9DQVBUVVJFKQotICAgIEVJTkFfU0FGRVRZ
X09OX05VTExfUkVUVVJOX1ZBTChjaG9vc2VyLCBFV0tfRklMRV9DSE9PU0VSX0NBUFRVUkVfVFlQ
RV9JTlZBTElEKTsKLQotICAgIFN0cmluZyBjYXB0dXJlID0gY2hvb3Nlci0+ZmlsZUNob29zZXIt
PnNldHRpbmdzKCkuY2FwdHVyZTsKLQotICAgIGlmIChjYXB0dXJlID09ICJjYW1lcmEiKQotICAg
ICAgICByZXR1cm4gRVdLX0ZJTEVfQ0hPT1NFUl9DQVBUVVJFX1RZUEVfQ0FNRVJBOwotCi0gICAg
aWYgKGNhcHR1cmUgPT0gImNhbWNvcmRlciIpCi0gICAgICAgIHJldHVybiBFV0tfRklMRV9DSE9P
U0VSX0NBUFRVUkVfVFlQRV9DQU1DT1JERVI7Ci0KLSAgICBpZiAoY2FwdHVyZSA9PSAibWljcm9w
aG9uZSIpCi0gICAgICAgIHJldHVybiBFV0tfRklMRV9DSE9PU0VSX0NBUFRVUkVfVFlQRV9NSUNS
T1BIT05FOwotCi0gICAgcmV0dXJuIEVXS19GSUxFX0NIT09TRVJfQ0FQVFVSRV9UWVBFX0ZJTEVT
WVNURU07CisgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKGNob29zZXIsIGZhbHNl
KTsKKyAgICByZXR1cm4gY2hvb3Nlci0+ZmlsZUNob29zZXItPnNldHRpbmdzKCkuY2FwdHVyZTsK
ICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKGNob29zZXIpOwotICAgIHJldHVybiBFV0tfRklMRV9D
SE9PU0VSX0NBUFRVUkVfVFlQRV9JTlZBTElEOworICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZpbGVfY2hvb3Nlci5o
IGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19maWxlX2Nob29zZXIuaAppbmRleCBjNDU5MGQ0
ZGRjZDY4NTcyYWQzYTM0YjNiYTUzM2M0MGVlNDkxNGE0Li43MmJlOWM4ZTJhYTI0ZjM4ZjczMWUy
YzQxNDZiNzU2ZTc4MDU5NGFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X2ZpbGVfY2hvb3Nlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZmlsZV9jaG9v
c2VyLmgKQEAgLTQzLDE5ICs0Myw2IEBAIGV4dGVybiAiQyIgewogdHlwZWRlZiBzdHJ1Y3QgX0V3
a19GaWxlX0Nob29zZXIgRXdrX0ZpbGVfQ2hvb3NlcjsKIAogLyoqCi0gKiBcZW51bSAgICBfRXdr
X0ZpbGVfQ2hvb3Nlcl9DYXB0dXJlX1R5cGUKLSAqIEBicmllZiAgIFR5cGVzIG9mIGNhcHR1cmUg
YXR0cmlidXRlIG9mIGZpbGUgY2hvb3NlciB0byBzdXBwb3J0IHRoZSBIVE1MIG1lZGlhIGNhcHR1
cmUuCi0gKi8KLWVudW0gX0V3a19GaWxlX0Nob29zZXJfQ2FwdHVyZV9UeXBlIHsKLSAgICBFV0tf
RklMRV9DSE9PU0VSX0NBUFRVUkVfVFlQRV9JTlZBTElELAotICAgIEVXS19GSUxFX0NIT09TRVJf
Q0FQVFVSRV9UWVBFX0ZJTEVTWVNURU0sCi0gICAgRVdLX0ZJTEVfQ0hPT1NFUl9DQVBUVVJFX1RZ
UEVfQ0FNRVJBLAotICAgIEVXS19GSUxFX0NIT09TRVJfQ0FQVFVSRV9UWVBFX0NBTUNPUkRFUiwK
LSAgICBFV0tfRklMRV9DSE9PU0VSX0NBUFRVUkVfVFlQRV9NSUNST1BIT05FCi19OwotdHlwZWRl
ZiBlbnVtIF9Fd2tfRmlsZV9DaG9vc2VyX0NhcHR1cmVfVHlwZSBFd2tfRmlsZV9DaG9vc2VyX0Nh
cHR1cmVfVHlwZTsKLQotLyoqCiAgKiBRdWVyeSBpZiBtdWx0aXBsZSBmaWxlcyBhcmUgc3VwcG9y
dGVkIGJ5IGZpbGUgY2hvb3Nlci4KICAqCiAgKiBAcGFyYW0gZiBmaWxlIGNob29zZXIgb2JqZWN0
LgpAQCAtMTE0LDE2ICsxMDEsMTUgQEAgRUFQSSBFaW5hX0xpc3QgKmV3a19maWxlX2Nob29zZXJf
YWNjZXB0X2ZpbGVfZXh0ZW50aW9uc19nZXQoY29uc3QgRXdrX0ZpbGVfQ2hvb3MKIEVBUEkgRWlu
YV9MaXN0ICpld2tfZmlsZV9jaG9vc2VyX3NlbGVjdGVkX2ZpbGVzX2dldChjb25zdCBFd2tfRmls
ZV9DaG9vc2VyICpmKTsKIAogLyoqCi0gKiBSZXR1cm5zIHRoZSBjYXB0dXJlIGF0dHJpYnV0ZSBv
ZiB0aGUgZmlsZSBjaG9vc2VyIHRvIHN1cHBvcnQgSFRNTCBtZWRpYSBjYXB0dXJlLgorICogUmV0
dXJucyB3aGV0aGVyIHRoZSBkZXZpY2UncyBtZWRpYSBjYXB0dXJlIGNhcGFiaWxpdGllcyBzaG91
bGQgYmUgdXNlZCBpbiB0aGUgZmlsZSBjaG9vc2VyLgogICoKICAqIEBzZWUgaHR0cDovL3d3dy53
My5vcmcvVFIvaHRtbC1tZWRpYS1jYXB0dXJlLyBmb3IgdGhlIHNlbWFudGljcyBvZiB0aGUgY2Fw
dHVyZSBhdHRyaWJ1dGUuCiAgKgogICogQHBhcmFtIGYgZmlsZSBjaG9vc2VyIG9iamVjdC4KICAq
Ci0gKiBAcmV0dXJuIEBjIEV3a19GaWxlX0Nob29zZXJfQ2FwdHVyZV9UeXBlIG9uIHN1cHBvcnRp
bmcgSFRNTCBtZWRpYSBjYXB0dXJlIG9yCi0gKiAgICAgICAgIEBjIEVXS19GSUxFX0NIT09TRVJf
Q0FQVFVSRV9UWVBFX0lOVkFMSUQgb24gZmFpbHVyZS4KKyAqIEByZXR1cm4gQGMgRUlOQV9UUlVF
IGlmIHRoZSBkZXZpY2UncyBjYXBhYmlsaXRpZXMgc2hvdWxkIGJlIHVzZWQsIEBjIEVJTkFfRkFM
U0Ugb3RoZXJ3aXNlLgogICovCi1FQVBJIEV3a19GaWxlX0Nob29zZXJfQ2FwdHVyZV9UeXBlIGV3
a19maWxlX2Nob29zZXJfY2FwdHVyZV9nZXQoY29uc3QgRXdrX0ZpbGVfQ2hvb3NlciAqZik7CitF
QVBJIEVpbmFfQm9vbCBld2tfZmlsZV9jaG9vc2VyX2NhcHR1cmVfZ2V0KGNvbnN0IEV3a19GaWxl
X0Nob29zZXIgKmYpOwogCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJPcGVuUGFuZWxQYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9XZWJPcGVuUGFuZWxQYXJhbWV0ZXJzLmNwcAppbmRleCBiZjg1ODU2NWU3YjYx
MWFkZmIwZWJhZWU5NjIyMmE4OTIxMDg0YTFmLi5jY2YyNTljMDQwNDc4NzMzMzVmODBlOWI5MTA0
NGFlMTYzZmMzOTExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViT3BlblBh
bmVsUGFyYW1ldGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk9wZW5QYW5l
bFBhcmFtZXRlcnMuY3BwCkBAIC01NSw3ICs1NSw3IEBAIFBhc3NSZWZQdHI8QVBJOjpBcnJheT4g
V2ViT3BlblBhbmVsUGFyYW1ldGVyczo6YWNjZXB0TUlNRVR5cGVzKCkgY29uc3QKIH0KIAogI2lm
IEVOQUJMRShNRURJQV9DQVBUVVJFKQotU3RyaW5nIFdlYk9wZW5QYW5lbFBhcmFtZXRlcnM6OmNh
cHR1cmUoKSBjb25zdAorYm9vbCBXZWJPcGVuUGFuZWxQYXJhbWV0ZXJzOjpjYXB0dXJlKCkgY29u
c3QKIHsKICAgICByZXR1cm4gbV9zZXR0aW5ncy5jYXB0dXJlOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL1dlYk9wZW5QYW5lbFBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9XZWJPcGVuUGFuZWxQYXJhbWV0ZXJzLmgKaW5kZXggZmVjNWM5YjcyN2Y4Zjgw
YzY3OWNiOGIzY2RmODdmZDJmZGZjMWU0OC4uZDJkOTMyYTU5NTdlMzQ2NzcxMDAwMWI3NzQxNDkz
MjE3NGM0NDVlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk9wZW5QYW5l
bFBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViT3BlblBhbmVsUGFy
YW1ldGVycy5oCkBAIC00Nyw3ICs0Nyw3IEBAIHB1YmxpYzoKICAgICBQYXNzUmVmUHRyPEFQSTo6
QXJyYXk+IGFjY2VwdE1JTUVUeXBlcygpIGNvbnN0OwogICAgIFBhc3NSZWZQdHI8QVBJOjpBcnJh
eT4gc2VsZWN0ZWRGaWxlTmFtZXMoKSBjb25zdDsKICNpZiBFTkFCTEUoTUVESUFfQ0FQVFVSRSkK
LSAgICBTdHJpbmcgY2FwdHVyZSgpIGNvbnN0OworICAgIGJvb2wgY2FwdHVyZSgpIGNvbnN0Owog
I2VuZGlmCiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tPcGVuUGFuZWxQYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9XS09wZW5QYW5lbFBhcmFtZXRlcnMuY3BwCmluZGV4IGFhM2UwYjU4YTgzN2ZmMTAy
MzI1ODFiMzYxZThkODM1YzM1NDllM2YuLmJjNDUwZjJjYmJlN2ViMDA0NmYzNmYxNDkzMGRiMTY0
NTFmYmMwMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS09w
ZW5QYW5lbFBhcmFtZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS09wZW5QYW5lbFBhcmFtZXRlcnMuY3BwCkBAIC00OCwxMyArNDgsMTkgQEAgV0tBcnJheVJl
ZiBXS09wZW5QYW5lbFBhcmFtZXRlcnNDb3B5QWNjZXB0ZWRNSU1FVHlwZXMoV0tPcGVuUGFuZWxQ
YXJhbWV0ZXJzUmVmIHAKICAgICByZXR1cm4gdG9BUEkodG9JbXBsKHBhcmFtZXRlcnNSZWYpLT5h
Y2NlcHRNSU1FVHlwZXMoKS5sZWFrUmVmKCkpOwogfQogCisvLyBEZXByZWNhdGVkLgogV0tTdHJp
bmdSZWYgV0tPcGVuUGFuZWxQYXJhbWV0ZXJzQ29weUNhcHR1cmUoV0tPcGVuUGFuZWxQYXJhbWV0
ZXJzUmVmIHBhcmFtZXRlcnNSZWYpCiB7CisgICAgcmV0dXJuIDA7Cit9CisKK2Jvb2wgV0tPcGVu
UGFuZWxQYXJhbWV0ZXJzR2V0Q2FwdHVyZUVuYWJsZWQoV0tPcGVuUGFuZWxQYXJhbWV0ZXJzUmVm
IHBhcmFtZXRlcnNSZWYpCit7CiAjaWYgRU5BQkxFKE1FRElBX0NBUFRVUkUpCi0gICAgcmV0dXJu
IHRvQ29waWVkQVBJKHRvSW1wbChwYXJhbWV0ZXJzUmVmKS0+Y2FwdHVyZSgpKTsKKyAgICByZXR1
cm4gdG9JbXBsKHBhcmFtZXRlcnNSZWYpLT5jYXB0dXJlKCk7CiAjZWxzZQogICAgIFVOVVNFRF9Q
QVJBTShwYXJhbWV0ZXJzUmVmKTsKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gZmFsc2U7CiAj
ZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
T3BlblBhbmVsUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
T3BlblBhbmVsUGFyYW1ldGVycy5oCmluZGV4IDM4MDFjMmY3YjVhMTk0OTM2NjU3NTI5MjFkNzg2
NjM2YTgwMjA4ZjQuLjVhZjJkZDI0YzEyZGIzYjVmZGViMzA3N2MxMDFhYzE3YzI1Yjg1ZmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS09wZW5QYW5lbFBhcmFt
ZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tPcGVuUGFuZWxQ
YXJhbWV0ZXJzLmgKQEAgLTQzLDggKzQzLDExIEBAIFdLX0VYUE9SVCBib29sIFdLT3BlblBhbmVs
UGFyYW1ldGVyc0dldEFsbG93c011bHRpcGxlRmlsZXMoV0tPcGVuUGFuZWxQYXJhbWV0ZXJzCiAK
IFdLX0VYUE9SVCBXS0FycmF5UmVmIFdLT3BlblBhbmVsUGFyYW1ldGVyc0NvcHlBY2NlcHRlZE1J
TUVUeXBlcyhXS09wZW5QYW5lbFBhcmFtZXRlcnNSZWYgcGFyYW1ldGVycyk7CiAKKy8qIERFUFJF
Q0FURUQgLSBQbGVhc2UgdXNlIFdLT3BlblBhbmVsUGFyYW1ldGVyc0dldENhcHR1cmVFbmFibGVk
KCkgaW5zdGVhZC4gKi8KIFdLX0VYUE9SVCBXS1N0cmluZ1JlZiBXS09wZW5QYW5lbFBhcmFtZXRl
cnNDb3B5Q2FwdHVyZShXS09wZW5QYW5lbFBhcmFtZXRlcnNSZWYgcGFyYW1ldGVycyk7CiAKK1dL
X0VYUE9SVCBib29sIFdLT3BlblBhbmVsUGFyYW1ldGVyc0dldENhcHR1cmVFbmFibGVkKFdLT3Bl
blBhbmVsUGFyYW1ldGVyc1JlZiBwYXJhbWV0ZXJzUmVmKTsKKwogV0tfRVhQT1JUIFdLQXJyYXlS
ZWYgV0tPcGVuUGFuZWxQYXJhbWV0ZXJzQ29weVNlbGVjdGVkRmlsZU5hbWVzKFdLT3BlblBhbmVs
UGFyYW1ldGVyc1JlZiBwYXJhbWV0ZXJzUmVmKTsKIAogI2lmZGVmIF9fY3BsdXNwbHVzCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggYWYyNWMzODllODE5MGFmYTI3ZGNlZjBiZjQwZmJmZTczNTc3MGEyNS4uMWViMGRiZWYzYzY1
NzNjMDllOTUwZDMxMTllZTBkMjQ5NDkzMGIwNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEz
LTA3LTA4ICBSYXBoYWVsIEt1Ym8gZGEgQ29zdGEgIDxyYXBoYWVsLmt1Ym8uZGEuY29zdGFAaW50
ZWwuY29tPgorCisgICAgICAgIFVwZGF0ZSB0aGUgSFRNTCBNZWRpYSBDYXB0dXJlIGltcGxlbWVu
dGF0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTE4NDY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
TWFrZSB0aGUgaW1wbGVtZW50YXRpb24gaW4gV2ViS2l0IGNvbXBhdGlibGUgd2l0aCB0aGUgMjAx
My0wNS0wOQorICAgICAgICB2ZXJzaW9uIG9mIHRoZSBzcGVjLCB3aGljaCBtYWtlcyB0aGUgImNh
cHR1cmUiIGF0dHJpYnV0ZSBhIGJvb2xlYW4KKyAgICAgICAgaW5zdGVhZCBvZiBhbiBlbnVtLgor
CisgICAgICAgICogZmFzdC9mb3Jtcy9maWxlL2ZpbGUtaW5wdXQtY2FwdHVyZS1leHBlY3RlZC50
eHQ6CisgICAgICAgICogZmFzdC9mb3Jtcy9maWxlL2ZpbGUtaW5wdXQtY2FwdHVyZS5odG1sOgor
CiAyMDE0LTAyLTExICBQaW90ciBHcmFkICA8cC5ncmFkQHNhbXN1bmcuY29tPgogCiAgICAgICAg
IFtHU3RyZWFtZXJdIEhpZ2ggcGxheWJhY2sgcmF0ZSBjYXVzZXMgY3Jhc2gKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZmlsZS9maWxlLWlucHV0LWNhcHR1cmUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxlL2ZpbGUtaW5wdXQtY2FwdHVyZS1leHBl
Y3RlZC50eHQKaW5kZXggZWM0NGI3NTFkZjBkODQ5NzQyMGY2NDBlNDhjZTAyYTM4YjRjNTczNy4u
YWViYWM0ZGFjNmI3MTY2NWM1MjM3OTQzMWFmNmMwMjMwNzQ2MzY0YyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxlL2ZpbGUtaW5wdXQtY2FwdHVyZS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxlL2ZpbGUtaW5wdXQtY2FwdHVyZS1leHBl
Y3RlZC50eHQKQEAgLTQsMTQgKzQsMjAgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIAogCiBQ
QVNTICdjYXB0dXJlJyBpbiBpbnB1dCBpcyB0cnVlCi1QQVNTIGlucHV0LmNhcHR1cmUgaXMgJycK
LVBBU1MgaW5wdXQuY2FwdHVyZSBpcyAnZmlsZXN5c3RlbScKLVBBU1MgaW5wdXQuY2FwdHVyZSBp
cyAnY2FtZXJhJwotUEFTUyBpbnB1dC5jYXB0dXJlIGlzICdjYW1jb3JkZXInCi1QQVNTIGlucHV0
LmNhcHR1cmUgaXMgJ21pY3JvcGhvbmUnCi1QQVNTIGlucHV0LmNhcHR1cmUgaXMgJ2ZpbGVzeXN0
ZW0nCi1QQVNTIGlucHV0LmNhcHR1cmUgaXMgJ2NhbWNvcmRlcicKLVBBU1MgaW5wdXQuZ2V0QXR0
cmlidXRlKCdjYXB0dXJlJykgaXMgJ0NhbUNvcmRlcicKK1BBU1MgaW5wdXQuY2FwdHVyZSBpcyBm
YWxzZQorUEFTUyBpbnB1dC5oYXNBdHRyaWJ1dGUoJ2NhcHR1cmUnKSBpcyBmYWxzZQorUEFTUyBp
bnB1dC5jYXB0dXJlIGlzIGZhbHNlCitQQVNTIGlucHV0Lmhhc0F0dHJpYnV0ZSgnY2FwdHVyZScp
IGlzIGZhbHNlCitQQVNTIGlucHV0LmNhcHR1cmUgaXMgdHJ1ZQorUEFTUyBpbnB1dC5oYXNBdHRy
aWJ1dGUoJ2NhcHR1cmUnKSBpcyB0cnVlCitQQVNTIGlucHV0LmNhcHR1cmUgaXMgZmFsc2UKK1BB
U1MgaW5wdXQuaGFzQXR0cmlidXRlKCdjYXB0dXJlJykgaXMgZmFsc2UKK1BBU1MgaW5wdXQuY2Fw
dHVyZSBpcyB0cnVlCitQQVNTIGlucHV0Lmhhc0F0dHJpYnV0ZSgnY2FwdHVyZScpIGlzIHRydWUK
K1BBU1MgaW5wdXQuY2FwdHVyZSBpcyBmYWxzZQorUEFTUyBpbnB1dC5oYXNBdHRyaWJ1dGUoJ2Nh
cHR1cmUnKSBpcyBmYWxzZQorUEFTUyBpbnB1dC5jYXB0dXJlIGlzIHRydWUKK1BBU1MgaW5wdXQu
aGFzQXR0cmlidXRlKCdjYXB0dXJlJykgaXMgdHJ1ZQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2ZpbGUvZmlsZS1pbnB1dC1jYXB0dXJlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2ZpbGUvZmlsZS1pbnB1dC1jYXB0dXJlLmh0bWwKaW5kZXggZTIyOGYxYzE3MmY1MzQxMDNlY2Y5
ZjJkYjhmMjZlMjM0NmQyYTg0OS4uODVjYjk3YTI2YzIxODZlNGRiZDI3ZjA2YTY4NjJjOTM4YTMx
ZDY5MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxlL2ZpbGUtaW5wdXQt
Y2FwdHVyZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZmlsZS9maWxlLWlucHV0
LWNhcHR1cmUuaHRtbApAQCAtNywyOCArNywzMyBAQCBkZXNjcmlwdGlvbigiVGVzdHMgdGhlIGNh
cHR1cmUgYXR0cmlidXRlIG9mICZsdDtpbnB1dCB0eXBlPSdmaWxlJyZndDsiKTsKIHZhciBpbnB1
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7CiAKIHNob3VsZEJlVHJ1ZSgiJ2Nh
cHR1cmUnIGluIGlucHV0Iik7Ci1zaG91bGRCZSgiaW5wdXQuY2FwdHVyZSIsICInJyIpOworc2hv
dWxkQmUoImlucHV0LmNhcHR1cmUiLCAiZmFsc2UiKTsKK3Nob3VsZEJlKCJpbnB1dC5oYXNBdHRy
aWJ1dGUoJ2NhcHR1cmUnKSIsICJmYWxzZSIpOwogCiBpbnB1dC5zZXRBdHRyaWJ1dGUoInR5cGUi
LCAiZmlsZSIpOwogCi1zaG91bGRCZSgiaW5wdXQuY2FwdHVyZSIsICInZmlsZXN5c3RlbSciKTsK
K3Nob3VsZEJlKCJpbnB1dC5jYXB0dXJlIiwgImZhbHNlIik7CitzaG91bGRCZSgiaW5wdXQuaGFz
QXR0cmlidXRlKCdjYXB0dXJlJykiLCAiZmFsc2UiKTsKIAotaW5wdXQuc2V0QXR0cmlidXRlKCJj
YXB0dXJlIiwgIkNhTWVyQSIpOwotc2hvdWxkQmUoImlucHV0LmNhcHR1cmUiLCAiJ2NhbWVyYSci
KTsKK2lucHV0LnNldEF0dHJpYnV0ZSgiY2FwdHVyZSIsIHRydWUpOworc2hvdWxkQmUoImlucHV0
LmNhcHR1cmUiLCAidHJ1ZSIpOworc2hvdWxkQmUoImlucHV0Lmhhc0F0dHJpYnV0ZSgnY2FwdHVy
ZScpIiwgInRydWUiKTsKIAotaW5wdXQuc2V0QXR0cmlidXRlKCJjYXB0dXJlIiwgImNhbWNvcmRl
ciIpOwotc2hvdWxkQmUoImlucHV0LmNhcHR1cmUiLCAiJ2NhbWNvcmRlciciKTsKK2lucHV0LnJl
bW92ZUF0dHJpYnV0ZSgiY2FwdHVyZSIpOworc2hvdWxkQmUoImlucHV0LmNhcHR1cmUiLCAiZmFs
c2UiKTsKK3Nob3VsZEJlKCJpbnB1dC5oYXNBdHRyaWJ1dGUoJ2NhcHR1cmUnKSIsICJmYWxzZSIp
OwogCi1pbnB1dC5zZXRBdHRyaWJ1dGUoImNhcHR1cmUiLCAiTWlDcm9QaG9uRSIpOwotc2hvdWxk
QmUoImlucHV0LmNhcHR1cmUiLCAiJ21pY3JvcGhvbmUnIik7CitpbnB1dC5zZXRBdHRyaWJ1dGUo
ImNhcHR1cmUiLCAiJ3gnIik7CitzaG91bGRCZSgiaW5wdXQuY2FwdHVyZSIsICJ0cnVlIik7Citz
aG91bGRCZSgiaW5wdXQuaGFzQXR0cmlidXRlKCdjYXB0dXJlJykiLCAidHJ1ZSIpOwogCi1pbnB1
dC5zZXRBdHRyaWJ1dGUoImNhcHR1cmUiLCAieHl6enkiKTsKLXNob3VsZEJlKCJpbnB1dC5jYXB0
dXJlIiwgIidmaWxlc3lzdGVtJyIpOwotCi1pbnB1dC5jYXB0dXJlID0gIkNhbUNvcmRlciI7Ci1z
aG91bGRCZSgiaW5wdXQuY2FwdHVyZSIsICInY2FtY29yZGVyJyIpOwotc2hvdWxkQmUoImlucHV0
LmdldEF0dHJpYnV0ZSgnY2FwdHVyZScpIiwgIidDYW1Db3JkZXInIik7CitpbnB1dC5jYXB0dXJl
ID0gZmFsc2U7CitzaG91bGRCZSgiaW5wdXQuY2FwdHVyZSIsICJmYWxzZSIpOworc2hvdWxkQmUo
ImlucHV0Lmhhc0F0dHJpYnV0ZSgnY2FwdHVyZScpIiwgImZhbHNlIik7CiAKK2lucHV0LmNhcHR1
cmUgPSB0cnVlOworc2hvdWxkQmUoImlucHV0LmNhcHR1cmUiLCAidHJ1ZSIpOworc2hvdWxkQmUo
ImlucHV0Lmhhc0F0dHJpYnV0ZSgnY2FwdHVyZScpIiwgInRydWUiKTsKIDwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgog
PC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223964</attachid>
            <date>2014-02-12 05:32:19 -0800</date>
            <delta_ts>2014-02-12 05:32:19 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-118465-20140212153259.patch</filename>
            <type>text/plain</type>
            <size>17369</size>
            <attacher name="Raphael Kubo da Costa (:rakuco)">rakuco</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYzODcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODg4NGJiZGRiNzg0NTlj
YjUzMjIzZjIyOWY3YTAyODQyNDg5NzY0Zi4uMzhhNjg1MTA3MjYzMzljOTcwZTJiYjlmODgwZDRj
MzllNTc3NDIzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE0LTAyLTEyICBSYXBo
YWVsIEt1Ym8gZGEgQ29zdGEgIDxyYXBoYWVsLmt1Ym8uZGEuY29zdGFAaW50ZWwuY29tPgorCisg
ICAgICAgIFVwZGF0ZSB0aGUgSFRNTCBNZWRpYSBDYXB0dXJlIGltcGxlbWVudGF0aW9uLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NDY1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgTWFrZSB0aGUgaW1wbGVt
ZW50YXRpb24gaW4gV2ViS2l0IGNvbXBhdGlibGUgd2l0aCB0aGUgMjAxMy0wNS0wOQorICAgICAg
ICB2ZXJzaW9uIG9mIHRoZSBzcGVjLCB3aGljaCBtYWtlcyB0aGUgImNhcHR1cmUiIGF0dHJpYnV0
ZSBhIGJvb2xlYW4KKyAgICAgICAgaW5zdGVhZCBvZiBhbiBlbnVtLgorCisgICAgICAgIENvdmVy
ZWQgYnkgZmFzdC9mb3Jtcy9maWxlL2ZpbGUtaW5wdXQtY2FwdHVyZS5odG1sLgorCisgICAgICAg
ICogaHRtbC9GaWxlSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVJbnB1dFR5
cGU6OmhhbmRsZURPTUFjdGl2YXRlRXZlbnQpOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpjYXB0dXJlKTog
UmVuYW1lZCB0byBzaG91bGRVc2VNZWRpYUNhcHR1cmUoKS4KKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxJbnB1dEVsZW1lbnQ6OnNob3VsZFVzZU1lZGlhQ2FwdHVyZSk6IFJldHVybiBhIGJvb2wuCisg
ICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MSW5w
dXRFbGVtZW50LmlkbDogVHVybiB0aGUgYGNhcHR1cmUnIGF0dHJpYnV0ZSBpbnRvIGEKKyAgICAg
ICAgcmVmbGVjdGl2ZSBib29sZWFuIGluc3RlYWQgb2YgYSBET01TdHJpbmcuCisgICAgICAgICog
cGxhdGZvcm0vRmlsZUNob29zZXIuaDoKKwogMjAxNC0wMi0xMSAgQmVuamFtaW4gUG91bGFpbiAg
PGJlbmphbWluQHdlYmtpdC5vcmc+CiAKICAgICAgICAgcXVlcnlTZWxlY3RvcigpIGRvZXMgbm90
IHVzZSB0aGUgY29tcGlsZXIgY29ycmVjdGx5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggMDZmNzg5OWE1
YzA1OTg0Mzk2ZTg1OWZjMjMxM2E1OTIxYzIwMDJmMy4uYjBiODYzNjZhMTUxODRkMWFjMGNhYTBk
YTI5OTA0NmJkMDZmZDEyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE0
LTAyLTEyICBSYXBoYWVsIEt1Ym8gZGEgQ29zdGEgIDxyYXBoYWVsLmt1Ym8uZGEuY29zdGFAaW50
ZWwuY29tPgorCisgICAgICAgIFVwZGF0ZSB0aGUgSFRNTCBNZWRpYSBDYXB0dXJlIGltcGxlbWVu
dGF0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTE4NDY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgTWFr
ZSB0aGUgaW1wbGVtZW50YXRpb24gaW4gV2ViS2l0IGNvbXBhdGlibGUgd2l0aCB0aGUgMjAxMy0w
NS0wOQorICAgICAgICB2ZXJzaW9uIG9mIHRoZSBzcGVjLCB3aGljaCBtYWtlcyB0aGUgImNhcHR1
cmUiIGF0dHJpYnV0ZSBhIGJvb2xlYW4KKyAgICAgICAgaW5zdGVhZCBvZiBhbiBlbnVtLgorCisg
ICAgICAgICogZXdrL2V3a19maWxlX2Nob29zZXIuY3BwOgorICAgICAgICAoZXdrX2ZpbGVfY2hv
b3Nlcl9jYXB0dXJlX2dldCk6IFJldHVybiBhbiBFaW5hX0Jvb2wgbm93LgorICAgICAgICAqIGV3
ay9ld2tfZmlsZV9jaG9vc2VyLmg6IEdldCByaWQgb2YgRXdrX0ZpbGVfQ2hvb3Nlcl9DYXB0dXJl
X1R5cGUuCisKIDIwMTQtMDItMDkgIFJ5dWFuIENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29t
PgogCiAgICAgICAgIFtFRkxdIFJlbW92ZSBQYWdlQ2xpZW50RWZsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOGU4
YTI0ODgwOTNkMzZmZGMzOTMyZmJjNGFjZjNlYTQzMmE5MDRiOC4uMjhjN2ExMTgyNzcyNTc3Nzhl
YmQ1ZmYzZjc2YmM3YzVhMDllNGFjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE0
LTAyLTEyICBSYXBoYWVsIEt1Ym8gZGEgQ29zdGEgIDxyYXBoYWVsLmt1Ym8uZGEuY29zdGFAaW50
ZWwuY29tPgorCisgICAgICAgIFVwZGF0ZSB0aGUgSFRNTCBNZWRpYSBDYXB0dXJlIGltcGxlbWVu
dGF0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTE4NDY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgTWFr
ZSB0aGUgaW1wbGVtZW50YXRpb24gaW4gV2ViS2l0IGNvbXBhdGlibGUgd2l0aCB0aGUgMjAxMy0w
NS0wOQorICAgICAgICB2ZXJzaW9uIG9mIHRoZSBzcGVjLCB3aGljaCBtYWtlcyB0aGUgImNhcHR1
cmUiIGF0dHJpYnV0ZSBhIGJvb2xlYW4KKyAgICAgICAgaW5zdGVhZCBvZiBhbiBlbnVtLgorCisg
ICAgICAgICogU2hhcmVkL1dlYk9wZW5QYW5lbFBhcmFtZXRlcnMuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJPcGVuUGFuZWxQYXJhbWV0ZXJzOjpjYXB0dXJlKTogUmV0dXJuIGEgYm9vbC4KKyAg
ICAgICAgKiBTaGFyZWQvV2ViT3BlblBhbmVsUGFyYW1ldGVycy5oOiBEaXR0by4KKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0MvV0tPcGVuUGFuZWxQYXJhbWV0ZXJzLmNwcDoKKyAgICAgICAgKFdL
T3BlblBhbmVsUGFyYW1ldGVyc0NvcHlDYXB0dXJlKTogRGVwcmVjYXRlLCB0aGUgaW1wbGVtZW50
YXRpb24gaXMKKyAgICAgICAgaW5jb21wYXRpYmxlIHdpdGggdGhlIGN1cnJlbnQgdmVyc2lvbiBv
ZiB0aGUgc3BlYy4KKyAgICAgICAgKFdLT3BlblBhbmVsUGFyYW1ldGVyc0dldENhcHR1cmVFbmFi
bGVkKTogQWRkIGFuZCByZXR1cm4gYSBib29sLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9X
S09wZW5QYW5lbFBhcmFtZXRlcnMuaDoKKwogMjAxNC0wMi0xMCAgQ29tbWl0IFF1ZXVlICA8Y29t
bWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQg
cjE2Mzg1Ni4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmlsZUlucHV0VHlwZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZpbGVJbnB1dFR5cGUuY3BwCmluZGV4IGU4NjY4MjBl
YjdhZWZhMjZjZjNhODk4MjU2ZmViMDcyZWM4Y2YzZmMuLjE2N2M4NzFiZjIzOTFmZGEyYWJiODNi
MWY5MTkxNDFlYmY4ZGMyZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmlsZUlu
cHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9GaWxlSW5wdXRUeXBlLmNwcApA
QCAtMTkzLDcgKzE5Myw3IEBAIHZvaWQgRmlsZUlucHV0VHlwZTo6aGFuZGxlRE9NQWN0aXZhdGVF
dmVudChFdmVudCogZXZlbnQpCiAgICAgICAgIHNldHRpbmdzLmFjY2VwdEZpbGVFeHRlbnNpb25z
ID0gaW5wdXQuYWNjZXB0RmlsZUV4dGVuc2lvbnMoKTsKICAgICAgICAgc2V0dGluZ3Muc2VsZWN0
ZWRGaWxlcyA9IG1fZmlsZUxpc3QtPnBhdGhzKCk7CiAjaWYgRU5BQkxFKE1FRElBX0NBUFRVUkUp
Ci0gICAgICAgIHNldHRpbmdzLmNhcHR1cmUgPSBpbnB1dC5jYXB0dXJlKCk7CisgICAgICAgIHNl
dHRpbmdzLmNhcHR1cmUgPSBpbnB1dC5zaG91bGRVc2VNZWRpYUNhcHR1cmUoKTsKICNlbmRpZgog
CiAgICAgICAgIGFwcGx5RmlsZUNob29zZXJTZXR0aW5ncyhzZXR0aW5ncyk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAppbmRleCAyNDY2ODk3Y2UzZmE4ODJhMTE2ZWJm
MDIyMGFhYmM4NzIzODY4ZGVlLi5iODIzZmJlOTY4ZmQ4ZjVlM2VlYWM2NjhkMGNlYjNjZDQxNmE1
YzYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKQEAgLTE3OTgs
MjYgKzE3OTgsMTAgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpzaG91bGRBcHBlYXJJbmRldGVy
bWluYXRlKCkgY29uc3QKIH0KIAogI2lmIEVOQUJMRShNRURJQV9DQVBUVVJFKQotU3RyaW5nIEhU
TUxJbnB1dEVsZW1lbnQ6OmNhcHR1cmUoKSBjb25zdAorYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojpz
aG91bGRVc2VNZWRpYUNhcHR1cmUoKSBjb25zdAogewotICAgIGlmICghaXNGaWxlVXBsb2FkKCkp
Ci0gICAgICAgIHJldHVybiBTdHJpbmcoKTsKLQotICAgIFN0cmluZyBjYXB0dXJlID0gZmFzdEdl
dEF0dHJpYnV0ZShjYXB0dXJlQXR0cikubG93ZXIoKTsKLSAgICBpZiAoY2FwdHVyZSA9PSAiY2Ft
ZXJhIgotICAgICAgICB8fCBjYXB0dXJlID09ICJjYW1jb3JkZXIiCi0gICAgICAgIHx8IGNhcHR1
cmUgPT0gIm1pY3JvcGhvbmUiCi0gICAgICAgIHx8IGNhcHR1cmUgPT0gImZpbGVzeXN0ZW0iKQot
ICAgICAgICByZXR1cm4gY2FwdHVyZTsKLQotICAgIHJldHVybiAiZmlsZXN5c3RlbSI7CisgICAg
cmV0dXJuIGlzRmlsZVVwbG9hZCgpICYmIGZhc3RIYXNBdHRyaWJ1dGUoY2FwdHVyZUF0dHIpOwog
fQotCi12b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnNldENhcHR1cmUoY29uc3QgU3RyaW5nJiB2YWx1
ZSkKLXsKLSAgICBzZXRBdHRyaWJ1dGUoY2FwdHVyZUF0dHIsIHZhbHVlKTsKLX0KLQogI2VuZGlm
CiAKIGJvb2wgSFRNTElucHV0RWxlbWVudDo6aXNJblJlcXVpcmVkUmFkaW9CdXR0b25Hcm91cCgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCmluZGV4IDI4NmI4YTY5OTYzOTBj
OWUyN2UxZThkNzMxNTFlYmY5OWI1MDQwZjYuLjU4ZGFhMGFjZmNlOWZkZGZhOThlMmFjM2I0Yzk4
Zjg2NzgzMjdmZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxl
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCkBAIC0y
OTgsOCArMjk4LDcgQEAgcHVibGljOgogICAgIFN0cmluZyBkZWZhdWx0VG9vbFRpcCgpIGNvbnN0
OwogCiAjaWYgRU5BQkxFKE1FRElBX0NBUFRVUkUpCi0gICAgU3RyaW5nIGNhcHR1cmUoKSBjb25z
dDsKLSAgICB2b2lkIHNldENhcHR1cmUoY29uc3QgU3RyaW5nJiB2YWx1ZSk7CisgICAgYm9vbCBz
aG91bGRVc2VNZWRpYUNhcHR1cmUoKSBjb25zdDsKICNlbmRpZgogCiAgICAgc3RhdGljIGNvbnN0
IGludCBtYXhpbXVtTGVuZ3RoOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5p
ZGwKaW5kZXggYWViZjIwNmM5NTFiNzg2ZGVkOTY1NTY4NGM5OGFmZGIwNmNkNGUzMC4uYWNjOTg1
ZWYzMDMyMDBlNDU5ZjEwYzRkMTlhNGJlNGI0NDljMjViZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxJbnB1dEVsZW1lbnQuaWRsCkBAIC0xMjYsNSArMTI2LDUgQEAgaW50ZXJmYWNlIEhUTUxJ
bnB1dEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgICAgW0NvbmRpdGlvbmFsPUlPU19BVVRPQ09S
UkVDVF9BTkRfQVVUT0NBUElUQUxJWkUsIFRyZWF0TnVsbEFzPU51bGxTdHJpbmddIGF0dHJpYnV0
ZSBET01TdHJpbmcgYXV0b2NhcGl0YWxpemU7CiAKICAgICAvLyBTZWUgaHR0cDovL3d3dy53My5v
cmcvVFIvaHRtbC1tZWRpYS1jYXB0dXJlLwotICAgIFtDb25kaXRpb25hbD1NRURJQV9DQVBUVVJF
XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNhcHR1cmU7CisgICAgW0NvbmRpdGlvbmFsPU1FRElBX0NB
UFRVUkUsIFJlZmxlY3RdIGF0dHJpYnV0ZSBib29sZWFuIGNhcHR1cmU7CiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZUNob29zZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0ZpbGVDaG9vc2VyLmgKaW5kZXggOTg0MmI2OGM2YzA2NDI3MjllOTQ4MDU4NDZj
MThlOTgwMjcwZTg5ZS4uMjg5YmE5MjliZmQ3ZjMzZTgyNGZlZGE4OThiYTVlMGE5MWYwNzhjZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZUNob29zZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlQ2hvb3Nlci5oCkBAIC01Niw3ICs1Niw3IEBAIHN0
cnVjdCBGaWxlQ2hvb3NlclNldHRpbmdzIHsKICAgICBWZWN0b3I8U3RyaW5nPiBhY2NlcHRGaWxl
RXh0ZW5zaW9uczsKICAgICBWZWN0b3I8U3RyaW5nPiBzZWxlY3RlZEZpbGVzOwogI2lmIEVOQUJM
RShNRURJQV9DQVBUVVJFKQotICAgIFN0cmluZyBjYXB0dXJlOworICAgIGJvb2wgY2FwdHVyZTsK
ICNlbmRpZgogCiAgICAgLy8gUmV0dXJucyBhIGNvbWJpbmVkIHZlY3RvciBvZiBhY2NlcHRNSU1F
VHlwZXMgYW5kIGFjY2VwdEZpbGVFeHRlbnNpb25zLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9lZmwvZXdrL2V3a19maWxlX2Nob29zZXIuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3
a19maWxlX2Nob29zZXIuY3BwCmluZGV4IGZmZWFjN2E2YTFjMWZjMzZjMDkyNDA5NDc1ZjU5Yzc0
Y2ZjNTBlZmQuLjRiZGM1Mzk2MmY3MDczODIyMDY1MDNhNDJmMjgwNGMwZTI2YmZkYTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZmlsZV9jaG9vc2VyLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZpbGVfY2hvb3Nlci5jcHAKQEAgLTc2LDI2ICs3Niwx
NCBAQCBFaW5hX0xpc3QqIGV3a19maWxlX2Nob29zZXJfc2VsZWN0ZWRfZmlsZXNfZ2V0KGNvbnN0
IEV3a19GaWxlX0Nob29zZXIqIGNob29zZXIpCiAgICAgcmV0dXJuIGZpbGVzOwogfQogCi1Fd2tf
RmlsZV9DaG9vc2VyX0NhcHR1cmVfVHlwZSBld2tfZmlsZV9jaG9vc2VyX2NhcHR1cmVfZ2V0KGNv
bnN0IEV3a19GaWxlX0Nob29zZXIqIGNob29zZXIpCitFaW5hX0Jvb2wgZXdrX2ZpbGVfY2hvb3Nl
cl9jYXB0dXJlX2dldChjb25zdCBFd2tfRmlsZV9DaG9vc2VyKiBjaG9vc2VyKQogewogI2lmIEVO
QUJMRShNRURJQV9DQVBUVVJFKQotICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChj
aG9vc2VyLCBFV0tfRklMRV9DSE9PU0VSX0NBUFRVUkVfVFlQRV9JTlZBTElEKTsKLQotICAgIFN0
cmluZyBjYXB0dXJlID0gY2hvb3Nlci0+ZmlsZUNob29zZXItPnNldHRpbmdzKCkuY2FwdHVyZTsK
LQotICAgIGlmIChjYXB0dXJlID09ICJjYW1lcmEiKQotICAgICAgICByZXR1cm4gRVdLX0ZJTEVf
Q0hPT1NFUl9DQVBUVVJFX1RZUEVfQ0FNRVJBOwotCi0gICAgaWYgKGNhcHR1cmUgPT0gImNhbWNv
cmRlciIpCi0gICAgICAgIHJldHVybiBFV0tfRklMRV9DSE9PU0VSX0NBUFRVUkVfVFlQRV9DQU1D
T1JERVI7Ci0KLSAgICBpZiAoY2FwdHVyZSA9PSAibWljcm9waG9uZSIpCi0gICAgICAgIHJldHVy
biBFV0tfRklMRV9DSE9PU0VSX0NBUFRVUkVfVFlQRV9NSUNST1BIT05FOwotCi0gICAgcmV0dXJu
IEVXS19GSUxFX0NIT09TRVJfQ0FQVFVSRV9UWVBFX0ZJTEVTWVNURU07CisgICAgRUlOQV9TQUZF
VFlfT05fTlVMTF9SRVRVUk5fVkFMKGNob29zZXIsIGZhbHNlKTsKKyAgICByZXR1cm4gY2hvb3Nl
ci0+ZmlsZUNob29zZXItPnNldHRpbmdzKCkuY2FwdHVyZTsKICNlbHNlCiAgICAgVU5VU0VEX1BB
UkFNKGNob29zZXIpOwotICAgIHJldHVybiBFV0tfRklMRV9DSE9PU0VSX0NBUFRVUkVfVFlQRV9J
TlZBTElEOworICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZpbGVfY2hvb3Nlci5oIGIvU291cmNlL1dlYktpdC9lZmwv
ZXdrL2V3a19maWxlX2Nob29zZXIuaAppbmRleCBjNDU5MGQ0ZGRjZDY4NTcyYWQzYTM0YjNiYTUz
M2M0MGVlNDkxNGE0Li43MmJlOWM4ZTJhYTI0ZjM4ZjczMWUyYzQxNDZiNzU2ZTc4MDU5NGFhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZpbGVfY2hvb3Nlci5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZmlsZV9jaG9vc2VyLmgKQEAgLTQzLDE5ICs0Myw2
IEBAIGV4dGVybiAiQyIgewogdHlwZWRlZiBzdHJ1Y3QgX0V3a19GaWxlX0Nob29zZXIgRXdrX0Zp
bGVfQ2hvb3NlcjsKIAogLyoqCi0gKiBcZW51bSAgICBfRXdrX0ZpbGVfQ2hvb3Nlcl9DYXB0dXJl
X1R5cGUKLSAqIEBicmllZiAgIFR5cGVzIG9mIGNhcHR1cmUgYXR0cmlidXRlIG9mIGZpbGUgY2hv
b3NlciB0byBzdXBwb3J0IHRoZSBIVE1MIG1lZGlhIGNhcHR1cmUuCi0gKi8KLWVudW0gX0V3a19G
aWxlX0Nob29zZXJfQ2FwdHVyZV9UeXBlIHsKLSAgICBFV0tfRklMRV9DSE9PU0VSX0NBUFRVUkVf
VFlQRV9JTlZBTElELAotICAgIEVXS19GSUxFX0NIT09TRVJfQ0FQVFVSRV9UWVBFX0ZJTEVTWVNU
RU0sCi0gICAgRVdLX0ZJTEVfQ0hPT1NFUl9DQVBUVVJFX1RZUEVfQ0FNRVJBLAotICAgIEVXS19G
SUxFX0NIT09TRVJfQ0FQVFVSRV9UWVBFX0NBTUNPUkRFUiwKLSAgICBFV0tfRklMRV9DSE9PU0VS
X0NBUFRVUkVfVFlQRV9NSUNST1BIT05FCi19OwotdHlwZWRlZiBlbnVtIF9Fd2tfRmlsZV9DaG9v
c2VyX0NhcHR1cmVfVHlwZSBFd2tfRmlsZV9DaG9vc2VyX0NhcHR1cmVfVHlwZTsKLQotLyoqCiAg
KiBRdWVyeSBpZiBtdWx0aXBsZSBmaWxlcyBhcmUgc3VwcG9ydGVkIGJ5IGZpbGUgY2hvb3Nlci4K
ICAqCiAgKiBAcGFyYW0gZiBmaWxlIGNob29zZXIgb2JqZWN0LgpAQCAtMTE0LDE2ICsxMDEsMTUg
QEAgRUFQSSBFaW5hX0xpc3QgKmV3a19maWxlX2Nob29zZXJfYWNjZXB0X2ZpbGVfZXh0ZW50aW9u
c19nZXQoY29uc3QgRXdrX0ZpbGVfQ2hvb3MKIEVBUEkgRWluYV9MaXN0ICpld2tfZmlsZV9jaG9v
c2VyX3NlbGVjdGVkX2ZpbGVzX2dldChjb25zdCBFd2tfRmlsZV9DaG9vc2VyICpmKTsKIAogLyoq
Ci0gKiBSZXR1cm5zIHRoZSBjYXB0dXJlIGF0dHJpYnV0ZSBvZiB0aGUgZmlsZSBjaG9vc2VyIHRv
IHN1cHBvcnQgSFRNTCBtZWRpYSBjYXB0dXJlLgorICogUmV0dXJucyB3aGV0aGVyIHRoZSBkZXZp
Y2UncyBtZWRpYSBjYXB0dXJlIGNhcGFiaWxpdGllcyBzaG91bGQgYmUgdXNlZCBpbiB0aGUgZmls
ZSBjaG9vc2VyLgogICoKICAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbC1tZWRpYS1j
YXB0dXJlLyBmb3IgdGhlIHNlbWFudGljcyBvZiB0aGUgY2FwdHVyZSBhdHRyaWJ1dGUuCiAgKgog
ICogQHBhcmFtIGYgZmlsZSBjaG9vc2VyIG9iamVjdC4KICAqCi0gKiBAcmV0dXJuIEBjIEV3a19G
aWxlX0Nob29zZXJfQ2FwdHVyZV9UeXBlIG9uIHN1cHBvcnRpbmcgSFRNTCBtZWRpYSBjYXB0dXJl
IG9yCi0gKiAgICAgICAgIEBjIEVXS19GSUxFX0NIT09TRVJfQ0FQVFVSRV9UWVBFX0lOVkFMSUQg
b24gZmFpbHVyZS4KKyAqIEByZXR1cm4gQGMgRUlOQV9UUlVFIGlmIHRoZSBkZXZpY2UncyBjYXBh
YmlsaXRpZXMgc2hvdWxkIGJlIHVzZWQsIEBjIEVJTkFfRkFMU0Ugb3RoZXJ3aXNlLgogICovCi1F
QVBJIEV3a19GaWxlX0Nob29zZXJfQ2FwdHVyZV9UeXBlIGV3a19maWxlX2Nob29zZXJfY2FwdHVy
ZV9nZXQoY29uc3QgRXdrX0ZpbGVfQ2hvb3NlciAqZik7CitFQVBJIEVpbmFfQm9vbCBld2tfZmls
ZV9jaG9vc2VyX2NhcHR1cmVfZ2V0KGNvbnN0IEV3a19GaWxlX0Nob29zZXIgKmYpOwogCiAjaWZk
ZWYgX19jcGx1c3BsdXMKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJP
cGVuUGFuZWxQYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJPcGVuUGFu
ZWxQYXJhbWV0ZXJzLmNwcAppbmRleCBiZjg1ODU2NWU3YjYxMWFkZmIwZWJhZWU5NjIyMmE4OTIx
MDg0YTFmLi5jY2YyNTljMDQwNDc4NzMzMzVmODBlOWI5MTA0NGFlMTYzZmMzOTExIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViT3BlblBhbmVsUGFyYW1ldGVycy5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk9wZW5QYW5lbFBhcmFtZXRlcnMuY3BwCkBAIC01
NSw3ICs1NSw3IEBAIFBhc3NSZWZQdHI8QVBJOjpBcnJheT4gV2ViT3BlblBhbmVsUGFyYW1ldGVy
czo6YWNjZXB0TUlNRVR5cGVzKCkgY29uc3QKIH0KIAogI2lmIEVOQUJMRShNRURJQV9DQVBUVVJF
KQotU3RyaW5nIFdlYk9wZW5QYW5lbFBhcmFtZXRlcnM6OmNhcHR1cmUoKSBjb25zdAorYm9vbCBX
ZWJPcGVuUGFuZWxQYXJhbWV0ZXJzOjpjYXB0dXJlKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9z
ZXR0aW5ncy5jYXB0dXJlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
Yk9wZW5QYW5lbFBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJPcGVuUGFu
ZWxQYXJhbWV0ZXJzLmgKaW5kZXggZmVjNWM5YjcyN2Y4ZjgwYzY3OWNiOGIzY2RmODdmZDJmZGZj
MWU0OC4uZDJkOTMyYTU5NTdlMzQ2NzcxMDAwMWI3NzQxNDkzMjE3NGM0NDVlMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk9wZW5QYW5lbFBhcmFtZXRlcnMuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViT3BlblBhbmVsUGFyYW1ldGVycy5oCkBAIC00Nyw3ICs0
Nyw3IEBAIHB1YmxpYzoKICAgICBQYXNzUmVmUHRyPEFQSTo6QXJyYXk+IGFjY2VwdE1JTUVUeXBl
cygpIGNvbnN0OwogICAgIFBhc3NSZWZQdHI8QVBJOjpBcnJheT4gc2VsZWN0ZWRGaWxlTmFtZXMo
KSBjb25zdDsKICNpZiBFTkFCTEUoTUVESUFfQ0FQVFVSRSkKLSAgICBTdHJpbmcgY2FwdHVyZSgp
IGNvbnN0OworICAgIGJvb2wgY2FwdHVyZSgpIGNvbnN0OwogI2VuZGlmCiAKIHByaXZhdGU6CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tPcGVuUGFuZWxQYXJh
bWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS09wZW5QYW5lbFBh
cmFtZXRlcnMuY3BwCmluZGV4IGFhM2UwYjU4YTgzN2ZmMTAyMzI1ODFiMzYxZThkODM1YzM1NDll
M2YuLmJjNDUwZjJjYmJlN2ViMDA0NmYzNmYxNDkzMGRiMTY0NTFmYmMwMTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS09wZW5QYW5lbFBhcmFtZXRlcnMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS09wZW5QYW5lbFBhcmFtZXRl
cnMuY3BwCkBAIC00OCwxMyArNDgsMTkgQEAgV0tBcnJheVJlZiBXS09wZW5QYW5lbFBhcmFtZXRl
cnNDb3B5QWNjZXB0ZWRNSU1FVHlwZXMoV0tPcGVuUGFuZWxQYXJhbWV0ZXJzUmVmIHAKICAgICBy
ZXR1cm4gdG9BUEkodG9JbXBsKHBhcmFtZXRlcnNSZWYpLT5hY2NlcHRNSU1FVHlwZXMoKS5sZWFr
UmVmKCkpOwogfQogCisvLyBEZXByZWNhdGVkLgogV0tTdHJpbmdSZWYgV0tPcGVuUGFuZWxQYXJh
bWV0ZXJzQ29weUNhcHR1cmUoV0tPcGVuUGFuZWxQYXJhbWV0ZXJzUmVmIHBhcmFtZXRlcnNSZWYp
CiB7CisgICAgcmV0dXJuIDA7Cit9CisKK2Jvb2wgV0tPcGVuUGFuZWxQYXJhbWV0ZXJzR2V0Q2Fw
dHVyZUVuYWJsZWQoV0tPcGVuUGFuZWxQYXJhbWV0ZXJzUmVmIHBhcmFtZXRlcnNSZWYpCit7CiAj
aWYgRU5BQkxFKE1FRElBX0NBUFRVUkUpCi0gICAgcmV0dXJuIHRvQ29waWVkQVBJKHRvSW1wbChw
YXJhbWV0ZXJzUmVmKS0+Y2FwdHVyZSgpKTsKKyAgICByZXR1cm4gdG9JbXBsKHBhcmFtZXRlcnNS
ZWYpLT5jYXB0dXJlKCk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShwYXJhbWV0ZXJzUmVmKTsK
LSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gZmFsc2U7CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLT3BlblBhbmVsUGFyYW1ldGVycy5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLT3BlblBhbmVsUGFyYW1ldGVycy5o
CmluZGV4IDM4MDFjMmY3YjVhMTk0OTM2NjU3NTI5MjFkNzg2NjM2YTgwMjA4ZjQuLjVhZjJkZDI0
YzEyZGIzYjVmZGViMzA3N2MxMDFhYzE3YzI1Yjg1ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS09wZW5QYW5lbFBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tPcGVuUGFuZWxQYXJhbWV0ZXJzLmgKQEAgLTQzLDgg
KzQzLDExIEBAIFdLX0VYUE9SVCBib29sIFdLT3BlblBhbmVsUGFyYW1ldGVyc0dldEFsbG93c011
bHRpcGxlRmlsZXMoV0tPcGVuUGFuZWxQYXJhbWV0ZXJzCiAKIFdLX0VYUE9SVCBXS0FycmF5UmVm
IFdLT3BlblBhbmVsUGFyYW1ldGVyc0NvcHlBY2NlcHRlZE1JTUVUeXBlcyhXS09wZW5QYW5lbFBh
cmFtZXRlcnNSZWYgcGFyYW1ldGVycyk7CiAKKy8qIERFUFJFQ0FURUQgLSBQbGVhc2UgdXNlIFdL
T3BlblBhbmVsUGFyYW1ldGVyc0dldENhcHR1cmVFbmFibGVkKCkgaW5zdGVhZC4gKi8KIFdLX0VY
UE9SVCBXS1N0cmluZ1JlZiBXS09wZW5QYW5lbFBhcmFtZXRlcnNDb3B5Q2FwdHVyZShXS09wZW5Q
YW5lbFBhcmFtZXRlcnNSZWYgcGFyYW1ldGVycyk7CiAKK1dLX0VYUE9SVCBib29sIFdLT3BlblBh
bmVsUGFyYW1ldGVyc0dldENhcHR1cmVFbmFibGVkKFdLT3BlblBhbmVsUGFyYW1ldGVyc1JlZiBw
YXJhbWV0ZXJzUmVmKTsKKwogV0tfRVhQT1JUIFdLQXJyYXlSZWYgV0tPcGVuUGFuZWxQYXJhbWV0
ZXJzQ29weVNlbGVjdGVkRmlsZU5hbWVzKFdLT3BlblBhbmVsUGFyYW1ldGVyc1JlZiBwYXJhbWV0
ZXJzUmVmKTsKIAogI2lmZGVmIF9fY3BsdXNwbHVzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYWYyNWMzODllODE5MGFmYTI3
ZGNlZjBiZjQwZmJmZTczNTc3MGEyNS4uNjNkYTQ5YzkwMGE1NzMxYmEzZmE2YjhjMjE0YjQxMzRi
MWMyZTRhNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE0LTAyLTEyICBSYXBoYWVsIEt1Ym8g
ZGEgQ29zdGEgIDxyYXBoYWVsLmt1Ym8uZGEuY29zdGFAaW50ZWwuY29tPgorCisgICAgICAgIFVw
ZGF0ZSB0aGUgSFRNTCBNZWRpYSBDYXB0dXJlIGltcGxlbWVudGF0aW9uLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NDY1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgTWFrZSB0aGUgaW1wbGVtZW50YXRpb24g
aW4gV2ViS2l0IGNvbXBhdGlibGUgd2l0aCB0aGUgMjAxMy0wNS0wOQorICAgICAgICB2ZXJzaW9u
IG9mIHRoZSBzcGVjLCB3aGljaCBtYWtlcyB0aGUgImNhcHR1cmUiIGF0dHJpYnV0ZSBhIGJvb2xl
YW4KKyAgICAgICAgaW5zdGVhZCBvZiBhbiBlbnVtLgorCisgICAgICAgICogZmFzdC9mb3Jtcy9m
aWxlL2ZpbGUtaW5wdXQtY2FwdHVyZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9mb3Jt
cy9maWxlL2ZpbGUtaW5wdXQtY2FwdHVyZS5odG1sOgorCiAyMDE0LTAyLTExICBQaW90ciBHcmFk
ICA8cC5ncmFkQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtHU3RyZWFtZXJdIEhpZ2ggcGxheWJh
Y2sgcmF0ZSBjYXVzZXMgY3Jhc2gKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
ZmlsZS9maWxlLWlucHV0LWNhcHR1cmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9maWxlL2ZpbGUtaW5wdXQtY2FwdHVyZS1leHBlY3RlZC50eHQKaW5kZXggZWM0NGI3NTFk
ZjBkODQ5NzQyMGY2NDBlNDhjZTAyYTM4YjRjNTczNy4uYWViYWM0ZGFjNmI3MTY2NWM1MjM3OTQz
MWFmNmMwMjMwNzQ2MzY0YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxl
L2ZpbGUtaW5wdXQtY2FwdHVyZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9maWxlL2ZpbGUtaW5wdXQtY2FwdHVyZS1leHBlY3RlZC50eHQKQEAgLTQsMTQgKzQsMjAg
QEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIAogCiBQQVNTICdjYXB0dXJlJyBpbiBpbnB1dCBp
cyB0cnVlCi1QQVNTIGlucHV0LmNhcHR1cmUgaXMgJycKLVBBU1MgaW5wdXQuY2FwdHVyZSBpcyAn
ZmlsZXN5c3RlbScKLVBBU1MgaW5wdXQuY2FwdHVyZSBpcyAnY2FtZXJhJwotUEFTUyBpbnB1dC5j
YXB0dXJlIGlzICdjYW1jb3JkZXInCi1QQVNTIGlucHV0LmNhcHR1cmUgaXMgJ21pY3JvcGhvbmUn
Ci1QQVNTIGlucHV0LmNhcHR1cmUgaXMgJ2ZpbGVzeXN0ZW0nCi1QQVNTIGlucHV0LmNhcHR1cmUg
aXMgJ2NhbWNvcmRlcicKLVBBU1MgaW5wdXQuZ2V0QXR0cmlidXRlKCdjYXB0dXJlJykgaXMgJ0Nh
bUNvcmRlcicKK1BBU1MgaW5wdXQuY2FwdHVyZSBpcyBmYWxzZQorUEFTUyBpbnB1dC5oYXNBdHRy
aWJ1dGUoJ2NhcHR1cmUnKSBpcyBmYWxzZQorUEFTUyBpbnB1dC5jYXB0dXJlIGlzIGZhbHNlCitQ
QVNTIGlucHV0Lmhhc0F0dHJpYnV0ZSgnY2FwdHVyZScpIGlzIGZhbHNlCitQQVNTIGlucHV0LmNh
cHR1cmUgaXMgdHJ1ZQorUEFTUyBpbnB1dC5oYXNBdHRyaWJ1dGUoJ2NhcHR1cmUnKSBpcyB0cnVl
CitQQVNTIGlucHV0LmNhcHR1cmUgaXMgZmFsc2UKK1BBU1MgaW5wdXQuaGFzQXR0cmlidXRlKCdj
YXB0dXJlJykgaXMgZmFsc2UKK1BBU1MgaW5wdXQuY2FwdHVyZSBpcyB0cnVlCitQQVNTIGlucHV0
Lmhhc0F0dHJpYnV0ZSgnY2FwdHVyZScpIGlzIHRydWUKK1BBU1MgaW5wdXQuY2FwdHVyZSBpcyBm
YWxzZQorUEFTUyBpbnB1dC5oYXNBdHRyaWJ1dGUoJ2NhcHR1cmUnKSBpcyBmYWxzZQorUEFTUyBp
bnB1dC5jYXB0dXJlIGlzIHRydWUKK1BBU1MgaW5wdXQuaGFzQXR0cmlidXRlKCdjYXB0dXJlJykg
aXMgdHJ1ZQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRF
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvZmlsZS1pbnB1dC1jYXB0
dXJlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvZmlsZS1pbnB1dC1jYXB0dXJl
Lmh0bWwKaW5kZXggZTIyOGYxYzE3MmY1MzQxMDNlY2Y5ZjJkYjhmMjZlMjM0NmQyYTg0OS4uODVj
Yjk3YTI2YzIxODZlNGRiZDI3ZjA2YTY4NjJjOTM4YTMxZDY5MSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9maWxlL2ZpbGUtaW5wdXQtY2FwdHVyZS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZm9ybXMvZmlsZS9maWxlLWlucHV0LWNhcHR1cmUuaHRtbApAQCAtNywyOCAr
NywzMyBAQCBkZXNjcmlwdGlvbigiVGVzdHMgdGhlIGNhcHR1cmUgYXR0cmlidXRlIG9mICZsdDtp
bnB1dCB0eXBlPSdmaWxlJyZndDsiKTsKIHZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImlucHV0Iik7CiAKIHNob3VsZEJlVHJ1ZSgiJ2NhcHR1cmUnIGluIGlucHV0Iik7Ci1zaG91
bGRCZSgiaW5wdXQuY2FwdHVyZSIsICInJyIpOworc2hvdWxkQmUoImlucHV0LmNhcHR1cmUiLCAi
ZmFsc2UiKTsKK3Nob3VsZEJlKCJpbnB1dC5oYXNBdHRyaWJ1dGUoJ2NhcHR1cmUnKSIsICJmYWxz
ZSIpOwogCiBpbnB1dC5zZXRBdHRyaWJ1dGUoInR5cGUiLCAiZmlsZSIpOwogCi1zaG91bGRCZSgi
aW5wdXQuY2FwdHVyZSIsICInZmlsZXN5c3RlbSciKTsKK3Nob3VsZEJlKCJpbnB1dC5jYXB0dXJl
IiwgImZhbHNlIik7CitzaG91bGRCZSgiaW5wdXQuaGFzQXR0cmlidXRlKCdjYXB0dXJlJykiLCAi
ZmFsc2UiKTsKIAotaW5wdXQuc2V0QXR0cmlidXRlKCJjYXB0dXJlIiwgIkNhTWVyQSIpOwotc2hv
dWxkQmUoImlucHV0LmNhcHR1cmUiLCAiJ2NhbWVyYSciKTsKK2lucHV0LnNldEF0dHJpYnV0ZSgi
Y2FwdHVyZSIsIHRydWUpOworc2hvdWxkQmUoImlucHV0LmNhcHR1cmUiLCAidHJ1ZSIpOworc2hv
dWxkQmUoImlucHV0Lmhhc0F0dHJpYnV0ZSgnY2FwdHVyZScpIiwgInRydWUiKTsKIAotaW5wdXQu
c2V0QXR0cmlidXRlKCJjYXB0dXJlIiwgImNhbWNvcmRlciIpOwotc2hvdWxkQmUoImlucHV0LmNh
cHR1cmUiLCAiJ2NhbWNvcmRlciciKTsKK2lucHV0LnJlbW92ZUF0dHJpYnV0ZSgiY2FwdHVyZSIp
Oworc2hvdWxkQmUoImlucHV0LmNhcHR1cmUiLCAiZmFsc2UiKTsKK3Nob3VsZEJlKCJpbnB1dC5o
YXNBdHRyaWJ1dGUoJ2NhcHR1cmUnKSIsICJmYWxzZSIpOwogCi1pbnB1dC5zZXRBdHRyaWJ1dGUo
ImNhcHR1cmUiLCAiTWlDcm9QaG9uRSIpOwotc2hvdWxkQmUoImlucHV0LmNhcHR1cmUiLCAiJ21p
Y3JvcGhvbmUnIik7CitpbnB1dC5zZXRBdHRyaWJ1dGUoImNhcHR1cmUiLCAiJ3gnIik7CitzaG91
bGRCZSgiaW5wdXQuY2FwdHVyZSIsICJ0cnVlIik7CitzaG91bGRCZSgiaW5wdXQuaGFzQXR0cmli
dXRlKCdjYXB0dXJlJykiLCAidHJ1ZSIpOwogCi1pbnB1dC5zZXRBdHRyaWJ1dGUoImNhcHR1cmUi
LCAieHl6enkiKTsKLXNob3VsZEJlKCJpbnB1dC5jYXB0dXJlIiwgIidmaWxlc3lzdGVtJyIpOwot
Ci1pbnB1dC5jYXB0dXJlID0gIkNhbUNvcmRlciI7Ci1zaG91bGRCZSgiaW5wdXQuY2FwdHVyZSIs
ICInY2FtY29yZGVyJyIpOwotc2hvdWxkQmUoImlucHV0LmdldEF0dHJpYnV0ZSgnY2FwdHVyZScp
IiwgIidDYW1Db3JkZXInIik7CitpbnB1dC5jYXB0dXJlID0gZmFsc2U7CitzaG91bGRCZSgiaW5w
dXQuY2FwdHVyZSIsICJmYWxzZSIpOworc2hvdWxkQmUoImlucHV0Lmhhc0F0dHJpYnV0ZSgnY2Fw
dHVyZScpIiwgImZhbHNlIik7CiAKK2lucHV0LmNhcHR1cmUgPSB0cnVlOworc2hvdWxkQmUoImlu
cHV0LmNhcHR1cmUiLCAidHJ1ZSIpOworc2hvdWxkQmUoImlucHV0Lmhhc0F0dHJpYnV0ZSgnY2Fw
dHVyZScpIiwgInRydWUiKTsKIDwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>