<?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>77233</bug_id>
          
          <creation_ts>2012-01-27 11:37:07 -0800</creation_ts>
          <short_desc>Add ElementAttributeData class to replace internal uses of NamedNodeMap</short_desc>
          <delta_ts>2012-01-30 19: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>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>
          
          <blocked>75069</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Caio Marcelo de Oliveira Filho">cmarcelo</reporter>
          <assigned_to name="Caio Marcelo de Oliveira Filho">cmarcelo</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>menard</cc>
    
    <cc>rakuco</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>544217</commentid>
    <comment_count>0</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-01-27 11:37:07 -0800</bug_when>
    <thetext>Add ElementAttributeData class to replace internal uses of NamedNodeMap</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544231</commentid>
    <comment_count>1</comment_count>
      <attachid>124344</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-01-27 11:55:41 -0800</bug_when>
    <thetext>Created attachment 124344
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544338</commentid>
    <comment_count>2</comment_count>
      <attachid>124364</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-01-27 13:56:08 -0800</bug_when>
    <thetext>Created attachment 124364
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545146</commentid>
    <comment_count>3</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-01-30 09:11:07 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Created an attachment (id=124364) [details]
&gt; Patch

To fix the win problem you need to add your file in CSSAllInOne.cpp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545243</commentid>
    <comment_count>4</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-01-30 11:44:40 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; Created an attachment (id=124364) [details] [details]
&gt; &gt; Patch
&gt; 
&gt; To fix the win problem you need to add your file in CSSAllInOne.cpp.

Thanks! I think that&apos;s it. But in my case I think is dom/DOMAllInOne.cpp. I&apos;m uploading a rebase version to check ;-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545262</commentid>
    <comment_count>5</comment_count>
      <attachid>124576</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-01-30 12:01:37 -0800</bug_when>
    <thetext>Created attachment 124576
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545495</commentid>
    <comment_count>6</comment_count>
      <attachid>124576</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-01-30 15:31:42 -0800</bug_when>
    <thetext>Comment on attachment 124576
Patch

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

r=me, looks like a good place to start. Mac build needs fixing though.

&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:737
&gt; +		2CF6878A14D32EFF00340F39 /* ElementAttributeData.h in Headers */ = {isa = PBXBuildFile; fileRef = 2CF6878914D32EFF00340F39 /* ElementAttributeData.h */; };

Needs &quot;settings = {ATTRIBUTES = (Private, ); };&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545715</commentid>
    <comment_count>7</comment_count>
      <attachid>124657</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-01-30 18:48:15 -0800</bug_when>
    <thetext>Created attachment 124657
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545742</commentid>
    <comment_count>8</comment_count>
      <attachid>124657</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-30 19:53:56 -0800</bug_when>
    <thetext>Comment on attachment 124657
Patch for landing

Clearing flags on attachment: 124657

Committed r106323: &lt;http://trac.webkit.org/changeset/106323&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545743</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-30 19:54:01 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124344</attachid>
            <date>2012-01-27 11:55:41 -0800</date>
            <delta_ts>2012-01-27 13:55:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77233-20120127165544.patch</filename>
            <type>text/plain</type>
            <size>25297</size>
            <attacher name="Caio Marcelo de Oliveira Filho">cmarcelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2MTA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWMxYjljMjNjZTlhYzky
