<?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>122705</bug_id>
          
          <creation_ts>2013-10-12 16:49:17 -0700</creation_ts>
          <short_desc>Remove unneeded extra memory allocation and indirection for ValidityState</short_desc>
          <delta_ts>2013-10-12 22:35:40 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eflews.bot</cc>
    
    <cc>gyuyoung.kim</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>939139</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-10-12 16:49:17 -0700</bug_when>
    <thetext>Remove unneeded extra memory allocation and indirection for ValidityState</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939141</commentid>
    <comment_count>1</comment_count>
      <attachid>214069</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-10-12 16:53:42 -0700</bug_when>
    <thetext>Created attachment 214069
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939143</commentid>
    <comment_count>2</comment_count>
      <attachid>214069</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-10-12 16:59:28 -0700</bug_when>
    <thetext>Comment on attachment 214069
Patch

Attachment 214069 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/3619092</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939145</commentid>
    <comment_count>3</comment_count>
      <attachid>214069</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-10-12 17:00:35 -0700</bug_when>
    <thetext>Comment on attachment 214069
Patch

Attachment 214069 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/3933083</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939150</commentid>
    <comment_count>4</comment_count>
      <attachid>214072</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-10-12 17:18:08 -0700</bug_when>
    <thetext>Created attachment 214072
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939180</commentid>
    <comment_count>5</comment_count>
      <attachid>214072</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-10-12 21:30:37 -0700</bug_when>
    <thetext>Comment on attachment 214072
Patch

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

&gt; Source/WebCore/html/ValidityState.h:41
&gt; +    return static_cast&lt;ValidityState*&gt;(this);

This cast is really undefined behavior but it seems fine for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939184</commentid>
    <comment_count>6</comment_count>
      <attachid>214072</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-12 21:59:14 -0700</bug_when>
    <thetext>Comment on attachment 214072
Patch

Clearing flags on attachment: 214072

Committed r157352: &lt;http://trac.webkit.org/changeset/157352&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939185</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-12 21:59:15 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939190</commentid>
    <comment_count>8</comment_count>
      <attachid>214072</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-10-12 22:35:40 -0700</bug_when>
    <thetext>Comment on attachment 214072
Patch

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

&gt;&gt; Source/WebCore/html/ValidityState.h:41
&gt;&gt; +    return static_cast&lt;ValidityState*&gt;(this);
&gt; 
&gt; This cast is really undefined behavior but it seems fine for now.

Yup, I was trying to say that in the comments.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214069</attachid>
            <date>2013-10-12 16:53:42 -0700</date>
            <delta_ts>2013-10-12 17:18:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-122705-20131012165342.patch</filename>
            <type>text/plain</type>
            <size>16040</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3MzQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTVkMDFjYmI5ZDEzNjdj