OWEwMWZlODBjMjYyMTQzNTQyZDcyNGJmOC4uZTRjN2U0YzNjNjNmMTliNWZlNWNhYzk0ZjY3MTU5
MzQ1ZDlhYjU2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDEyLTAxLTI3ICBDYWlv
IE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJhQG9wZW5ib3NzYS5vcmc+
CisKKyAgICAgICAgQWRkIEVsZW1lbnRBdHRyaWJ1dGVEYXRhIGNsYXNzIHRvIHJlcGxhY2UgaW50
ZXJuYWwgdXNlcyBvZiBOYW1lZE5vZGVNYXAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTc3MjMzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTW92ZSBwYXJ0IG9mIG5vbi1ET00gZnVuY3Rpb25hbGl0eSBvZiBO
YW1lZE5vZGVNYXAgaW50byBhIHNlcGFyYXRlIGNsYXNzLiBUaGlzIGlzCisgICAgICAgIHRoZSBm
aXJzdCBzdGVwIHRvd2FyZCB0aGUgZ29hbCBvZiBzZXBhcmF0aW5nIE5hbWVkTm9kZU1hcCBmcm9t
IGludGVybmFsIGF0dHJpYnV0ZQorICAgICAgICBzdG9yYWdlLCBhcyBkZXNjcmliZWQgaW4gaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDY5LgorCisgICAgICAgIFRo
ZSBpbnRlcm5hbCBhdHRyaWJ1dGUgc3RvcmFnZSBpcyBleHBvc2VkIGFzIGF0dHJpYnV0ZURhdGEo
KSBpbiBFbGVtZW50LCBhbmQgd2hlbgorICAgICAgICBuZWNlc3NhcnkgKGJlY2F1c2UgaXQgaGFz
IG5vIGJhY2sgcG9pbnRlciB0byBFbGVtZW50KSB2aWEgbWV0aG9kcyBpbiBFbGVtZW50LgorCisg
ICAgICAgIE5vIG5ldyB0ZXN0cy4gRXhjZXB0IGZyb20gc2V0Q2xhc3MoKSBjaGFuZ2UgdGhpcyBp
cyBqdXN0IG1vdmluZyB0aGUgY29kZSwgbm8gbmV3CisgICAgICAgIGZlYXR1cmUgd2FzIGFkZGVk
LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUubGlz
dC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZG9t
L0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6aWRBdHRyaWJ1dGVDaGFu
Z2VkKToKKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVu
dDo6YXR0cmlidXRlRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjplbnN1cmVBdHRy
aWJ1dGVEYXRhKToKKyAgICAgICAgKEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVu
dDo6aWRGb3JTdHlsZVJlc29sdXRpb24pOgorICAgICAgICAqIGRvbS9FbGVtZW50QXR0cmlidXRl
RGF0YS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50QXR0cmlidXRlRGF0YTo6c2V0Q2xhc3MpOiB0aGUgb25seSBjYWxsZXIgb2YgdGhpcyBm
dW5jdGlvbgorICAgICAgICBhbHJlYWR5IGRlYWwgd2l0aCB0aGUgY2FzZSB3aGVuIHRoZSBlbGVt
ZW50IGhhcyBubyBjbGFzcywgc28gZG9uJ3QgZG8gaXQgaGVyZS4KKyAgICAgICAgKFdlYkNvcmU6
OkVsZW1lbnRBdHRyaWJ1dGVEYXRhOjplbnN1cmVJbmxpbmVTdHlsZURlY2wpOgorICAgICAgICAo
V2ViQ29yZTo6RWxlbWVudEF0dHJpYnV0ZURhdGE6OmRlc3Ryb3lJbmxpbmVTdHlsZURlY2wpOgor
ICAgICAgICAoV2ViQ29yZTo6RWxlbWVudEF0dHJpYnV0ZURhdGE6OmNyZWF0ZUlubGluZVN0eWxl
RGVjbCk6CisgICAgICAgICogZG9tL0VsZW1lbnRBdHRyaWJ1dGVEYXRhLmg6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChFbGVtZW50QXR0cmlidXRlRGF0YSk6CisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50QXR0cmlidXRlRGF0YTo6Y2xlYXJDbGFzcyk6CisgICAgICAgIChX
ZWJDb3JlOjpFbGVtZW50QXR0cmlidXRlRGF0YTo6Y2xhc3NOYW1lcyk6CisgICAgICAgIChXZWJD
b3JlOjpFbGVtZW50QXR0cmlidXRlRGF0YTo6aWRGb3JTdHlsZVJlc29sdXRpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6RWxlbWVudEF0dHJpYnV0ZURhdGE6OnNldElkRm9yU3R5bGVSZXNvbHV0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRBdHRyaWJ1dGVEYXRhOjppbmxpbmVTdHlsZURl
Y2wpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudEF0dHJpYnV0ZURhdGE6OkVsZW1lbnRBdHRy
aWJ1dGVEYXRhKToKKyAgICAgICAgKiBkb20vTmFtZWROb2RlTWFwLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok5hbWVkTm9kZU1hcDo6Y2xlYXJBdHRyaWJ1dGVzKToKKyAgICAgICAgKiBkb20vTmFt
ZWROb2RlTWFwLmg6CisgICAgICAgIChXZWJDb3JlOjpOYW1lZE5vZGVNYXA6OmF0dHJpYnV0ZURh
dGEpOgorICAgICAgICAoTmFtZWROb2RlTWFwKToKKyAgICAgICAgKiBkb20vU3R5bGVkRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZWRFbGVtZW50OjpjbGFzc0F0dHJpYnV0ZUNo
YW5nZWQpOgorICAgICAgICAqIGRvbS9TdHlsZWRFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3Jl
OjpTdHlsZWRFbGVtZW50OjppbmxpbmVTdHlsZURlY2wpOgorICAgICAgICAoV2ViQ29yZTo6U3R5
bGVkRWxlbWVudDo6ZW5zdXJlSW5saW5lU3R5bGVEZWNsKToKKyAgICAgICAgKFN0eWxlZEVsZW1l
bnQpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVkRWxlbWVudDo6Y2xhc3NOYW1lcyk6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZWRFbGVtZW50OjpkZXN0cm95SW5saW5lU3R5bGVEZWNsKToKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGh0bWwvQ2xhc3NMaXN0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNsYXNzTGlzdDo6Y2xhc3NOYW1lcyk6CisKIDIwMTItMDEtMjUgIFl1cnkgU2Vt
aWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjog
c2hvdWxkIGJlIHBvc3NpYmxlIHRvIG9wZW4gZnVuY3Rpb24gZGVjbGFyYXRpb24gZnJvbSBzY3Jp
cHQgcG9wb3ZlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAxODMwNmE3NjRhZTVmZDFlNjFmYjRl
ZTNhMjY3ODQ0YTBkODIyMTkzLi5kNDgxYjA3YTA2MjNkYzg2M2E1ZDdkZTVmZTQxNWViZGQ2MWQ1
YTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNTQ1LDYgKzU0NSw3IEBAIFNFVChXZWJDb3Jl
X1NPVVJDRVMKICAgICBkb20vRHluYW1pY05vZGVMaXN0LmNwcAogICAgIGRvbS9FZGl0aW5nVGV4
dC5jcHAKICAgICBkb20vRWxlbWVudC5jcHAKKyAgICBkb20vRWxlbWVudEF0dHJpYnV0ZURhdGEu
Y3BwCiAgICAgZG9tL0VudGl0eVJlZmVyZW5jZS5jcHAKICAgICBkb20vRXJyb3JFdmVudC5jcHAK
ICAgICBkb20vRXZlbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA2ODBk
YmQ2NTM5NTk0ZjQwNDliZjNiYTI4MzZlNDY5YzA1ZGU2YzBlLi5jZTU4ODNjNmNmNjE3NWE4YWQw
OWY4NjU4NzY5ZDczMzAyMjNlNjE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAg
LTE1MzQsNiArMTUzNCw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUv
ZG9tL0VkaXRpbmdUZXh0LmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBcCiAJ
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBcCisJU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnRBdHRyaWJ1dGVEYXRhLmNwcCBcCisJU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRBdHRyaWJ1
dGVEYXRhLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaCBcCiAJU291
cmNlL1dlYkNvcmUvZG9tL0VudGl0eS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRW50aXR5UmVm
ZXJlbmNlLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291
cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCA2YjZhMTRiODIyYTAzM2FiNmZkYjhhYTNmMWQx
MTU1MTRkYTQyOWFiLi5mMTM5ZWIzZWRlYjFkZGU4ZWM3YjAxMmRmNmRkMTMxNjhiNzkwMGE3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1RhcmdldC5wcmkKQEAgLTUwOCw2ICs1MDgsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBkb20vRHlu
YW1pY05vZGVMaXN0LmNwcCBcCiAgICAgZG9tL0VkaXRpbmdUZXh0LmNwcCBcCiAgICAgZG9tL0Vs
ZW1lbnQuY3BwIFwKKyAgICBkb20vRWxlbWVudEF0dHJpYnV0ZURhdGEuY3BwIFwKICAgICBkb20v
RW50aXR5UmVmZXJlbmNlLmNwcCBcCiAgICAgZG9tL0Vycm9yRXZlbnQuY3BwIFwKICAgICBkb20v
RXZlbnQuY3BwIFwKQEAgLTE2MTksNiArMTYyMCw3IEBAIEhFQURFUlMgKz0gXAogICAgIGRvbS9E
eW5hbWljTm9kZUxpc3QuaCBcCiAgICAgZG9tL0VkaXRpbmdUZXh0LmggXAogICAgIGRvbS9FbGVt
ZW50LmggXAorICAgIGRvbS9FbGVtZW50QXR0cmlidXRlRGF0YS5oIFwKICAgICBkb20vRW50aXR5
LmggXAogICAgIGRvbS9FbnRpdHlSZWZlcmVuY2UuaCBcCiAgICAgZG9tL0V2ZW50LmggXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCmluZGV4IGM0MmNlYjJiMGNlNmIwOTRkMWRiZDJiYjdjMGY2NjQyNGNjNWZiZDMu
LmFhZjUzMmY2OWVjMTk4M2I3NTlkOTA0MDhlNjQyNjM3YjdkNTUwMmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKQEAgLTU5NSw2ICs1OTUsNyBAQAogICAgICAgICAgICAgJ2RvbS9Eb2N1bWVudFRpbWluZy5o
JywKICAgICAgICAgICAgICdkb20vRG9jdW1lbnRUeXBlLmgnLAogICAgICAgICAgICAgJ2RvbS9F
bGVtZW50LmgnLAorICAgICAgICAgICAgJ2RvbS9FbGVtZW50QXR0cmlidXRlRGF0YS5oJywKICAg
ICAgICAgICAgICdkb20vRXZlbnQuaCcsCiAgICAgICAgICAgICAnZG9tL0V2ZW50TGlzdGVuZXIu
aCcsCiAgICAgICAgICAgICAnZG9tL0V2ZW50TGlzdGVuZXJNYXAuaCcsCkBAIC00OTg4LDYgKzQ5
ODksNyBAQAogICAgICAgICAgICAgJ2RvbS9FZGl0aW5nVGV4dC5jcHAnLAogICAgICAgICAgICAg
J2RvbS9FZGl0aW5nVGV4dC5oJywKICAgICAgICAgICAgICdkb20vRWxlbWVudC5jcHAnLAorICAg
ICAgICAgICAgJ2RvbS9FbGVtZW50QXR0cmlidXRlRGF0YS5jcHAnLAogICAgICAgICAgICAgJ2Rv
bS9FbGVtZW50UmFyZURhdGEuaCcsCiAgICAgICAgICAgICAnZG9tL0VudGl0eS5oJywKICAgICAg
ICAgICAgICdkb20vRW50aXR5UmVmZXJlbmNlLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggN2JkYTBhZTVkM2U5MzFmZjlm
MTA0MDljNzA2N2U4Mjc5NTdmZDY3My4uNmExOTYzYjgzOWVkOGZhMjc0OGFkMzFiNzNmNTQ5ZjA0
YjZjMWY2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtNzMxLDYgKzczMSw4IEBACiAJCTI5RDdCQ0ZBMTQ0NEFGN0QwMDcwNjE5
QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMjlEN0JDRjkxNDQ0QUY3RDAwNzA2MTlDIC8qIEFjY2Vzc2li
aWxpdHlTcGluQnV0dG9uLmggKi87IH07CiAJCTJCRThFMkM3MTJBNTg5RUMwMEZBRDU1MCAvKiBI
VE1MTWV0YUNoYXJzZXRQYXJzZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDJCRThFMkM2MTJBNTg5RUMwMEZBRDU1MCAvKiBIVE1MTWV0YUNoYXJzZXRQ
YXJzZXIuaCAqLzsgfTsKIAkJMkJFOEUyQzkxMkE1OEEwMTAwRkFENTUwIC8qIEhUTUxNZXRhQ2hh
cnNldFBhcnNlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyQkU4RTJDODEyQTU4QTAxMDBGQUQ1NTAgLyogSFRNTE1ldGFDaGFyc2V0UGFyc2VyLmNw
cCAqLzsgfTsKKwkJMkNGNjg3ODgxNEQzMkVCNTAwMzQwRjM5IC8qIEVsZW1lbnRBdHRyaWJ1dGVE
YXRhLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJD
RjY4Nzg3MTREMzJFQjUwMDM0MEYzOSAvKiBFbGVtZW50QXR0cmlidXRlRGF0YS5jcHAgKi87IH07
CisJCTJDRjY4NzhBMTREMzJFRkYwMDM0MEYzOSAvKiBFbGVtZW50QXR0cmlidXRlRGF0YS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkNGNjg3ODkxNEQz
MkVGRjAwMzQwRjM5IC8qIEVsZW1lbnRBdHRyaWJ1dGVEYXRhLmggKi87IH07CiAJCTJEM0EwRTM2
MTNBN0Q3NjEwMEU4NUFGMCAvKiBTVkdQYXJzaW5nRXJyb3IuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEM0EwRTM1MTNBN0Q3NjEwMEU4NUFGMCAvKiBT
VkdQYXJzaW5nRXJyb3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQkyRDQ4MUYwMDE0NkI1QzRDMDBBQTc4MzQgLyogQ3Jvc3NmYWRlR2VuZXJhdGVk
SW1hZ2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MkQyRkMwNTQxNDYwQ0Q2RjAwMjYzNjMzIC8qIENyb3NzZmFkZUdlbmVyYXRlZEltYWdlLmNwcCAq
LzsgfTsKIAkJMkQ0ODFGMDIxNDZCNUM1NTAwQUE3ODM0IC8qIENyb3NzZmFkZUdlbmVyYXRlZElt
YWdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDJG
QzA1NTE0NjBDRDZGMDAyNjM2MzMgLyogQ3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2UuaCAqLzsgfTsK
QEAgLTc0NzIsNiArNzQ3NCw4IEBACiAJCTI5RDdCQ0Y5MTQ0NEFGN0QwMDcwNjE5QyAvKiBBY2Nl
c3NpYmlsaXR5U3BpbkJ1dHRvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBB
Y2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQky
QkU4RTJDNjEyQTU4OUVDMDBGQUQ1NTAgLyogSFRNTE1ldGFDaGFyc2V0UGFyc2VyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEhUTUxNZXRhQ2hhcnNldFBhcnNlci5oOyBwYXRo
ID0gcGFyc2VyL0hUTUxNZXRhQ2hhcnNldFBhcnNlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkyQkU4RTJDODEyQTU4QTAxMDBGQUQ1NTAgLyogSFRNTE1ldGFDaGFyc2V0UGFyc2Vy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEhUTUxNZXRhQ2hhcnNl
dFBhcnNlci5jcHA7IHBhdGggPSBwYXJzZXIvSFRNTE1ldGFDaGFyc2V0UGFyc2VyLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkNGNjg3ODcxNEQzMkVCNTAwMzQwRjM5IC8qIEVs
ZW1lbnRBdHRyaWJ1dGVEYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEVsZW1lbnRBdHRyaWJ1dGVEYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMkNGNjg3ODkxNEQzMkVGRjAwMzQwRjM5IC8qIEVsZW1lbnRBdHRyaWJ1dGVEYXRhLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEVsZW1lbnRBdHRyaWJ1dGVEYXRhLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEMkZDMDU0MTQ2MENENkYwMDI2MzYzMyAvKiBD
cm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBDcm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTJEMkZDMDU1MTQ2MENENkYwMDI2MzYzMyAvKiBDcm9zc2ZhZGVHZW5lcmF0ZWRJ
bWFnZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDcm9zc2ZhZGVHZW5lcmF0
ZWRJbWFnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDJGQzA1NjE0NjBDRDZG
MDAyNjM2MzMgLyogR2VuZXJhdG9yR2VuZXJhdGVkSW1hZ2UuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gR2VuZXJhdG9yR2VuZXJhdGVkSW1hZ2UuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjA0NDEsNiArMjA0NDUsOCBAQAogCQkJCUE4QzRBN0Y2
MDlENTYzMjcwMDAzQUM4RCAvKiBFbGVtZW50LmNwcCAqLywKIAkJCQlBOEM0QTdGNTA5RDU2MzI3
MDAwM0FDOEQgLyogRWxlbWVudC5oICovLAogCQkJCTkzRUVDMUVBMDlDMjg3NzcwMEM1MTVEMSAv
KiBFbGVtZW50LmlkbCAqLywKKwkJCQkyQ0Y2ODc4NzE0RDMyRUI1MDAzNDBGMzkgLyogRWxlbWVu
dEF0dHJpYnV0ZURhdGEuY3BwICovLAorCQkJCTJDRjY4Nzg5MTREMzJFRkYwMDM0MEYzOSAvKiBF
bGVtZW50QXR0cmlidXRlRGF0YS5oICovLAogCQkJCTYzN0I3QURFMEU4NzY3QjgwMEUzMjE5NCAv
KiBFbGVtZW50UmFyZURhdGEuaCAqLywKIAkJCQlBOEVBN0VCQTBBMTk0NUQwMDBBOEVGNUYgLyog
RW50aXR5LmggKi8sCiAJCQkJOTNFRUMxRUIwOUMyODc3NzAwQzUxNUQxIC8qIEVudGl0eS5pZGwg
Ki8sCkBAIC0yNDA4NSw2ICsyNDA5MSw3IEBACiAJCQkJOEFEMEE1OTUxNEM4ODMzNjAwMEQ4M0M1
IC8qIEpTV2ViS2l0Q1NTUmVnaW9uUnVsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOEFEMEE1OTYx
NEM4ODM1ODAwMEQ4M0M1IC8qIERPTVdlYktpdENTU1JlZ2lvblJ1bGUuaCBpbiBIZWFkZXJzICov
LAogCQkJCThBRDBBNTk4MTRDODgzNTgwMDBEODNDNSAvKiBET01XZWJLaXRDU1NSZWdpb25SdWxl
SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAorCQkJCTJDRjY4NzhBMTREMzJFRkYwMDM0MEYzOSAv
KiBFbGVtZW50QXR0cmlidXRlRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25s
eUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yNzAxMCw2ICsyNzAx
Nyw3IEBACiAJCQkJOTc3RTJFMEUxMkYwRkM5QzAwQzEzMzc5IC8qIFhTU0F1ZGl0b3IuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJRkQ1MzczNTIxMzdCNjUxODAwMDA4RENFIC8qIFplcm9Qb2xlLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTU3M0QxMzQ3MTRDRTM5RkYwMDU3QUJDQSAvKiBJbnNwZWN0
b3JUeXBlQnVpbGRlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyQ0Y2ODc4ODE0RDMyRUI1MDAz
NDBGMzkgLyogRWxlbWVudEF0dHJpYnV0ZURhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwog
CQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudC5jcHAKaW5kZXggMDExZTI1ODk3YzE1NWUzNTJmNWMxNTQ4ZTc5M2NmM2I3NWQwYzJm
Yi4uNDRlNGM5NDRmODQwYTQ1NmVlYjI1NzEyNWZkMWIzNmQ4NzA5ZDUzNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50LmNwcApAQCAtNzEwLDEzICs3MTAsMTMgQEAgdm9pZCBFbGVtZW50OjpyZWNhbGNTdHls
ZUlmTmVlZGVkQWZ0ZXJBdHRyaWJ1dGVDaGFuZ2VkKEF0dHJpYnV0ZSogYXR0cikKIHZvaWQgRWxl
bWVudDo6aWRBdHRyaWJ1dGVDaGFuZ2VkKEF0dHJpYnV0ZSogYXR0cikKIHsKICAgICBzZXRIYXNJ
RCghYXR0ci0+aXNOdWxsKCkpOwotICAgIGlmIChhdHRyaWJ1dGVNYXAoKSkgeworICAgIGlmIChh
dHRyaWJ1dGVEYXRhKCkpIHsKICAgICAgICAgaWYgKGF0dHItPmlzTnVsbCgpKQotICAgICAgICAg
ICAgYXR0cmlidXRlTWFwKCktPnNldElkRm9yU3R5bGVSZXNvbHV0aW9uKG51bGxBdG9tKTsKKyAg
ICAgICAgICAgIGF0dHJpYnV0ZURhdGEoKS0+c2V0SWRGb3JTdHlsZVJlc29sdXRpb24obnVsbEF0
b20pOwogICAgICAgICBlbHNlIGlmIChkb2N1bWVudCgpLT5pblF1aXJrc01vZGUoKSkKLSAgICAg
ICAgICAgIGF0dHJpYnV0ZU1hcCgpLT5zZXRJZEZvclN0eWxlUmVzb2x1dGlvbihhdHRyLT52YWx1
ZSgpLmxvd2VyKCkpOworICAgICAgICAgICAgYXR0cmlidXRlRGF0YSgpLT5zZXRJZEZvclN0eWxl
UmVzb2x1dGlvbihhdHRyLT52YWx1ZSgpLmxvd2VyKCkpOwogICAgICAgICBlbHNlCi0gICAgICAg
ICAgICBhdHRyaWJ1dGVNYXAoKS0+c2V0SWRGb3JTdHlsZVJlc29sdXRpb24oYXR0ci0+dmFsdWUo
KSk7CisgICAgICAgICAgICBhdHRyaWJ1dGVEYXRhKCktPnNldElkRm9yU3R5bGVSZXNvbHV0aW9u
KGF0dHItPnZhbHVlKCkpOwogICAgIH0KICAgICBzZXROZWVkc1N0eWxlUmVjYWxjKCk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuaAppbmRleCAyNWVjNzg1Njg1ZTBlMjk3ZWMwY2IyMmYwYjA2OTNiNDllZGM1
ZWZjLi4wMTRhMjhkMWIwZDk0MDk2NTZmNjE2MWFiNzBhNTA5ODI2NDJlMWIyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50LmgKQEAgLTIyNCw2ICsyMjQsOSBAQCBwdWJsaWM6CiAKICAgICBOYW1lZE5vZGVNYXAq
IGF0dHJpYnV0ZU1hcCgpIGNvbnN0IHsgcmV0dXJuIG1fYXR0cmlidXRlTWFwLmdldCgpOyB9CiAK
KyAgICBFbGVtZW50QXR0cmlidXRlRGF0YSogYXR0cmlidXRlRGF0YSgpIGNvbnN0IHsgcmV0dXJu
IG1fYXR0cmlidXRlTWFwID8gbV9hdHRyaWJ1dGVNYXAtPmF0dHJpYnV0ZURhdGEoKSA6IDA7IH0K
KyAgICBFbGVtZW50QXR0cmlidXRlRGF0YSogZW5zdXJlQXR0cmlidXRlRGF0YSgpIGNvbnN0IHsg
cmV0dXJuIGF0dHJpYnV0ZXMoKS0+YXR0cmlidXRlRGF0YSgpOyB9CisKICAgICB2b2lkIHNldEF0
dHJpYnV0ZXNGcm9tRWxlbWVudChjb25zdCBFbGVtZW50Jik7CiAKICAgICB2aXJ0dWFsIHZvaWQg
Y29weU5vbkF0dHJpYnV0ZVByb3BlcnRpZXMoY29uc3QgRWxlbWVudCogc291cmNlKTsKQEAgLTU3
Miw3ICs1NzUsNyBAQCBpbmxpbmUgY29uc3QgQXRvbWljU3RyaW5nJiBFbGVtZW50OjpmYXN0R2V0
QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUpCiBpbmxpbmUgY29uc3QgQXRvbWlj
U3RyaW5nJiBFbGVtZW50OjppZEZvclN0eWxlUmVzb2x1dGlvbigpIGNvbnN0CiB7CiAgICAgQVNT
RVJUKGhhc0lEKCkpOwotICAgIHJldHVybiBtX2F0dHJpYnV0ZU1hcC0+aWRGb3JTdHlsZVJlc29s
dXRpb24oKTsKKyAgICByZXR1cm4gYXR0cmlidXRlRGF0YSgpLT5pZEZvclN0eWxlUmVzb2x1dGlv
bigpOwogfQogCiBpbmxpbmUgYm9vbCBFbGVtZW50Ojppc0lkQXR0cmlidXRlTmFtZShjb25zdCBR
dWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnRBdHRyaWJ1dGVEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50QXR0cmlidXRlRGF0YS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDkyMzgyMzc5YWQ1ZjQ2NmYxNzQ5
OGVjNWQzNjNlN2U5ZDBiNWJhYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50QXR0cmlidXRlRGF0YS5jcHAKQEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMTk5OSBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQorICogICAgICAgICAgIChD
KSAxOTk5IEFudHRpIEtvaXZpc3RvIChrb2l2aXN0b0BrZGUub3JnKQorICogICAgICAgICAgIChD
KSAyMDAxIFBldGVyIEtlbGx5IChwbWtAcG9zdC5jb20pCisgKiAgICAgICAgICAgKEMpIDIwMDEg
RGlyayBNdWVsbGVyIChtdWVsbGVyQGtkZS5vcmcpCisgKiBDb3B5cmlnaHQgKEMpIDIwMDMsIDIw
MDQsIDIwMDUsIDIwMDYsIDIwMDgsIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDEyIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vi
c2lkaWFyeSgtaWVzKS4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91
IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIg
b2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisg
KgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0
aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSBy
ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UK
KyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJ
ZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1
MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAx
LCBVU0EuCisgKgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJFbGVtZW50
QXR0cmlidXRlRGF0YS5oIgorCisjaW5jbHVkZSAiU3R5bGVkRWxlbWVudC5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK3ZvaWQgRWxlbWVudEF0dHJpYnV0ZURhdGE6OnNldENsYXNzKGNvbnN0
IFN0cmluZyYgY2xhc3NOYW1lLCBib29sIHNob3VsZEZvbGRDYXNlKQoreworICAgIG1fY2xhc3NO
YW1lcy5zZXQoY2xhc3NOYW1lLCBzaG91bGRGb2xkQ2FzZSk7Cit9CisKK0NTU011dGFibGVTdHls
ZURlY2xhcmF0aW9uKiBFbGVtZW50QXR0cmlidXRlRGF0YTo6ZW5zdXJlSW5saW5lU3R5bGVEZWNs
KEVsZW1lbnQqIGVsZW1lbnQpCit7CisgICAgaWYgKCFtX2lubGluZVN0eWxlRGVjbCkKKyAgICAg
ICAgY3JlYXRlSW5saW5lU3R5bGVEZWNsKGVsZW1lbnQpOworICAgIHJldHVybiBtX2lubGluZVN0
eWxlRGVjbC5nZXQoKTsKK30KKwordm9pZCBFbGVtZW50QXR0cmlidXRlRGF0YTo6ZGVzdHJveUlu
bGluZVN0eWxlRGVjbCgpCit7CisgICAgaWYgKCFtX2lubGluZVN0eWxlRGVjbCkKKyAgICAgICAg
cmV0dXJuOworICAgIG1faW5saW5lU3R5bGVEZWNsLT5jbGVhclBhcmVudEVsZW1lbnQoKTsKKyAg
ICBtX2lubGluZVN0eWxlRGVjbCA9IDA7Cit9CisKK3ZvaWQgRWxlbWVudEF0dHJpYnV0ZURhdGE6
OmNyZWF0ZUlubGluZVN0eWxlRGVjbChFbGVtZW50KiBlbGVtZW50KQoreworICAgIEFTU0VSVCgh
bV9pbmxpbmVTdHlsZURlY2wpOworICAgIEFTU0VSVChlbGVtZW50LT5pc1N0eWxlZEVsZW1lbnQo
KSk7CisgICAgbV9pbmxpbmVTdHlsZURlY2wgPSBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjo6
Y3JlYXRlSW5saW5lKHN0YXRpY19jYXN0PFN0eWxlZEVsZW1lbnQqPihlbGVtZW50KSk7CisgICAg
bV9pbmxpbmVTdHlsZURlY2wtPnNldFN0cmljdFBhcnNpbmcoZWxlbWVudC0+aXNIVE1MRWxlbWVu
dCgpICYmICFlbGVtZW50LT5kb2N1bWVudCgpLT5pblF1aXJrc01vZGUoKSk7Cit9CisKK30KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50QXR0cmlidXRlRGF0YS5oIGIvU291
cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRBdHRyaWJ1dGVEYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjFiYWQ3
YzIxMTIzZTA4MjcwMTExNTdkNzFmNTA2ZjY1ZDYxZTdhOAotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50QXR0cmlidXRlRGF0YS5oCkBAIC0wLDAgKzEsNjUgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDE5OTkgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKKyAq
ICAgICAgICAgICAoQykgMTk5OSBBbnR0aSBLb2l2aXN0byAoa29pdmlzdG9Aa2RlLm9yZykKKyAq
ICAgICAgICAgICAoQykgMjAwMSBQZXRlciBLZWxseSAocG1rQHBvc3QuY29tKQorICogICAgICAg
ICAgIChDKSAyMDAxIERpcmsgTXVlbGxlciAobXVlbGxlckBrZGUub3JnKQorICogQ29weXJpZ2h0
IChDKSAyMDAzLCAyMDA0LCAyMDA1LCAyMDA2LCAyMDA4LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMiBOb2tpYSBDb3Jwb3JhdGlvbiBh
bmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgor
ICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENP
UFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3Rvbiwg
TUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaWZuZGVmIEVsZW1lbnRBdHRyaWJ1dGVE
YXRhX2gKKyNkZWZpbmUgRWxlbWVudEF0dHJpYnV0ZURhdGFfaAorCisjaW5jbHVkZSAiQ1NTTXV0
YWJsZVN0eWxlRGVjbGFyYXRpb24uaCIKKyNpbmNsdWRlICJTcGFjZVNwbGl0U3RyaW5nLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRWxlbWVudDsKKworY2xhc3MgRWxlbWVudEF0
dHJpYnV0ZURhdGEgeworcHVibGljOgorICAgIHZvaWQgY2xlYXJDbGFzcygpIHsgbV9jbGFzc05h
bWVzLmNsZWFyKCk7IH0KKyAgICB2b2lkIHNldENsYXNzKGNvbnN0IFN0cmluZyYgY2xhc3NOYW1l
LCBib29sIHNob3VsZEZvbGRDYXNlKTsKKyAgICBjb25zdCBTcGFjZVNwbGl0U3RyaW5nJiBjbGFz
c05hbWVzKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc05hbWVzOyB9CisKKyAgICBjb25zdCBBdG9t
aWNTdHJpbmcmIGlkRm9yU3R5bGVSZXNvbHV0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9pZEZvclN0
eWxlUmVzb2x1dGlvbjsgfQorICAgIHZvaWQgc2V0SWRGb3JTdHlsZVJlc29sdXRpb24oY29uc3Qg
QXRvbWljU3RyaW5nJiBuZXdJZCkgeyBtX2lkRm9yU3R5bGVSZXNvbHV0aW9uID0gbmV3SWQ7IH0K
KworICAgIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKiBpbmxpbmVTdHlsZURlY2woKSBjb25z
dCB7IHJldHVybiBtX2lubGluZVN0eWxlRGVjbC5nZXQoKTsgfQorICAgIENTU011dGFibGVTdHls
ZURlY2xhcmF0aW9uKiBlbnN1cmVJbmxpbmVTdHlsZURlY2woRWxlbWVudCopOworICAgIHZvaWQg
ZGVzdHJveUlubGluZVN0eWxlRGVjbCgpOworCitwcml2YXRlOgorICAgIGZyaWVuZCBjbGFzcyBO
YW1lZE5vZGVNYXA7CisKKyAgICBFbGVtZW50QXR0cmlidXRlRGF0YSgpCisgICAgeworICAgIH0K
KworICAgIHZvaWQgY3JlYXRlSW5saW5lU3R5bGVEZWNsKEVsZW1lbnQqKTsKKworICAgIFNwYWNl
U3BsaXRTdHJpbmcgbV9jbGFzc05hbWVzOworICAgIEF0b21pY1N0cmluZyBtX2lkRm9yU3R5bGVS
ZXNvbHV0aW9uOworICAgIFJlZlB0cjxDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbj4gbV9pbmxp
bmVTdHlsZURlY2w7Cit9OworCit9CisKKyNlbmRpZiAvLyBFbGVtZW50QXR0cmlidXRlRGF0YV9o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9OYW1lZE5vZGVNYXAuY3BwCmluZGV4IDliNzI0ODgzYmExZTZjMDIyZDk5
YmE1MzgxYjJkZDViYTI4YzI4OTMuLjA1YmVjMWZjNzYxNTgyNzVmYjEzMmM5OTgzYzgxM2FlNjMx
YzdjYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9OYW1lZE5vZGVNYXAuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9OYW1lZE5vZGVNYXAuY3BwCkBAIC0yNyw5ICsyNyw5IEBA
CiAKICNpbmNsdWRlICJBdHRyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJF
bGVtZW50LmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIkhUTUxOYW1l
cy5oIgotI2luY2x1ZGUgIlN0eWxlZEVsZW1lbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CkBAIC0yMDAsNyArMjAwLDcgQEAgc2l6ZV90IE5hbWVkTm9kZU1hcDo6Z2V0QXR0cmlidXRlSXRl
bUluZGV4U2xvd0Nhc2UoY29uc3QgU3RyaW5nJiBuYW1lLCBib29sIHNob3UKIAogdm9pZCBOYW1l
ZE5vZGVNYXA6OmNsZWFyQXR0cmlidXRlcygpCiB7Ci0gICAgbV9jbGFzc05hbWVzLmNsZWFyKCk7
CisgICAgYXR0cmlidXRlRGF0YSgpLT5jbGVhckNsYXNzKCk7CiAgICAgZGV0YWNoQXR0cmlidXRl
c0Zyb21FbGVtZW50KCk7CiAgICAgbV9hdHRyaWJ1dGVzLmNsZWFyKCk7CiB9CkBAIC0zMDEsMTYg
KzMwMSw2IEBAIHZvaWQgTmFtZWROb2RlTWFwOjpyZXBsYWNlQXR0cmlidXRlKHNpemVfdCBpbmRl
eCwgUGFzc1JlZlB0cjxBdHRyaWJ1dGU+IHBycEF0dHJpCiAgICAgICAgIG1fZWxlbWVudC0+ZGlk
TW9kaWZ5QXR0cmlidXRlKGF0dHJpYnV0ZS5nZXQoKSk7CiB9CiAKLXZvaWQgTmFtZWROb2RlTWFw
OjpzZXRDbGFzcyhjb25zdCBTdHJpbmcmIGNsYXNzU3RyKSAKLXsgCi0gICAgaWYgKCFlbGVtZW50
KCktPmhhc0NsYXNzKCkpIHsgCi0gICAgICAgIG1fY2xhc3NOYW1lcy5jbGVhcigpOyAKLSAgICAg
ICAgcmV0dXJuOwotICAgIH0KLQotICAgIG1fY2xhc3NOYW1lcy5zZXQoY2xhc3NTdHIsIGVsZW1l
bnQoKS0+ZG9jdW1lbnQoKS0+aW5RdWlya3NNb2RlKCkpOyAKLX0KLQogYm9vbCBOYW1lZE5vZGVN
YXA6Om1hcHNFcXVpdmFsZW50KGNvbnN0IE5hbWVkTm9kZU1hcCogb3RoZXJNYXApIGNvbnN0CiB7
CiAgICAgaWYgKCFvdGhlck1hcCkKQEAgLTMzMCwyNyArMzIwLDQgQEAgYm9vbCBOYW1lZE5vZGVN
YXA6Om1hcHNFcXVpdmFsZW50KGNvbnN0IE5hbWVkTm9kZU1hcCogb3RoZXJNYXApIGNvbnN0CiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLUNTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKiBOYW1lZE5v
ZGVNYXA6OmVuc3VyZUlubGluZVN0eWxlRGVjbCgpCi17Ci0gICAgaWYgKCFtX2lubGluZVN0eWxl
RGVjbCkKLSAgICAgICAgY3JlYXRlSW5saW5lU3R5bGVEZWNsKCk7Ci0gICAgcmV0dXJuIG1faW5s
aW5lU3R5bGVEZWNsLmdldCgpOwotfQotCi12b2lkIE5hbWVkTm9kZU1hcDo6ZGVzdHJveUlubGlu
ZVN0eWxlRGVjbCgpCi17Ci0gICAgaWYgKCFtX2lubGluZVN0eWxlRGVjbCkKLSAgICAgICAgcmV0
dXJuOwotICAgIG1faW5saW5lU3R5bGVEZWNsLT5jbGVhclBhcmVudEVsZW1lbnQoKTsKLSAgICBt
X2lubGluZVN0eWxlRGVjbCA9IDA7Ci19Ci0KLXZvaWQgTmFtZWROb2RlTWFwOjpjcmVhdGVJbmxp
bmVTdHlsZURlY2woKQotewotICAgIEFTU0VSVCghbV9pbmxpbmVTdHlsZURlY2wpOwotICAgIEFT
U0VSVChtX2VsZW1lbnQtPmlzU3R5bGVkRWxlbWVudCgpKTsKLSAgICBtX2lubGluZVN0eWxlRGVj
bCA9IENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOjpjcmVhdGVJbmxpbmUoc3RhdGljX2Nhc3Q8
U3R5bGVkRWxlbWVudCo+KG1fZWxlbWVudCkpOwotICAgIG1faW5saW5lU3R5bGVEZWNsLT5zZXRT
dHJpY3RQYXJzaW5nKG1fZWxlbWVudC0+aXNIVE1MRWxlbWVudCgpICYmICFtX2VsZW1lbnQtPmRv
Y3VtZW50KCktPmluUXVpcmtzTW9kZSgpKTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05hbWVkTm9kZU1hcC5oIGIvU291cmNlL1dl
YkNvcmUvZG9tL05hbWVkTm9kZU1hcC5oCmluZGV4IDJlNTM4NDcxMjY5NWJjMTkwYTBkYzIzNmY2
ZTViYWM0NjNlN2YxZDUuLmY2ZTgxNzBlOGViZTE1ZmUyM2EwMWNmNGMxMGEwNWE4NTkwM2FmNWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9OYW1lZE5vZGVNYXAuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNkZWZpbmUg
TmFtZWROb2RlTWFwX2gKIAogI2luY2x1ZGUgIkF0dHJpYnV0ZS5oIgorI2luY2x1ZGUgIkVsZW1l
bnRBdHRyaWJ1dGVEYXRhLmgiCiAjaW5jbHVkZSAiU3BhY2VTcGxpdFN0cmluZy5oIgogI2luY2x1
ZGUgPHd0Zi9Ob3RGb3VuZC5oPgogCkBAIC04NCw5ICs4NSw2IEBAIHB1YmxpYzoKICAgICAgICAg
ICAgIGFkZEF0dHJpYnV0ZShuZXdBdHRyaWJ1dGUpOwogICAgIH0KIAotICAgIGNvbnN0IEF0b21p
Y1N0cmluZyYgaWRGb3JTdHlsZVJlc29sdXRpb24oKSBjb25zdCB7IHJldHVybiBtX2lkRm9yU3R5
bGVSZXNvbHV0aW9uOyB9Ci0gICAgdm9pZCBzZXRJZEZvclN0eWxlUmVzb2x1dGlvbihjb25zdCBB
dG9taWNTdHJpbmcmIG5ld0lkKSB7IG1faWRGb3JTdHlsZVJlc29sdXRpb24gPSBuZXdJZDsgfQot
CiAgICAgYm9vbCBtYXBzRXF1aXZhbGVudChjb25zdCBOYW1lZE5vZGVNYXAqIG90aGVyTWFwKSBj
b25zdDsKIAogICAgIC8vIFRoZXNlIGZ1bmN0aW9ucyBkbyBubyBlcnJvciBjaGVja2luZy4KQEAg
LTk2LDE1ICs5NCwxMCBAQCBwdWJsaWM6CiAKICAgICBFbGVtZW50KiBlbGVtZW50KCkgY29uc3Qg
eyByZXR1cm4gbV9lbGVtZW50OyB9CiAKLSAgICB2b2lkIGNsZWFyQ2xhc3MoKSB7IG1fY2xhc3NO
YW1lcy5jbGVhcigpOyB9Ci0gICAgdm9pZCBzZXRDbGFzcyhjb25zdCBTdHJpbmcmKTsKLSAgICBj
b25zdCBTcGFjZVNwbGl0U3RyaW5nJiBjbGFzc05hbWVzKCkgY29uc3QgeyByZXR1cm4gbV9jbGFz
c05hbWVzOyB9Ci0KICAgICBzaXplX3QgbWFwcGVkQXR0cmlidXRlQ291bnQoKSBjb25zdDsKIAot
ICAgIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKiBpbmxpbmVTdHlsZURlY2woKSBjb25zdCB7
IHJldHVybiBtX2lubGluZVN0eWxlRGVjbC5nZXQoKTsgfQotICAgIENTU011dGFibGVTdHlsZURl
Y2xhcmF0aW9uKiBlbnN1cmVJbmxpbmVTdHlsZURlY2woKTsKLSAgICB2b2lkIGRlc3Ryb3lJbmxp
bmVTdHlsZURlY2woKTsKKyAgICBFbGVtZW50QXR0cmlidXRlRGF0YSogYXR0cmlidXRlRGF0YSgp
IHsgcmV0dXJuICZtX2F0dHJpYnV0ZURhdGE7IH0KKyAgICBjb25zdCBFbGVtZW50QXR0cmlidXRl
RGF0YSogYXR0cmlidXRlRGF0YSgpIGNvbnN0IHsgcmV0dXJuICZtX2F0dHJpYnV0ZURhdGE7IH0K
IAogcHJpdmF0ZToKICAgICBOYW1lZE5vZGVNYXAoRWxlbWVudCogZWxlbWVudCkKQEAgLTEyMCwx
NiArMTEzLDE0IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRBdHRyaWJ1dGVzKGNvbnN0IE5hbWVk
Tm9kZU1hcCYpOwogICAgIHZvaWQgY2xlYXJBdHRyaWJ1dGVzKCk7CiAgICAgdm9pZCByZXBsYWNl
QXR0cmlidXRlKHNpemVfdCBpbmRleCwgUGFzc1JlZlB0cjxBdHRyaWJ1dGU+KTsKLSAgICB2b2lk
IGNyZWF0ZUlubGluZVN0eWxlRGVjbCgpOwogCi0gICAgLy8gRklYTUU6IE5hbWVkTm9kZU1hcCBz
aG91bGQgYmUgYnJva2VuIHVwIGludG8gdHdvIGNsYXNzZXMsIG9uZSBjb250YWluaW5nIGRhdGEK
KyAgICAvLyBGSVhNRTogTmFtZWROb2RlTWFwIGlzIGJlaW5nIGJyb2tlbiB1cCBpbnRvIHR3byBj
bGFzc2VzLCBvbmUgY29udGFpbmluZyBkYXRhCiAgICAgLy8gICAgICAgIGZvciBlbGVtZW50cyB3
aXRoIGF0dHJpYnV0ZXMsIGFuZCBvbmUgZm9yIGV4cG9zdXJlIHRvIHRoZSBET00uCiAgICAgLy8g
ICAgICAgIFNlZSA8aHR0cDovL3dlYmtpdC5vcmcvYi83NTA2OT4gZm9yIG1vcmUgaW5mb3JtYXRp
b24uCi0gICAgU3BhY2VTcGxpdFN0cmluZyBtX2NsYXNzTmFtZXM7CisgICAgRWxlbWVudEF0dHJp
YnV0ZURhdGEgbV9hdHRyaWJ1dGVEYXRhOworCiAgICAgRWxlbWVudCogbV9lbGVtZW50OwogICAg
IFZlY3RvcjxSZWZQdHI8QXR0cmlidXRlPiwgND4gbV9hdHRyaWJ1dGVzOwotICAgIEF0b21pY1N0
cmluZyBtX2lkRm9yU3R5bGVSZXNvbHV0aW9uOwotICAgIFJlZlB0cjxDU1NNdXRhYmxlU3R5bGVE
ZWNsYXJhdGlvbj4gbV9pbmxpbmVTdHlsZURlY2w7CiB9OwogCiBpbmxpbmUgQXR0cmlidXRlKiBO
YW1lZE5vZGVNYXA6OmdldEF0dHJpYnV0ZUl0ZW0oY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSkg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcAppbmRleCA4YmVlNTNkODY3Y2Vi
YTQ2Y2RmNzFhMzI1OGZhNmJlMjE3OGQ1Y2E5Li5iNTcxZTA2YzNmNmFhY2Q5ZTI3YmY0MjM2YzU3
NTZjMzNjNmM3MDNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCkBAIC0yMDAs
MTEgKzIwMCwxMiBAQCB2b2lkIFN0eWxlZEVsZW1lbnQ6OmNsYXNzQXR0cmlidXRlQ2hhbmdlZChj
b25zdCBBdG9taWNTdHJpbmcmIG5ld0NsYXNzU3RyaW5nKQogICAgIGJvb2wgaGFzQ2xhc3MgPSBp
IDwgbGVuZ3RoOwogICAgIHNldEhhc0NsYXNzKGhhc0NsYXNzKTsKICAgICBpZiAoaGFzQ2xhc3Mp
IHsKLSAgICAgICAgYXR0cmlidXRlcygpLT5zZXRDbGFzcyhuZXdDbGFzc1N0cmluZyk7CisgICAg
ICAgIGNvbnN0IGJvb2wgc2hvdWxkRm9sZENhc2UgPSBkb2N1bWVudCgpLT5pblF1aXJrc01vZGUo
KTsKKyAgICAgICAgZW5zdXJlQXR0cmlidXRlRGF0YSgpLT5zZXRDbGFzcyhuZXdDbGFzc1N0cmlu
Zywgc2hvdWxkRm9sZENhc2UpOwogICAgICAgICBpZiAoRE9NVG9rZW5MaXN0KiBjbGFzc0xpc3Qg
PSBvcHRpb25hbENsYXNzTGlzdCgpKQogICAgICAgICAgICAgc3RhdGljX2Nhc3Q8Q2xhc3NMaXN0
Kj4oY2xhc3NMaXN0KS0+cmVzZXQobmV3Q2xhc3NTdHJpbmcpOwotICAgIH0gZWxzZSBpZiAoYXR0
cmlidXRlTWFwKCkpCi0gICAgICAgIGF0dHJpYnV0ZU1hcCgpLT5jbGVhckNsYXNzKCk7CisgICAg
fSBlbHNlIGlmIChhdHRyaWJ1dGVEYXRhKCkpCisgICAgICAgIGF0dHJpYnV0ZURhdGEoKS0+Y2xl
YXJDbGFzcygpOwogICAgIHNldE5lZWRzU3R5bGVSZWNhbGMoKTsKICAgICBkaXNwYXRjaFN1YnRy
ZWVNb2RpZmllZEV2ZW50KCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5
bGVkRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuaAppbmRleCA5
MzJjODQ3Y2U0ODQ2OTk5ZjkwNjRmYjM5YzEzODkyNWY4ZDkzNjQzLi5iZWRmODY4ZDFjMTZjZTIy
ZjkxYTM5MjU3MTIyMWMzMThhMzhiN2MyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
U3R5bGVkRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmgK
QEAgLTU4LDggKzU4LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxDU1NNdXRh
YmxlU3R5bGVEZWNsYXJhdGlvbj4gYWRkaXRpb25hbEF0dHJpYnV0ZVN0eWxlKCkgeyByZXR1cm4g
MDsgfQogICAgIHZvaWQgaW52YWxpZGF0ZVN0eWxlQXR0cmlidXRlKCk7CiAKLSAgICBDU1NNdXRh
YmxlU3R5bGVEZWNsYXJhdGlvbiogaW5saW5lU3R5bGVEZWNsKCkgY29uc3QgeyByZXR1cm4gYXR0
cmlidXRlTWFwKCkgPyBhdHRyaWJ1dGVNYXAoKS0+aW5saW5lU3R5bGVEZWNsKCkgOiAwOyB9Ci0g
ICAgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24qIGVuc3VyZUlubGluZVN0eWxlRGVjbCgpIHsg
cmV0dXJuIGF0dHJpYnV0ZXMoZmFsc2UpLT5lbnN1cmVJbmxpbmVTdHlsZURlY2woKTsgfQorICAg
IENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKiBpbmxpbmVTdHlsZURlY2woKSBjb25zdCB7IHJl
dHVybiBhdHRyaWJ1dGVEYXRhKCkgPyBhdHRyaWJ1dGVEYXRhKCktPmlubGluZVN0eWxlRGVjbCgp
IDogMDsgfQorICAgIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKiBlbnN1cmVJbmxpbmVTdHls
ZURlY2woKSB7IHJldHVybiBlbnN1cmVBdHRyaWJ1dGVEYXRhKCktPmVuc3VyZUlubGluZVN0eWxl
RGVjbCh0aGlzKTsgfQogICAgIHZpcnR1YWwgQ1NTU3R5bGVEZWNsYXJhdGlvbiogc3R5bGUoKSBP
VkVSUklERSB7IHJldHVybiBlbnN1cmVJbmxpbmVTdHlsZURlY2woKTsgfQogCiAgICAgY29uc3Qg
U3BhY2VTcGxpdFN0cmluZyYgY2xhc3NOYW1lcygpIGNvbnN0OwpAQCAtODksMTQgKzg5LDE0IEBA
IHByaXZhdGU6CiAgICAgdm9pZCBjcmVhdGVNYXBwZWREZWNsKEF0dHJpYnV0ZSopOwogCiAgICAg
dmlydHVhbCB2b2lkIHVwZGF0ZVN0eWxlQXR0cmlidXRlKCkgY29uc3Q7Ci0gICAgdm9pZCBkZXN0
cm95SW5saW5lU3R5bGVEZWNsKCkgeyBpZiAoYXR0cmlidXRlTWFwKCkpIGF0dHJpYnV0ZU1hcCgp
LT5kZXN0cm95SW5saW5lU3R5bGVEZWNsKCk7IH0KKyAgICB2b2lkIGRlc3Ryb3lJbmxpbmVTdHls
ZURlY2woKTsKIH07CiAKIGlubGluZSBjb25zdCBTcGFjZVNwbGl0U3RyaW5nJiBTdHlsZWRFbGVt
ZW50OjpjbGFzc05hbWVzKCkgY29uc3QKIHsKICAgICBBU1NFUlQoaGFzQ2xhc3MoKSk7Ci0gICAg
QVNTRVJUKGF0dHJpYnV0ZU1hcCgpKTsKLSAgICByZXR1cm4gYXR0cmlidXRlTWFwKCktPmNsYXNz
TmFtZXMoKTsKKyAgICBBU1NFUlQoYXR0cmlidXRlRGF0YSgpKTsKKyAgICByZXR1cm4gYXR0cmli
dXRlRGF0YSgpLT5jbGFzc05hbWVzKCk7CiB9CiAKIGlubGluZSB2b2lkIFN0eWxlZEVsZW1lbnQ6
OmludmFsaWRhdGVTdHlsZUF0dHJpYnV0ZSgpCkBAIC0xMDQsNiArMTA0LDEyIEBAIGlubGluZSB2
b2lkIFN0eWxlZEVsZW1lbnQ6OmludmFsaWRhdGVTdHlsZUF0dHJpYnV0ZSgpCiAgICAgY2xlYXJJ
c1N0eWxlQXR0cmlidXRlVmFsaWQoKTsKIH0KIAoraW5saW5lIHZvaWQgU3R5bGVkRWxlbWVudDo6
ZGVzdHJveUlubGluZVN0eWxlRGVjbCgpCit7CisgICAgaWYgKGF0dHJpYnV0ZURhdGEoKSkKKyAg
ICAgICAgYXR0cmlidXRlRGF0YSgpLT5kZXN0cm95SW5saW5lU3R5bGVEZWNsKCk7Cit9CisKIH0g
Ly9uYW1lc3BhY2UKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Ns
YXNzTGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0NsYXNzTGlzdC5jcHAKaW5kZXggMzQ5
ZDY0ZGNlZWFkNzI4ZDZjYTJlNzIwMDdkZTE2NjdmYjE0Y2ZjMS4uMmVhODM4MjAyOGM3N2Y4NmFk
OWJiZjZlZmIzODIwMTg4YWViMzVmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9D
bGFzc0xpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ2xhc3NMaXN0LmNwcApAQCAt
MTQwLDcgKzE0MCw3IEBAIGNvbnN0IFNwYWNlU3BsaXRTdHJpbmcmIENsYXNzTGlzdDo6Y2xhc3NO
YW1lcygpIGNvbnN0CiAgICAgQVNTRVJUKG1fZWxlbWVudC0+aGFzQ2xhc3MoKSk7CiAgICAgaWYg
KCFtX2NsYXNzTmFtZXNGb3JRdWlya3NNb2RlLmlzTnVsbCgpKQogICAgICAgICByZXR1cm4gbV9j
bGFzc05hbWVzRm9yUXVpcmtzTW9kZTsKLSAgICByZXR1cm4gbV9lbGVtZW50LT5hdHRyaWJ1dGVN
YXAoKS0+Y2xhc3NOYW1lcygpOworICAgIHJldHVybiBtX2VsZW1lbnQtPmF0dHJpYnV0ZURhdGEo
KS0+Y2xhc3NOYW1lcygpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124364</attachid>
            <date>2012-01-27 13:56:08 -0800</date>
            <delta_ts>2012-01-30 12:01:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77233-20120127185603.patch</filename>
            <type>text/plain</type>
            <size>28097</size>
            <attacher name="Caio Marcelo de Oliveira Filho">cmarcelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2MTQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzAzYjYwODY3YzYyOGM3
OTUxMjEzZGY4MWQ1Mzk0NGQzNzMxNTg1My4uNjM2MmVkNGEwYTEyYmMxODIyMGY0OTdlZWVjZmE1
NjNjY2FkN2E2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY2IEBACisyMDEyLTAxLTI3ICBDYWlv
IE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJhQG9wZW5ib3NzYS5vcmc+
CisKKyAgICAgICAgQWRkIEVsZW1lbnRBdHRyaWJ1dGVEYXRhIGNsYXNzIHRvIHJlcGxhY2UgaW50
ZXJuYWwgdXNlcyBvZiBOYW1lZE5vZGVNYXAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTc3MjMzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTW92ZSBwYXJ0IG9mIG5vbi1ET00gZnVuY3Rpb25hbGl0eSBvZiBO
YW1lZE5vZGVNYXAgaW50byBhIHNlcGFyYXRlIGNsYXNzLiBUaGlzIGlzCisgICAgICAgIHRoZSBm
aXJzdCBzdGVwIHRvd2FyZCB0aGUgZ29hbCBvZiBzZXBhcmF0aW5nIE5hbWVkTm9kZU1hcCBmcm9t
IGludGVybmFsIGF0dHJpYnV0ZQorICAgICAgICBzdG9yYWdlLCBhcyBkZXNjcmliZWQgaW4gaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDY5LgorCisgICAgICAgIFRo
ZSBpbnRlcm5hbCBhdHRyaWJ1dGUgc3RvcmFnZSBpcyBleHBvc2VkIGFzIGF0dHJpYnV0ZURhdGEo
KSBpbiBFbGVtZW50LCBhbmQgd2hlbgorICAgICAgICBuZWNlc3NhcnkgKGJlY2F1c2UgaXQgaGFz
IG5vIGJhY2sgcG9pbnRlciB0byBFbGVtZW50KSB2aWEgbWV0aG9kcyBpbiBFbGVtZW50LgorCisg
ICAgICAgIE5vIG5ldyB0ZXN0cy4gRXhjZXB0IGZyb20gc2V0Q2xhc3MoKSBjaGFuZ2UgdGhpcyBp
cyBqdXN0IG1vdmluZyB0aGUgY29kZSwgbm8gbmV3CisgICAgICAgIGZlYXR1cmUgd2FzIGFkZGVk
LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUubGlz
dC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAg
ICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6aWRBdHRyaWJ1dGVDaGFuZ2VkKToKKyAgICAgICAg
KiBkb20vRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6YXR0cmlidXRlRGF0
YSk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjplbnN1cmVBdHRyaWJ1dGVEYXRhKToKKyAg
ICAgICAgKEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6aWRGb3JTdHlsZVJl
c29sdXRpb24pOgorICAgICAgICAqIGRvbS9FbGVtZW50QXR0cmlidXRlRGF0YS5jcHA6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50QXR0cmlidXRl
RGF0YTo6c2V0Q2xhc3MpOiB0aGUgb25seSBjYWxsZXIgb2YgdGhpcyBmdW5jdGlvbgorICAgICAg
ICBhbHJlYWR5IGRlYWwgd2l0aCB0aGUgY2FzZSB3aGVuIHRoZSBlbGVtZW50IGhhcyBubyBjbGFz
cywgc28gZG9uJ3QgZG8gaXQgaGVyZS4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRBdHRyaWJ1
dGVEYXRhOjplbnN1cmVJbmxpbmVTdHlsZURlY2wpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVu
dEF0dHJpYnV0ZURhdGE6OmRlc3Ryb3lJbmxpbmVTdHlsZURlY2wpOgorICAgICAgICAoV2ViQ29y
ZTo6RWxlbWVudEF0dHJpYnV0ZURhdGE6OmNyZWF0ZUlubGluZVN0eWxlRGVjbCk6CisgICAgICAg
ICogZG9tL0VsZW1lbnRBdHRyaWJ1dGVEYXRhLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChFbGVtZW50QXR0cmlidXRlRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpFbGVt
ZW50QXR0cmlidXRlRGF0YTo6Y2xlYXJDbGFzcyk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50
QXR0cmlidXRlRGF0YTo6Y2xhc3NOYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50QXR0
cmlidXRlRGF0YTo6aWRGb3JTdHlsZVJlc29sdXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6RWxl
bWVudEF0dHJpYnV0ZURhdGE6OnNldElkRm9yU3R5bGVSZXNvbHV0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OkVsZW1lbnRBdHRyaWJ1dGVEYXRhOjppbmxpbmVTdHlsZURlY2wpOgorICAgICAgICAo
V2ViQ29yZTo6RWxlbWVudEF0dHJpYnV0ZURhdGE6OkVsZW1lbnRBdHRyaWJ1dGVEYXRhKToKKyAg
ICAgICAgKiBkb20vTmFtZWROb2RlTWFwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hbWVkTm9k
ZU1hcDo6Y2xlYXJBdHRyaWJ1dGVzKToKKyAgICAgICAgKiBkb20vTmFtZWROb2RlTWFwLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpOYW1lZE5vZGVNYXA6OmF0dHJpYnV0ZURhdGEpOgorICAgICAgICAo
TmFtZWROb2RlTWFwKToKKyAgICAgICAgKiBkb20vU3R5bGVkRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTdHlsZWRFbGVtZW50OjpjbGFzc0F0dHJpYnV0ZUNoYW5nZWQpOgorICAgICAg
ICAqIGRvbS9TdHlsZWRFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZWRFbGVtZW50
OjppbmxpbmVTdHlsZURlY2wpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVkRWxlbWVudDo6ZW5z
dXJlSW5saW5lU3R5bGVEZWNsKToKKyAgICAgICAgKFN0eWxlZEVsZW1lbnQpOgorICAgICAgICAo
V2ViQ29yZTo6U3R5bGVkRWxlbWVudDo6Y2xhc3NOYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpT
dHlsZWRFbGVtZW50OjpkZXN0cm95SW5saW5lU3R5bGVEZWNsKToKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAqIGh0bWwvQ2xhc3NMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNsYXNz
TGlzdDo6Y2xhc3NOYW1lcyk6CisKIDIwMTItMDEtMjcgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5A
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFN1cHBvcnQgdGhlIFtTdXBwbGVtZW50YWxdIElETCBm
b3IgY29uc3RhbnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBi
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDE4MzA2YTc2NGFlNWZkMWU2MWZi
NGVlM2EyNjc4NDRhMGQ4MjIxOTMuLmQ0ODFiMDdhMDYyM2RjODYzYTVkN2RlNWZlNDE1ZWJkZDYx
ZDVhMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC01NDUsNiArNTQ1LDcgQEAgU0VUKFdlYkNv
cmVfU09VUkNFUwogICAgIGRvbS9EeW5hbWljTm9kZUxpc3QuY3BwCiAgICAgZG9tL0VkaXRpbmdU
ZXh0LmNwcAogICAgIGRvbS9FbGVtZW50LmNwcAorICAgIGRvbS9FbGVtZW50QXR0cmlidXRlRGF0
YS5jcHAKICAgICBkb20vRW50aXR5UmVmZXJlbmNlLmNwcAogICAgIGRvbS9FcnJvckV2ZW50LmNw
cAogICAgIGRvbS9FdmVudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDY4
MGRiZDY1Mzk1OTRmNDA0OWJmM2JhMjgzNmU0NjljMDVkZTZjMGUuLmNlNTg4M2M2Y2Y2MTc1YThh
ZDA5Zjg2NTg3NjlkNzMzMDIyM2U2MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpA
QCAtMTUzNCw2ICsxNTM0LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29y
ZS9kb20vRWRpdGluZ1RleHQuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIFwK
IAlTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudEF0dHJpYnV0ZURhdGEuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudEF0dHJp
YnV0ZURhdGEuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9kb20vRW50aXR5LmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9FbnRpdHlS
ZWZlcmVuY2UuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9T
b3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDZmNTQ0NjUwYjdjZWNhZjA2MTkzZjBjNTQ2
MmFjZjQ0MDQ1ZmZhNzIuLmRmZmNjNDNkNzMxMjA0MmZhOWIwNDdkMzNkYzdjZmYzOTcyOGE3OWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNv
cmUvVGFyZ2V0LnByaQpAQCAtNTA4LDYgKzUwOCw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGRvbS9E
eW5hbWljTm9kZUxpc3QuY3BwIFwKICAgICBkb20vRWRpdGluZ1RleHQuY3BwIFwKICAgICBkb20v
RWxlbWVudC5jcHAgXAorICAgIGRvbS9FbGVtZW50QXR0cmlidXRlRGF0YS5jcHAgXAogICAgIGRv
bS9FbnRpdHlSZWZlcmVuY2UuY3BwIFwKICAgICBkb20vRXJyb3JFdmVudC5jcHAgXAogICAgIGRv
bS9FdmVudC5jcHAgXApAQCAtMTYxOCw2ICsxNjE5LDcgQEAgSEVBREVSUyArPSBcCiAgICAgZG9t
L0R5bmFtaWNOb2RlTGlzdC5oIFwKICAgICBkb20vRWRpdGluZ1RleHQuaCBcCiAgICAgZG9tL0Vs
ZW1lbnQuaCBcCisgICAgZG9tL0VsZW1lbnRBdHRyaWJ1dGVEYXRhLmggXAogICAgIGRvbS9FbnRp
dHkuaCBcCiAgICAgZG9tL0VudGl0eVJlZmVyZW5jZS5oIFwKICAgICBkb20vRXZlbnQuaCBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKaW5kZXggYmI5ODgzZGE2YWVmYjUxZTNjZjU1ZWU4ZGRjYjZhNzEzYmZhNTk0
MS4uMzFjYjM0YzY2NDlhOThjMTM4ZjgwNzY5MzRjN2ZlMzIzYmEyOWRkZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaQpAQCAtNTk1LDYgKzU5NSw3IEBACiAgICAgICAgICAgICAnZG9tL0RvY3VtZW50VGltaW5n
LmgnLAogICAgICAgICAgICAgJ2RvbS9Eb2N1bWVudFR5cGUuaCcsCiAgICAgICAgICAgICAnZG9t
L0VsZW1lbnQuaCcsCisgICAgICAgICAgICAnZG9tL0VsZW1lbnRBdHRyaWJ1dGVEYXRhLmgnLAog
ICAgICAgICAgICAgJ2RvbS9FdmVudC5oJywKICAgICAgICAgICAgICdkb20vRXZlbnRMaXN0ZW5l
ci5oJywKICAgICAgICAgICAgICdkb20vRXZlbnRMaXN0ZW5lck1hcC5oJywKQEAgLTQ5OTAsNiAr
NDk5MSw3IEBACiAgICAgICAgICAgICAnZG9tL0VkaXRpbmdUZXh0LmNwcCcsCiAgICAgICAgICAg
ICAnZG9tL0VkaXRpbmdUZXh0LmgnLAogICAgICAgICAgICAgJ2RvbS9FbGVtZW50LmNwcCcsCisg
ICAgICAgICAgICAnZG9tL0VsZW1lbnRBdHRyaWJ1dGVEYXRhLmNwcCcsCiAgICAgICAgICAgICAn
ZG9tL0VsZW1lbnRSYXJlRGF0YS5oJywKICAgICAgICAgICAgICdkb20vRW50aXR5LmgnLAogICAg
ICAgICAgICAgJ2RvbS9FbnRpdHlSZWZlcmVuY2UuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggMDM1MDM5OTM0YTYxNTU1ODBiNTdlNDA5
MmQ1MjBjYTFjYWE2MTMxMS4uMGUzM2ZhMDliYzA2MWQ0OTZlODNjODVmM2UxMGMzMGZkYmMzZDll
OCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAg
LTQ4MTE4LDYgKzQ4MTE4LDYyIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGRvbVxFbGVtZW50QXR0cmlidXRlRGF0YS5jcHAiCisJCQkJPgorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4z
MiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMy
IgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMy
IgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxFbGVt
ZW50QXR0cmlidXRlRGF0YS5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVs
YXRpdmVQYXRoPSIuLlxkb21cRW50aXR5LmgiCiAJCQkJPgogCQkJPC9GaWxlPgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDdiZGEw
YWU1ZDNlOTMxZmY5ZjEwNDA5YzcwNjdlODI3OTU3ZmQ2NzMuLjhjMWRlNmYxZGNhMmQxMTVhZDE4
N2JiOGVjMGFhNzhjZjgxYzViMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTczMSw2ICs3MzEsOCBAQAogCQkyOUQ3QkNGQTE0
NDRBRjdEMDA3MDYxOUMgLyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5RDdCQ0Y5MTQ0NEFGN0QwMDcwNjE5
QyAvKiBBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oICovOyB9OwogCQkyQkU4RTJDNzEyQTU4OUVD
MDBGQUQ1NTAgLyogSFRNTE1ldGFDaGFyc2V0UGFyc2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQkU4RTJDNjEyQTU4OUVDMDBGQUQ1NTAgLyogSFRN
TE1ldGFDaGFyc2V0UGFyc2VyLmggKi87IH07CiAJCTJCRThFMkM5MTJBNThBMDEwMEZBRDU1MCAv
KiBIVE1MTWV0YUNoYXJzZXRQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMkJFOEUyQzgxMkE1OEEwMTAwRkFENTUwIC8qIEhUTUxNZXRhQ2hh
cnNldFBhcnNlci5jcHAgKi87IH07CisJCTJDRjY4Nzg4MTREMzJFQjUwMDM0MEYzOSAvKiBFbGVt
ZW50QXR0cmlidXRlRGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyQ0Y2ODc4NzE0RDMyRUI1MDAzNDBGMzkgLyogRWxlbWVudEF0dHJpYnV0ZURh
dGEuY3BwICovOyB9OworCQkyQ0Y2ODc4QTE0RDMyRUZGMDAzNDBGMzkgLyogRWxlbWVudEF0dHJp
YnV0ZURhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDJDRjY4Nzg5MTREMzJFRkYwMDM0MEYzOSAvKiBFbGVtZW50QXR0cmlidXRlRGF0YS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTJEM0EwRTM2MTNB
N0Q3NjEwMEU4NUFGMCAvKiBTVkdQYXJzaW5nRXJyb3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEM0EwRTM1MTNBN0Q3NjEwMEU4NUFGMCAvKiBTVkdQ
YXJzaW5nRXJyb3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQkyRDQ4MUYwMDE0NkI1QzRDMDBBQTc4MzQgLyogQ3Jvc3NmYWRlR2VuZXJhdGVkSW1h
Z2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQy
RkMwNTQxNDYwQ0Q2RjAwMjYzNjMzIC8qIENyb3NzZmFkZUdlbmVyYXRlZEltYWdlLmNwcCAqLzsg
fTsKIAkJMkQ0ODFGMDIxNDZCNUM1NTAwQUE3ODM0IC8qIENyb3NzZmFkZUdlbmVyYXRlZEltYWdl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDJGQzA1
NTE0NjBDRDZGMDAyNjM2MzMgLyogQ3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2UuaCAqLzsgfTsKQEAg
LTM1NzYsNyArMzU3OCw2IEBACiAJCUE3RDNDNTI0MEI1NzZCNEIwMDJDQTQ1MCAvKiBQYXN0ZWJv
YXJkSGVscGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBN0QzQzUyMzBCNTc2QjRCMDAyQ0E0NTAgLyogUGFzdGVib2FyZEhlbHBlci5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUE3RDZCMzQ5MEY2MTEw
NDUwMEI3OUZEMSAvKiBXb3JrZXJTY3JpcHRMb2FkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3RDZCMzQ3MEY2MTEwNDUwMEI3OUZEMSAvKiBXb3Jr
ZXJTY3JpcHRMb2FkZXIuaCAqLzsgfTsKIAkJQTdENkIzNEEwRjYxMTA0NTAwQjc5RkQxIC8qIFdv
cmtlclNjcmlwdExvYWRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBN0Q2QjM0ODBGNjExMDQ1MDBCNzlGRDEgLyogV29ya2VyU2NyaXB0TG9hZGVy
LmNwcCAqLzsgfTsKLQkJQTdEQjQxODIxNENFMUYwQTAwQTJFMzE2IC8qIFNoYWRvd1Jvb3QuaWRs
IGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0RCNDE4
MTE0Q0UxRjBBMDBBMkUzMTYgLyogU2hhZG93Um9vdC5pZGwgKi87IH07CiAJCUE3REJGOEREMTI3
NjkxOUMwMDZCNjAwOCAvKiBUZXh0Q2hlY2tpbmdIZWxwZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdEQkY4REIxMjc2OTE5QzAwNkI2MDA4IC8q
IFRleHRDaGVja2luZ0hlbHBlci5jcHAgKi87IH07CiAJCUE3REJGOERFMTI3NjkxOUMwMDZCNjAw
OCAvKiBUZXh0Q2hlY2tpbmdIZWxwZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE3REJGOERDMTI3NjkxOUMwMDZCNjAwOCAvKiBUZXh0Q2hlY2tpbmdI
ZWxwZXIuaCAqLzsgfTsKIAkJQTdGNUQ5NEYxMzg0RjAyRDAwQTI5QTg3IC8qIE5vZGVSZW5kZXJp
bmdDb250ZXh0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE3RjVEOTREMTM4NEYwMkQwMEEyOUE4NyAvKiBOb2RlUmVuZGVyaW5nQ29udGV4dC5jcHAg
Ki87IH07CkBAIC03NDcyLDYgKzc0NzMsOCBAQAogCQkyOUQ3QkNGOTE0NDRBRjdEMDA3MDYxOUMg
LyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMkJFOEUyQzYxMkE1ODlFQzAwRkFENTUwIC8qIEhUTUxNZXRhQ2hhcnNldFBhcnNlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBIVE1MTWV0YUNoYXJzZXRQYXJzZXIu
aDsgcGF0aCA9IHBhcnNlci9IVE1MTWV0YUNoYXJzZXRQYXJzZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMkJFOEUyQzgxMkE1OEEwMTAwRkFENTUwIC8qIEhUTUxNZXRhQ2hhcnNl
dFBhcnNlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBIVE1MTWV0
YUNoYXJzZXRQYXJzZXIuY3BwOyBwYXRoID0gcGFyc2VyL0hUTUxNZXRhQ2hhcnNldFBhcnNlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJDRjY4Nzg3MTREMzJFQjUwMDM0MEYz
OSAvKiBFbGVtZW50QXR0cmlidXRlRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBFbGVtZW50QXR0cmlidXRlRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTJDRjY4Nzg5MTREMzJFRkYwMDM0MEYzOSAvKiBFbGVtZW50QXR0cmlidXRlRGF0
YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFbGVtZW50QXR0cmlidXRlRGF0
YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDJGQzA1NDE0NjBDRDZGMDAyNjM2
MzMgLyogQ3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gQ3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2UuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkyRDJGQzA1NTE0NjBDRDZGMDAyNjM2MzMgLyogQ3Jvc3NmYWRlR2Vu
ZXJhdGVkSW1hZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ3Jvc3NmYWRl
R2VuZXJhdGVkSW1hZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQyRkMwNTYx
NDYwQ0Q2RjAwMjYzNjMzIC8qIEdlbmVyYXRvckdlbmVyYXRlZEltYWdlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdlbmVyYXRvckdlbmVyYXRlZEltYWdlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIwNDQxLDYgKzIwNDQ0LDggQEAKIAkJCQlB
OEM0QTdGNjA5RDU2MzI3MDAwM0FDOEQgLyogRWxlbWVudC5jcHAgKi8sCiAJCQkJQThDNEE3RjUw
OUQ1NjMyNzAwMDNBQzhEIC8qIEVsZW1lbnQuaCAqLywKIAkJCQk5M0VFQzFFQTA5QzI4Nzc3MDBD
NTE1RDEgLyogRWxlbWVudC5pZGwgKi8sCisJCQkJMkNGNjg3ODcxNEQzMkVCNTAwMzQwRjM5IC8q
IEVsZW1lbnRBdHRyaWJ1dGVEYXRhLmNwcCAqLywKKwkJCQkyQ0Y2ODc4OTE0RDMyRUZGMDAzNDBG
MzkgLyogRWxlbWVudEF0dHJpYnV0ZURhdGEuaCAqLywKIAkJCQk2MzdCN0FERTBFODc2N0I4MDBF
MzIxOTQgLyogRWxlbWVudFJhcmVEYXRhLmggKi8sCiAJCQkJQThFQTdFQkEwQTE5NDVEMDAwQThF
RjVGIC8qIEVudGl0eS5oICovLAogCQkJCTkzRUVDMUVCMDlDMjg3NzcwMEM1MTVEMSAvKiBFbnRp
dHkuaWRsICovLApAQCAtMjQwODUsNiArMjQwOTAsNyBAQAogCQkJCThBRDBBNTk1MTRDODgzMzYw
MDBEODNDNSAvKiBKU1dlYktpdENTU1JlZ2lvblJ1bGUuaCBpbiBIZWFkZXJzICovLAogCQkJCThB
RDBBNTk2MTRDODgzNTgwMDBEODNDNSAvKiBET01XZWJLaXRDU1NSZWdpb25SdWxlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk4QUQwQTU5ODE0Qzg4MzU4MDAwRDgzQzUgLyogRE9NV2ViS2l0Q1NTUmVn
aW9uUnVsZUludGVybmFsLmggaW4gSGVhZGVycyAqLywKKwkJCQkyQ0Y2ODc4QTE0RDMyRUZGMDAz
NDBGMzkgLyogRWxlbWVudEF0dHJpYnV0ZURhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJ
CXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjcwMTAs
NiArMjcwMTYsNyBAQAogCQkJCTk3N0UyRTBFMTJGMEZDOUMwMEMxMzM3OSAvKiBYU1NBdWRpdG9y
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZENTM3MzUyMTM3QjY1MTgwMDAwOERDRSAvKiBaZXJv
UG9sZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1NzNEMTM0NzE0Q0UzOUZGMDA1N0FCQ0EgLyog
SW5zcGVjdG9yVHlwZUJ1aWxkZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkNGNjg3ODgxNEQz
MkVCNTAwMzQwRjM5IC8qIEVsZW1lbnRBdHRyaWJ1dGVEYXRhLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDAxMWUyNTg5N2MxNTVlMzUyZjVjMTU0OGU3OTNjZjNi
NzVkMGMyZmIuLjQ0ZTRjOTQ0Zjg0MGE0NTZlZWIyNTcxMjVmZDFiMzZkODcwOWQ1MzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5jcHAKQEAgLTcxMCwxMyArNzEwLDEzIEBAIHZvaWQgRWxlbWVudDo6cmVj
YWxjU3R5bGVJZk5lZWRlZEFmdGVyQXR0cmlidXRlQ2hhbmdlZChBdHRyaWJ1dGUqIGF0dHIpCiB2
b2lkIEVsZW1lbnQ6OmlkQXR0cmlidXRlQ2hhbmdlZChBdHRyaWJ1dGUqIGF0dHIpCiB7CiAgICAg
c2V0SGFzSUQoIWF0dHItPmlzTnVsbCgpKTsKLSAgICBpZiAoYXR0cmlidXRlTWFwKCkpIHsKKyAg
ICBpZiAoYXR0cmlidXRlRGF0YSgpKSB7CiAgICAgICAgIGlmIChhdHRyLT5pc051bGwoKSkKLSAg
ICAgICAgICAgIGF0dHJpYnV0ZU1hcCgpLT5zZXRJZEZvclN0eWxlUmVzb2x1dGlvbihudWxsQXRv
bSk7CisgICAgICAgICAgICBhdHRyaWJ1dGVEYXRhKCktPnNldElkRm9yU3R5bGVSZXNvbHV0aW9u
KG51bGxBdG9tKTsKICAgICAgICAgZWxzZSBpZiAoZG9jdW1lbnQoKS0+aW5RdWlya3NNb2RlKCkp
Ci0gICAgICAgICAgICBhdHRyaWJ1dGVNYXAoKS0+c2V0SWRGb3JTdHlsZVJlc29sdXRpb24oYXR0
ci0+dmFsdWUoKS5sb3dlcigpKTsKKyAgICAgICAgICAgIGF0dHJpYnV0ZURhdGEoKS0+c2V0SWRG
b3JTdHlsZVJlc29sdXRpb24oYXR0ci0+dmFsdWUoKS5sb3dlcigpKTsKICAgICAgICAgZWxzZQot
ICAgICAgICAgICAgYXR0cmlidXRlTWFwKCktPnNldElkRm9yU3R5bGVSZXNvbHV0aW9uKGF0dHIt
PnZhbHVlKCkpOworICAgICAgICAgICAgYXR0cmlidXRlRGF0YSgpLT5zZXRJZEZvclN0eWxlUmVz
b2x1dGlvbihhdHRyLT52YWx1ZSgpKTsKICAgICB9CiAgICAgc2V0TmVlZHNTdHlsZVJlY2FsYygp
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggMjVlYzc4NTY4NWUwZTI5N2VjMGNiMjJmMGIwNjkz
YjQ5ZWRjNWVmYy4uMDE0YTI4ZDFiMGQ5NDA5NjU2ZjYxNjFhYjcwYTUwOTgyNjQyZTFiMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5oCkBAIC0yMjQsNiArMjI0LDkgQEAgcHVibGljOgogCiAgICAgTmFtZWRO
b2RlTWFwKiBhdHRyaWJ1dGVNYXAoKSBjb25zdCB7IHJldHVybiBtX2F0dHJpYnV0ZU1hcC5nZXQo
KTsgfQogCisgICAgRWxlbWVudEF0dHJpYnV0ZURhdGEqIGF0dHJpYnV0ZURhdGEoKSBjb25zdCB7
IHJldHVybiBtX2F0dHJpYnV0ZU1hcCA/IG1fYXR0cmlidXRlTWFwLT5hdHRyaWJ1dGVEYXRhKCkg
OiAwOyB9CisgICAgRWxlbWVudEF0dHJpYnV0ZURhdGEqIGVuc3VyZUF0dHJpYnV0ZURhdGEoKSBj
b25zdCB7IHJldHVybiBhdHRyaWJ1dGVzKCktPmF0dHJpYnV0ZURhdGEoKTsgfQorCiAgICAgdm9p
ZCBzZXRBdHRyaWJ1dGVzRnJvbUVsZW1lbnQoY29uc3QgRWxlbWVudCYpOwogCiAgICAgdmlydHVh
bCB2b2lkIGNvcHlOb25BdHRyaWJ1dGVQcm9wZXJ0aWVzKGNvbnN0IEVsZW1lbnQqIHNvdXJjZSk7
CkBAIC01NzIsNyArNTc1LDcgQEAgaW5saW5lIGNvbnN0IEF0b21pY1N0cmluZyYgRWxlbWVudDo6
ZmFzdEdldEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lKQogaW5saW5lIGNvbnN0
IEF0b21pY1N0cmluZyYgRWxlbWVudDo6aWRGb3JTdHlsZVJlc29sdXRpb24oKSBjb25zdAogewog
ICAgIEFTU0VSVChoYXNJRCgpKTsKLSAgICByZXR1cm4gbV9hdHRyaWJ1dGVNYXAtPmlkRm9yU3R5
bGVSZXNvbHV0aW9uKCk7CisgICAgcmV0dXJuIGF0dHJpYnV0ZURhdGEoKS0+aWRGb3JTdHlsZVJl
c29sdXRpb24oKTsKIH0KIAogaW5saW5lIGJvb2wgRWxlbWVudDo6aXNJZEF0dHJpYnV0ZU5hbWUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSkgY29uc3QKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50QXR0cmlidXRlRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudEF0dHJpYnV0ZURhdGEuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5MjM4MjM3OWFkNWY0
NjZmMTc0OThlYzVkMzYzZTdlOWQwYjViYWMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudEF0dHJpYnV0ZURhdGEuY3BwCkBAIC0wLDAgKzEsNjEgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDE5OTkgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKKyAqICAgICAg
ICAgICAoQykgMTk5OSBBbnR0aSBLb2l2aXN0byAoa29pdmlzdG9Aa2RlLm9yZykKKyAqICAgICAg
ICAgICAoQykgMjAwMSBQZXRlciBLZWxseSAocG1rQHBvc3QuY29tKQorICogICAgICAgICAgIChD
KSAyMDAxIERpcmsgTXVlbGxlciAobXVlbGxlckBrZGUub3JnKQorICogQ29weXJpZ2h0IChDKSAy
MDAzLCAyMDA0LCAyMDA1LCAyMDA2LCAyMDA4LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMiBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3Ig
aXRzIHN1YnNpZGlhcnkoLWllcykuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVy
c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcu
TElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
SW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIx
MTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
RWxlbWVudEF0dHJpYnV0ZURhdGEuaCIKKworI2luY2x1ZGUgIlN0eWxlZEVsZW1lbnQuaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCit2b2lkIEVsZW1lbnRBdHRyaWJ1dGVEYXRhOjpzZXRDbGFz
cyhjb25zdCBTdHJpbmcmIGNsYXNzTmFtZSwgYm9vbCBzaG91bGRGb2xkQ2FzZSkKK3sKKyAgICBt
X2NsYXNzTmFtZXMuc2V0KGNsYXNzTmFtZSwgc2hvdWxkRm9sZENhc2UpOworfQorCitDU1NNdXRh
YmxlU3R5bGVEZWNsYXJhdGlvbiogRWxlbWVudEF0dHJpYnV0ZURhdGE6OmVuc3VyZUlubGluZVN0
eWxlRGVjbChFbGVtZW50KiBlbGVtZW50KQoreworICAgIGlmICghbV9pbmxpbmVTdHlsZURlY2wp
CisgICAgICAgIGNyZWF0ZUlubGluZVN0eWxlRGVjbChlbGVtZW50KTsKKyAgICByZXR1cm4gbV9p
bmxpbmVTdHlsZURlY2wuZ2V0KCk7Cit9CisKK3ZvaWQgRWxlbWVudEF0dHJpYnV0ZURhdGE6OmRl
c3Ryb3lJbmxpbmVTdHlsZURlY2woKQoreworICAgIGlmICghbV9pbmxpbmVTdHlsZURlY2wpCisg
ICAgICAgIHJldHVybjsKKyAgICBtX2lubGluZVN0eWxlRGVjbC0+Y2xlYXJQYXJlbnRFbGVtZW50
KCk7CisgICAgbV9pbmxpbmVTdHlsZURlY2wgPSAwOworfQorCit2b2lkIEVsZW1lbnRBdHRyaWJ1
dGVEYXRhOjpjcmVhdGVJbmxpbmVTdHlsZURlY2woRWxlbWVudCogZWxlbWVudCkKK3sKKyAgICBB
U1NFUlQoIW1faW5saW5lU3R5bGVEZWNsKTsKKyAgICBBU1NFUlQoZWxlbWVudC0+aXNTdHlsZWRF
bGVtZW50KCkpOworICAgIG1faW5saW5lU3R5bGVEZWNsID0gQ1NTTXV0YWJsZVN0eWxlRGVjbGFy
YXRpb246OmNyZWF0ZUlubGluZShzdGF0aWNfY2FzdDxTdHlsZWRFbGVtZW50Kj4oZWxlbWVudCkp
OworICAgIG1faW5saW5lU3R5bGVEZWNsLT5zZXRTdHJpY3RQYXJzaW5nKGVsZW1lbnQtPmlzSFRN
TEVsZW1lbnQoKSAmJiAhZWxlbWVudC0+ZG9jdW1lbnQoKS0+aW5RdWlya3NNb2RlKCkpOworfQor
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudEF0dHJpYnV0ZURhdGEu
aCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50QXR0cmlidXRlRGF0YS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmIxYmFkN2MyMTEyM2UwODI3MDExMTU3ZDcxZjUwNmY2NWQ2MWU3YTgKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudEF0dHJpYnV0ZURhdGEuaApAQCAtMCwwICsx
LDY1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAxOTk5IExhcnMgS25vbGwgKGtub2xsQGtkZS5v
cmcpCisgKiAgICAgICAgICAgKEMpIDE5OTkgQW50dGkgS29pdmlzdG8gKGtvaXZpc3RvQGtkZS5v
cmcpCisgKiAgICAgICAgICAgKEMpIDIwMDEgUGV0ZXIgS2VsbHkgKHBta0Bwb3N0LmNvbSkKKyAq
ICAgICAgICAgICAoQykgMjAwMSBEaXJrIE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9yZykKKyAqIENv
cHlyaWdodCAoQykgMjAwMywgMjAwNCwgMjAwNSwgMjAwNiwgMjAwOCwgMjAxMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgTm9raWEgQ29ycG9y
YXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgorICoKKyAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisg
KiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQor
ICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgor
ICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUg
ZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2lmbmRlZiBFbGVtZW50QXR0
cmlidXRlRGF0YV9oCisjZGVmaW5lIEVsZW1lbnRBdHRyaWJ1dGVEYXRhX2gKKworI2luY2x1ZGUg
IkNTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmgiCisjaW5jbHVkZSAiU3BhY2VTcGxpdFN0cmlu
Zy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEVsZW1lbnQ7CisKK2NsYXNzIEVs
ZW1lbnRBdHRyaWJ1dGVEYXRhIHsKK3B1YmxpYzoKKyAgICB2b2lkIGNsZWFyQ2xhc3MoKSB7IG1f
Y2xhc3NOYW1lcy5jbGVhcigpOyB9CisgICAgdm9pZCBzZXRDbGFzcyhjb25zdCBTdHJpbmcmIGNs
YXNzTmFtZSwgYm9vbCBzaG91bGRGb2xkQ2FzZSk7CisgICAgY29uc3QgU3BhY2VTcGxpdFN0cmlu
ZyYgY2xhc3NOYW1lcygpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NOYW1lczsgfQorCisgICAgY29u
c3QgQXRvbWljU3RyaW5nJiBpZEZvclN0eWxlUmVzb2x1dGlvbigpIGNvbnN0IHsgcmV0dXJuIG1f
aWRGb3JTdHlsZVJlc29sdXRpb247IH0KKyAgICB2b2lkIHNldElkRm9yU3R5bGVSZXNvbHV0aW9u
KGNvbnN0IEF0b21pY1N0cmluZyYgbmV3SWQpIHsgbV9pZEZvclN0eWxlUmVzb2x1dGlvbiA9IG5l
d0lkOyB9CisKKyAgICBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbiogaW5saW5lU3R5bGVEZWNs
KCkgY29uc3QgeyByZXR1cm4gbV9pbmxpbmVTdHlsZURlY2wuZ2V0KCk7IH0KKyAgICBDU1NNdXRh
YmxlU3R5bGVEZWNsYXJhdGlvbiogZW5zdXJlSW5saW5lU3R5bGVEZWNsKEVsZW1lbnQqKTsKKyAg
ICB2b2lkIGRlc3Ryb3lJbmxpbmVTdHlsZURlY2woKTsKKworcHJpdmF0ZToKKyAgICBmcmllbmQg
Y2xhc3MgTmFtZWROb2RlTWFwOworCisgICAgRWxlbWVudEF0dHJpYnV0ZURhdGEoKQorICAgIHsK
KyAgICB9CisKKyAgICB2b2lkIGNyZWF0ZUlubGluZVN0eWxlRGVjbChFbGVtZW50Kik7CisKKyAg
ICBTcGFjZVNwbGl0U3RyaW5nIG1fY2xhc3NOYW1lczsKKyAgICBBdG9taWNTdHJpbmcgbV9pZEZv
clN0eWxlUmVzb2x1dGlvbjsKKyAgICBSZWZQdHI8Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24+
IG1faW5saW5lU3R5bGVEZWNsOworfTsKKworfQorCisjZW5kaWYgLy8gRWxlbWVudEF0dHJpYnV0
ZURhdGFfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05hbWVkTm9kZU1hcC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmNwcAppbmRleCA5YjcyNDg4M2JhMWU2
YzAyMmQ5OWJhNTM4MWIyZGQ1YmEyOGMyODkzLi4wNWJlYzFmYzc2MTU4Mjc1ZmIxMzJjOTk4M2M4
MTNhZTYzMWM3Y2M3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFw
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmNwcApAQCAtMjcsOSAr
MjcsOSBAQAogCiAjaW5jbHVkZSAiQXR0ci5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5j
bHVkZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJI
VE1MTmFtZXMuaCIKLSNpbmNsdWRlICJTdHlsZWRFbGVtZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApAQCAtMjAwLDcgKzIwMCw3IEBAIHNpemVfdCBOYW1lZE5vZGVNYXA6OmdldEF0dHJp
YnV0ZUl0ZW1JbmRleFNsb3dDYXNlKGNvbnN0IFN0cmluZyYgbmFtZSwgYm9vbCBzaG91CiAKIHZv
aWQgTmFtZWROb2RlTWFwOjpjbGVhckF0dHJpYnV0ZXMoKQogewotICAgIG1fY2xhc3NOYW1lcy5j
bGVhcigpOworICAgIGF0dHJpYnV0ZURhdGEoKS0+Y2xlYXJDbGFzcygpOwogICAgIGRldGFjaEF0
dHJpYnV0ZXNGcm9tRWxlbWVudCgpOwogICAgIG1fYXR0cmlidXRlcy5jbGVhcigpOwogfQpAQCAt
MzAxLDE2ICszMDEsNiBAQCB2b2lkIE5hbWVkTm9kZU1hcDo6cmVwbGFjZUF0dHJpYnV0ZShzaXpl
X3QgaW5kZXgsIFBhc3NSZWZQdHI8QXR0cmlidXRlPiBwcnBBdHRyaQogICAgICAgICBtX2VsZW1l
bnQtPmRpZE1vZGlmeUF0dHJpYnV0ZShhdHRyaWJ1dGUuZ2V0KCkpOwogfQogCi12b2lkIE5hbWVk
Tm9kZU1hcDo6c2V0Q2xhc3MoY29uc3QgU3RyaW5nJiBjbGFzc1N0cikgCi17IAotICAgIGlmICgh
ZWxlbWVudCgpLT5oYXNDbGFzcygpKSB7IAotICAgICAgICBtX2NsYXNzTmFtZXMuY2xlYXIoKTsg
Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBtX2NsYXNzTmFtZXMuc2V0KGNsYXNzU3Ry
LCBlbGVtZW50KCktPmRvY3VtZW50KCktPmluUXVpcmtzTW9kZSgpKTsgCi19Ci0KIGJvb2wgTmFt
ZWROb2RlTWFwOjptYXBzRXF1aXZhbGVudChjb25zdCBOYW1lZE5vZGVNYXAqIG90aGVyTWFwKSBj
b25zdAogewogICAgIGlmICghb3RoZXJNYXApCkBAIC0zMzAsMjcgKzMyMCw0IEBAIGJvb2wgTmFt
ZWROb2RlTWFwOjptYXBzRXF1aXZhbGVudChjb25zdCBOYW1lZE5vZGVNYXAqIG90aGVyTWFwKSBj
b25zdAogICAgIHJldHVybiB0cnVlOwogfQogCi1DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbiog
TmFtZWROb2RlTWFwOjplbnN1cmVJbmxpbmVTdHlsZURlY2woKQotewotICAgIGlmICghbV9pbmxp
bmVTdHlsZURlY2wpCi0gICAgICAgIGNyZWF0ZUlubGluZVN0eWxlRGVjbCgpOwotICAgIHJldHVy
biBtX2lubGluZVN0eWxlRGVjbC5nZXQoKTsKLX0KLQotdm9pZCBOYW1lZE5vZGVNYXA6OmRlc3Ry
b3lJbmxpbmVTdHlsZURlY2woKQotewotICAgIGlmICghbV9pbmxpbmVTdHlsZURlY2wpCi0gICAg
ICAgIHJldHVybjsKLSAgICBtX2lubGluZVN0eWxlRGVjbC0+Y2xlYXJQYXJlbnRFbGVtZW50KCk7
Ci0gICAgbV9pbmxpbmVTdHlsZURlY2wgPSAwOwotfQotCi12b2lkIE5hbWVkTm9kZU1hcDo6Y3Jl
YXRlSW5saW5lU3R5bGVEZWNsKCkKLXsKLSAgICBBU1NFUlQoIW1faW5saW5lU3R5bGVEZWNsKTsK
LSAgICBBU1NFUlQobV9lbGVtZW50LT5pc1N0eWxlZEVsZW1lbnQoKSk7Ci0gICAgbV9pbmxpbmVT
dHlsZURlY2wgPSBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjo6Y3JlYXRlSW5saW5lKHN0YXRp
Y19jYXN0PFN0eWxlZEVsZW1lbnQqPihtX2VsZW1lbnQpKTsKLSAgICBtX2lubGluZVN0eWxlRGVj
bC0+c2V0U3RyaWN0UGFyc2luZyhtX2VsZW1lbnQtPmlzSFRNTEVsZW1lbnQoKSAmJiAhbV9lbGVt
ZW50LT5kb2N1bWVudCgpLT5pblF1aXJrc01vZGUoKSk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9OYW1lZE5vZGVNYXAuaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9OYW1lZE5vZGVNYXAuaAppbmRleCAyZTUzODQ3MTI2OTViYzE5MGEw
ZGMyMzZmNmU1YmFjNDYzZTdmMWQ1Li5mNmU4MTcwZThlYmUxNWZlMjNhMDFjZjRjMTBhMDVhODU5
MDNhZjVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL05hbWVkTm9kZU1hcC5oCkBAIC0yNiw2ICsyNiw3IEBACiAj
ZGVmaW5lIE5hbWVkTm9kZU1hcF9oCiAKICNpbmNsdWRlICJBdHRyaWJ1dGUuaCIKKyNpbmNsdWRl
ICJFbGVtZW50QXR0cmlidXRlRGF0YS5oIgogI2luY2x1ZGUgIlNwYWNlU3BsaXRTdHJpbmcuaCIK
ICNpbmNsdWRlIDx3dGYvTm90Rm91bmQuaD4KIApAQCAtODQsOSArODUsNiBAQCBwdWJsaWM6CiAg
ICAgICAgICAgICBhZGRBdHRyaWJ1dGUobmV3QXR0cmlidXRlKTsKICAgICB9CiAKLSAgICBjb25z
dCBBdG9taWNTdHJpbmcmIGlkRm9yU3R5bGVSZXNvbHV0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9p
ZEZvclN0eWxlUmVzb2x1dGlvbjsgfQotICAgIHZvaWQgc2V0SWRGb3JTdHlsZVJlc29sdXRpb24o
Y29uc3QgQXRvbWljU3RyaW5nJiBuZXdJZCkgeyBtX2lkRm9yU3R5bGVSZXNvbHV0aW9uID0gbmV3
SWQ7IH0KLQogICAgIGJvb2wgbWFwc0VxdWl2YWxlbnQoY29uc3QgTmFtZWROb2RlTWFwKiBvdGhl
ck1hcCkgY29uc3Q7CiAKICAgICAvLyBUaGVzZSBmdW5jdGlvbnMgZG8gbm8gZXJyb3IgY2hlY2tp
bmcuCkBAIC05NiwxNSArOTQsMTAgQEAgcHVibGljOgogCiAgICAgRWxlbWVudCogZWxlbWVudCgp
IGNvbnN0IHsgcmV0dXJuIG1fZWxlbWVudDsgfQogCi0gICAgdm9pZCBjbGVhckNsYXNzKCkgeyBt
X2NsYXNzTmFtZXMuY2xlYXIoKTsgfQotICAgIHZvaWQgc2V0Q2xhc3MoY29uc3QgU3RyaW5nJik7
Ci0gICAgY29uc3QgU3BhY2VTcGxpdFN0cmluZyYgY2xhc3NOYW1lcygpIGNvbnN0IHsgcmV0dXJu
IG1fY2xhc3NOYW1lczsgfQotCiAgICAgc2l6ZV90IG1hcHBlZEF0dHJpYnV0ZUNvdW50KCkgY29u
c3Q7CiAKLSAgICBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbiogaW5saW5lU3R5bGVEZWNsKCkg
Y29uc3QgeyByZXR1cm4gbV9pbmxpbmVTdHlsZURlY2wuZ2V0KCk7IH0KLSAgICBDU1NNdXRhYmxl
U3R5bGVEZWNsYXJhdGlvbiogZW5zdXJlSW5saW5lU3R5bGVEZWNsKCk7Ci0gICAgdm9pZCBkZXN0
cm95SW5saW5lU3R5bGVEZWNsKCk7CisgICAgRWxlbWVudEF0dHJpYnV0ZURhdGEqIGF0dHJpYnV0
ZURhdGEoKSB7IHJldHVybiAmbV9hdHRyaWJ1dGVEYXRhOyB9CisgICAgY29uc3QgRWxlbWVudEF0
dHJpYnV0ZURhdGEqIGF0dHJpYnV0ZURhdGEoKSBjb25zdCB7IHJldHVybiAmbV9hdHRyaWJ1dGVE
YXRhOyB9CiAKIHByaXZhdGU6CiAgICAgTmFtZWROb2RlTWFwKEVsZW1lbnQqIGVsZW1lbnQpCkBA
IC0xMjAsMTYgKzExMywxNCBAQCBwcml2YXRlOgogICAgIHZvaWQgc2V0QXR0cmlidXRlcyhjb25z
dCBOYW1lZE5vZGVNYXAmKTsKICAgICB2b2lkIGNsZWFyQXR0cmlidXRlcygpOwogICAgIHZvaWQg
cmVwbGFjZUF0dHJpYnV0ZShzaXplX3QgaW5kZXgsIFBhc3NSZWZQdHI8QXR0cmlidXRlPik7Ci0g
ICAgdm9pZCBjcmVhdGVJbmxpbmVTdHlsZURlY2woKTsKIAotICAgIC8vIEZJWE1FOiBOYW1lZE5v
ZGVNYXAgc2hvdWxkIGJlIGJyb2tlbiB1cCBpbnRvIHR3byBjbGFzc2VzLCBvbmUgY29udGFpbmlu
ZyBkYXRhCisgICAgLy8gRklYTUU6IE5hbWVkTm9kZU1hcCBpcyBiZWluZyBicm9rZW4gdXAgaW50
byB0d28gY2xhc3Nlcywgb25lIGNvbnRhaW5pbmcgZGF0YQogICAgIC8vICAgICAgICBmb3IgZWxl
bWVudHMgd2l0aCBhdHRyaWJ1dGVzLCBhbmQgb25lIGZvciBleHBvc3VyZSB0byB0aGUgRE9NLgog
ICAgIC8vICAgICAgICBTZWUgPGh0dHA6Ly93ZWJraXQub3JnL2IvNzUwNjk+IGZvciBtb3JlIGlu
Zm9ybWF0aW9uLgotICAgIFNwYWNlU3BsaXRTdHJpbmcgbV9jbGFzc05hbWVzOworICAgIEVsZW1l
bnRBdHRyaWJ1dGVEYXRhIG1fYXR0cmlidXRlRGF0YTsKKwogICAgIEVsZW1lbnQqIG1fZWxlbWVu
dDsKICAgICBWZWN0b3I8UmVmUHRyPEF0dHJpYnV0ZT4sIDQ+IG1fYXR0cmlidXRlczsKLSAgICBB
dG9taWNTdHJpbmcgbV9pZEZvclN0eWxlUmVzb2x1dGlvbjsKLSAgICBSZWZQdHI8Q1NTTXV0YWJs
ZVN0eWxlRGVjbGFyYXRpb24+IG1faW5saW5lU3R5bGVEZWNsOwogfTsKIAogaW5saW5lIEF0dHJp
YnV0ZSogTmFtZWROb2RlTWFwOjpnZXRBdHRyaWJ1dGVJdGVtKGNvbnN0IFF1YWxpZmllZE5hbWUm
IG5hbWUpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKaW5kZXggOGJlZTUz
ZDg2N2NlYmE0NmNkZjcxYTMyNThmYTZiZTIxNzhkNWNhOS4uYjU3MWUwNmMzZjZhYWNkOWUyN2Jm
NDIzNmM1NzU2YzMzYzZjNzAzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxl
ZEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcApA
QCAtMjAwLDExICsyMDAsMTIgQEAgdm9pZCBTdHlsZWRFbGVtZW50OjpjbGFzc0F0dHJpYnV0ZUNo
YW5nZWQoY29uc3QgQXRvbWljU3RyaW5nJiBuZXdDbGFzc1N0cmluZykKICAgICBib29sIGhhc0Ns
YXNzID0gaSA8IGxlbmd0aDsKICAgICBzZXRIYXNDbGFzcyhoYXNDbGFzcyk7CiAgICAgaWYgKGhh
c0NsYXNzKSB7Ci0gICAgICAgIGF0dHJpYnV0ZXMoKS0+c2V0Q2xhc3MobmV3Q2xhc3NTdHJpbmcp
OworICAgICAgICBjb25zdCBib29sIHNob3VsZEZvbGRDYXNlID0gZG9jdW1lbnQoKS0+aW5RdWly
a3NNb2RlKCk7CisgICAgICAgIGVuc3VyZUF0dHJpYnV0ZURhdGEoKS0+c2V0Q2xhc3MobmV3Q2xh
c3NTdHJpbmcsIHNob3VsZEZvbGRDYXNlKTsKICAgICAgICAgaWYgKERPTVRva2VuTGlzdCogY2xh
c3NMaXN0ID0gb3B0aW9uYWxDbGFzc0xpc3QoKSkKICAgICAgICAgICAgIHN0YXRpY19jYXN0PENs
YXNzTGlzdCo+KGNsYXNzTGlzdCktPnJlc2V0KG5ld0NsYXNzU3RyaW5nKTsKLSAgICB9IGVsc2Ug
aWYgKGF0dHJpYnV0ZU1hcCgpKQotICAgICAgICBhdHRyaWJ1dGVNYXAoKS0+Y2xlYXJDbGFzcygp
OworICAgIH0gZWxzZSBpZiAoYXR0cmlidXRlRGF0YSgpKQorICAgICAgICBhdHRyaWJ1dGVEYXRh
KCktPmNsZWFyQ2xhc3MoKTsKICAgICBzZXROZWVkc1N0eWxlUmVjYWxjKCk7CiAgICAgZGlzcGF0
Y2hTdWJ0cmVlTW9kaWZpZWRFdmVudCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL1N0eWxlZEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmgK
aW5kZXggOTMyYzg0N2NlNDg0Njk5OWY5MDY0ZmIzOWMxMzg5MjVmOGQ5MzY0My4uYmVkZjg2OGQx
YzE2Y2UyMmY5MWEzOTI1NzEyMjFjMzE4YTM4YjdjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL1N0eWxlZEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxl
bWVudC5oCkBAIC01OCw4ICs1OCw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8
Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24+IGFkZGl0aW9uYWxBdHRyaWJ1dGVTdHlsZSgpIHsg
cmV0dXJuIDA7IH0KICAgICB2b2lkIGludmFsaWRhdGVTdHlsZUF0dHJpYnV0ZSgpOwogCi0gICAg
Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24qIGlubGluZVN0eWxlRGVjbCgpIGNvbnN0IHsgcmV0
dXJuIGF0dHJpYnV0ZU1hcCgpID8gYXR0cmlidXRlTWFwKCktPmlubGluZVN0eWxlRGVjbCgpIDog
MDsgfQotICAgIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKiBlbnN1cmVJbmxpbmVTdHlsZURl
Y2woKSB7IHJldHVybiBhdHRyaWJ1dGVzKGZhbHNlKS0+ZW5zdXJlSW5saW5lU3R5bGVEZWNsKCk7
IH0KKyAgICBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbiogaW5saW5lU3R5bGVEZWNsKCkgY29u
c3QgeyByZXR1cm4gYXR0cmlidXRlRGF0YSgpID8gYXR0cmlidXRlRGF0YSgpLT5pbmxpbmVTdHls
ZURlY2woKSA6IDA7IH0KKyAgICBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbiogZW5zdXJlSW5s
aW5lU3R5bGVEZWNsKCkgeyByZXR1cm4gZW5zdXJlQXR0cmlidXRlRGF0YSgpLT5lbnN1cmVJbmxp
bmVTdHlsZURlY2wodGhpcyk7IH0KICAgICB2aXJ0dWFsIENTU1N0eWxlRGVjbGFyYXRpb24qIHN0
eWxlKCkgT1ZFUlJJREUgeyByZXR1cm4gZW5zdXJlSW5saW5lU3R5bGVEZWNsKCk7IH0KIAogICAg
IGNvbnN0IFNwYWNlU3BsaXRTdHJpbmcmIGNsYXNzTmFtZXMoKSBjb25zdDsKQEAgLTg5LDE0ICs4
OSwxNCBAQCBwcml2YXRlOgogICAgIHZvaWQgY3JlYXRlTWFwcGVkRGVjbChBdHRyaWJ1dGUqKTsK
IAogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVTdHlsZUF0dHJpYnV0ZSgpIGNvbnN0OwotICAgIHZv
aWQgZGVzdHJveUlubGluZVN0eWxlRGVjbCgpIHsgaWYgKGF0dHJpYnV0ZU1hcCgpKSBhdHRyaWJ1
dGVNYXAoKS0+ZGVzdHJveUlubGluZVN0eWxlRGVjbCgpOyB9CisgICAgdm9pZCBkZXN0cm95SW5s
aW5lU3R5bGVEZWNsKCk7CiB9OwogCiBpbmxpbmUgY29uc3QgU3BhY2VTcGxpdFN0cmluZyYgU3R5
bGVkRWxlbWVudDo6Y2xhc3NOYW1lcygpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGhhc0NsYXNzKCkp
OwotICAgIEFTU0VSVChhdHRyaWJ1dGVNYXAoKSk7Ci0gICAgcmV0dXJuIGF0dHJpYnV0ZU1hcCgp
LT5jbGFzc05hbWVzKCk7CisgICAgQVNTRVJUKGF0dHJpYnV0ZURhdGEoKSk7CisgICAgcmV0dXJu
IGF0dHJpYnV0ZURhdGEoKS0+Y2xhc3NOYW1lcygpOwogfQogCiBpbmxpbmUgdm9pZCBTdHlsZWRF
bGVtZW50OjppbnZhbGlkYXRlU3R5bGVBdHRyaWJ1dGUoKQpAQCAtMTA0LDYgKzEwNCwxMiBAQCBp
bmxpbmUgdm9pZCBTdHlsZWRFbGVtZW50OjppbnZhbGlkYXRlU3R5bGVBdHRyaWJ1dGUoKQogICAg
IGNsZWFySXNTdHlsZUF0dHJpYnV0ZVZhbGlkKCk7CiB9CiAKK2lubGluZSB2b2lkIFN0eWxlZEVs
ZW1lbnQ6OmRlc3Ryb3lJbmxpbmVTdHlsZURlY2woKQoreworICAgIGlmIChhdHRyaWJ1dGVEYXRh
KCkpCisgICAgICAgIGF0dHJpYnV0ZURhdGEoKS0+ZGVzdHJveUlubGluZVN0eWxlRGVjbCgpOwor
fQorCiB9IC8vbmFtZXNwYWNlCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9DbGFzc0xpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9DbGFzc0xpc3QuY3BwCmlu
ZGV4IDM0OWQ2NGRjZWVhZDcyOGQ2Y2EyZTcyMDA3ZGUxNjY3ZmIxNGNmYzEuLjJlYTgzODIwMjhj
NzdmODZhZDliYmY2ZWZiMzgyMDE4OGFlYjM1ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvQ2xhc3NMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0NsYXNzTGlzdC5j
cHAKQEAgLTE0MCw3ICsxNDAsNyBAQCBjb25zdCBTcGFjZVNwbGl0U3RyaW5nJiBDbGFzc0xpc3Q6
OmNsYXNzTmFtZXMoKSBjb25zdAogICAgIEFTU0VSVChtX2VsZW1lbnQtPmhhc0NsYXNzKCkpOwog
ICAgIGlmICghbV9jbGFzc05hbWVzRm9yUXVpcmtzTW9kZS5pc051bGwoKSkKICAgICAgICAgcmV0
dXJuIG1fY2xhc3NOYW1lc0ZvclF1aXJrc01vZGU7Ci0gICAgcmV0dXJuIG1fZWxlbWVudC0+YXR0
cmlidXRlTWFwKCktPmNsYXNzTmFtZXMoKTsKKyAgICByZXR1cm4gbV9lbGVtZW50LT5hdHRyaWJ1
dGVEYXRhKCktPmNsYXNzTmFtZXMoKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124576</attachid>
            <date>2012-01-30 12:01:37 -0800</date>
            <delta_ts>2012-01-30 18:47:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77233-20120130170135.patch</filename>
            <type>text/plain</type>
            <size>21482</size>
            <attacher name="Caio Marcelo de Oliveira Filho">cmarcelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2MjY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWQxY2JmOTU3MTg0OWZi