ZjlhZjE5OTYwMTA1NTI1NzJhN2NlNmUxOS4uNTkwMzYwZThjZGYyOWMzMTdhMWVlNzA1N2M5YWIz
ODJjOTM0MGZhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEzLTEwLTEyICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgdW5uZWVkZWQgZXh0
cmEgbWVtb3J5IGFsbG9jYXRpb24gYW5kIGluZGlyZWN0aW9uIGZvciBWYWxpZGl0eVN0YXRlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjI3MDUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEdOVW1ha2Vm
aWxlLmxpc3QuYW06IFJlbW92ZWQgVmFsaWRpdHlTdGF0ZS5jcHAuCisgICAgICAgICogV2ViQ29y
ZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvajogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS52Y3hw
cm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6IERpdHRvLgorCisgICAgICAgICogaHRtbC9Gb3JtQXNz
b2NpYXRlZEVsZW1lbnQuY3BwOiBSZW1vdmVkIFZhbGlkaXR5U3RhdGUuaCBpbmNsdWRlIGFuZCB0
aGUKKyAgICAgICAgRm9ybUFzc29jaWF0ZWRFbGVtZW50Ojp2YWxpZGl0eSBmdW5jdGlvbi4gVGhh
dCBmdW5jdGlvbiBpcyBub3cgYW4gaW5saW5lCisgICAgICAgIGluIHRoZSBWYWxpZGl0eVN0YXRl
LmggaGVhZGVyLgorCisgICAgICAgICogaHRtbC9Gb3JtQXNzb2NpYXRlZEVsZW1lbnQuaDogQWRk
ZWQgYmFkSW5wdXQgZnVuY3Rpb24sIHRoZSBvbmx5IGZ1bmN0aW9uCisgICAgICAgIGZyb20gdGhl
IFZhbGlkaXR5U3RhdGUgaW50ZXJmYWNlIHRoYXQgd2FzIG5vdCBhbHJlYWR5IHByZXNlbnQgaGVy
ZS4gUmVtb3ZlZAorICAgICAgICBtX3ZhbGlkaXR5U3RhdGUuCisKKyAgICAgICAgKiBodG1sL0hU
TUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwOiBSZW1vdmVkIGluY2x1ZGUgb2YgVmFsaWRpdHlTdGF0
ZS5oLgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1Db250cm9sRWxlbWVudDo6aXNWYWxpZEZv
cm1Db250cm9sRWxlbWVudCk6IFVzZSB0aGUgdmFsaWQKKyAgICAgICAgZnVuY3Rpb24gZGlyZWN0
bHkgaW5zdGVhZCBvZiBpbmRpcmVjdGx5IHRocm91Z2ggdGhlIHZhbGlkaXR5IHN0YXRlLgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTEZvcm1Db250cm9sRWxlbWVudDo6c2V0TmVlZHNWYWxpZGl0eUNo
ZWNrKTogRGl0dG8uCisKKyAgICAgICAgKiBodG1sL1ZhbGlkaXR5U3RhdGUuY3BwOiBSZW1vdmVk
LgorCisgICAgICAgICogaHRtbC9WYWxpZGl0eVN0YXRlLmg6IFJlbW92ZWQgdGhlIGJvZHkgb2Yg
dGhlIFZhbGlkaXR5U3RhdGUgY2xhc3MgYW5kCisgICAgICAgIG1hZGUgaXQgZWZmZWN0aXZlbHkg
YSAidHlwZWRlZiIgZm9yIEZvcm1Bc3NvY2lhdGVkRWxlbWVudC4gSXQncyBhY3R1YWxseQorICAg
ICAgICBhIGRlcml2ZWQgY2xhc3MgdGhhdCBhZGRzIG5vIG1lbWJlcnMsIHdoaWNoIGlzIG5vdCBx
dWl0ZSByaWdodCBidXQgd2lsbAorICAgICAgICB3b3JrIGp1c3QgZmluZSBmb3IgdGhpcy4KKyAg
ICAgICAgKFdlYkNvcmU6OkZvcm1Bc3NvY2lhdGVkRWxlbWVudDo6dmFsaWRpdHkpOiBJbXBsZW1l
bnRlZDsganVzdCByZXR1cm5zIHRoZQorICAgICAgICBGb3JtQXNzb2NpYXRlZEVsZW1lbnQsIHdo
aWNoIHRoZSBiaW5kaW5ncyBleHBvc2UgYXMgYSBWYWxpZGl0eVN0YXRlLgorCisgICAgICAgICog
aHRtbC9WYWxpZGl0eVN0YXRlLmlkbDogVXNlIFNraXBWVGFibGVWYWxpZGF0aW9uIGluc3RlYWQg
b2YKKyAgICAgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSBiZWNhdXNlIEZvcm1Bc3NvY2lh
dGVkRWxlbWVudCBkb2VzIGhhdmUgYSB2dGFibGUuCisKIDIwMTMtMTAtMTIgIEFudHRpIEtvaXZp
c3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgcG9zaXRpb25Gb3JQb2ludCB0
byBSZW5kZXJUZXh0TGluZUJveGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA4
NGM4YzAyNzhiM2YwZDc1ZGI4OTA1NDdkNDE0MDc2ZDUyZDAwNjA1Li4wY2IxYzRjZTZkNDY2YWRi
MjZhZmEwMWFlZjg3Yjc5YzI5MTVkMzczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0K
QEAgLTM2OTMsNyArMzY5Myw2IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNv
cmUvaHRtbC9VUkxJbnB1dFR5cGUuaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9u
TWVzc2FnZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuaCBc
Ci0JU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvaHRtbC9WYWxpZGl0eVN0YXRlLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvVm9pZENhbGxi
YWNrLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvV2Vla0lucHV0VHlwZS5jcHAgXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggMGQxYzhm
ZmJmNjNkYzY4ZTljZDdmZmU4MTE2NGIwZDkwMWNmYzI3MS4uOGZmYzAwNzdmY2Q4MWMyMjUyNGQx
OTYyYWRiMTA1NzNiYWZlMjBhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qCkBAIC0xNTMzNCw3ICsxNTMzNCw2IEBACiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxodG1sXFR5cGVBaGVhZC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxodG1sXFVSTElucHV0VHlwZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRl
PSIuLlxodG1sXFZhbGlkYXRpb25NZXNzYWdlLmNwcCIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXGh0bWxcVmFsaWRpdHlTdGF0ZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRl
PSIuLlxodG1sXFdlZWtJbnB1dFR5cGUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5caHRtbFxmb3Jtc1xGaWxlSWNvbkxvYWRlci5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxodG1sXHBhcnNlclxCYWNrZ3JvdW5kSFRNTElucHV0U3RyZWFtLmNwcCIgLz4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ou
ZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ou
ZmlsdGVycwppbmRleCA3ZDIwYjZhNWVhMmFlOTY1YjRhMzA2YzUxMjAxZmI3MDcwZDhjMjExLi43
NzZiZjZmZDFlOTNjMGQyNzE3MTdhNDAyZTI3ZjNiN2FjZThkNjQ0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBA
IC00MDg2LDkgKzQwODYsNiBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxWYWxp
ZGF0aW9uTWVzc2FnZS5jcHAiPgogICAgICAgPEZpbHRlcj5odG1sPC9GaWx0ZXI+CiAgICAgPC9D
bENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXFZhbGlkaXR5U3RhdGUu
Y3BwIj4KLSAgICAgIDxGaWx0ZXI+aHRtbDwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxlPgogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxXZWVrSW5wdXRUeXBlLmNwcCI+CiAgICAgICA8
RmlsdGVyPmh0bWw8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAxYWQ2MmUyZTZmM2Zl
MjliY2FiMDFmMDFkYjJiN2I1ODRiYmEzNjA4Li5kMGQ5NTZmOTI4Y2I1NDFhYjFmZmZjZTk3YmUx
NzM3OGRlY2VlMmY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC01NDUsNyArNTQ1LDYgQEAKIAkJMTVCOEI3QzgxNjUyQzUyMjAw
MzZFRjU1IC8qIEpTV2ViS2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNUI4QjdDNjE2NTJDNTIyMDAzNkVGNTUg
LyogSlNXZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmNwcCAqLzsgfTsKIAkJMTVCOEI3QzkxNjUy
QzUyMjAwMzZFRjU1IC8qIEpTV2ViS2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTVCOEI3QzcxNjUyQzUyMjAwMzZF
RjU1IC8qIEpTV2ViS2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZS5oICovOyB9OwogCQkxNUM3NzA4RDEw
MEQzQzZCMDA1QkEyNjcgLyogVmFsaWRpdHlTdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTVDNzcwOEExMDBEM0M2QTAwNUJBMjY3IC8qIFZhbGlk
aXR5U3RhdGUuaCAqLzsgfTsKLQkJMTVDNzcwOEUxMDBEM0M2QjAwNUJBMjY3IC8qIFZhbGlkaXR5
U3RhdGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MTVDNzcwOEIxMDBEM0M2QTAwNUJBMjY3IC8qIFZhbGlkaXR5U3RhdGUuY3BwICovOyB9OwogCQkx
NUM3NzA5MzEwMEQzQ0E4MDA1QkEyNjcgLyogSlNWYWxpZGl0eVN0YXRlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNUM3NzA5MTEwMEQzQ0E4MDA1QkEy
NjcgLyogSlNWYWxpZGl0eVN0YXRlLmggKi87IH07CiAJCTE1Qzc3MDk0MTAwRDNDQTgwMDVCQTI2
NyAvKiBKU1ZhbGlkaXR5U3RhdGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMTVDNzcwOTIxMDBEM0NBODAwNUJBMjY3IC8qIEpTVmFsaWRpdHlTdGF0
ZS5jcHAgKi87IH07CiAJCTE1Qzc3MEE1MTAwRDQxQ0QwMDVCQTI2NyAvKiBET01WYWxpZGl0eVN0
YXRlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTVD
NzcwQTMxMDBENDFDRDAwNUJBMjY3IC8qIERPTVZhbGlkaXR5U3RhdGUubW0gKi87IH07CkBAIC02
OTc1LDcgKzY5NzQsNiBAQAogCQkxNUI4QjdDNzE2NTJDNTIyMDAzNkVGNTUgLyogSlNXZWJLaXRD
U1NNaXhGdW5jdGlvblZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
V2ViS2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkxNUM3NzA4OTEwMEQzQzZBMDA1QkEyNjcgLyogVmFsaWRpdHlTdGF0ZS5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gVmFsaWRpdHlTdGF0ZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTE1Qzc3MDhBMTAwRDNDNkEwMDVCQTI2NyAvKiBWYWxpZGl0eVN0YXRlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFZhbGlkaXR5U3RhdGUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJMTVDNzcwOEIxMDBEM0M2QTAwNUJBMjY3IC8qIFZhbGlkaXR5U3Rh
dGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVmFsaWRpdHlTdGF0
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE1Qzc3MDkxMTAwRDNDQTgwMDVC
QTI2NyAvKiBKU1ZhbGlkaXR5U3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSlNWYWxpZGl0eVN0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE1Qzc3
MDkyMTAwRDNDQTgwMDVCQTI2NyAvKiBKU1ZhbGlkaXR5U3RhdGUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNWYWxpZGl0eVN0YXRlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMTVDNzcwQTMxMDBENDFDRDAwNUJBMjY3IC8qIERPTVZhbGlkaXR5
U3RhdGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01WYWxp
ZGl0eVN0YXRlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTY1ODksNyArMTY1
ODcsNiBAQAogCQkJCUNERUUzOTM4MTc5NzQyNzQwMDFENzU4MCAvKiBVUkxSZWdpc3RyeS5oICov
LAogCQkJCUY1QTE1NDI1MTI3OTUzNEQwMEQwQjBDMCAvKiBWYWxpZGF0aW9uTWVzc2FnZS5jcHAg
Ki8sCiAJCQkJRjVBMTU0MjYxMjc5NTM0RDAwRDBCMEMwIC8qIFZhbGlkYXRpb25NZXNzYWdlLmgg
Ki8sCi0JCQkJMTVDNzcwOEIxMDBEM0M2QTAwNUJBMjY3IC8qIFZhbGlkaXR5U3RhdGUuY3BwICov
LAogCQkJCTE1Qzc3MDhBMTAwRDNDNkEwMDVCQTI2NyAvKiBWYWxpZGl0eVN0YXRlLmggKi8sCiAJ
CQkJMTVDNzcwODkxMDBEM0M2QTAwNUJBMjY3IC8qIFZhbGlkaXR5U3RhdGUuaWRsICovLAogCQkJ
CUU0NDYxM0I0MENENjM0NEUwMEZBREE3NSAvKiBWb2lkQ2FsbGJhY2suaCAqLywKQEAgLTI3NDQ0
LDcgKzI3NDQxLDYgQEAKIAkJCQk1MEQzMjg1NzE2M0IzMTNGMDAxNjExMUUgLyogVmFsaWRhdGVk
Q3VzdG9tRmlsdGVyT3BlcmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxMUVGMkE1MTdG
MEZBNzcwMEU0RkExNiAvKiBJREJPcGVuREJSZXF1ZXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUY1QTE1NDI3MTI3OTUzNEQwMEQwQjBDMCAvKiBWYWxpZGF0aW9uTWVzc2FnZS5jcHAgaW4gU291
cmNlcyAqLywKLQkJCQkxNUM3NzA4RTEwMEQzQzZCMDA1QkEyNjcgLyogVmFsaWRpdHlTdGF0ZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlGRDMxNjBBRTEyQjAyNkY3MDBDMUEzNTkgLyogVmVjdG9y
TWF0aC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCRTg4RTBERTE3MTVEMkEyMDA2NThEOTggLyog
VmlkZW9UcmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCRTg4RTBFMTE3MTVEMkEyMDA2NThE
OTggLyogVmlkZW9UcmFja0xpc3QuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0Zvcm1Bc3NvY2lhdGVkRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0Zvcm1Bc3NvY2lhdGVkRWxlbWVudC5jcHAKaW5kZXggMGViZTFhOTJmMTg4NjhhYzVl
ZWU0YjAwMTQxNjY1Njg0MTk4ODM0Ni4uOTJiNTk0ZTY0MTQwZTBhMzVkY2YyMTlkMTM5ZDU5ZjRm
NzBmYjI4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9Gb3JtQXNzb2NpYXRlZEVs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUFzc29jaWF0ZWRFbGVtZW50
LmNwcApAQCAtMzMsNyArMzMsNiBAQAogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUg
IkhUTUxPYmplY3RFbGVtZW50LmgiCiAjaW5jbHVkZSAiSWRUYXJnZXRPYnNlcnZlci5oIgotI2lu
Y2x1ZGUgIlZhbGlkaXR5U3RhdGUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC02MSwx
NCArNjAsNiBAQCBGb3JtQXNzb2NpYXRlZEVsZW1lbnQ6On5Gb3JtQXNzb2NpYXRlZEVsZW1lbnQo
KQogICAgIHNldEZvcm0oMCk7CiB9CiAKLVZhbGlkaXR5U3RhdGUqIEZvcm1Bc3NvY2lhdGVkRWxl
bWVudDo6dmFsaWRpdHkoKQotewotICAgIGlmICghbV92YWxpZGl0eVN0YXRlKQotICAgICAgICBt
X3ZhbGlkaXR5U3RhdGUgPSBWYWxpZGl0eVN0YXRlOjpjcmVhdGUodGhpcyk7Ci0KLSAgICByZXR1
cm4gbV92YWxpZGl0eVN0YXRlLmdldCgpOwotfQotCiB2b2lkIEZvcm1Bc3NvY2lhdGVkRWxlbWVu
dDo6ZGlkTW92ZVRvTmV3RG9jdW1lbnQoRG9jdW1lbnQqIG9sZERvY3VtZW50KQogewogICAgIEhU
TUxFbGVtZW50KiBlbGVtZW50ID0gdG9IVE1MRWxlbWVudCh0aGlzKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvRm9ybUFzc29jaWF0ZWRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0Zvcm1Bc3NvY2lhdGVkRWxlbWVudC5oCmluZGV4IDk1YzJhNDkxNzhmZGZmNDQyNmIx
NjNjZDFlODZhNjZiYjMyNjc2NzEuLmU5ZWE5ZWZkMmNmZWYwMjBjYjdmYzBiNGIwYWQ3ZGJmMjg0
MDEzZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUFzc29jaWF0ZWRFbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9Gb3JtQXNzb2NpYXRlZEVsZW1lbnQuaApA
QCAtNzEsNiArNzEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBmb3JtUmVtb3ZlZEZyb21UcmVlKGNv
bnN0IE5vZGUqIGZvcm1Sb290KTsKIAogICAgIC8vIFZhbGlkaXR5U3RhdGUgYXR0cmlidXRlIGlt
cGxlbWVudGF0aW9ucworICAgIGJvb2wgYmFkSW5wdXQoKSBjb25zdCB7IHJldHVybiBoYXNCYWRJ
bnB1dCgpOyB9CiAgICAgYm9vbCBjdXN0b21FcnJvcigpIGNvbnN0OwogCiAgICAgLy8gT3ZlcnJp
ZGUgZnVuY3Rpb25zIGZvciBwYXR0ZXJNaXNtYXRjaCwgcmFuZ2VPdmVyZmxvdywgcmFuZ2VyVW5k
ZXJmbG93LApAQCAtMTE3LDcgKzExOCw2IEBAIHByaXZhdGU6CiAKICAgICBPd25QdHI8Rm9ybUF0
dHJpYnV0ZVRhcmdldE9ic2VydmVyPiBtX2Zvcm1BdHRyaWJ1dGVUYXJnZXRPYnNlcnZlcjsKICAg
ICBIVE1MRm9ybUVsZW1lbnQqIG1fZm9ybTsKLSAgICBPd25QdHI8VmFsaWRpdHlTdGF0ZT4gbV92
YWxpZGl0eVN0YXRlOwogICAgIFN0cmluZyBtX2N1c3RvbVZhbGlkYXRpb25NZXNzYWdlOwogfTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAKaW5k
ZXggMmY0MzU2YWYzZDJmYWM3ZTQwNDIzYWFjZTMxZDhhMTNlYTNiYzM1Mi4uNTc4ZjJiYzlhMTI0
OGI2YWY2YTQ4ZDAyYzU1NTJiZjgwZGE2OGUwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCkBAIC0zOSw3ICszOSw2IEBACiAjaW5jbHVkZSAi
UmVuZGVyQm94LmgiCiAjaW5jbHVkZSAiUmVuZGVyVGhlbWUuaCIKICNpbmNsdWRlICJWYWxpZGF0
aW9uTWVzc2FnZS5oIgotI2luY2x1ZGUgIlZhbGlkaXR5U3RhdGUuaCIKICNpbmNsdWRlIDx3dGYv
UmVmLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC00MjMsMTMgKzQyMiwxMyBAQCBi
b29sIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmlzVmFsaWRGb3JtQ29udHJvbEVsZW1lbnQoKQog
ewogICAgIC8vIElmIHRoZSBmb2xsb3dpbmcgYXNzZXJ0aW9uIGZhaWxzLCBzZXROZWVkc1ZhbGlk
aXR5Q2hlY2soKSBpcyBub3QgY2FsbGVkCiAgICAgLy8gY29ycmVjdGx5IHdoZW4gc29tZXRoaW5n
IHdoaWNoIGNoYW5nZXMgdmFsaWRpdHkgaXMgdXBkYXRlZC4KLSAgICBBU1NFUlQobV9pc1ZhbGlk
ID09IHZhbGlkaXR5KCktPnZhbGlkKCkpOworICAgIEFTU0VSVChtX2lzVmFsaWQgPT0gdmFsaWQo
KSk7CiAgICAgcmV0dXJuIG1faXNWYWxpZDsKIH0KIAogdm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVt
ZW50OjpzZXROZWVkc1ZhbGlkaXR5Q2hlY2soKQogewotICAgIGJvb2wgbmV3SXNWYWxpZCA9IHZh
bGlkaXR5KCktPnZhbGlkKCk7CisgICAgYm9vbCBuZXdJc1ZhbGlkID0gdmFsaWQoKTsKICAgICBp
ZiAod2lsbFZhbGlkYXRlKCkgJiYgbmV3SXNWYWxpZCAhPSBtX2lzVmFsaWQpIHsKICAgICAgICAg
Ly8gVXBkYXRlIHN0eWxlIGZvciBwc2V1ZG8gY2xhc3NlcyBzdWNoIGFzIDp2YWxpZCA6aW52YWxp
ZC4KICAgICAgICAgc2V0TmVlZHNTdHlsZVJlY2FsYygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRp
dHlTdGF0ZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM5MTZmMGEyYTQzMTE1
MzVjMGNkZjhjOTJkNmQzMzVmNzJhNGQ0ZWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmNwcAor
KysgL2Rldi9udWxsCkBAIC0xLDg0ICswLDAgQEAKLS8qCi0gKiBUaGlzIGZpbGUgaXMgcGFydCBv
ZiB0aGUgV2ViS2l0IHByb2plY3QuCi0gKgotICogQ29weXJpZ2h0IChDKSAyMDA5IE1pY2hlbGFu
Z2VsbyBEZSBTaW1vbmUgPG1pY2Rlc2ltQGdtYWlsLmNvbT4KLSAqIENvcHlyaWdodCAoQykgMjAx
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5
IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAq
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJ
TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0g
KiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0g
KiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBm
aWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJv
c3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgi
Ci0jaW5jbHVkZSAiVmFsaWRpdHlTdGF0ZS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVN0
cmluZyBWYWxpZGl0eVN0YXRlOjp2YWxpZGF0aW9uTWVzc2FnZSgpIGNvbnN0Ci17Ci0gICAgcmV0
dXJuIG1fY29udHJvbC0+dmFsaWRhdGlvbk1lc3NhZ2UoKTsKLX0KLQotYm9vbCBWYWxpZGl0eVN0
YXRlOjp2YWx1ZU1pc3NpbmcoKSBjb25zdAotewotICAgIHJldHVybiBtX2NvbnRyb2wtPnZhbHVl
TWlzc2luZygpOwotfQotCi1ib29sIFZhbGlkaXR5U3RhdGU6OnR5cGVNaXNtYXRjaCgpIGNvbnN0
Ci17Ci0gICAgcmV0dXJuIG1fY29udHJvbC0+dHlwZU1pc21hdGNoKCk7Ci19Ci0KLWJvb2wgVmFs
aWRpdHlTdGF0ZTo6cGF0dGVybk1pc21hdGNoKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9jb250
cm9sLT5wYXR0ZXJuTWlzbWF0Y2goKTsKLX0KLQotYm9vbCBWYWxpZGl0eVN0YXRlOjp0b29Mb25n
KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9jb250cm9sLT50b29Mb25nKCk7Ci19Ci0KLWJvb2wg
VmFsaWRpdHlTdGF0ZTo6cmFuZ2VVbmRlcmZsb3coKSBjb25zdAotewotICAgIHJldHVybiBtX2Nv
bnRyb2wtPnJhbmdlVW5kZXJmbG93KCk7Ci19Ci0KLWJvb2wgVmFsaWRpdHlTdGF0ZTo6cmFuZ2VP
dmVyZmxvdygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fY29udHJvbC0+cmFuZ2VPdmVyZmxvdygp
OwotfQotCi1ib29sIFZhbGlkaXR5U3RhdGU6OnN0ZXBNaXNtYXRjaCgpIGNvbnN0Ci17Ci0gICAg
cmV0dXJuIG1fY29udHJvbC0+c3RlcE1pc21hdGNoKCk7Ci19Ci0KLWJvb2wgVmFsaWRpdHlTdGF0
ZTo6YmFkSW5wdXQoKSBjb25zdAotewotICAgIHJldHVybiBtX2NvbnRyb2wtPmhhc0JhZElucHV0
KCk7Ci19Ci0KLWJvb2wgVmFsaWRpdHlTdGF0ZTo6Y3VzdG9tRXJyb3IoKSBjb25zdAotewotICAg
IHJldHVybiBtX2NvbnRyb2wtPmN1c3RvbUVycm9yKCk7Ci19Ci0KLWJvb2wgVmFsaWRpdHlTdGF0
ZTo6dmFsaWQoKSBjb25zdAotewotICAgIHJldHVybiBtX2NvbnRyb2wtPnZhbGlkKCk7Ci19Ci0K
LX0gLy8gbmFtZXNwYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkaXR5
U3RhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCmluZGV4IDBjMmFh
NjhlNGE5ZWE2N2MyZjJhMWI5Yzg5NzMzNGI2MDA5ZDc4NzkuLmNkN2JiM2VhNjllODFhYmFiOWYz
OGE5NmMwMDcwN2ZiY2JlOWUwY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFs
aWRpdHlTdGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCkBA
IC0xLDggKzEsNyBAQAogLyoKICAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgcHJv
amVjdC4KICAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgTWljaGVsYW5nZWxvIERlIFNpbW9uZSA8
bWljZGVzaW1AZ21haWwuY29tPgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTI1LDQzICsyNCwyMyBAQAog
I2RlZmluZSBWYWxpZGl0eVN0YXRlX2gKIAogI2luY2x1ZGUgIkZvcm1Bc3NvY2lhdGVkRWxlbWVu
dC5oIgotI2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgotI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVmFsaWRpdHlTdGF0ZSA6IHB1
YmxpYyBTY3JpcHRXcmFwcGFibGUgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZhbGlkaXR5
U3RhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKLXB1YmxpYzoKLSAgICBzdGF0aWMgT3du
UHRyPFZhbGlkaXR5U3RhdGU+IGNyZWF0ZShGb3JtQXNzb2NpYXRlZEVsZW1lbnQqIGNvbnRyb2wp
Ci0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IFZhbGlkaXR5U3RhdGUoY29udHJv
bCkpOwotICAgIH0KLQotICAgIHZvaWQgcmVmKCkgeyBtX2NvbnRyb2wtPnJlZigpOyB9Ci0gICAg
dm9pZCBkZXJlZigpIHsgbV9jb250cm9sLT5kZXJlZigpOyB9Ci0KLSAgICBTdHJpbmcgdmFsaWRh
dGlvbk1lc3NhZ2UoKSBjb25zdDsKLQotICAgIHZvaWQgc2V0Q3VzdG9tRXJyb3JNZXNzYWdlKGNv
bnN0IFN0cmluZyYpOwotCi0gICAgYm9vbCB2YWx1ZU1pc3NpbmcoKSBjb25zdDsKLSAgICBib29s
IHR5cGVNaXNtYXRjaCgpIGNvbnN0OwotICAgIGJvb2wgcGF0dGVybk1pc21hdGNoKCkgY29uc3Q7
Ci0gICAgYm9vbCB0b29Mb25nKCkgY29uc3Q7Ci0gICAgYm9vbCByYW5nZVVuZGVyZmxvdygpIGNv
bnN0OwotICAgIGJvb2wgcmFuZ2VPdmVyZmxvdygpIGNvbnN0OwotICAgIGJvb2wgc3RlcE1pc21h
dGNoKCkgY29uc3Q7Ci0gICAgYm9vbCBiYWRJbnB1dCgpIGNvbnN0OwotICAgIGJvb2wgY3VzdG9t
RXJyb3IoKSBjb25zdDsKLSAgICBib29sIHZhbGlkKCkgY29uc3Q7Ci0KLXByaXZhdGU6Ci0gICAg
VmFsaWRpdHlTdGF0ZShGb3JtQXNzb2NpYXRlZEVsZW1lbnQqIGNvbnRyb2wpIDogbV9jb250cm9s
KGNvbnRyb2wpIHsgfQotCi0gICAgRm9ybUFzc29jaWF0ZWRFbGVtZW50KiBtX2NvbnRyb2w7Cisv
LyBWYWxpZGl0eVN0YXRlIGlzIG5vdCBhIHNlcGFyYXRlIG9iamVjdCwgYnV0IHJhdGhlciBhbiBp
bnRlcmZhY2Ugb2YgRm9ybUFzc29jaWF0ZWRFbGVtZW50IHRoYXQKKy8vIGlzIHB1Ymxpc2hlZCBh
cyBwYXJ0IG9mIHRoZSBET00uIFdlIGNvdWxkIGltcGxlbWVudCB0aGlzIGFzIGEgYmFzZSBjbGFz
cyBvZiBGb3JtQXNzb2NpYXRlZEVsZW1lbnQsCisvLyBidXQgdGhhdCB3b3VsZCBoYXZlIGEgc21h
bGwgcnVudGltZSBjb3N0LCBhbmQgbm8gc2lnbmlmaWNhbnQgYmVuZWZpdC4gV2UnZCBwcmVmZXIg
dG8gaW1wbGVtZW50IHRoaXMKKy8vIGFzIGEgdHlwZWRlZiBvZiBGb3JtQXNzb2NpYXRlZEVsZW1l
bnQsIGJ1dCB0aGF0IHdvdWxkIHJlcXVpcmUgY2hhbmdlcyB0byBiaW5kaW5ncyBnZW5lcmF0aW9u
LgorY2xhc3MgVmFsaWRpdHlTdGF0ZSA6IHB1YmxpYyBGb3JtQXNzb2NpYXRlZEVsZW1lbnQgewog
fTsKIAoraW5saW5lIFZhbGlkaXR5U3RhdGUqIEZvcm1Bc3NvY2lhdGVkRWxlbWVudDo6dmFsaWRp
dHkoKQoreworICAgIC8vIEJlY2F1c2UgVmFsaWRpdHlTdGF0ZSBhZGRzIG5vdGhpbmcgdG8gRm9y
bUFzc29jaWF0ZWRFbGVtZW50LCB3ZSByZWx5IG9uIGl0IGJlaW5nIHNhZmUKKyAgICAvLyB0byBj
YXN0IGEgRm9ybUFzc29jaWF0ZWRFbGVtZW50IGxpa2UgdGhpcywgZXZlbiB0aG91Z2ggaXQncyBu
b3QgYWN0dWFsbHkgYSBWYWxpZGl0eVN0YXRlLgorICAgIHJldHVybiBzdGF0aWNfY2FzdDxWYWxp
ZGl0eVN0YXRlKj4odGhpcyk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlm
IC8vIFZhbGlkaXR5U3RhdGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxp
ZGl0eVN0YXRlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5pZGwKaW5k
ZXggM2U0NWMyYzk5ZTQyODM2NDk2MDg2MTlkMTAwOTdhZDBjNjVjNTllZi4uYmE5Y2YxODU2N2Rm
ZmIyYmFkNTkzNDlkOTVjZmUzNTFiZWYxNDA0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9WYWxpZGl0eVN0YXRlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkaXR5
U3RhdGUuaWRsCkBAIC0yMiw3ICsyMiw3IEBACiAKIFsKICAgICBOb0ludGVyZmFjZU9iamVjdCwK
LSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCisgICAgU2tpcFZUYWJsZVZhbGlkYXRpb24K
IF0gaW50ZXJmYWNlIFZhbGlkaXR5U3RhdGUgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29s
ZWFuICAgICAgICAgdmFsdWVNaXNzaW5nOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFu
ICAgICAgICAgdHlwZU1pc21hdGNoOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214072</attachid>
            <date>2013-10-12 17:18:08 -0700</date>
            <delta_ts>2013-10-12 22:35:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-122705-20131012171808.patch</filename>
            <type>text/plain</type>
            <size>16545</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3MzQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTVkMDFjYmI5ZDEzNjdj
ZjlhZjE5OTYwMTA1NTI1NzJhN2NlNmUxOS4uYjQzNzVjNzA3N2E0MTRjOWM0ZGQ2MjBkZmM2NTYy
YjM1ZTA0ZWIzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEzLTEwLTEyICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgdW5uZWVkZWQgZXh0
cmEgbWVtb3J5IGFsbG9jYXRpb24gYW5kIGluZGlyZWN0aW9uIGZvciBWYWxpZGl0eVN0YXRlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjI3MDUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlz
dHMudHh0OiBSZW1vdmVkIFZhbGlkaXR5U3RhdGUuY3BwLgorICAgICAgICAqIEdOVW1ha2VmaWxl
Lmxpc3QuYW06IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHBy
b2o6IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmls
dGVyczogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OiBEaXR0by4KKworICAgICAgICAqIGh0bWwvRm9ybUFzc29jaWF0ZWRFbGVtZW50LmNwcDogUmVt
b3ZlZCBWYWxpZGl0eVN0YXRlLmggaW5jbHVkZSBhbmQgdGhlCisgICAgICAgIEZvcm1Bc3NvY2lh
dGVkRWxlbWVudDo6dmFsaWRpdHkgZnVuY3Rpb24uIFRoYXQgZnVuY3Rpb24gaXMgbm93IGFuIGlu
bGluZQorICAgICAgICBpbiB0aGUgVmFsaWRpdHlTdGF0ZS5oIGhlYWRlci4KKworICAgICAgICAq
IGh0bWwvRm9ybUFzc29jaWF0ZWRFbGVtZW50Lmg6IEFkZGVkIGJhZElucHV0IGZ1bmN0aW9uLCB0
aGUgb25seSBmdW5jdGlvbgorICAgICAgICBmcm9tIHRoZSBWYWxpZGl0eVN0YXRlIGludGVyZmFj
ZSB0aGF0IHdhcyBub3QgYWxyZWFkeSBwcmVzZW50IGhlcmUuIFJlbW92ZWQKKyAgICAgICAgbV92
YWxpZGl0eVN0YXRlLgorCisgICAgICAgICogaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNw
cDogUmVtb3ZlZCBpbmNsdWRlIG9mIFZhbGlkaXR5U3RhdGUuaC4KKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmlzVmFsaWRGb3JtQ29udHJvbEVsZW1lbnQpOiBVc2Ug
dGhlIHZhbGlkCisgICAgICAgIGZ1bmN0aW9uIGRpcmVjdGx5IGluc3RlYWQgb2YgaW5kaXJlY3Rs
eSB0aHJvdWdoIHRoZSB2YWxpZGl0eSBzdGF0ZS4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3Jt
Q29udHJvbEVsZW1lbnQ6OnNldE5lZWRzVmFsaWRpdHlDaGVjayk6IERpdHRvLgorCisgICAgICAg
ICogaHRtbC9WYWxpZGl0eVN0YXRlLmNwcDogUmVtb3ZlZC4KKworICAgICAgICAqIGh0bWwvVmFs
aWRpdHlTdGF0ZS5oOiBSZW1vdmVkIHRoZSBib2R5IG9mIHRoZSBWYWxpZGl0eVN0YXRlIGNsYXNz
IGFuZAorICAgICAgICBtYWRlIGl0IGVmZmVjdGl2ZWx5IGEgInR5cGVkZWYiIGZvciBGb3JtQXNz
b2NpYXRlZEVsZW1lbnQuIEl0J3MgYWN0dWFsbHkKKyAgICAgICAgYSBkZXJpdmVkIGNsYXNzIHRo
YXQgYWRkcyBubyBtZW1iZXJzLCB3aGljaCBpcyBub3QgcXVpdGUgcmlnaHQgYnV0IHdpbGwKKyAg
ICAgICAgd29yayBqdXN0IGZpbmUgZm9yIHRoaXMuCisgICAgICAgIChXZWJDb3JlOjpGb3JtQXNz
b2NpYXRlZEVsZW1lbnQ6OnZhbGlkaXR5KTogSW1wbGVtZW50ZWQ7IGp1c3QgcmV0dXJucyB0aGUK
KyAgICAgICAgRm9ybUFzc29jaWF0ZWRFbGVtZW50LCB3aGljaCB0aGUgYmluZGluZ3MgZXhwb3Nl
IGFzIGEgVmFsaWRpdHlTdGF0ZS4KKworICAgICAgICAqIGh0bWwvVmFsaWRpdHlTdGF0ZS5pZGw6
IFVzZSBTa2lwVlRhYmxlVmFsaWRhdGlvbiBpbnN0ZWFkIG9mCisgICAgICAgIEltcGxlbWVudGF0
aW9uTGFja3NWVGFibGUgYmVjYXVzZSBGb3JtQXNzb2NpYXRlZEVsZW1lbnQgZG9lcyBoYXZlIGEg
dnRhYmxlLgorCiAyMDEzLTEwLTEyICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4K
IAogICAgICAgICBNb3ZlIHBvc2l0aW9uRm9yUG9pbnQgdG8gUmVuZGVyVGV4dExpbmVCb3hlcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAppbmRleCBkOTM3YjYyYWVmOTBhNTcyYzk3OWUzMzRhMGY3ZTZjZGE0
NDM0NDIyLi4xYTlmMjkzN2RjNzkzY2VmY2IyZDg5NWJhOGRlN2U5ZDllZmYwZjhkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dApAQCAtMTQ0MCw3ICsxNDQwLDYgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwog
ICAgIGh0bWwvVHlwZUFoZWFkLmNwcAogICAgIGh0bWwvVVJMSW5wdXRUeXBlLmNwcAogICAgIGh0
bWwvVmFsaWRhdGlvbk1lc3NhZ2UuY3BwCi0gICAgaHRtbC9WYWxpZGl0eVN0YXRlLmNwcAogICAg
IGh0bWwvV2Vla0lucHV0VHlwZS5jcHAKIAogICAgIGh0bWwvY2FudmFzL0NhbnZhc0NvbnRleHRB
dHRyaWJ1dGVzLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggODRjOGMwMjc4
YjNmMGQ3NWRiODkwNTQ3ZDQxNDA3NmQ1MmQwMDYwNS4uMGNiMWM0Y2U2ZDQ2NmFkYjI2YWZhMDFh
ZWY4N2I3OWMyOTE1ZDM3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUu
bGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0zNjkz
LDcgKzM2OTMsNiBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwv
VVJMSW5wdXRUeXBlLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2Uu
Y3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmggXAotCVNvdXJj
ZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwv
VmFsaWRpdHlTdGF0ZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL1ZvaWRDYWxsYmFjay5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9odG1sL1dlZWtJbnB1dFR5cGUuY3BwIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IDBkMWM4ZmZiZjYzZGM2
OGU5Y2Q3ZmZlODExNjRiMGQ5MDFjZmMyNzEuLjhmZmMwMDc3ZmNkODFjMjI1MjRkMTk2MmFkYjEw
NTczYmFmZTIwYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9X
ZWJDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNv
cmUudmN4cHJvagpAQCAtMTUzMzQsNyArMTUzMzQsNiBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5caHRtbFxUeXBlQWhlYWQuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
aHRtbFxVUkxJbnB1dFR5cGUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRt
bFxWYWxpZGF0aW9uTWVzc2FnZS5jcHAiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxo
dG1sXFZhbGlkaXR5U3RhdGUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRt
bFxXZWVrSW5wdXRUeXBlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxc
Zm9ybXNcRmlsZUljb25Mb2FkZXIuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
aHRtbFxwYXJzZXJcQmFja2dyb3VuZEhUTUxJbnB1dFN0cmVhbS5jcHAiIC8+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMK
aW5kZXggN2QyMGI2YTVlYTJhZTk2NWI0YTMwNmM1MTIwMWZiNzA3MGQ4YzIxMS4uNzc2YmY2ZmQx
ZTkzYzBkMjcxNzE3YTQwMmUyN2YzYjdhY2U4ZDY0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwpAQCAtNDA4Niw5
ICs0MDg2LDYgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxcVmFsaWRhdGlvbk1l
c3NhZ2UuY3BwIj4KICAgICAgIDxGaWx0ZXI+aHRtbDwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxl
PgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxWYWxpZGl0eVN0YXRlLmNwcCI+Ci0g
ICAgICA8RmlsdGVyPmh0bWw8L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXGh0bWxcV2Vla0lucHV0VHlwZS5jcHAiPgogICAgICAgPEZpbHRlcj5o
dG1sPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMWFkNjJlMmU2ZjNmZTI5YmNhYjAx
ZjAxZGIyYjdiNTg0YmJhMzYwOC4uZDBkOTU2ZjkyOGNiNTQxYWIxZmZmY2U5N2JlMTczNzhkZWNl
ZTJmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtNTQ1LDcgKzU0NSw2IEBACiAJCTE1QjhCN0M4MTY1MkM1MjIwMDM2RUY1NSAv
KiBKU1dlYktpdENTU01peEZ1bmN0aW9uVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTVCOEI3QzYxNjUyQzUyMjAwMzZFRjU1IC8qIEpTV2Vi
S2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZS5jcHAgKi87IH07CiAJCTE1QjhCN0M5MTY1MkM1MjIwMDM2
RUY1NSAvKiBKU1dlYktpdENTU01peEZ1bmN0aW9uVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE1QjhCN0M3MTY1MkM1MjIwMDM2RUY1NSAvKiBK
U1dlYktpdENTU01peEZ1bmN0aW9uVmFsdWUuaCAqLzsgfTsKIAkJMTVDNzcwOEQxMDBEM0M2QjAw
NUJBMjY3IC8qIFZhbGlkaXR5U3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDE1Qzc3MDhBMTAwRDNDNkEwMDVCQTI2NyAvKiBWYWxpZGl0eVN0YXRl
LmggKi87IH07Ci0JCTE1Qzc3MDhFMTAwRDNDNkIwMDVCQTI2NyAvKiBWYWxpZGl0eVN0YXRlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE1Qzc3MDhC
MTAwRDNDNkEwMDVCQTI2NyAvKiBWYWxpZGl0eVN0YXRlLmNwcCAqLzsgfTsKIAkJMTVDNzcwOTMx
MDBEM0NBODAwNUJBMjY3IC8qIEpTVmFsaWRpdHlTdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTVDNzcwOTExMDBEM0NBODAwNUJBMjY3IC8qIEpT
VmFsaWRpdHlTdGF0ZS5oICovOyB9OwogCQkxNUM3NzA5NDEwMEQzQ0E4MDA1QkEyNjcgLyogSlNW
YWxpZGl0eVN0YXRlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDE1Qzc3MDkyMTAwRDNDQTgwMDVCQTI2NyAvKiBKU1ZhbGlkaXR5U3RhdGUuY3BwICov
OyB9OwogCQkxNUM3NzBBNTEwMEQ0MUNEMDA1QkEyNjcgLyogRE9NVmFsaWRpdHlTdGF0ZS5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE1Qzc3MEEzMTAw
RDQxQ0QwMDVCQTI2NyAvKiBET01WYWxpZGl0eVN0YXRlLm1tICovOyB9OwpAQCAtNjk3NSw3ICs2
OTc0LDYgQEAKIAkJMTVCOEI3QzcxNjUyQzUyMjAwMzZFRjU1IC8qIEpTV2ViS2l0Q1NTTWl4RnVu
Y3Rpb25WYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1dlYktpdENT
U01peEZ1bmN0aW9uVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTVDNzcw
ODkxMDBEM0M2QTAwNUJBMjY3IC8qIFZhbGlkaXR5U3RhdGUuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IFZhbGlkaXR5U3RhdGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
NUM3NzA4QTEwMEQzQzZBMDA1QkEyNjcgLyogVmFsaWRpdHlTdGF0ZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBWYWxpZGl0eVN0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTE1Qzc3MDhCMTAwRDNDNkEwMDVCQTI2NyAvKiBWYWxpZGl0eVN0YXRlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFZhbGlkaXR5U3RhdGUuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNUM3NzA5MTEwMEQzQ0E4MDA1QkEyNjcgLyog
SlNWYWxpZGl0eVN0YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTVmFs
aWRpdHlTdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNUM3NzA5MjEwMEQz
Q0E4MDA1QkEyNjcgLyogSlNWYWxpZGl0eVN0YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTVmFsaWRpdHlTdGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTE1Qzc3MEEzMTAwRDQxQ0QwMDVCQTI2NyAvKiBET01WYWxpZGl0eVN0YXRlLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NVmFsaWRpdHlTdGF0
ZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2NTg5LDcgKzE2NTg3LDYgQEAK
IAkJCQlDREVFMzkzODE3OTc0Mjc0MDAxRDc1ODAgLyogVVJMUmVnaXN0cnkuaCAqLywKIAkJCQlG
NUExNTQyNTEyNzk1MzREMDBEMEIwQzAgLyogVmFsaWRhdGlvbk1lc3NhZ2UuY3BwICovLAogCQkJ
CUY1QTE1NDI2MTI3OTUzNEQwMEQwQjBDMCAvKiBWYWxpZGF0aW9uTWVzc2FnZS5oICovLAotCQkJ
CTE1Qzc3MDhCMTAwRDNDNkEwMDVCQTI2NyAvKiBWYWxpZGl0eVN0YXRlLmNwcCAqLywKIAkJCQkx
NUM3NzA4QTEwMEQzQzZBMDA1QkEyNjcgLyogVmFsaWRpdHlTdGF0ZS5oICovLAogCQkJCTE1Qzc3
MDg5MTAwRDNDNkEwMDVCQTI2NyAvKiBWYWxpZGl0eVN0YXRlLmlkbCAqLywKIAkJCQlFNDQ2MTNC
NDBDRDYzNDRFMDBGQURBNzUgLyogVm9pZENhbGxiYWNrLmggKi8sCkBAIC0yNzQ0NCw3ICsyNzQ0
MSw2IEBACiAJCQkJNTBEMzI4NTcxNjNCMzEzRjAwMTYxMTFFIC8qIFZhbGlkYXRlZEN1c3RvbUZp
bHRlck9wZXJhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTFFRjJBNTE3RjBGQTc3MDBF
NEZBMTYgLyogSURCT3BlbkRCUmVxdWVzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGNUExNTQy
NzEyNzk1MzREMDBEMEIwQzAgLyogVmFsaWRhdGlvbk1lc3NhZ2UuY3BwIGluIFNvdXJjZXMgKi8s
Ci0JCQkJMTVDNzcwOEUxMDBEM0M2QjAwNUJBMjY3IC8qIFZhbGlkaXR5U3RhdGUuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJRkQzMTYwQUUxMkIwMjZGNzAwQzFBMzU5IC8qIFZlY3Rvck1hdGguY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQkU4OEUwREUxNzE1RDJBMjAwNjU4RDk4IC8qIFZpZGVvVHJh
Y2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkU4OEUwRTExNzE1RDJBMjAwNjU4RDk4IC8qIFZp
ZGVvVHJhY2tMaXN0LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9Gb3JtQXNzb2NpYXRlZEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9G
b3JtQXNzb2NpYXRlZEVsZW1lbnQuY3BwCmluZGV4IDBlYmUxYTkyZjE4ODY4YWM1ZWVlNGIwMDE0
MTY2NTY4NDE5ODgzNDYuLjkyYjU5NGU2NDE0MGUwYTM1ZGNmMjE5ZDEzOWQ1OWY0ZjcwZmIyODIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUFzc29jaWF0ZWRFbGVtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1Bc3NvY2lhdGVkRWxlbWVudC5jcHAKQEAg
LTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1MT2Jq
ZWN0RWxlbWVudC5oIgogI2luY2x1ZGUgIklkVGFyZ2V0T2JzZXJ2ZXIuaCIKLSNpbmNsdWRlICJW
YWxpZGl0eVN0YXRlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNjEsMTQgKzYwLDYg
QEAgRm9ybUFzc29jaWF0ZWRFbGVtZW50Ojp+Rm9ybUFzc29jaWF0ZWRFbGVtZW50KCkKICAgICBz
ZXRGb3JtKDApOwogfQogCi1WYWxpZGl0eVN0YXRlKiBGb3JtQXNzb2NpYXRlZEVsZW1lbnQ6OnZh
bGlkaXR5KCkKLXsKLSAgICBpZiAoIW1fdmFsaWRpdHlTdGF0ZSkKLSAgICAgICAgbV92YWxpZGl0
eVN0YXRlID0gVmFsaWRpdHlTdGF0ZTo6Y3JlYXRlKHRoaXMpOwotCi0gICAgcmV0dXJuIG1fdmFs
aWRpdHlTdGF0ZS5nZXQoKTsKLX0KLQogdm9pZCBGb3JtQXNzb2NpYXRlZEVsZW1lbnQ6OmRpZE1v
dmVUb05ld0RvY3VtZW50KERvY3VtZW50KiBvbGREb2N1bWVudCkKIHsKICAgICBIVE1MRWxlbWVu
dCogZWxlbWVudCA9IHRvSFRNTEVsZW1lbnQodGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0Zvcm1Bc3NvY2lhdGVkRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9G
b3JtQXNzb2NpYXRlZEVsZW1lbnQuaAppbmRleCA5NWMyYTQ5MTc4ZmRmZjQ0MjZiMTYzY2QxZTg2
YTY2YmIzMjY3NjcxLi5lOWVhOWVmZDJjZmVmMDIwY2I3ZmMwYjRiMGFkN2RiZjI4NDAxM2Y3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1Bc3NvY2lhdGVkRWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUFzc29jaWF0ZWRFbGVtZW50LmgKQEAgLTcxLDYg
KzcxLDcgQEAgcHVibGljOgogICAgIHZvaWQgZm9ybVJlbW92ZWRGcm9tVHJlZShjb25zdCBOb2Rl
KiBmb3JtUm9vdCk7CiAKICAgICAvLyBWYWxpZGl0eVN0YXRlIGF0dHJpYnV0ZSBpbXBsZW1lbnRh
dGlvbnMKKyAgICBib29sIGJhZElucHV0KCkgY29uc3QgeyByZXR1cm4gaGFzQmFkSW5wdXQoKTsg
fQogICAgIGJvb2wgY3VzdG9tRXJyb3IoKSBjb25zdDsKIAogICAgIC8vIE92ZXJyaWRlIGZ1bmN0
aW9ucyBmb3IgcGF0dGVyTWlzbWF0Y2gsIHJhbmdlT3ZlcmZsb3csIHJhbmdlclVuZGVyZmxvdywK
QEAgLTExNyw3ICsxMTgsNiBAQCBwcml2YXRlOgogCiAgICAgT3duUHRyPEZvcm1BdHRyaWJ1dGVU
YXJnZXRPYnNlcnZlcj4gbV9mb3JtQXR0cmlidXRlVGFyZ2V0T2JzZXJ2ZXI7CiAgICAgSFRNTEZv
cm1FbGVtZW50KiBtX2Zvcm07Ci0gICAgT3duUHRyPFZhbGlkaXR5U3RhdGU+IG1fdmFsaWRpdHlT
dGF0ZTsKICAgICBTdHJpbmcgbV9jdXN0b21WYWxpZGF0aW9uTWVzc2FnZTsKIH07CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCmluZGV4IDJmNDM1
NmFmM2QyZmFjN2U0MDQyM2FhY2UzMWQ4YTEzZWEzYmMzNTIuLjU3OGYyYmM5YTEyNDhiNmFmNmE0
OGQwMmM1NTUyYmY4MGRhNjhlMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEZvcm1Db250cm9sRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9y
bUNvbnRyb2xFbGVtZW50LmNwcApAQCAtMzksNyArMzksNiBAQAogI2luY2x1ZGUgIlJlbmRlckJv
eC5oIgogI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCiAjaW5jbHVkZSAiVmFsaWRhdGlvbk1lc3Nh
Z2UuaCIKLSNpbmNsdWRlICJWYWxpZGl0eVN0YXRlLmgiCiAjaW5jbHVkZSA8d3RmL1JlZi5oPgog
I2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtNDIzLDEzICs0MjIsMTMgQEAgYm9vbCBIVE1M
Rm9ybUNvbnRyb2xFbGVtZW50Ojppc1ZhbGlkRm9ybUNvbnRyb2xFbGVtZW50KCkKIHsKICAgICAv
LyBJZiB0aGUgZm9sbG93aW5nIGFzc2VydGlvbiBmYWlscywgc2V0TmVlZHNWYWxpZGl0eUNoZWNr
KCkgaXMgbm90IGNhbGxlZAogICAgIC8vIGNvcnJlY3RseSB3aGVuIHNvbWV0aGluZyB3aGljaCBj
aGFuZ2VzIHZhbGlkaXR5IGlzIHVwZGF0ZWQuCi0gICAgQVNTRVJUKG1faXNWYWxpZCA9PSB2YWxp
ZGl0eSgpLT52YWxpZCgpKTsKKyAgICBBU1NFUlQobV9pc1ZhbGlkID09IHZhbGlkKCkpOwogICAg
IHJldHVybiBtX2lzVmFsaWQ7CiB9CiAKIHZvaWQgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6c2V0
TmVlZHNWYWxpZGl0eUNoZWNrKCkKIHsKLSAgICBib29sIG5ld0lzVmFsaWQgPSB2YWxpZGl0eSgp
LT52YWxpZCgpOworICAgIGJvb2wgbmV3SXNWYWxpZCA9IHZhbGlkKCk7CiAgICAgaWYgKHdpbGxW
YWxpZGF0ZSgpICYmIG5ld0lzVmFsaWQgIT0gbV9pc1ZhbGlkKSB7CiAgICAgICAgIC8vIFVwZGF0
ZSBzdHlsZSBmb3IgcHNldWRvIGNsYXNzZXMgc3VjaCBhcyA6dmFsaWQgOmludmFsaWQuCiAgICAg
ICAgIHNldE5lZWRzU3R5bGVSZWNhbGMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvVmFsaWRpdHlTdGF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUu
Y3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzOTE2ZjBhMmE0MzExNTM1YzBjZGY4
YzkyZDZkMzM1ZjcyYTRkNGVmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5jcHAKKysrIC9kZXYv
bnVsbApAQCAtMSw4NCArMCwwIEBACi0vKgotICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFdl
YktpdCBwcm9qZWN0LgotICoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBNaWNoZWxhbmdlbG8gRGUg
U2ltb25lIDxtaWNkZXNpbUBnbWFpbC5jb20+Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAq
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1B
IDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1
ZGUgIlZhbGlkaXR5U3RhdGUuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1TdHJpbmcgVmFs
aWRpdHlTdGF0ZTo6dmFsaWRhdGlvbk1lc3NhZ2UoKSBjb25zdAotewotICAgIHJldHVybiBtX2Nv
bnRyb2wtPnZhbGlkYXRpb25NZXNzYWdlKCk7Ci19Ci0KLWJvb2wgVmFsaWRpdHlTdGF0ZTo6dmFs
dWVNaXNzaW5nKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9jb250cm9sLT52YWx1ZU1pc3Npbmco
KTsKLX0KLQotYm9vbCBWYWxpZGl0eVN0YXRlOjp0eXBlTWlzbWF0Y2goKSBjb25zdAotewotICAg
IHJldHVybiBtX2NvbnRyb2wtPnR5cGVNaXNtYXRjaCgpOwotfQotCi1ib29sIFZhbGlkaXR5U3Rh
dGU6OnBhdHRlcm5NaXNtYXRjaCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fY29udHJvbC0+cGF0
dGVybk1pc21hdGNoKCk7Ci19Ci0KLWJvb2wgVmFsaWRpdHlTdGF0ZTo6dG9vTG9uZygpIGNvbnN0
Ci17Ci0gICAgcmV0dXJuIG1fY29udHJvbC0+dG9vTG9uZygpOwotfQotCi1ib29sIFZhbGlkaXR5
U3RhdGU6OnJhbmdlVW5kZXJmbG93KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9jb250cm9sLT5y
YW5nZVVuZGVyZmxvdygpOwotfQotCi1ib29sIFZhbGlkaXR5U3RhdGU6OnJhbmdlT3ZlcmZsb3co
KSBjb25zdAotewotICAgIHJldHVybiBtX2NvbnRyb2wtPnJhbmdlT3ZlcmZsb3coKTsKLX0KLQot
Ym9vbCBWYWxpZGl0eVN0YXRlOjpzdGVwTWlzbWF0Y2goKSBjb25zdAotewotICAgIHJldHVybiBt
X2NvbnRyb2wtPnN0ZXBNaXNtYXRjaCgpOwotfQotCi1ib29sIFZhbGlkaXR5U3RhdGU6OmJhZElu
cHV0KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9jb250cm9sLT5oYXNCYWRJbnB1dCgpOwotfQot
Ci1ib29sIFZhbGlkaXR5U3RhdGU6OmN1c3RvbUVycm9yKCkgY29uc3QKLXsKLSAgICByZXR1cm4g
bV9jb250cm9sLT5jdXN0b21FcnJvcigpOwotfQotCi1ib29sIFZhbGlkaXR5U3RhdGU6OnZhbGlk
KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9jb250cm9sLT52YWxpZCgpOwotfQotCi19IC8vIG5h
bWVzcGFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaAppbmRleCAwYzJhYTY4ZTRhOWVh
NjdjMmYyYTFiOWM4OTczMzRiNjAwOWQ3ODc5Li5jZDdiYjNlYTY5ZTgxYWJhYjlmMzhhOTZjMDA3
MDdmYmNiZTllMGNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3Rh
dGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaApAQCAtMSw4ICsx
LDcgQEAKIC8qCiAgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgV2ViS2l0IHByb2plY3QuCiAg
KgotICogQ29weXJpZ2h0IChDKSAyMDA5IE1pY2hlbGFuZ2VsbyBEZSBTaW1vbmUgPG1pY2Rlc2lt
QGdtYWlsLmNvbT4KLSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yNSw0MyArMjQsMjMgQEAKICNkZWZpbmUg
VmFsaWRpdHlTdGF0ZV9oCiAKICNpbmNsdWRlICJGb3JtQXNzb2NpYXRlZEVsZW1lbnQuaCIKLSNp
bmNsdWRlICJTY3JpcHRXcmFwcGFibGUuaCIKLSNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFZhbGlkaXR5U3RhdGUgOiBwdWJsaWMgU2Ny
aXB0V3JhcHBhYmxlIHsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWYWxpZGl0eVN0YXRlKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIE93blB0cjxWYWxp
ZGl0eVN0YXRlPiBjcmVhdGUoRm9ybUFzc29jaWF0ZWRFbGVtZW50KiBjb250cm9sKQotICAgIHsK
LSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBWYWxpZGl0eVN0YXRlKGNvbnRyb2wpKTsKLSAg
ICB9Ci0KLSAgICB2b2lkIHJlZigpIHsgbV9jb250cm9sLT5yZWYoKTsgfQotICAgIHZvaWQgZGVy
ZWYoKSB7IG1fY29udHJvbC0+ZGVyZWYoKTsgfQotCi0gICAgU3RyaW5nIHZhbGlkYXRpb25NZXNz
YWdlKCkgY29uc3Q7Ci0KLSAgICB2b2lkIHNldEN1c3RvbUVycm9yTWVzc2FnZShjb25zdCBTdHJp
bmcmKTsKLQotICAgIGJvb2wgdmFsdWVNaXNzaW5nKCkgY29uc3Q7Ci0gICAgYm9vbCB0eXBlTWlz
bWF0Y2goKSBjb25zdDsKLSAgICBib29sIHBhdHRlcm5NaXNtYXRjaCgpIGNvbnN0OwotICAgIGJv
b2wgdG9vTG9uZygpIGNvbnN0OwotICAgIGJvb2wgcmFuZ2VVbmRlcmZsb3coKSBjb25zdDsKLSAg
ICBib29sIHJhbmdlT3ZlcmZsb3coKSBjb25zdDsKLSAgICBib29sIHN0ZXBNaXNtYXRjaCgpIGNv
bnN0OwotICAgIGJvb2wgYmFkSW5wdXQoKSBjb25zdDsKLSAgICBib29sIGN1c3RvbUVycm9yKCkg
Y29uc3Q7Ci0gICAgYm9vbCB2YWxpZCgpIGNvbnN0OwotCi1wcml2YXRlOgotICAgIFZhbGlkaXR5
U3RhdGUoRm9ybUFzc29jaWF0ZWRFbGVtZW50KiBjb250cm9sKSA6IG1fY29udHJvbChjb250cm9s
KSB7IH0KLQotICAgIEZvcm1Bc3NvY2lhdGVkRWxlbWVudCogbV9jb250cm9sOworLy8gVmFsaWRp
dHlTdGF0ZSBpcyBub3QgYSBzZXBhcmF0ZSBvYmplY3QsIGJ1dCByYXRoZXIgYW4gaW50ZXJmYWNl
IG9mIEZvcm1Bc3NvY2lhdGVkRWxlbWVudCB0aGF0CisvLyBpcyBwdWJsaXNoZWQgYXMgcGFydCBv
ZiB0aGUgRE9NLiBXZSBjb3VsZCBpbXBsZW1lbnQgdGhpcyBhcyBhIGJhc2UgY2xhc3Mgb2YgRm9y
bUFzc29jaWF0ZWRFbGVtZW50LAorLy8gYnV0IHRoYXQgd291bGQgaGF2ZSBhIHNtYWxsIHJ1bnRp
bWUgY29zdCwgYW5kIG5vIHNpZ25pZmljYW50IGJlbmVmaXQuIFdlJ2QgcHJlZmVyIHRvIGltcGxl
bWVudCB0aGlzCisvLyBhcyBhIHR5cGVkZWYgb2YgRm9ybUFzc29jaWF0ZWRFbGVtZW50LCBidXQg
dGhhdCB3b3VsZCByZXF1aXJlIGNoYW5nZXMgdG8gYmluZGluZ3MgZ2VuZXJhdGlvbi4KK2NsYXNz
IFZhbGlkaXR5U3RhdGUgOiBwdWJsaWMgRm9ybUFzc29jaWF0ZWRFbGVtZW50IHsKIH07CiAKK2lu
bGluZSBWYWxpZGl0eVN0YXRlKiBGb3JtQXNzb2NpYXRlZEVsZW1lbnQ6OnZhbGlkaXR5KCkKK3sK
KyAgICAvLyBCZWNhdXNlIFZhbGlkaXR5U3RhdGUgYWRkcyBub3RoaW5nIHRvIEZvcm1Bc3NvY2lh
dGVkRWxlbWVudCwgd2UgcmVseSBvbiBpdCBiZWluZyBzYWZlCisgICAgLy8gdG8gY2FzdCBhIEZv
cm1Bc3NvY2lhdGVkRWxlbWVudCBsaWtlIHRoaXMsIGV2ZW4gdGhvdWdoIGl0J3Mgbm90IGFjdHVh
bGx5IGEgVmFsaWRpdHlTdGF0ZS4KKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VmFsaWRpdHlTdGF0
ZSo+KHRoaXMpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBWYWxp
ZGl0eVN0YXRlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0
ZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaWRsCmluZGV4IDNlNDVj
MmM5OWU0MjgzNjQ5NjA4NjE5ZDEwMDk3YWQwYzY1YzU5ZWYuLmJhOWNmMTg1NjdkZmZiMmJhZDU5
MzQ5ZDk1Y2ZlMzUxYmVmMTQwNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFs
aWRpdHlTdGF0ZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmlk
bApAQCAtMjIsNyArMjIsNyBAQAogCiBbCiAgICAgTm9JbnRlcmZhY2VPYmplY3QsCi0gICAgSW1w
bGVtZW50YXRpb25MYWNrc1ZUYWJsZQorICAgIFNraXBWVGFibGVWYWxpZGF0aW9uCiBdIGludGVy
ZmFjZSBWYWxpZGl0eVN0YXRlIHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiAgICAg
ICAgIHZhbHVlTWlzc2luZzsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiAgICAgICAg
IHR5cGVNaXNtYXRjaDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>