Njk1NjQwMDA1NjZkYmFjY2EzY2EzMDdhZS4uMjU5NmJiNmU0MDFjNTNmZmYxNmJlMDhjMmRkZjlm
ZjcyNmE2NjdmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDEyLTAxLTMwICBDYWlv
IE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJhQG9wZW5ib3NzYS5vcmc+
CisKKyAgICAgICAgQWRkIEVsZW1lbnRBdHRyaWJ1dGVEYXRhIGNsYXNzIHRvIHJlcGxhY2UgaW50
ZXJuYWwgdXNlcyBvZiBOYW1lZE5vZGVNYXAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTc3MjMzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTW92ZSBwYXJ0IG9mIG5vbi1ET00gZnVuY3Rpb25hbGl0eSBvZiBO
YW1lZE5vZGVNYXAgaW50byBhIHNlcGFyYXRlIGNsYXNzLiBUaGlzIGlzCisgICAgICAgIHRoZSBm
aXJzdCBzdGVwIHRvd2FyZCB0aGUgZ29hbCBvZiBzZXBhcmF0aW5nIE5hbWVkTm9kZU1hcCBmcm9t
IGludGVybmFsIGF0dHJpYnV0ZQorICAgICAgICBzdG9yYWdlLCBhcyBkZXNjcmliZWQgaW4gaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDY5LgorCisgICAgICAgIFRo
ZSBpbnRlcm5hbCBhdHRyaWJ1dGUgc3RvcmFnZSBpcyBleHBvc2VkIGFzIGF0dHJpYnV0ZURhdGEo
KSBpbiBFbGVtZW50LCBhbmQgd2hlbgorICAgICAgICBuZWNlc3NhcnkgKGJlY2F1c2UgaXQgaGFz
IG5vIGJhY2sgcG9pbnRlciB0byBFbGVtZW50KSB2aWEgbWV0aG9kcyBpbiBFbGVtZW50LgorCisg
ICAgICAgIE5vIG5ldyB0ZXN0cy4gRXhjZXB0IGZyb20gc2V0Q2xhc3MoKSBjaGFuZ2UgdGhpcyBp
cyBqdXN0IG1vdmluZyB0aGUgY29kZSwgbm8gbmV3CisgICAgICAgIGZlYXR1cmUgd2FzIGFkZGVk
LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUubGlz
dC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZG9t
L0RPTUFsbEluT25lLmNwcDoKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpFbGVtZW50OjppZEF0dHJpYnV0ZUNoYW5nZWQpOgorICAgICAgICAqIGRvbS9FbGVt
ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjphdHRyaWJ1dGVEYXRhKToKKyAgICAg
ICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmVuc3VyZUF0dHJpYnV0ZURhdGEpOgorICAgICAgICAoRWxl
bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjppZEZvclN0eWxlUmVzb2x1dGlvbik6
CisgICAgICAgICogZG9tL0VsZW1lbnRBdHRyaWJ1dGVEYXRhLmNwcDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRBdHRyaWJ1dGVEYXRhOjpzZXRD
bGFzcyk6IHRoZSBvbmx5IGNhbGxlciBvZiB0aGlzIGZ1bmN0aW9uCisgICAgICAgIGFscmVhZHkg
ZGVhbCB3aXRoIHRoZSBjYXNlIHdoZW4gdGhlIGVsZW1lbnQgaGFzIG5vIGNsYXNzLCBzbyBkb24n
dCBkbyBpdCBoZXJlLgorICAgICAgICAqIGRvbS9FbGVtZW50QXR0cmlidXRlRGF0YS5oOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoRWxlbWVudEF0dHJpYnV0ZURhdGEpOgor
ICAgICAgICAoV2ViQ29yZTo6RWxlbWVudEF0dHJpYnV0ZURhdGE6OmNsZWFyQ2xhc3MpOgorICAg
ICAgICAoV2ViQ29yZTo6RWxlbWVudEF0dHJpYnV0ZURhdGE6OmNsYXNzTmFtZXMpOgorICAgICAg
ICAoV2ViQ29yZTo6RWxlbWVudEF0dHJpYnV0ZURhdGE6OmlkRm9yU3R5bGVSZXNvbHV0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRBdHRyaWJ1dGVEYXRhOjpzZXRJZEZvclN0eWxlUmVz
b2x1dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50QXR0cmlidXRlRGF0YTo6RWxlbWVu
dEF0dHJpYnV0ZURhdGEpOgorICAgICAgICAqIGRvbS9OYW1lZE5vZGVNYXAuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TmFtZWROb2RlTWFwOjpjbGVhckF0dHJpYnV0ZXMpOgorICAgICAgICAqIGRv
bS9OYW1lZE5vZGVNYXAuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hbWVkTm9kZU1hcDo6YXR0cmli
dXRlRGF0YSk6CisgICAgICAgIChOYW1lZE5vZGVNYXApOgorICAgICAgICAqIGRvbS9TdHlsZWRF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlZEVsZW1lbnQ6OmNsYXNzQXR0cmli
dXRlQ2hhbmdlZCk6CisgICAgICAgICogZG9tL1N0eWxlZEVsZW1lbnQuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlN0eWxlZEVsZW1lbnQ6OmNsYXNzTmFtZXMpOgorICAgICAgICAqIGh0bWwvQ2xhc3NM
aXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNsYXNzTGlzdDo6Y2xhc3NOYW1lcyk6CisKIDIw
MTItMDEtMzAgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIEtp
bGwgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb25Db25zdEl0ZXJhdG9yCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CmluZGV4IGVmYmY5ZjY4NDI5NzBmNmQ1MTg3OGE0NDVkZTA1YzBlOGJiNGMzZTkuLjc3ZWYw
YzI0ZTFiMzYzZjQ5Yjg1YzI1NmIzZTE1MTg2Y2Y5YWNmZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CkBAIC01NDYsNiArNTQ2LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGRvbS9EeW5hbWlj
Tm9kZUxpc3QuY3BwCiAgICAgZG9tL0VkaXRpbmdUZXh0LmNwcAogICAgIGRvbS9FbGVtZW50LmNw
cAorICAgIGRvbS9FbGVtZW50QXR0cmlidXRlRGF0YS5jcHAKICAgICBkb20vRW50aXR5UmVmZXJl
bmNlLmNwcAogICAgIGRvbS9FcnJvckV2ZW50LmNwcAogICAgIGRvbS9FdmVudC5jcHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDdjYjBmNjFmYTM0MWI0ODJhZmJjZmE0NmYzM2Qx
MjkxMWM1MjVhZmMuLjYxNTA5ZTU4MWQ3NzE5YTljZTIyZjRhMDQ2OGVjYjQ1MzcwMzg3YjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMTUzMyw2ICsxNTMzLDggQEAgd2ViY29y
ZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRWRpdGluZ1RleHQuaCBcCiAJU291
cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudEF0dHJpYnV0ZURhdGEuY3BwIFwKKwlT
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudEF0dHJpYnV0ZURhdGEuaCBcCiAJU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRW50aXR5Lmgg
XAogCVNvdXJjZS9XZWJDb3JlL2RvbS9FbnRpdHlSZWZlcmVuY2UuY3BwIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmlu
ZGV4IGIzNGM1NDIyOWUxMTk4YjEwYTgzZGQ3YzM2MDIzOGI3ZDc2ZWEwMDQuLjA5MTI5ZmFkMjc0
ZDI5YWQ3ZDk1N2E3YmU0YjFlZmMzNjMyNjMwNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtNTA5LDYgKzUw
OSw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGRvbS9EeW5hbWljTm9kZUxpc3QuY3BwIFwKICAgICBk
b20vRWRpdGluZ1RleHQuY3BwIFwKICAgICBkb20vRWxlbWVudC5jcHAgXAorICAgIGRvbS9FbGVt
ZW50QXR0cmlidXRlRGF0YS5jcHAgXAogICAgIGRvbS9FbnRpdHlSZWZlcmVuY2UuY3BwIFwKICAg
ICBkb20vRXJyb3JFdmVudC5jcHAgXAogICAgIGRvbS9FdmVudC5jcHAgXApAQCAtMTYyMiw2ICsx
NjIzLDcgQEAgSEVBREVSUyArPSBcCiAgICAgZG9tL0R5bmFtaWNOb2RlTGlzdC5oIFwKICAgICBk
b20vRWRpdGluZ1RleHQuaCBcCiAgICAgZG9tL0VsZW1lbnQuaCBcCisgICAgZG9tL0VsZW1lbnRB
dHRyaWJ1dGVEYXRhLmggXAogICAgIGRvbS9FbnRpdHkuaCBcCiAgICAgZG9tL0VudGl0eVJlZmVy
ZW5jZS5oIFwKICAgICBkb20vRXZlbnQuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMDMzMGYxMGQ0
Zjc2YmYxYTk1YjY5MTYxMGNiYzA3NWEwYjNlMzc5ZS4uOWMwZGFjMmEyOGJhYmU1ZDlhNjY0NTI1
YzZkM2M5YWFhZGI1MTQ4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtNTk1LDYgKzU5NSw3IEBACiAg
ICAgICAgICAgICAnZG9tL0RvY3VtZW50VGltaW5nLmgnLAogICAgICAgICAgICAgJ2RvbS9Eb2N1
bWVudFR5cGUuaCcsCiAgICAgICAgICAgICAnZG9tL0VsZW1lbnQuaCcsCisgICAgICAgICAgICAn
ZG9tL0VsZW1lbnRBdHRyaWJ1dGVEYXRhLmgnLAogICAgICAgICAgICAgJ2RvbS9FdmVudC5oJywK
ICAgICAgICAgICAgICdkb20vRXZlbnRMaXN0ZW5lci5oJywKICAgICAgICAgICAgICdkb20vRXZl
bnRMaXN0ZW5lck1hcC5oJywKQEAgLTQ5OTQsNiArNDk5NSw3IEBACiAgICAgICAgICAgICAnZG9t
L0VkaXRpbmdUZXh0LmNwcCcsCiAgICAgICAgICAgICAnZG9tL0VkaXRpbmdUZXh0LmgnLAogICAg
ICAgICAgICAgJ2RvbS9FbGVtZW50LmNwcCcsCisgICAgICAgICAgICAnZG9tL0VsZW1lbnRBdHRy
aWJ1dGVEYXRhLmNwcCcsCiAgICAgICAgICAgICAnZG9tL0VsZW1lbnRSYXJlRGF0YS5oJywKICAg
ICAgICAgICAgICdkb20vRW50aXR5LmgnLAogICAgICAgICAgICAgJ2RvbS9FbnRpdHlSZWZlcmVu
Y2UuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCA2M2Q4NjhhNjRkNDdjZWZiOTc5YTA3ZGQxOWE4YTFkZWY2MzMyZmQwLi41
ZDY4ZmYwNWE5MGI0YTdhZjZhNzJiODRiMmRkNjY1MTU3N2ZkMGNlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC03MzMsNiArNzMz
LDggQEAKIAkJMjlEN0JDRkExNDQ0QUY3RDAwNzA2MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGluQnV0
dG9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUQ3
QkNGOTE0NDRBRjdEMDA3MDYxOUMgLyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCAqLzsgfTsK
IAkJMkJFOEUyQzcxMkE1ODlFQzAwRkFENTUwIC8qIEhUTUxNZXRhQ2hhcnNldFBhcnNlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkJFOEUyQzYxMkE1
ODlFQzAwRkFENTUwIC8qIEhUTUxNZXRhQ2hhcnNldFBhcnNlci5oICovOyB9OwogCQkyQkU4RTJD
OTEyQTU4QTAxMDBGQUQ1NTAgLyogSFRNTE1ldGFDaGFyc2V0UGFyc2VyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJCRThFMkM4MTJBNThBMDEwMEZB
RDU1MCAvKiBIVE1MTWV0YUNoYXJzZXRQYXJzZXIuY3BwICovOyB9OworCQkyQ0Y2ODc4ODE0RDMy
RUI1MDAzNDBGMzkgLyogRWxlbWVudEF0dHJpYnV0ZURhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkNGNjg3ODcxNEQzMkVCNTAwMzQwRjM5IC8q
IEVsZW1lbnRBdHRyaWJ1dGVEYXRhLmNwcCAqLzsgfTsKKwkJMkNGNjg3OEExNEQzMkVGRjAwMzQw
RjM5IC8qIEVsZW1lbnRBdHRyaWJ1dGVEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyQ0Y2ODc4OTE0RDMyRUZGMDAzNDBGMzkgLyogRWxlbWVudEF0
dHJpYnV0ZURhdGEuaCAqLzsgfTsKIAkJMkQzQTBFMzYxM0E3RDc2MTAwRTg1QUYwIC8qIFNWR1Bh
cnNpbmdFcnJvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMkQzQTBFMzUxM0E3RDc2MTAwRTg1QUYwIC8qIFNWR1BhcnNpbmdFcnJvci5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTJENDgxRjAwMTQ2QjVD
NEMwMEFBNzgzNCAvKiBDcm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDJGQzA1NDE0NjBDRDZGMDAyNjM2MzMg
LyogQ3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2UuY3BwICovOyB9OwogCQkyRDQ4MUYwMjE0NkI1QzU1
MDBBQTc4MzQgLyogQ3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2UuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEMkZDMDU1MTQ2MENENkYwMDI2MzYzMyAvKiBD
cm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZS5oICovOyB9OwpAQCAtNzQ3OSw2ICs3NDgxLDggQEAKIAkJ
MjlEN0JDRjkxNDQ0QUY3RDAwNzA2MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJCRThFMkM2MTJBNTg5RUMwMEZBRDU1MCAv
KiBIVE1MTWV0YUNoYXJzZXRQYXJzZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gSFRNTE1ldGFDaGFyc2V0UGFyc2VyLmg7IHBhdGggPSBwYXJzZXIvSFRNTE1ldGFDaGFyc2V0
UGFyc2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJCRThFMkM4MTJBNThBMDEw
MEZBRDU1MCAvKiBIVE1MTWV0YUNoYXJzZXRQYXJzZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBuYW1lID0gSFRNTE1ldGFDaGFyc2V0UGFyc2VyLmNwcDsgcGF0aCA9IHBhcnNl
ci9IVE1MTWV0YUNoYXJzZXRQYXJzZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkyQ0Y2ODc4NzE0RDMyRUI1MDAzNDBGMzkgLyogRWxlbWVudEF0dHJpYnV0ZURhdGEuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRWxlbWVudEF0dHJpYnV0ZURhdGEu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyQ0Y2ODc4OTE0RDMyRUZGMDAzNDBG
MzkgLyogRWxlbWVudEF0dHJpYnV0ZURhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRWxlbWVudEF0dHJpYnV0ZURhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMkQyRkMwNTQxNDYwQ0Q2RjAwMjYzNjMzIC8qIENyb3NzZmFkZUdlbmVyYXRlZEltYWdlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENyb3NzZmFkZUdlbmVyYXRl
ZEltYWdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQyRkMwNTUxNDYwQ0Q2
RjAwMjYzNjMzIC8qIENyb3NzZmFkZUdlbmVyYXRlZEltYWdlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IENyb3NzZmFkZUdlbmVyYXRlZEltYWdlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTJEMkZDMDU2MTQ2MENENkYwMDI2MzYzMyAvKiBHZW5lcmF0b3JHZW5l
cmF0ZWRJbWFnZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHZW5l
cmF0b3JHZW5lcmF0ZWRJbWFnZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0y
MDQ1Miw2ICsyMDQ1Niw4IEBACiAJCQkJQThDNEE3RjYwOUQ1NjMyNzAwMDNBQzhEIC8qIEVsZW1l
bnQuY3BwICovLAogCQkJCUE4QzRBN0Y1MDlENTYzMjcwMDAzQUM4RCAvKiBFbGVtZW50LmggKi8s
CiAJCQkJOTNFRUMxRUEwOUMyODc3NzAwQzUxNUQxIC8qIEVsZW1lbnQuaWRsICovLAorCQkJCTJD
RjY4Nzg3MTREMzJFQjUwMDM0MEYzOSAvKiBFbGVtZW50QXR0cmlidXRlRGF0YS5jcHAgKi8sCisJ
CQkJMkNGNjg3ODkxNEQzMkVGRjAwMzQwRjM5IC8qIEVsZW1lbnRBdHRyaWJ1dGVEYXRhLmggKi8s
CiAJCQkJNjM3QjdBREUwRTg3NjdCODAwRTMyMTk0IC8qIEVsZW1lbnRSYXJlRGF0YS5oICovLAog
CQkJCUE4RUE3RUJBMEExOTQ1RDAwMEE4RUY1RiAvKiBFbnRpdHkuaCAqLywKIAkJCQk5M0VFQzFF
QjA5QzI4Nzc3MDBDNTE1RDEgLyogRW50aXR5LmlkbCAqLywKQEAgLTI0MTAxLDYgKzI0MTA3LDcg
QEAKIAkJCQk4QUQwQTU5NjE0Qzg4MzU4MDAwRDgzQzUgLyogRE9NV2ViS2l0Q1NTUmVnaW9uUnVs
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOEFEMEE1OTgxNEM4ODM1ODAwMEQ4M0M1IC8qIERPTVdl
YktpdENTU1JlZ2lvblJ1bGVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDcyMEIwQTEx
NEQzMzIzNTAwNjQyOTU1IC8qIEdlbmVyaWNFdmVudFF1ZXVlLmggaW4gSGVhZGVycyAqLywKKwkJ
CQkyQ0Y2ODc4QTE0RDMyRUZGMDAzNDBGMzkgLyogRWxlbWVudEF0dHJpYnV0ZURhdGEuaCBpbiBI
ZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Npbmcg
PSAwOwogCQl9OwpAQCAtMjcwMzAsNiArMjcwMzcsNyBAQAogCQkJCUZENTM3MzUyMTM3QjY1MTgw
MDAwOERDRSAvKiBaZXJvUG9sZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1NzNEMTM0NzE0Q0Uz
OUZGMDA1N0FCQ0EgLyogSW5zcGVjdG9yVHlwZUJ1aWxkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMDcyMEIwQTAxNEQzMzIzNTAwNjQyOTU1IC8qIEdlbmVyaWNFdmVudFF1ZXVlLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCTJDRjY4Nzg4MTREMzJFQjUwMDM0MEYzOSAvKiBFbGVtZW50QXR0cmli
dXRlRGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVu
dFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9ET01BbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5PbmUuY3BwCmlu
ZGV4IGYyY2I0NjdkY2MxMzNjYmIzZDgwNDBmZTEwNmMyYmU4ZGUxMjhiODYuLjUwNDIyZDVhY2Y2
NmM5ZmQ5N2Y0M2NlNzI0ZmNjZmUwZTQ4ZWUyMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9ET01BbGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUFsbEluT25l
LmNwcApAQCAtNjcsNiArNjcsNyBAQAogI2luY2x1ZGUgIkR5bmFtaWNOb2RlTGlzdC5jcHAiCiAj
aW5jbHVkZSAiRWRpdGluZ1RleHQuY3BwIgogI2luY2x1ZGUgIkVsZW1lbnQuY3BwIgorI2luY2x1
ZGUgIkVsZW1lbnRBdHRyaWJ1dGVEYXRhLmNwcCIKICNpbmNsdWRlICJFbnRpdHlSZWZlcmVuY2Uu
Y3BwIgogI2luY2x1ZGUgIkVycm9yRXZlbnQuY3BwIgogI2luY2x1ZGUgIkV2ZW50LmNwcCIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmNwcAppbmRleCAwMTFlMjU4OTdjMTU1ZTM1MmY1YzE1NDhlNzkzY2YzYjc1
ZDBjMmZiLi40NGU0Yzk0NGY4NDBhNDU2ZWViMjU3MTI1ZmQxYjM2ZDg3MDlkNTM3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuY3BwCkBAIC03MTAsMTMgKzcxMCwxMyBAQCB2b2lkIEVsZW1lbnQ6OnJlY2Fs
Y1N0eWxlSWZOZWVkZWRBZnRlckF0dHJpYnV0ZUNoYW5nZWQoQXR0cmlidXRlKiBhdHRyKQogdm9p
ZCBFbGVtZW50OjppZEF0dHJpYnV0ZUNoYW5nZWQoQXR0cmlidXRlKiBhdHRyKQogewogICAgIHNl
dEhhc0lEKCFhdHRyLT5pc051bGwoKSk7Ci0gICAgaWYgKGF0dHJpYnV0ZU1hcCgpKSB7CisgICAg
aWYgKGF0dHJpYnV0ZURhdGEoKSkgewogICAgICAgICBpZiAoYXR0ci0+aXNOdWxsKCkpCi0gICAg
ICAgICAgICBhdHRyaWJ1dGVNYXAoKS0+c2V0SWRGb3JTdHlsZVJlc29sdXRpb24obnVsbEF0b20p
OworICAgICAgICAgICAgYXR0cmlidXRlRGF0YSgpLT5zZXRJZEZvclN0eWxlUmVzb2x1dGlvbihu
dWxsQXRvbSk7CiAgICAgICAgIGVsc2UgaWYgKGRvY3VtZW50KCktPmluUXVpcmtzTW9kZSgpKQot
ICAgICAgICAgICAgYXR0cmlidXRlTWFwKCktPnNldElkRm9yU3R5bGVSZXNvbHV0aW9uKGF0dHIt
PnZhbHVlKCkubG93ZXIoKSk7CisgICAgICAgICAgICBhdHRyaWJ1dGVEYXRhKCktPnNldElkRm9y
U3R5bGVSZXNvbHV0aW9uKGF0dHItPnZhbHVlKCkubG93ZXIoKSk7CiAgICAgICAgIGVsc2UKLSAg
ICAgICAgICAgIGF0dHJpYnV0ZU1hcCgpLT5zZXRJZEZvclN0eWxlUmVzb2x1dGlvbihhdHRyLT52
YWx1ZSgpKTsKKyAgICAgICAgICAgIGF0dHJpYnV0ZURhdGEoKS0+c2V0SWRGb3JTdHlsZVJlc29s
dXRpb24oYXR0ci0+dmFsdWUoKSk7CiAgICAgfQogICAgIHNldE5lZWRzU3R5bGVSZWNhbGMoKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5oCmluZGV4IDI1ZWM3ODU2ODVlMGUyOTdlYzBjYjIyZjBiMDY5M2I0
OWVkYzVlZmMuLjAxNGEyOGQxYjBkOTQwOTY1NmY2MTYxYWI3MGE1MDk4MjY0MmUxYjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuaApAQCAtMjI0LDYgKzIyNCw5IEBAIHB1YmxpYzoKIAogICAgIE5hbWVkTm9k
ZU1hcCogYXR0cmlidXRlTWFwKCkgY29uc3QgeyByZXR1cm4gbV9hdHRyaWJ1dGVNYXAuZ2V0KCk7
IH0KIAorICAgIEVsZW1lbnRBdHRyaWJ1dGVEYXRhKiBhdHRyaWJ1dGVEYXRhKCkgY29uc3QgeyBy
ZXR1cm4gbV9hdHRyaWJ1dGVNYXAgPyBtX2F0dHJpYnV0ZU1hcC0+YXR0cmlidXRlRGF0YSgpIDog
MDsgfQorICAgIEVsZW1lbnRBdHRyaWJ1dGVEYXRhKiBlbnN1cmVBdHRyaWJ1dGVEYXRhKCkgY29u
c3QgeyByZXR1cm4gYXR0cmlidXRlcygpLT5hdHRyaWJ1dGVEYXRhKCk7IH0KKwogICAgIHZvaWQg
c2V0QXR0cmlidXRlc0Zyb21FbGVtZW50KGNvbnN0IEVsZW1lbnQmKTsKIAogICAgIHZpcnR1YWwg
dm9pZCBjb3B5Tm9uQXR0cmlidXRlUHJvcGVydGllcyhjb25zdCBFbGVtZW50KiBzb3VyY2UpOwpA
QCAtNTcyLDcgKzU3NSw3IEBAIGlubGluZSBjb25zdCBBdG9taWNTdHJpbmcmIEVsZW1lbnQ6OmZh
c3RHZXRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSkKIGlubGluZSBjb25zdCBB
dG9taWNTdHJpbmcmIEVsZW1lbnQ6OmlkRm9yU3R5bGVSZXNvbHV0aW9uKCkgY29uc3QKIHsKICAg
ICBBU1NFUlQoaGFzSUQoKSk7Ci0gICAgcmV0dXJuIG1fYXR0cmlidXRlTWFwLT5pZEZvclN0eWxl
UmVzb2x1dGlvbigpOworICAgIHJldHVybiBhdHRyaWJ1dGVEYXRhKCktPmlkRm9yU3R5bGVSZXNv
bHV0aW9uKCk7CiB9CiAKIGlubGluZSBib29sIEVsZW1lbnQ6OmlzSWRBdHRyaWJ1dGVOYW1lKGNv
bnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudEF0dHJpYnV0ZURhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnRBdHRyaWJ1dGVEYXRhLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMjgzMzA0YmRjMDc1Y2E0
MTQ2YTU2NWJjMTY3YjYxM2Q1MjgwNmE1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnRBdHRyaWJ1dGVEYXRhLmNwcApAQCAtMCwwICsxLDM2IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAxOTk5IExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCisgKiAgICAgICAg
ICAgKEMpIDE5OTkgQW50dGkgS29pdmlzdG8gKGtvaXZpc3RvQGtkZS5vcmcpCisgKiAgICAgICAg
ICAgKEMpIDIwMDEgUGV0ZXIgS2VsbHkgKHBta0Bwb3N0LmNvbSkKKyAqICAgICAgICAgICAoQykg
MjAwMSBEaXJrIE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9yZykKKyAqIENvcHlyaWdodCAoQykgMjAw
MywgMjAwNCwgMjAwNSwgMjAwNiwgMjAwOCwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0
cyBzdWJzaWRpYXJ5KC1pZXMpLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNp
b24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJ
Qi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEw
LTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkVs
ZW1lbnRBdHRyaWJ1dGVEYXRhLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordm9pZCBFbGVt
ZW50QXR0cmlidXRlRGF0YTo6c2V0Q2xhc3MoY29uc3QgU3RyaW5nJiBjbGFzc05hbWUsIGJvb2wg
c2hvdWxkRm9sZENhc2UpCit7CisgICAgbV9jbGFzc05hbWVzLnNldChjbGFzc05hbWUsIHNob3Vs
ZEZvbGRDYXNlKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnRBdHRyaWJ1dGVEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudEF0dHJpYnV0ZURh
dGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5lZTY1OTIxZTJiZmFmNmYxOWU2ZDA1ODgyMGYwMGIxYTI3NzA4NmFh
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRBdHRyaWJ1dGVE
YXRhLmgKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMTk5OSBMYXJzIEtu
b2xsIChrbm9sbEBrZGUub3JnKQorICogICAgICAgICAgIChDKSAxOTk5IEFudHRpIEtvaXZpc3Rv
IChrb2l2aXN0b0BrZGUub3JnKQorICogICAgICAgICAgIChDKSAyMDAxIFBldGVyIEtlbGx5IChw
bWtAcG9zdC5jb20pCisgKiAgICAgICAgICAgKEMpIDIwMDEgRGlyayBNdWVsbGVyIChtdWVsbGVy
QGtkZS5vcmcpCisgKiBDb3B5cmlnaHQgKEMpIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDgs
IDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDEyIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4KKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChh
dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y
ZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorICovCisKKyNp
Zm5kZWYgRWxlbWVudEF0dHJpYnV0ZURhdGFfaAorI2RlZmluZSBFbGVtZW50QXR0cmlidXRlRGF0
YV9oCisKKyNpbmNsdWRlICJTcGFjZVNwbGl0U3RyaW5nLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgRWxlbWVudDsKKworY2xhc3MgRWxlbWVudEF0dHJpYnV0ZURhdGEgeworcHVi
bGljOgorICAgIHZvaWQgY2xlYXJDbGFzcygpIHsgbV9jbGFzc05hbWVzLmNsZWFyKCk7IH0KKyAg
ICB2b2lkIHNldENsYXNzKGNvbnN0IFN0cmluZyYgY2xhc3NOYW1lLCBib29sIHNob3VsZEZvbGRD
YXNlKTsKKyAgICBjb25zdCBTcGFjZVNwbGl0U3RyaW5nJiBjbGFzc05hbWVzKCkgY29uc3QgeyBy
ZXR1cm4gbV9jbGFzc05hbWVzOyB9CisKKyAgICBjb25zdCBBdG9taWNTdHJpbmcmIGlkRm9yU3R5
bGVSZXNvbHV0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9pZEZvclN0eWxlUmVzb2x1dGlvbjsgfQor
ICAgIHZvaWQgc2V0SWRGb3JTdHlsZVJlc29sdXRpb24oY29uc3QgQXRvbWljU3RyaW5nJiBuZXdJ
ZCkgeyBtX2lkRm9yU3R5bGVSZXNvbHV0aW9uID0gbmV3SWQ7IH0KKworcHJpdmF0ZToKKyAgICBm
cmllbmQgY2xhc3MgTmFtZWROb2RlTWFwOworCisgICAgRWxlbWVudEF0dHJpYnV0ZURhdGEoKQor
ICAgIHsKKyAgICB9CisKKyAgICBTcGFjZVNwbGl0U3RyaW5nIG1fY2xhc3NOYW1lczsKKyAgICBB
dG9taWNTdHJpbmcgbV9pZEZvclN0eWxlUmVzb2x1dGlvbjsKK307CisKK30KKworI2VuZGlmIC8v
IEVsZW1lbnRBdHRyaWJ1dGVEYXRhX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9O
YW1lZE5vZGVNYXAuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05hbWVkTm9kZU1hcC5jcHAKaW5k
ZXggMWI2YWNhMGNkZTRjZGUyMjNhOTIyMjkxMDU5NDU3ODBjYjA0ZTU4NC4uMDViZWMxZmM3NjE1
ODI3NWZiMTMyYzk5ODNjODEzYWU2MzFjN2NjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL05hbWVkTm9kZU1hcC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05hbWVkTm9kZU1h
cC5jcHAKQEAgLTIwMCw3ICsyMDAsNyBAQCBzaXplX3QgTmFtZWROb2RlTWFwOjpnZXRBdHRyaWJ1
dGVJdGVtSW5kZXhTbG93Q2FzZShjb25zdCBTdHJpbmcmIG5hbWUsIGJvb2wgc2hvdQogCiB2b2lk
IE5hbWVkTm9kZU1hcDo6Y2xlYXJBdHRyaWJ1dGVzKCkKIHsKLSAgICBtX2NsYXNzTmFtZXMuY2xl
YXIoKTsKKyAgICBhdHRyaWJ1dGVEYXRhKCktPmNsZWFyQ2xhc3MoKTsKICAgICBkZXRhY2hBdHRy
aWJ1dGVzRnJvbUVsZW1lbnQoKTsKICAgICBtX2F0dHJpYnV0ZXMuY2xlYXIoKTsKIH0KQEAgLTMw
MSwxNiArMzAxLDYgQEAgdm9pZCBOYW1lZE5vZGVNYXA6OnJlcGxhY2VBdHRyaWJ1dGUoc2l6ZV90
IGluZGV4LCBQYXNzUmVmUHRyPEF0dHJpYnV0ZT4gcHJwQXR0cmkKICAgICAgICAgbV9lbGVtZW50
LT5kaWRNb2RpZnlBdHRyaWJ1dGUoYXR0cmlidXRlLmdldCgpKTsKIH0KIAotdm9pZCBOYW1lZE5v
ZGVNYXA6OnNldENsYXNzKGNvbnN0IFN0cmluZyYgY2xhc3NTdHIpIAoteyAKLSAgICBpZiAoIWVs
ZW1lbnQoKS0+aGFzQ2xhc3MoKSkgeyAKLSAgICAgICAgbV9jbGFzc05hbWVzLmNsZWFyKCk7IAot
ICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgbV9jbGFzc05hbWVzLnNldChjbGFzc1N0ciwg
ZWxlbWVudCgpLT5kb2N1bWVudCgpLT5pblF1aXJrc01vZGUoKSk7IAotfQotCiBib29sIE5hbWVk
Tm9kZU1hcDo6bWFwc0VxdWl2YWxlbnQoY29uc3QgTmFtZWROb2RlTWFwKiBvdGhlck1hcCkgY29u
c3QKIHsKICAgICBpZiAoIW90aGVyTWFwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L05hbWVkTm9kZU1hcC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL05hbWVkTm9kZU1hcC5oCmluZGV4
IDA5MDVkNjQ3NWU1YTcwMzFjNDlhMmQxMDE0MzJjMGM2MDU4ZjBhZmQuLmY2ZTgxNzBlOGViZTE1
ZmUyM2EwMWNmNGMxMGEwNWE4NTkwM2FmNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9OYW1lZE5vZGVNYXAuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmgK
QEAgLTI2LDYgKzI2LDcgQEAKICNkZWZpbmUgTmFtZWROb2RlTWFwX2gKIAogI2luY2x1ZGUgIkF0
dHJpYnV0ZS5oIgorI2luY2x1ZGUgIkVsZW1lbnRBdHRyaWJ1dGVEYXRhLmgiCiAjaW5jbHVkZSAi
U3BhY2VTcGxpdFN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Ob3RGb3VuZC5oPgogCkBAIC04NCw5
ICs4NSw2IEBAIHB1YmxpYzoKICAgICAgICAgICAgIGFkZEF0dHJpYnV0ZShuZXdBdHRyaWJ1dGUp
OwogICAgIH0KIAotICAgIGNvbnN0IEF0b21pY1N0cmluZyYgaWRGb3JTdHlsZVJlc29sdXRpb24o
KSBjb25zdCB7IHJldHVybiBtX2lkRm9yU3R5bGVSZXNvbHV0aW9uOyB9Ci0gICAgdm9pZCBzZXRJ
ZEZvclN0eWxlUmVzb2x1dGlvbihjb25zdCBBdG9taWNTdHJpbmcmIG5ld0lkKSB7IG1faWRGb3JT
dHlsZVJlc29sdXRpb24gPSBuZXdJZDsgfQotCiAgICAgYm9vbCBtYXBzRXF1aXZhbGVudChjb25z
dCBOYW1lZE5vZGVNYXAqIG90aGVyTWFwKSBjb25zdDsKIAogICAgIC8vIFRoZXNlIGZ1bmN0aW9u
cyBkbyBubyBlcnJvciBjaGVja2luZy4KQEAgLTk2LDEyICs5NCwxMSBAQCBwdWJsaWM6CiAKICAg
ICBFbGVtZW50KiBlbGVtZW50KCkgY29uc3QgeyByZXR1cm4gbV9lbGVtZW50OyB9CiAKLSAgICB2
b2lkIGNsZWFyQ2xhc3MoKSB7IG1fY2xhc3NOYW1lcy5jbGVhcigpOyB9Ci0gICAgdm9pZCBzZXRD
bGFzcyhjb25zdCBTdHJpbmcmKTsKLSAgICBjb25zdCBTcGFjZVNwbGl0U3RyaW5nJiBjbGFzc05h
bWVzKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc05hbWVzOyB9Ci0KICAgICBzaXplX3QgbWFwcGVk
QXR0cmlidXRlQ291bnQoKSBjb25zdDsKIAorICAgIEVsZW1lbnRBdHRyaWJ1dGVEYXRhKiBhdHRy
aWJ1dGVEYXRhKCkgeyByZXR1cm4gJm1fYXR0cmlidXRlRGF0YTsgfQorICAgIGNvbnN0IEVsZW1l
bnRBdHRyaWJ1dGVEYXRhKiBhdHRyaWJ1dGVEYXRhKCkgY29uc3QgeyByZXR1cm4gJm1fYXR0cmli
dXRlRGF0YTsgfQorCiBwcml2YXRlOgogICAgIE5hbWVkTm9kZU1hcChFbGVtZW50KiBlbGVtZW50
KQogICAgICAgICA6IG1fZWxlbWVudChlbGVtZW50KQpAQCAtMTE3LDEwICsxMTQsMTMgQEAgcHJp
dmF0ZToKICAgICB2b2lkIGNsZWFyQXR0cmlidXRlcygpOwogICAgIHZvaWQgcmVwbGFjZUF0dHJp
YnV0ZShzaXplX3QgaW5kZXgsIFBhc3NSZWZQdHI8QXR0cmlidXRlPik7CiAKLSAgICBTcGFjZVNw
bGl0U3RyaW5nIG1fY2xhc3NOYW1lczsKKyAgICAvLyBGSVhNRTogTmFtZWROb2RlTWFwIGlzIGJl
aW5nIGJyb2tlbiB1cCBpbnRvIHR3byBjbGFzc2VzLCBvbmUgY29udGFpbmluZyBkYXRhCisgICAg
Ly8gICAgICAgIGZvciBlbGVtZW50cyB3aXRoIGF0dHJpYnV0ZXMsIGFuZCBvbmUgZm9yIGV4cG9z
dXJlIHRvIHRoZSBET00uCisgICAgLy8gICAgICAgIFNlZSA8aHR0cDovL3dlYmtpdC5vcmcvYi83
NTA2OT4gZm9yIG1vcmUgaW5mb3JtYXRpb24uCisgICAgRWxlbWVudEF0dHJpYnV0ZURhdGEgbV9h
dHRyaWJ1dGVEYXRhOworCiAgICAgRWxlbWVudCogbV9lbGVtZW50OwogICAgIFZlY3RvcjxSZWZQ
dHI8QXR0cmlidXRlPiwgND4gbV9hdHRyaWJ1dGVzOwotICAgIEF0b21pY1N0cmluZyBtX2lkRm9y
U3R5bGVSZXNvbHV0aW9uOwogfTsKIAogaW5saW5lIEF0dHJpYnV0ZSogTmFtZWROb2RlTWFwOjpn
ZXRBdHRyaWJ1dGVJdGVtKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUpIGNvbnN0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKaW5kZXggY2I5ZTQ1MjRkM2FmZDMwMDk3ZWNlMTBlY2U5
ZjUwODI2Y2NmNmM4OS4uNGJlMjI0YzAxMzk1MDYwYWUwOGNlMWIwMmZjMTE2MWY2NmFiZTIzNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcApAQCAtMjE1LDExICsyMTUsMTIgQEAg
dm9pZCBTdHlsZWRFbGVtZW50OjpjbGFzc0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgQXRvbWljU3Ry
aW5nJiBuZXdDbGFzc1N0cmluZykKICAgICBib29sIGhhc0NsYXNzID0gaSA8IGxlbmd0aDsKICAg
ICBzZXRIYXNDbGFzcyhoYXNDbGFzcyk7CiAgICAgaWYgKGhhc0NsYXNzKSB7Ci0gICAgICAgIGF0
dHJpYnV0ZXMoKS0+c2V0Q2xhc3MobmV3Q2xhc3NTdHJpbmcpOworICAgICAgICBjb25zdCBib29s
IHNob3VsZEZvbGRDYXNlID0gZG9jdW1lbnQoKS0+aW5RdWlya3NNb2RlKCk7CisgICAgICAgIGVu
c3VyZUF0dHJpYnV0ZURhdGEoKS0+c2V0Q2xhc3MobmV3Q2xhc3NTdHJpbmcsIHNob3VsZEZvbGRD
YXNlKTsKICAgICAgICAgaWYgKERPTVRva2VuTGlzdCogY2xhc3NMaXN0ID0gb3B0aW9uYWxDbGFz
c0xpc3QoKSkKICAgICAgICAgICAgIHN0YXRpY19jYXN0PENsYXNzTGlzdCo+KGNsYXNzTGlzdCkt
PnJlc2V0KG5ld0NsYXNzU3RyaW5nKTsKLSAgICB9IGVsc2UgaWYgKGF0dHJpYnV0ZU1hcCgpKQot
ICAgICAgICBhdHRyaWJ1dGVNYXAoKS0+Y2xlYXJDbGFzcygpOworICAgIH0gZWxzZSBpZiAoYXR0
cmlidXRlRGF0YSgpKQorICAgICAgICBhdHRyaWJ1dGVEYXRhKCktPmNsZWFyQ2xhc3MoKTsKICAg
ICBzZXROZWVkc1N0eWxlUmVjYWxjKCk7CiAgICAgZGlzcGF0Y2hTdWJ0cmVlTW9kaWZpZWRFdmVu
dCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmgKaW5kZXggOWQ0N2IzNzgzNTVhMjBj
NjRkMWM1ZDI1M2EyZGFhYmQ5OGJkOWJkMS4uODQ3YzUwZjFhZjNkODBlMjFjOGI0N2RhZTBiMTc1
ZjA0M2U0Y2VjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5oCkBAIC05OCw4ICs5OCw4
IEBAIHByaXZhdGU6CiBpbmxpbmUgY29uc3QgU3BhY2VTcGxpdFN0cmluZyYgU3R5bGVkRWxlbWVu
dDo6Y2xhc3NOYW1lcygpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGhhc0NsYXNzKCkpOwotICAgIEFT
U0VSVChhdHRyaWJ1dGVNYXAoKSk7Ci0gICAgcmV0dXJuIGF0dHJpYnV0ZU1hcCgpLT5jbGFzc05h
bWVzKCk7CisgICAgQVNTRVJUKGF0dHJpYnV0ZURhdGEoKSk7CisgICAgcmV0dXJuIGF0dHJpYnV0
ZURhdGEoKS0+Y2xhc3NOYW1lcygpOwogfQogCiBpbmxpbmUgdm9pZCBTdHlsZWRFbGVtZW50Ojpp
bnZhbGlkYXRlU3R5bGVBdHRyaWJ1dGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9DbGFzc0xpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9DbGFzc0xpc3QuY3BwCmluZGV4
IDM0OWQ2NGRjZWVhZDcyOGQ2Y2EyZTcyMDA3ZGUxNjY3ZmIxNGNmYzEuLjJlYTgzODIwMjhjNzdm
ODZhZDliYmY2ZWZiMzgyMDE4OGFlYjM1ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvQ2xhc3NMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0NsYXNzTGlzdC5jcHAK
QEAgLTE0MCw3ICsxNDAsNyBAQCBjb25zdCBTcGFjZVNwbGl0U3RyaW5nJiBDbGFzc0xpc3Q6OmNs
YXNzTmFtZXMoKSBjb25zdAogICAgIEFTU0VSVChtX2VsZW1lbnQtPmhhc0NsYXNzKCkpOwogICAg
IGlmICghbV9jbGFzc05hbWVzRm9yUXVpcmtzTW9kZS5pc051bGwoKSkKICAgICAgICAgcmV0dXJu
IG1fY2xhc3NOYW1lc0ZvclF1aXJrc01vZGU7Ci0gICAgcmV0dXJuIG1fZWxlbWVudC0+YXR0cmli
dXRlTWFwKCktPmNsYXNzTmFtZXMoKTsKKyAgICByZXR1cm4gbV9lbGVtZW50LT5hdHRyaWJ1dGVE
YXRhKCktPmNsYXNzTmFtZXMoKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124657</attachid>
            <date>2012-01-30 18:48:15 -0800</date>
            <delta_ts>2012-01-30 19:53:56 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-77233-20120130234812.patch</filename>
            <type>text/plain</type>
            <size>21523</size>
            <attacher name="Caio Marcelo de Oliveira Filho">cmarcelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2MzEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTQ3NTJmOWY4NWFiZWNi
MDhhYzE4YzUxYjc4MjQxZTMwNDRhY2RmNy4uMTVmZDdjNjYzYWU5YWYwMzBjYTdjYjMyNzZiN2Q3
ODY0OTFkZjAyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDEyLTAxLTMwICBDYWlv
IE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJhQG9wZW5ib3NzYS5vcmc+
CisKKyAgICAgICAgQWRkIEVsZW1lbnRBdHRyaWJ1dGVEYXRhIGNsYXNzIHRvIHJlcGxhY2UgaW50
ZXJuYWwgdXNlcyBvZiBOYW1lZE5vZGVNYXAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTc3MjMzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW5kcmVhcyBL
bGluZy4KKworICAgICAgICBNb3ZlIHBhcnQgb2Ygbm9uLURPTSBmdW5jdGlvbmFsaXR5IG9mIE5h
bWVkTm9kZU1hcCBpbnRvIGEgc2VwYXJhdGUgY2xhc3MuIFRoaXMgaXMKKyAgICAgICAgdGhlIGZp
cnN0IHN0ZXAgdG93YXJkIHRoZSBnb2FsIG9mIHNlcGFyYXRpbmcgTmFtZWROb2RlTWFwIGZyb20g
aW50ZXJuYWwgYXR0cmlidXRlCisgICAgICAgIHN0b3JhZ2UsIGFzIGRlc2NyaWJlZCBpbiBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNjkuCisKKyAgICAgICAgVGhl
IGludGVybmFsIGF0dHJpYnV0ZSBzdG9yYWdlIGlzIGV4cG9zZWQgYXMgYXR0cmlidXRlRGF0YSgp
IGluIEVsZW1lbnQsIGFuZCB3aGVuCisgICAgICAgIG5lY2Vzc2FyeSAoYmVjYXVzZSBpdCBoYXMg
bm8gYmFjayBwb2ludGVyIHRvIEVsZW1lbnQpIHZpYSBtZXRob2RzIGluIEVsZW1lbnQuCisKKyAg
ICAgICAgTm8gbmV3IHRlc3RzLiBFeGNlcHQgZnJvbSBzZXRDbGFzcygpIGNoYW5nZSB0aGlzIGlz
IGp1c3QgbW92aW5nIHRoZSBjb2RlLCBubyBuZXcKKyAgICAgICAgZmVhdHVyZSB3YXMgYWRkZWQu
CisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0
LmFtOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBkb20v
RE9NQWxsSW5PbmUuY3BwOgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkVsZW1lbnQ6OmlkQXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgICogZG9tL0VsZW1l
bnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmF0dHJpYnV0ZURhdGEpOgorICAgICAg
ICAoV2ViQ29yZTo6RWxlbWVudDo6ZW5zdXJlQXR0cmlidXRlRGF0YSk6CisgICAgICAgIChFbGVt
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmlkRm9yU3R5bGVSZXNvbHV0aW9uKToK
KyAgICAgICAgKiBkb20vRWxlbWVudEF0dHJpYnV0ZURhdGEuY3BwOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudEF0dHJpYnV0ZURhdGE6OnNldENs
YXNzKTogdGhlIG9ubHkgY2FsbGVyIG9mIHRoaXMgZnVuY3Rpb24KKyAgICAgICAgYWxyZWFkeSBk
ZWFsIHdpdGggdGhlIGNhc2Ugd2hlbiB0aGUgZWxlbWVudCBoYXMgbm8gY2xhc3MsIHNvIGRvbid0
IGRvIGl0IGhlcmUuCisgICAgICAgICogZG9tL0VsZW1lbnRBdHRyaWJ1dGVEYXRhLmg6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChFbGVtZW50QXR0cmlidXRlRGF0YSk6Cisg
ICAgICAgIChXZWJDb3JlOjpFbGVtZW50QXR0cmlidXRlRGF0YTo6Y2xlYXJDbGFzcyk6CisgICAg
ICAgIChXZWJDb3JlOjpFbGVtZW50QXR0cmlidXRlRGF0YTo6Y2xhc3NOYW1lcyk6CisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50QXR0cmlidXRlRGF0YTo6aWRGb3JTdHlsZVJlc29sdXRpb24pOgor
ICAgICAgICAoV2ViQ29yZTo6RWxlbWVudEF0dHJpYnV0ZURhdGE6OnNldElkRm9yU3R5bGVSZXNv
bHV0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRBdHRyaWJ1dGVEYXRhOjpFbGVtZW50
QXR0cmlidXRlRGF0YSk6CisgICAgICAgICogZG9tL05hbWVkTm9kZU1hcC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpOYW1lZE5vZGVNYXA6OmNsZWFyQXR0cmlidXRlcyk6CisgICAgICAgICogZG9t
L05hbWVkTm9kZU1hcC5oOgorICAgICAgICAoV2ViQ29yZTo6TmFtZWROb2RlTWFwOjphdHRyaWJ1
dGVEYXRhKToKKyAgICAgICAgKE5hbWVkTm9kZU1hcCk6CisgICAgICAgICogZG9tL1N0eWxlZEVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVkRWxlbWVudDo6Y2xhc3NBdHRyaWJ1
dGVDaGFuZ2VkKToKKyAgICAgICAgKiBkb20vU3R5bGVkRWxlbWVudC5oOgorICAgICAgICAoV2Vi
Q29yZTo6U3R5bGVkRWxlbWVudDo6Y2xhc3NOYW1lcyk6CisgICAgICAgICogaHRtbC9DbGFzc0xp
c3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2xhc3NMaXN0OjpjbGFzc05hbWVzKToKKwogMjAx
Mi0wMS0zMCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAg
IFNob3cgcmVwYWludCBjb3VudGVycyBpbiBpbmRpdmlkdWFsIHRpbGVzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CmluZGV4IGVmYmY5ZjY4NDI5NzBmNmQ1MTg3OGE0NDVkZTA1YzBlOGJiNGMzZTkuLjc3ZWYw
YzI0ZTFiMzYzZjQ5Yjg1YzI1NmIzZTE1MTg2Y2Y5YWNmZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CkBAIC01NDYsNiArNTQ2LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGRvbS9EeW5hbWlj
Tm9kZUxpc3QuY3BwCiAgICAgZG9tL0VkaXRpbmdUZXh0LmNwcAogICAgIGRvbS9FbGVtZW50LmNw
cAorICAgIGRvbS9FbGVtZW50QXR0cmlidXRlRGF0YS5jcHAKICAgICBkb20vRW50aXR5UmVmZXJl
bmNlLmNwcAogICAgIGRvbS9FcnJvckV2ZW50LmNwcAogICAgIGRvbS9FdmVudC5jcHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDdjYjBmNjFmYTM0MWI0ODJhZmJjZmE0NmYzM2Qx
MjkxMWM1MjVhZmMuLjYxNTA5ZTU4MWQ3NzE5YTljZTIyZjRhMDQ2OGVjYjQ1MzcwMzg3YjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMTUzMyw2ICsxNTMzLDggQEAgd2ViY29y
ZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRWRpdGluZ1RleHQuaCBcCiAJU291
cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudEF0dHJpYnV0ZURhdGEuY3BwIFwKKwlT
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudEF0dHJpYnV0ZURhdGEuaCBcCiAJU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRW50aXR5Lmgg
XAogCVNvdXJjZS9XZWJDb3JlL2RvbS9FbnRpdHlSZWZlcmVuY2UuY3BwIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmlu
ZGV4IGIzNGM1NDIyOWUxMTk4YjEwYTgzZGQ3YzM2MDIzOGI3ZDc2ZWEwMDQuLjA5MTI5ZmFkMjc0
ZDI5YWQ3ZDk1N2E3YmU0YjFlZmMzNjMyNjMwNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtNTA5LDYgKzUw
OSw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGRvbS9EeW5hbWljTm9kZUxpc3QuY3BwIFwKICAgICBk
b20vRWRpdGluZ1RleHQuY3BwIFwKICAgICBkb20vRWxlbWVudC5jcHAgXAorICAgIGRvbS9FbGVt
ZW50QXR0cmlidXRlRGF0YS5jcHAgXAogICAgIGRvbS9FbnRpdHlSZWZlcmVuY2UuY3BwIFwKICAg
ICBkb20vRXJyb3JFdmVudC5jcHAgXAogICAgIGRvbS9FdmVudC5jcHAgXApAQCAtMTYyMiw2ICsx
NjIzLDcgQEAgSEVBREVSUyArPSBcCiAgICAgZG9tL0R5bmFtaWNOb2RlTGlzdC5oIFwKICAgICBk
b20vRWRpdGluZ1RleHQuaCBcCiAgICAgZG9tL0VsZW1lbnQuaCBcCisgICAgZG9tL0VsZW1lbnRB
dHRyaWJ1dGVEYXRhLmggXAogICAgIGRvbS9FbnRpdHkuaCBcCiAgICAgZG9tL0VudGl0eVJlZmVy
ZW5jZS5oIFwKICAgICBkb20vRXZlbnQuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMDMzMGYxMGQ0
Zjc2YmYxYTk1YjY5MTYxMGNiYzA3NWEwYjNlMzc5ZS4uOWMwZGFjMmEyOGJhYmU1ZDlhNjY0NTI1
YzZkM2M5YWFhZGI1MTQ4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtNTk1LDYgKzU5NSw3IEBACiAg
ICAgICAgICAgICAnZG9tL0RvY3VtZW50VGltaW5nLmgnLAogICAgICAgICAgICAgJ2RvbS9Eb2N1
bWVudFR5cGUuaCcsCiAgICAgICAgICAgICAnZG9tL0VsZW1lbnQuaCcsCisgICAgICAgICAgICAn
ZG9tL0VsZW1lbnRBdHRyaWJ1dGVEYXRhLmgnLAogICAgICAgICAgICAgJ2RvbS9FdmVudC5oJywK
ICAgICAgICAgICAgICdkb20vRXZlbnRMaXN0ZW5lci5oJywKICAgICAgICAgICAgICdkb20vRXZl
bnRMaXN0ZW5lck1hcC5oJywKQEAgLTQ5OTQsNiArNDk5NSw3IEBACiAgICAgICAgICAgICAnZG9t
L0VkaXRpbmdUZXh0LmNwcCcsCiAgICAgICAgICAgICAnZG9tL0VkaXRpbmdUZXh0LmgnLAogICAg
ICAgICAgICAgJ2RvbS9FbGVtZW50LmNwcCcsCisgICAgICAgICAgICAnZG9tL0VsZW1lbnRBdHRy
aWJ1dGVEYXRhLmNwcCcsCiAgICAgICAgICAgICAnZG9tL0VsZW1lbnRSYXJlRGF0YS5oJywKICAg
ICAgICAgICAgICdkb20vRW50aXR5LmgnLAogICAgICAgICAgICAgJ2RvbS9FbnRpdHlSZWZlcmVu
Y2UuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCA2M2Q4NjhhNjRkNDdjZWZiOTc5YTA3ZGQxOWE4YTFkZWY2MzMyZmQwLi45
NDRkZmQ0ZGRiN2QzMWMzMDhiZTc1NGVlZTQ1MjA5MDM4Zjc1OTBhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC03MzMsNiArNzMz
LDggQEAKIAkJMjlEN0JDRkExNDQ0QUY3RDAwNzA2MTlDIC8qIEFjY2Vzc2liaWxpdHlTcGluQnV0
dG9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUQ3
QkNGOTE0NDRBRjdEMDA3MDYxOUMgLyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCAqLzsgfTsK
IAkJMkJFOEUyQzcxMkE1ODlFQzAwRkFENTUwIC8qIEhUTUxNZXRhQ2hhcnNldFBhcnNlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkJFOEUyQzYxMkE1
ODlFQzAwRkFENTUwIC8qIEhUTUxNZXRhQ2hhcnNldFBhcnNlci5oICovOyB9OwogCQkyQkU4RTJD
OTEyQTU4QTAxMDBGQUQ1NTAgLyogSFRNTE1ldGFDaGFyc2V0UGFyc2VyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJCRThFMkM4MTJBNThBMDEwMEZB
RDU1MCAvKiBIVE1MTWV0YUNoYXJzZXRQYXJzZXIuY3BwICovOyB9OworCQkyQ0Y2ODc4ODE0RDMy
RUI1MDAzNDBGMzkgLyogRWxlbWVudEF0dHJpYnV0ZURhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkNGNjg3ODcxNEQzMkVCNTAwMzQwRjM5IC8q
IEVsZW1lbnRBdHRyaWJ1dGVEYXRhLmNwcCAqLzsgfTsKKwkJMkNGNjg3OEExNEQzMkVGRjAwMzQw
RjM5IC8qIEVsZW1lbnRBdHRyaWJ1dGVEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyQ0Y2ODc4OTE0RDMyRUZGMDAzNDBGMzkgLyogRWxlbWVudEF0
dHJpYnV0ZURhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQkyRDNBMEUzNjEzQTdENzYxMDBFODVBRjAgLyogU1ZHUGFyc2luZ0Vycm9yLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDNBMEUzNTEzQTdE
NzYxMDBFODVBRjAgLyogU1ZHUGFyc2luZ0Vycm9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMkQ0ODFGMDAxNDZCNUM0QzAwQUE3ODM0IC8qIENy
b3NzZmFkZUdlbmVyYXRlZEltYWdlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDJEMkZDMDU0MTQ2MENENkYwMDI2MzYzMyAvKiBDcm9zc2ZhZGVHZW5l
cmF0ZWRJbWFnZS5jcHAgKi87IH07CiAJCTJENDgxRjAyMTQ2QjVDNTUwMEFBNzgzNCAvKiBDcm9z
c2ZhZGVHZW5lcmF0ZWRJbWFnZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMkQyRkMwNTUxNDYwQ0Q2RjAwMjYzNjMzIC8qIENyb3NzZmFkZUdlbmVyYXRl
ZEltYWdlLmggKi87IH07CkBAIC03NDc5LDYgKzc0ODEsOCBAQAogCQkyOUQ3QkNGOTE0NDRBRjdE
MDA3MDYxOUMgLyogQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMkJFOEUyQzYxMkE1ODlFQzAwRkFENTUwIC8qIEhUTUxNZXRhQ2hhcnNl
dFBhcnNlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBIVE1MTWV0YUNoYXJz
ZXRQYXJzZXIuaDsgcGF0aCA9IHBhcnNlci9IVE1MTWV0YUNoYXJzZXRQYXJzZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkJFOEUyQzgxMkE1OEEwMTAwRkFENTUwIC8qIEhUTUxN
ZXRhQ2hhcnNldFBhcnNlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUg
PSBIVE1MTWV0YUNoYXJzZXRQYXJzZXIuY3BwOyBwYXRoID0gcGFyc2VyL0hUTUxNZXRhQ2hhcnNl
dFBhcnNlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJDRjY4Nzg3MTREMzJF
QjUwMDM0MEYzOSAvKiBFbGVtZW50QXR0cmlidXRlRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBFbGVtZW50QXR0cmlidXRlRGF0YS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTJDRjY4Nzg5MTREMzJFRkYwMDM0MEYzOSAvKiBFbGVtZW50QXR0
cmlidXRlRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFbGVtZW50QXR0
cmlidXRlRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDJGQzA1NDE0NjBD
RDZGMDAyNjM2MzMgLyogQ3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2UuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2UuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDJGQzA1NTE0NjBDRDZGMDAyNjM2MzMgLyogQ3Jv
c3NmYWRlR2VuZXJhdGVkSW1hZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
Q3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MkQyRkMwNTYxNDYwQ0Q2RjAwMjYzNjMzIC8qIEdlbmVyYXRvckdlbmVyYXRlZEltYWdlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdlbmVyYXRvckdlbmVyYXRlZElt
YWdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIwNDUyLDYgKzIwNDU2LDgg
QEAKIAkJCQlBOEM0QTdGNjA5RDU2MzI3MDAwM0FDOEQgLyogRWxlbWVudC5jcHAgKi8sCiAJCQkJ
QThDNEE3RjUwOUQ1NjMyNzAwMDNBQzhEIC8qIEVsZW1lbnQuaCAqLywKIAkJCQk5M0VFQzFFQTA5
QzI4Nzc3MDBDNTE1RDEgLyogRWxlbWVudC5pZGwgKi8sCisJCQkJMkNGNjg3ODcxNEQzMkVCNTAw
MzQwRjM5IC8qIEVsZW1lbnRBdHRyaWJ1dGVEYXRhLmNwcCAqLywKKwkJCQkyQ0Y2ODc4OTE0RDMy
RUZGMDAzNDBGMzkgLyogRWxlbWVudEF0dHJpYnV0ZURhdGEuaCAqLywKIAkJCQk2MzdCN0FERTBF
ODc2N0I4MDBFMzIxOTQgLyogRWxlbWVudFJhcmVEYXRhLmggKi8sCiAJCQkJQThFQTdFQkEwQTE5
NDVEMDAwQThFRjVGIC8qIEVudGl0eS5oICovLAogCQkJCTkzRUVDMUVCMDlDMjg3NzcwMEM1MTVE
MSAvKiBFbnRpdHkuaWRsICovLApAQCAtMjQxMDEsNiArMjQxMDcsNyBAQAogCQkJCThBRDBBNTk2
MTRDODgzNTgwMDBEODNDNSAvKiBET01XZWJLaXRDU1NSZWdpb25SdWxlLmggaW4gSGVhZGVycyAq
LywKIAkJCQk4QUQwQTU5ODE0Qzg4MzU4MDAwRDgzQzUgLyogRE9NV2ViS2l0Q1NTUmVnaW9uUnVs
ZUludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzIwQjBBMTE0RDMzMjM1MDA2NDI5NTUg
LyogR2VuZXJpY0V2ZW50UXVldWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTJDRjY4NzhBMTREMzJF
RkYwMDM0MEYzOSAvKiBFbGVtZW50QXR0cmlidXRlRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkp
OwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0y
NzAzMCw2ICsyNzAzNyw3IEBACiAJCQkJRkQ1MzczNTIxMzdCNjUxODAwMDA4RENFIC8qIFplcm9Q
b2xlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTU3M0QxMzQ3MTRDRTM5RkYwMDU3QUJDQSAvKiBJ
bnNwZWN0b3JUeXBlQnVpbGRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwNzIwQjBBMDE0RDMz
MjM1MDA2NDI5NTUgLyogR2VuZXJpY0V2ZW50UXVldWUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
MkNGNjg3ODgxNEQzMkVCNTAwMzQwRjM5IC8qIEVsZW1lbnRBdHRyaWJ1dGVEYXRhLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Npbmcg
PSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTUFsbEluT25lLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJbk9uZS5jcHAKaW5kZXggZjJjYjQ2N2RjYzEz
M2NiYjNkODA0MGZlMTA2YzJiZThkZTEyOGI4Ni4uNTA0MjJkNWFjZjY2YzlmZDk3ZjQzY2U3MjRm
Y2NmZTBlNDhlZTIzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTUFsbEluT25l
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5PbmUuY3BwCkBAIC02Nyw2ICs2
Nyw3IEBACiAjaW5jbHVkZSAiRHluYW1pY05vZGVMaXN0LmNwcCIKICNpbmNsdWRlICJFZGl0aW5n
VGV4dC5jcHAiCiAjaW5jbHVkZSAiRWxlbWVudC5jcHAiCisjaW5jbHVkZSAiRWxlbWVudEF0dHJp
YnV0ZURhdGEuY3BwIgogI2luY2x1ZGUgIkVudGl0eVJlZmVyZW5jZS5jcHAiCiAjaW5jbHVkZSAi
RXJyb3JFdmVudC5jcHAiCiAjaW5jbHVkZSAiRXZlbnQuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3Bw
CmluZGV4IDAxMWUyNTg5N2MxNTVlMzUyZjVjMTU0OGU3OTNjZjNiNzVkMGMyZmIuLjQ0ZTRjOTQ0
Zjg0MGE0NTZlZWIyNTcxMjVmZDFiMzZkODcwOWQ1MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAK
QEAgLTcxMCwxMyArNzEwLDEzIEBAIHZvaWQgRWxlbWVudDo6cmVjYWxjU3R5bGVJZk5lZWRlZEFm
dGVyQXR0cmlidXRlQ2hhbmdlZChBdHRyaWJ1dGUqIGF0dHIpCiB2b2lkIEVsZW1lbnQ6OmlkQXR0
cmlidXRlQ2hhbmdlZChBdHRyaWJ1dGUqIGF0dHIpCiB7CiAgICAgc2V0SGFzSUQoIWF0dHItPmlz
TnVsbCgpKTsKLSAgICBpZiAoYXR0cmlidXRlTWFwKCkpIHsKKyAgICBpZiAoYXR0cmlidXRlRGF0
YSgpKSB7CiAgICAgICAgIGlmIChhdHRyLT5pc051bGwoKSkKLSAgICAgICAgICAgIGF0dHJpYnV0
ZU1hcCgpLT5zZXRJZEZvclN0eWxlUmVzb2x1dGlvbihudWxsQXRvbSk7CisgICAgICAgICAgICBh
dHRyaWJ1dGVEYXRhKCktPnNldElkRm9yU3R5bGVSZXNvbHV0aW9uKG51bGxBdG9tKTsKICAgICAg
ICAgZWxzZSBpZiAoZG9jdW1lbnQoKS0+aW5RdWlya3NNb2RlKCkpCi0gICAgICAgICAgICBhdHRy
aWJ1dGVNYXAoKS0+c2V0SWRGb3JTdHlsZVJlc29sdXRpb24oYXR0ci0+dmFsdWUoKS5sb3dlcigp
KTsKKyAgICAgICAgICAgIGF0dHJpYnV0ZURhdGEoKS0+c2V0SWRGb3JTdHlsZVJlc29sdXRpb24o
YXR0ci0+dmFsdWUoKS5sb3dlcigpKTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgYXR0cmli
dXRlTWFwKCktPnNldElkRm9yU3R5bGVSZXNvbHV0aW9uKGF0dHItPnZhbHVlKCkpOworICAgICAg
ICAgICAgYXR0cmlidXRlRGF0YSgpLT5zZXRJZEZvclN0eWxlUmVzb2x1dGlvbihhdHRyLT52YWx1
ZSgpKTsKICAgICB9CiAgICAgc2V0TmVlZHNTdHlsZVJlY2FsYygpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmgKaW5kZXggMjVlYzc4NTY4NWUwZTI5N2VjMGNiMjJmMGIwNjkzYjQ5ZWRjNWVmYy4uMDE0YTI4
ZDFiMGQ5NDA5NjU2ZjYxNjFhYjcwYTUwOTgyNjQyZTFiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCkBA
IC0yMjQsNiArMjI0LDkgQEAgcHVibGljOgogCiAgICAgTmFtZWROb2RlTWFwKiBhdHRyaWJ1dGVN
YXAoKSBjb25zdCB7IHJldHVybiBtX2F0dHJpYnV0ZU1hcC5nZXQoKTsgfQogCisgICAgRWxlbWVu
dEF0dHJpYnV0ZURhdGEqIGF0dHJpYnV0ZURhdGEoKSBjb25zdCB7IHJldHVybiBtX2F0dHJpYnV0
ZU1hcCA/IG1fYXR0cmlidXRlTWFwLT5hdHRyaWJ1dGVEYXRhKCkgOiAwOyB9CisgICAgRWxlbWVu
dEF0dHJpYnV0ZURhdGEqIGVuc3VyZUF0dHJpYnV0ZURhdGEoKSBjb25zdCB7IHJldHVybiBhdHRy
aWJ1dGVzKCktPmF0dHJpYnV0ZURhdGEoKTsgfQorCiAgICAgdm9pZCBzZXRBdHRyaWJ1dGVzRnJv
bUVsZW1lbnQoY29uc3QgRWxlbWVudCYpOwogCiAgICAgdmlydHVhbCB2b2lkIGNvcHlOb25BdHRy
aWJ1dGVQcm9wZXJ0aWVzKGNvbnN0IEVsZW1lbnQqIHNvdXJjZSk7CkBAIC01NzIsNyArNTc1LDcg
QEAgaW5saW5lIGNvbnN0IEF0b21pY1N0cmluZyYgRWxlbWVudDo6ZmFzdEdldEF0dHJpYnV0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiBuYW1lKQogaW5saW5lIGNvbnN0IEF0b21pY1N0cmluZyYgRWxl
bWVudDo6aWRGb3JTdHlsZVJlc29sdXRpb24oKSBjb25zdAogewogICAgIEFTU0VSVChoYXNJRCgp
KTsKLSAgICByZXR1cm4gbV9hdHRyaWJ1dGVNYXAtPmlkRm9yU3R5bGVSZXNvbHV0aW9uKCk7Cisg
ICAgcmV0dXJuIGF0dHJpYnV0ZURhdGEoKS0+aWRGb3JTdHlsZVJlc29sdXRpb24oKTsKIH0KIAog
aW5saW5lIGJvb2wgRWxlbWVudDo6aXNJZEF0dHJpYnV0ZU5hbWUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgYXR0cmlidXRlTmFtZSkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50QXR0cmlidXRlRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudEF0dHJp
YnV0ZURhdGEuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEyODMzMDRiZGMwNzVjYTQxNDZhNTY1YmMxNjdiNjEz
ZDUyODA2YTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudEF0
dHJpYnV0ZURhdGEuY3BwCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDE5
OTkgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKKyAqICAgICAgICAgICAoQykgMTk5OSBBbnR0
aSBLb2l2aXN0byAoa29pdmlzdG9Aa2RlLm9yZykKKyAqICAgICAgICAgICAoQykgMjAwMSBQZXRl
ciBLZWxseSAocG1rQHBvc3QuY29tKQorICogICAgICAgICAgIChDKSAyMDAxIERpcmsgTXVlbGxl
ciAobXVlbGxlckBrZGUub3JnKQorICogQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA0LCAyMDA1LCAy
MDA2LCAyMDA4LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAxMiBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWll
cykuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0
ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4g
U3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoK
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRWxlbWVudEF0dHJpYnV0ZURh
dGEuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2b2lkIEVsZW1lbnRBdHRyaWJ1dGVEYXRh
OjpzZXRDbGFzcyhjb25zdCBTdHJpbmcmIGNsYXNzTmFtZSwgYm9vbCBzaG91bGRGb2xkQ2FzZSkK
K3sKKyAgICBtX2NsYXNzTmFtZXMuc2V0KGNsYXNzTmFtZSwgc2hvdWxkRm9sZENhc2UpOworfQor
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudEF0dHJpYnV0ZURhdGEu
aCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50QXR0cmlidXRlRGF0YS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmVlNjU5MjFlMmJmYWY2ZjE5ZTZkMDU4ODIwZjAwYjFhMjc3MDg2YWEKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudEF0dHJpYnV0ZURhdGEuaApAQCAtMCwwICsx
LDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAxOTk5IExhcnMgS25vbGwgKGtub2xsQGtkZS5v
cmcpCisgKiAgICAgICAgICAgKEMpIDE5OTkgQW50dGkgS29pdmlzdG8gKGtvaXZpc3RvQGtkZS5v
cmcpCisgKiAgICAgICAgICAgKEMpIDIwMDEgUGV0ZXIgS2VsbHkgKHBta0Bwb3N0LmNvbSkKKyAq
ICAgICAgICAgICAoQykgMjAwMSBEaXJrIE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9yZykKKyAqIENv
cHlyaWdodCAoQykgMjAwMywgMjAwNCwgMjAwNSwgMjAwNiwgMjAwOCwgMjAxMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgTm9raWEgQ29ycG9y
YXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgorICoKKyAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisg
KiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQor
ICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgor
ICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUg
ZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2lmbmRlZiBFbGVtZW50QXR0
cmlidXRlRGF0YV9oCisjZGVmaW5lIEVsZW1lbnRBdHRyaWJ1dGVEYXRhX2gKKworI2luY2x1ZGUg
IlNwYWNlU3BsaXRTdHJpbmcuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBFbGVt
ZW50OworCitjbGFzcyBFbGVtZW50QXR0cmlidXRlRGF0YSB7CitwdWJsaWM6CisgICAgdm9pZCBj
bGVhckNsYXNzKCkgeyBtX2NsYXNzTmFtZXMuY2xlYXIoKTsgfQorICAgIHZvaWQgc2V0Q2xhc3Mo
Y29uc3QgU3RyaW5nJiBjbGFzc05hbWUsIGJvb2wgc2hvdWxkRm9sZENhc2UpOworICAgIGNvbnN0
IFNwYWNlU3BsaXRTdHJpbmcmIGNsYXNzTmFtZXMoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzTmFt
ZXM7IH0KKworICAgIGNvbnN0IEF0b21pY1N0cmluZyYgaWRGb3JTdHlsZVJlc29sdXRpb24oKSBj
b25zdCB7IHJldHVybiBtX2lkRm9yU3R5bGVSZXNvbHV0aW9uOyB9CisgICAgdm9pZCBzZXRJZEZv
clN0eWxlUmVzb2x1dGlvbihjb25zdCBBdG9taWNTdHJpbmcmIG5ld0lkKSB7IG1faWRGb3JTdHls
ZVJlc29sdXRpb24gPSBuZXdJZDsgfQorCitwcml2YXRlOgorICAgIGZyaWVuZCBjbGFzcyBOYW1l
ZE5vZGVNYXA7CisKKyAgICBFbGVtZW50QXR0cmlidXRlRGF0YSgpCisgICAgeworICAgIH0KKwor
ICAgIFNwYWNlU3BsaXRTdHJpbmcgbV9jbGFzc05hbWVzOworICAgIEF0b21pY1N0cmluZyBtX2lk
Rm9yU3R5bGVSZXNvbHV0aW9uOworfTsKKworfQorCisjZW5kaWYgLy8gRWxlbWVudEF0dHJpYnV0
ZURhdGFfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05hbWVkTm9kZU1hcC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmNwcAppbmRleCAxYjZhY2EwY2RlNGNk
ZTIyM2E5MjIyOTEwNTk0NTc4MGNiMDRlNTg0Li4wNWJlYzFmYzc2MTU4Mjc1ZmIxMzJjOTk4M2M4
MTNhZTYzMWM3Y2M3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFw
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmNwcApAQCAtMjAwLDcg
KzIwMCw3IEBAIHNpemVfdCBOYW1lZE5vZGVNYXA6OmdldEF0dHJpYnV0ZUl0ZW1JbmRleFNsb3dD
YXNlKGNvbnN0IFN0cmluZyYgbmFtZSwgYm9vbCBzaG91CiAKIHZvaWQgTmFtZWROb2RlTWFwOjpj
bGVhckF0dHJpYnV0ZXMoKQogewotICAgIG1fY2xhc3NOYW1lcy5jbGVhcigpOworICAgIGF0dHJp
YnV0ZURhdGEoKS0+Y2xlYXJDbGFzcygpOwogICAgIGRldGFjaEF0dHJpYnV0ZXNGcm9tRWxlbWVu
dCgpOwogICAgIG1fYXR0cmlidXRlcy5jbGVhcigpOwogfQpAQCAtMzAxLDE2ICszMDEsNiBAQCB2
b2lkIE5hbWVkTm9kZU1hcDo6cmVwbGFjZUF0dHJpYnV0ZShzaXplX3QgaW5kZXgsIFBhc3NSZWZQ
dHI8QXR0cmlidXRlPiBwcnBBdHRyaQogICAgICAgICBtX2VsZW1lbnQtPmRpZE1vZGlmeUF0dHJp
YnV0ZShhdHRyaWJ1dGUuZ2V0KCkpOwogfQogCi12b2lkIE5hbWVkTm9kZU1hcDo6c2V0Q2xhc3Mo
Y29uc3QgU3RyaW5nJiBjbGFzc1N0cikgCi17IAotICAgIGlmICghZWxlbWVudCgpLT5oYXNDbGFz
cygpKSB7IAotICAgICAgICBtX2NsYXNzTmFtZXMuY2xlYXIoKTsgCi0gICAgICAgIHJldHVybjsK
LSAgICB9Ci0KLSAgICBtX2NsYXNzTmFtZXMuc2V0KGNsYXNzU3RyLCBlbGVtZW50KCktPmRvY3Vt
ZW50KCktPmluUXVpcmtzTW9kZSgpKTsgCi19Ci0KIGJvb2wgTmFtZWROb2RlTWFwOjptYXBzRXF1
aXZhbGVudChjb25zdCBOYW1lZE5vZGVNYXAqIG90aGVyTWFwKSBjb25zdAogewogICAgIGlmICgh
b3RoZXJNYXApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmgKaW5kZXggMDkwNWQ2NDc1ZTVhNzAz
MWM0OWEyZDEwMTQzMmMwYzYwNThmMGFmZC4uZjZlODE3MGU4ZWJlMTVmZTIzYTAxY2Y0YzEwYTA1
YTg1OTAzYWY1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05hbWVkTm9kZU1hcC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9OYW1lZE5vZGVNYXAuaApAQCAtMjYsNiArMjYsNyBA
QAogI2RlZmluZSBOYW1lZE5vZGVNYXBfaAogCiAjaW5jbHVkZSAiQXR0cmlidXRlLmgiCisjaW5j
bHVkZSAiRWxlbWVudEF0dHJpYnV0ZURhdGEuaCIKICNpbmNsdWRlICJTcGFjZVNwbGl0U3RyaW5n
LmgiCiAjaW5jbHVkZSA8d3RmL05vdEZvdW5kLmg+CiAKQEAgLTg0LDkgKzg1LDYgQEAgcHVibGlj
OgogICAgICAgICAgICAgYWRkQXR0cmlidXRlKG5ld0F0dHJpYnV0ZSk7CiAgICAgfQogCi0gICAg
Y29uc3QgQXRvbWljU3RyaW5nJiBpZEZvclN0eWxlUmVzb2x1dGlvbigpIGNvbnN0IHsgcmV0dXJu
IG1faWRGb3JTdHlsZVJlc29sdXRpb247IH0KLSAgICB2b2lkIHNldElkRm9yU3R5bGVSZXNvbHV0
aW9uKGNvbnN0IEF0b21pY1N0cmluZyYgbmV3SWQpIHsgbV9pZEZvclN0eWxlUmVzb2x1dGlvbiA9
IG5ld0lkOyB9Ci0KICAgICBib29sIG1hcHNFcXVpdmFsZW50KGNvbnN0IE5hbWVkTm9kZU1hcCog
b3RoZXJNYXApIGNvbnN0OwogCiAgICAgLy8gVGhlc2UgZnVuY3Rpb25zIGRvIG5vIGVycm9yIGNo
ZWNraW5nLgpAQCAtOTYsMTIgKzk0LDExIEBAIHB1YmxpYzoKIAogICAgIEVsZW1lbnQqIGVsZW1l
bnQoKSBjb25zdCB7IHJldHVybiBtX2VsZW1lbnQ7IH0KIAotICAgIHZvaWQgY2xlYXJDbGFzcygp
IHsgbV9jbGFzc05hbWVzLmNsZWFyKCk7IH0KLSAgICB2b2lkIHNldENsYXNzKGNvbnN0IFN0cmlu
ZyYpOwotICAgIGNvbnN0IFNwYWNlU3BsaXRTdHJpbmcmIGNsYXNzTmFtZXMoKSBjb25zdCB7IHJl
dHVybiBtX2NsYXNzTmFtZXM7IH0KLQogICAgIHNpemVfdCBtYXBwZWRBdHRyaWJ1dGVDb3VudCgp
IGNvbnN0OwogCisgICAgRWxlbWVudEF0dHJpYnV0ZURhdGEqIGF0dHJpYnV0ZURhdGEoKSB7IHJl
dHVybiAmbV9hdHRyaWJ1dGVEYXRhOyB9CisgICAgY29uc3QgRWxlbWVudEF0dHJpYnV0ZURhdGEq
IGF0dHJpYnV0ZURhdGEoKSBjb25zdCB7IHJldHVybiAmbV9hdHRyaWJ1dGVEYXRhOyB9CisKIHBy
aXZhdGU6CiAgICAgTmFtZWROb2RlTWFwKEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgICAgIDogbV9l
bGVtZW50KGVsZW1lbnQpCkBAIC0xMTcsMTAgKzExNCwxMyBAQCBwcml2YXRlOgogICAgIHZvaWQg
Y2xlYXJBdHRyaWJ1dGVzKCk7CiAgICAgdm9pZCByZXBsYWNlQXR0cmlidXRlKHNpemVfdCBpbmRl
eCwgUGFzc1JlZlB0cjxBdHRyaWJ1dGU+KTsKIAotICAgIFNwYWNlU3BsaXRTdHJpbmcgbV9jbGFz
c05hbWVzOworICAgIC8vIEZJWE1FOiBOYW1lZE5vZGVNYXAgaXMgYmVpbmcgYnJva2VuIHVwIGlu
dG8gdHdvIGNsYXNzZXMsIG9uZSBjb250YWluaW5nIGRhdGEKKyAgICAvLyAgICAgICAgZm9yIGVs
ZW1lbnRzIHdpdGggYXR0cmlidXRlcywgYW5kIG9uZSBmb3IgZXhwb3N1cmUgdG8gdGhlIERPTS4K
KyAgICAvLyAgICAgICAgU2VlIDxodHRwOi8vd2Via2l0Lm9yZy9iLzc1MDY5PiBmb3IgbW9yZSBp
bmZvcm1hdGlvbi4KKyAgICBFbGVtZW50QXR0cmlidXRlRGF0YSBtX2F0dHJpYnV0ZURhdGE7CisK
ICAgICBFbGVtZW50KiBtX2VsZW1lbnQ7CiAgICAgVmVjdG9yPFJlZlB0cjxBdHRyaWJ1dGU+LCA0
PiBtX2F0dHJpYnV0ZXM7Ci0gICAgQXRvbWljU3RyaW5nIG1faWRGb3JTdHlsZVJlc29sdXRpb247
CiB9OwogCiBpbmxpbmUgQXR0cmlidXRlKiBOYW1lZE5vZGVNYXA6OmdldEF0dHJpYnV0ZUl0ZW0o
Y29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVt
ZW50LmNwcAppbmRleCBjYjllNDUyNGQzYWZkMzAwOTdlY2UxMGVjZTlmNTA4MjZjY2Y2Yzg5Li40
YmUyMjRjMDEzOTUwNjBhZTA4Y2UxYjAyZmMxMTYxZjY2YWJlMjM2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L1N0eWxlZEVsZW1lbnQuY3BwCkBAIC0yMTUsMTEgKzIxNSwxMiBAQCB2b2lkIFN0eWxlZEVsZW1l
bnQ6OmNsYXNzQXR0cmlidXRlQ2hhbmdlZChjb25zdCBBdG9taWNTdHJpbmcmIG5ld0NsYXNzU3Ry
aW5nKQogICAgIGJvb2wgaGFzQ2xhc3MgPSBpIDwgbGVuZ3RoOwogICAgIHNldEhhc0NsYXNzKGhh
c0NsYXNzKTsKICAgICBpZiAoaGFzQ2xhc3MpIHsKLSAgICAgICAgYXR0cmlidXRlcygpLT5zZXRD
bGFzcyhuZXdDbGFzc1N0cmluZyk7CisgICAgICAgIGNvbnN0IGJvb2wgc2hvdWxkRm9sZENhc2Ug
PSBkb2N1bWVudCgpLT5pblF1aXJrc01vZGUoKTsKKyAgICAgICAgZW5zdXJlQXR0cmlidXRlRGF0
YSgpLT5zZXRDbGFzcyhuZXdDbGFzc1N0cmluZywgc2hvdWxkRm9sZENhc2UpOwogICAgICAgICBp
ZiAoRE9NVG9rZW5MaXN0KiBjbGFzc0xpc3QgPSBvcHRpb25hbENsYXNzTGlzdCgpKQogICAgICAg
ICAgICAgc3RhdGljX2Nhc3Q8Q2xhc3NMaXN0Kj4oY2xhc3NMaXN0KS0+cmVzZXQobmV3Q2xhc3NT
dHJpbmcpOwotICAgIH0gZWxzZSBpZiAoYXR0cmlidXRlTWFwKCkpCi0gICAgICAgIGF0dHJpYnV0
ZU1hcCgpLT5jbGVhckNsYXNzKCk7CisgICAgfSBlbHNlIGlmIChhdHRyaWJ1dGVEYXRhKCkpCisg
ICAgICAgIGF0dHJpYnV0ZURhdGEoKS0+Y2xlYXJDbGFzcygpOwogICAgIHNldE5lZWRzU3R5bGVS
ZWNhbGMoKTsKICAgICBkaXNwYXRjaFN1YnRyZWVNb2RpZmllZEV2ZW50KCk7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1N0eWxlZEVsZW1lbnQuaAppbmRleCA5ZDQ3YjM3ODM1NWEyMGM2NGQxYzVkMjUzYTJkYWFi
ZDk4YmQ5YmQxLi44NDdjNTBmMWFmM2Q4MGUyMWM4YjQ3ZGFlMGIxNzVmMDQzZTRjZWMxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmgKQEAgLTk4LDggKzk4LDggQEAgcHJpdmF0ZToKIGlu
bGluZSBjb25zdCBTcGFjZVNwbGl0U3RyaW5nJiBTdHlsZWRFbGVtZW50OjpjbGFzc05hbWVzKCkg
Y29uc3QKIHsKICAgICBBU1NFUlQoaGFzQ2xhc3MoKSk7Ci0gICAgQVNTRVJUKGF0dHJpYnV0ZU1h
cCgpKTsKLSAgICByZXR1cm4gYXR0cmlidXRlTWFwKCktPmNsYXNzTmFtZXMoKTsKKyAgICBBU1NF
UlQoYXR0cmlidXRlRGF0YSgpKTsKKyAgICByZXR1cm4gYXR0cmlidXRlRGF0YSgpLT5jbGFzc05h
bWVzKCk7CiB9CiAKIGlubGluZSB2b2lkIFN0eWxlZEVsZW1lbnQ6OmludmFsaWRhdGVTdHlsZUF0
dHJpYnV0ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0NsYXNzTGlzdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0NsYXNzTGlzdC5jcHAKaW5kZXggMzQ5ZDY0ZGNlZWFkNzI4
ZDZjYTJlNzIwMDdkZTE2NjdmYjE0Y2ZjMS4uMmVhODM4MjAyOGM3N2Y4NmFkOWJiZjZlZmIzODIw
MTg4YWViMzVmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9DbGFzc0xpc3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ2xhc3NMaXN0LmNwcApAQCAtMTQwLDcgKzE0MCw3
IEBAIGNvbnN0IFNwYWNlU3BsaXRTdHJpbmcmIENsYXNzTGlzdDo6Y2xhc3NOYW1lcygpIGNvbnN0
CiAgICAgQVNTRVJUKG1fZWxlbWVudC0+aGFzQ2xhc3MoKSk7CiAgICAgaWYgKCFtX2NsYXNzTmFt
ZXNGb3JRdWlya3NNb2RlLmlzTnVsbCgpKQogICAgICAgICByZXR1cm4gbV9jbGFzc05hbWVzRm9y
UXVpcmtzTW9kZTsKLSAgICByZXR1cm4gbV9lbGVtZW50LT5hdHRyaWJ1dGVNYXAoKS0+Y2xhc3NO
YW1lcygpOworICAgIHJldHVybiBtX2VsZW1lbnQtPmF0dHJpYnV0ZURhdGEoKS0+Y2xhc3NOYW1l
cygpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>