<?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>106671</bug_id>
          
          <creation_ts>2013-01-11 09:36:57 -0800</creation_ts>
          <short_desc>[Qt] Use the shared HistoryItem serialization for QWebHistory</short_desc>
          <delta_ts>2013-01-16 07:08:18 -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>
          <dependson>104525</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jocelyn Turcotte">jturcotte</reporter>
          <assigned_to name="Jocelyn Turcotte">jturcotte</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>jturcotte</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>805330</commentid>
    <comment_count>0</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2013-01-11 09:36:57 -0800</bug_when>
    <thetext>[Qt] Fix QWebHistory serialization of same-document navigations</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805334</commentid>
    <comment_count>1</comment_count>
      <attachid>182355</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2013-01-11 09:46:18 -0800</bug_when>
    <thetext>Created attachment 182355
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806221</commentid>
    <comment_count>2</comment_count>
      <attachid>182539</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2013-01-14 03:19:04 -0800</bug_when>
    <thetext>Created attachment 182539
Patch

Make sure that the history is cleared when an HistoryItem internal version change as well instead of risking half-restoring the history.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808335</commentid>
    <comment_count>3</comment_count>
      <attachid>182972</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2013-01-16 06:26:09 -0800</bug_when>
    <thetext>Created attachment 182972
Patch

Added a comment to explain the purpose of the commented out code, re-uploading also to run the EWS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808354</commentid>
    <comment_count>4</comment_count>
      <attachid>182972</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-16 07:08:15 -0800</bug_when>
    <thetext>Comment on attachment 182972
Patch

Clearing flags on attachment: 182972

Committed r139878: &lt;http://trac.webkit.org/changeset/139878&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808355</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-16 07:08:18 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182355</attachid>
            <date>2013-01-11 09:46:18 -0800</date>
            <delta_ts>2013-01-14 03:19:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106671-20130111184320.patch</filename>
            <type>text/plain</type>
            <size>25564</size>
            <attacher name="Jocelyn Turcotte">jturcotte</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NDQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTRmNTc2NDMzNmRhNDUw
ZWY2OWQxODk1NzlkMWJmYzRlYWFmNWYzMi4uZDg2MzUyY2E5NWExMWJhNzYzZTIzNmNjMWQzMDU4
MTU3YzRjZTdkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ2IEBACiAyMDEzLTAxLTExICBKb2Nl
bHluIFR1cmNvdHRlICA8am9jZWx5bi50dXJjb3R0ZUBkaWdpYS5jb20+CiAKKyAgICAgICAgW1F0
XSBVc2UgdGhlIHNoYXJlZCBIaXN0b3J5SXRlbSBzZXJpYWxpemF0aW9uIGZvciBRV2ViSGlzdG9y
eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2Njcx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBh
bGxvd3MgYSBmZXcgdGhpbmdzIG1pc3NpbmcgZnJvbSB0aGUgcHJldmlvdXMgc2VyaWFsaXphdGlv
biBjb2RlCisgICAgICAgIHRvIGZ1bmN0aW9uIHdoaWxlIHVzaW5nIGNvbW1vbmx5IG1haW50YWlu
ZWQgY29kZToKKyAgICAgICAgLSBUaGUgaXRlbVNlcXVlbmNlTnVtYmVyIGFuZCBkb2N1bWVudFNl
cXVlbmNlTnVtYmVyIHRoYXQgd2VyZSBuZWVkZWQKKyAgICAgICAgICB0byBwcm9wZXJseSByZXN0
b3JlIHNhbWUtZG9jdW1lbnQgbmF2aWdhdGlvbnMKKyAgICAgICAgLSBUaGUgZm9ybSBkYXRhCisg
ICAgICAgIC0gVGhlIG5hdmlnYXRpb24gaGllcmFyY2h5IG1hcHBpbmcgdGhlIGZyYW1lIHRyZWUK
KworICAgICAgICAqIGhpc3RvcnkvSGlzdG9yeUl0ZW0uaDoKKyAgICAgICAgKEhpc3RvcnlJdGVt
KToKKyAgICAgICAgKiBoaXN0b3J5L3F0L0hpc3RvcnlJdGVtUXQuY3BwOgorICAgICAgICAoUURh
dGFTdHJlYW1Db2Rlcik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlFE
YXRhU3RyZWFtQ29kZXI6OlFEYXRhU3RyZWFtQ29kZXIpOgorICAgICAgICAoV2ViQ29yZTo6UURh
dGFTdHJlYW1Db2Rlcjo6ZW5jb2RlQnl0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6UURhdGFTdHJl
YW1Db2Rlcjo6ZW5jb2RlQm9vbCk6CisgICAgICAgIChXZWJDb3JlOjpRRGF0YVN0cmVhbUNvZGVy
OjplbmNvZGVVSW50MzIpOgorICAgICAgICAoV2ViQ29yZTo6UURhdGFTdHJlYW1Db2Rlcjo6ZW5j
b2RlVUludDY0KToKKyAgICAgICAgKFdlYkNvcmU6OlFEYXRhU3RyZWFtQ29kZXI6OmVuY29kZUlu
dDMyKToKKyAgICAgICAgKFdlYkNvcmU6OlFEYXRhU3RyZWFtQ29kZXI6OmVuY29kZUludDY0KToK
KyAgICAgICAgKFdlYkNvcmU6OlFEYXRhU3RyZWFtQ29kZXI6OmVuY29kZUZsb2F0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlFEYXRhU3RyZWFtQ29kZXI6OmVuY29kZURvdWJsZSk6CisgICAgICAgIChX
ZWJDb3JlOjpRRGF0YVN0cmVhbUNvZGVyOjplbmNvZGVTdHJpbmcpOgorICAgICAgICAoV2ViQ29y
ZTo6UURhdGFTdHJlYW1Db2Rlcjo6ZGVjb2RlQnl0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6UURh
dGFTdHJlYW1Db2Rlcjo6ZGVjb2RlQm9vbCk6CisgICAgICAgIChXZWJDb3JlOjpRRGF0YVN0cmVh
bUNvZGVyOjpkZWNvZGVVSW50MzIpOgorICAgICAgICAoV2ViQ29yZTo6UURhdGFTdHJlYW1Db2Rl
cjo6ZGVjb2RlVUludDY0KToKKyAgICAgICAgKFdlYkNvcmU6OlFEYXRhU3RyZWFtQ29kZXI6OmRl
Y29kZUludDMyKToKKyAgICAgICAgKFdlYkNvcmU6OlFEYXRhU3RyZWFtQ29kZXI6OmRlY29kZUlu
dDY0KToKKyAgICAgICAgKFdlYkNvcmU6OlFEYXRhU3RyZWFtQ29kZXI6OmRlY29kZUZsb2F0KToK
KyAgICAgICAgKFdlYkNvcmU6OlFEYXRhU3RyZWFtQ29kZXI6OmRlY29kZURvdWJsZSk6CisgICAg
ICAgIChXZWJDb3JlOjpRRGF0YVN0cmVhbUNvZGVyOjpkZWNvZGVTdHJpbmcpOgorICAgICAgICAo
V2ViQ29yZTo6SGlzdG9yeUl0ZW06OnJlc3RvcmVTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJDb3JlOjpIaXN0b3J5SXRlbTo6c2F2ZVN0YXRlKToKKworMjAxMy0wMS0xMSAgSm9jZWx5biBU
dXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVAZGlnaWEuY29tPgorCiAgICAgICAgIFtRdF0gQ3Jh
c2ggaW4gV2ViQ29yZTo6Q2FjaGVkRnJhbWU6OmRlc3Ryb3kKICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDUyNQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IGQ5
NDcyMTgzYmRiZDQ5ZmViZGIwYjQ5NzFhOGViM2I0MTE4MjViMDEuLmIyNzRjNDQwYmY1N2I4YjRi
ODZlZWRmZWRjMjYyNjIyNDAxYTlmNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjYgQEAK
IDIwMTMtMDEtMTEgIEpvY2VseW4gVHVyY290dGUgIDxqb2NlbHluLnR1cmNvdHRlQGRpZ2lhLmNv
bT4KIAorICAgICAgICBbUXRdIFVzZSB0aGUgc2hhcmVkIEhpc3RvcnlJdGVtIHNlcmlhbGl6YXRp
b24gZm9yIFFXZWJIaXN0b3J5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDY2NzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBCdW1wIHRoZSBzZXJpYWxpemF0aW9uIHZlcnNpb24gYW5kIGNoYW5nZSB0aGUg
Y29kZSB0byBhYm9ydCB0aGUKKyAgICAgICAgcmVzdG9yZSBvZiBhIHByZXZpb3VzIHN0cmVhbSB2
ZXJzaW9uIHJhdGhlciB0aGFuIHRyeWluZyB0byBrZWVwIHRoZQorICAgICAgICBzdXBwb3J0IG9m
IHJlc3RvcmluZyBwcmV2aW91cyB2ZXJzaW9ucy4gVGhpcyBpcyBtYWlubHkgdG8gc2ltcGxpZnkK
KyAgICAgICAgdGhpbmdzIGdpdmVuIHRoYXQgSGlzdG9yeUl0ZW0gaXRzZWxmIGFib3J0cyBpbiB0
aGF0IGNhc2UuCisgCisgICAgICAgICogQXBpL3F3ZWJoaXN0b3J5LmNwcDoKKyAgICAgICAgKG9w
ZXJhdG9yPDwpOgorICAgICAgICAob3BlcmF0b3I+Pik6CisgICAgICAgICogdGVzdHMvcXdlYmhp
c3RvcnkvdHN0X3F3ZWJoaXN0b3J5LmNwcDoKKyAgICAgICAgKHRzdF9RV2ViSGlzdG9yeTo6c2Vy
aWFsaXplXzIpOiBNb2RpZnkgdGhlIHRlc3QgdG8gY292ZXIgc2FtZS1kb2N1bWVudCBuYXZpZ2F0
aW9ucy4KKyAgICAgICAgKHRzdF9RV2ViSGlzdG9yeTo6cmVzdG9yZUluY29tcGF0aWJsZVZlcnNp
b24xKTogQWRkIGEgcHJldmlvdXMgdmVyc2lvbgorICAgICAgICBoYXJkLWNvZGVkIHN0cmVhbSB0
byB2ZXJpZnkgdGhhdCB0aGUgZGVzZXJpYWxpemF0aW9uIGRvZXNuJ3QgaGFuZyBvcgorICAgICAg
ICBjcmFzaC4KKworMjAxMy0wMS0xMSAgSm9jZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4udHVyY290
dGVAZGlnaWEuY29tPgorCiAgICAgICAgIFtRdF0gQ3Jhc2ggaW4gV2ViQ29yZTo6Q2FjaGVkRnJh
bWU6OmRlc3Ryb3kKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwNDUyNQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0hpc3RvcnlJ
dGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0hpc3RvcnlJdGVtLmgKaW5kZXggMjQ3MmFh
M2ZhMjVmOTc4MDk0MGViZDk3MDdjNzUwYTNiYTg5YzVlMC4uNzljNDNjOTM5NWVmNTRiMTk0MTc5
YTUwMzJmZDYwZWNjYTVhMmNjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9I
aXN0b3J5SXRlbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvSGlzdG9yeUl0ZW0uaApA
QCAtMjAxLDcgKzIwMSw3IEBAIHB1YmxpYzoKICAgICBRVmFyaWFudCB1c2VyRGF0YSgpIGNvbnN0
IHsgcmV0dXJuIG1fdXNlckRhdGE7IH0KICAgICB2b2lkIHNldFVzZXJEYXRhKGNvbnN0IFFWYXJp
YW50JiB1c2VyRGF0YSkgeyBtX3VzZXJEYXRhID0gdXNlckRhdGE7IH0KIAotICAgIGJvb2wgcmVz
dG9yZVN0YXRlKFFEYXRhU3RyZWFtJiBidWZmZXIsIGludCB2ZXJzaW9uKTsKKyAgICBzdGF0aWMg
UGFzc1JlZlB0cjxIaXN0b3J5SXRlbT4gcmVzdG9yZVN0YXRlKFFEYXRhU3RyZWFtJiBidWZmZXIs
IGludCB2ZXJzaW9uKTsKICAgICBRRGF0YVN0cmVhbSYgc2F2ZVN0YXRlKFFEYXRhU3RyZWFtJiBv
dXQsIGludCB2ZXJzaW9uKSBjb25zdDsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9oaXN0b3J5L3F0L0hpc3RvcnlJdGVtUXQuY3BwIGIvU291cmNlL1dlYkNvcmUvaGlzdG9y
eS9xdC9IaXN0b3J5SXRlbVF0LmNwcAppbmRleCA1NTI4ZWViMGM4MmQ2YzgzMDNiZDUzYTVhNDRl
OGM5YjhiOTRmYTgxLi41YTU0NTE2ZjM1YTI4MTI3MTQwY2JiNDIyMjc0ZDBhNTJmNjAwMjA2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L3F0L0hpc3RvcnlJdGVtUXQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvcXQvSGlzdG9yeUl0ZW1RdC5jcHAKQEAgLTIxLDIy
ICsyMSwxMyBAQAogI2luY2x1ZGUgIkhpc3RvcnlJdGVtLmgiCiAKICNpbmNsdWRlICJGb3JtRGF0
YS5oIgorI2luY2x1ZGUgPHd0Zi9EZWNvZGVyLmg+CisjaW5jbHVkZSA8d3RmL0VuY29kZXIuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKLXN0YXRpYyBRRGF0YVN0cmVhbSYgb3Bl
cmF0b3I8PChRRGF0YVN0cmVhbSYgc3RyZWFtLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgcG9p
bnQpCi17Ci0gICAgc3RyZWFtIDw8IHBvaW50LngoKSA8PCBwb2ludC55KCk7Ci0gICAgcmV0dXJu
IHN0cmVhbTsKLX0KK3VzaW5nIG5hbWVzcGFjZSBXVEY7CiAKLXN0YXRpYyBRRGF0YVN0cmVhbSYg
b3BlcmF0b3I+PihRRGF0YVN0cmVhbSYgc3RyZWFtLCBXZWJDb3JlOjpJbnRQb2ludCYgcG9pbnQp
Ci17Ci0gICAgaW50IHgsIHk7Ci0gICAgc3RyZWFtID4+IHggPj4geTsKLSAgICBwb2ludC5zZXRY
KHgpOwotICAgIHBvaW50LnNldFkoeSk7Ci0gICAgcmV0dXJuIHN0cmVhbTsKLX0KK25hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogc3RhdGljIFFEYXRhU3RyZWFtJiBvcGVyYXRvcjw8KFFEYXRhU3RyZWFt
JiBzdHJlYW0sIGNvbnN0IFN0cmluZyYgc3RyKQogewpAQCAtNTQsMTE3ICs0NSwxOTAgQEAgc3Rh
dGljIFFEYXRhU3RyZWFtJiBvcGVyYXRvcj4+KFFEYXRhU3RyZWFtJiBzdHJlYW0sIFN0cmluZyYg
c3RyKQogICAgIHJldHVybiBzdHJlYW07CiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci1RRGF0
YVN0cmVhbSYgb3BlcmF0b3I8PChRRGF0YVN0cmVhbSYgc3RyZWFtLCBjb25zdCBWZWN0b3I8VD4m
IGRhdGEpCitjbGFzcyBRRGF0YVN0cmVhbUNvZGVyIDogcHVibGljIFdURjo6RW5jb2RlciwgcHVi
bGljIFdURjo6RGVjb2RlciB7CitwdWJsaWM6CisgICAgUURhdGFTdHJlYW1Db2RlcihRRGF0YVN0
cmVhbSYpOworCitwcml2YXRlOgorICAgIHZpcnR1YWwgdm9pZCBlbmNvZGVCeXRlcyhjb25zdCB1
aW50OF90Kiwgc2l6ZV90KTsKKyAgICB2aXJ0dWFsIHZvaWQgZW5jb2RlQm9vbChib29sKTsKKyAg
ICB2aXJ0dWFsIHZvaWQgZW5jb2RlVUludDMyKHVpbnQzMl90KTsKKyAgICB2aXJ0dWFsIHZvaWQg
ZW5jb2RlVUludDY0KHVpbnQ2NF90KTsKKyAgICB2aXJ0dWFsIHZvaWQgZW5jb2RlSW50MzIoaW50
MzJfdCk7CisgICAgdmlydHVhbCB2b2lkIGVuY29kZUludDY0KGludDY0X3QpOworICAgIHZpcnR1
YWwgdm9pZCBlbmNvZGVGbG9hdChmbG9hdCk7CisgICAgdmlydHVhbCB2b2lkIGVuY29kZURvdWJs
ZShkb3VibGUpOworICAgIHZpcnR1YWwgdm9pZCBlbmNvZGVTdHJpbmcoY29uc3QgU3RyaW5nJik7
CisKKyAgICB2aXJ0dWFsIGJvb2wgZGVjb2RlQnl0ZXMoVmVjdG9yPHVpbnQ4X3Q+Jik7CisgICAg
dmlydHVhbCBib29sIGRlY29kZUJvb2woYm9vbCYpOworICAgIHZpcnR1YWwgYm9vbCBkZWNvZGVV
SW50MzIodWludDMyX3QmKTsKKyAgICB2aXJ0dWFsIGJvb2wgZGVjb2RlVUludDY0KHVpbnQ2NF90
Jik7CisgICAgdmlydHVhbCBib29sIGRlY29kZUludDMyKGludDMyX3QmKTsKKyAgICB2aXJ0dWFs
IGJvb2wgZGVjb2RlSW50NjQoaW50NjRfdCYpOworICAgIHZpcnR1YWwgYm9vbCBkZWNvZGVGbG9h
dChmbG9hdCYpOworICAgIHZpcnR1YWwgYm9vbCBkZWNvZGVEb3VibGUoZG91YmxlJik7CisgICAg
dmlydHVhbCBib29sIGRlY29kZVN0cmluZyhTdHJpbmcmKTsKKworICAgIFFEYXRhU3RyZWFtJiBt
X3N0cmVhbTsKK307CisKK1FEYXRhU3RyZWFtQ29kZXI6OlFEYXRhU3RyZWFtQ29kZXIoUURhdGFT
dHJlYW0mIHN0cmVhbSkKKyAgICA6IG1fc3RyZWFtKHN0cmVhbSkKIHsKLSAgICBzdHJlYW0gPDwg
cWludDY0KGRhdGEuc2l6ZSgpKTsKLSAgICBmb3JlYWNoIChjb25zdCBUJiBpLCBkYXRhKQotICAg
ICAgICBzdHJlYW0gPDwgaTsKLSAgICByZXR1cm4gc3RyZWFtOwogfQogCi10ZW1wbGF0ZTx0eXBl
bmFtZSBUPgotUURhdGFTdHJlYW0mIG9wZXJhdG9yPj4oUURhdGFTdHJlYW0mIHN0cmVhbSwgVmVj
dG9yPFQ+JiBkYXRhKQordm9pZCBRRGF0YVN0cmVhbUNvZGVyOjplbmNvZGVCeXRlcyhjb25zdCB1
aW50OF90KiBieXRlcywgc2l6ZV90IHNpemUpCiB7Ci0gICAgZGF0YS5jbGVhcigpOworICAgIG1f
c3RyZWFtIDw8IHFpbnQ2NChzaXplKTsKKyAgICBmb3IgKDsgc2l6ZSA+IDA7IC0tc2l6ZSkKKyAg
ICAgICAgbV9zdHJlYW0gPDwgYnl0ZXMrKzsKK30KKwordm9pZCBRRGF0YVN0cmVhbUNvZGVyOjpl
bmNvZGVCb29sKGJvb2wgdmFsdWUpCit7CisgICAgbV9zdHJlYW0gPDwgdmFsdWU7Cit9CisKK3Zv
aWQgUURhdGFTdHJlYW1Db2Rlcjo6ZW5jb2RlVUludDMyKHVpbnQzMl90IHZhbHVlKQoreworICAg
IG1fc3RyZWFtIDw8IHZhbHVlOworfQorCit2b2lkIFFEYXRhU3RyZWFtQ29kZXI6OmVuY29kZVVJ
bnQ2NCh1aW50NjRfdCB2YWx1ZSkKK3sKKyAgICBtX3N0cmVhbSA8PCBzdGF0aWNfY2FzdDxxdWlu
dDY0Pih2YWx1ZSk7Cit9CisKK3ZvaWQgUURhdGFTdHJlYW1Db2Rlcjo6ZW5jb2RlSW50MzIoaW50
MzJfdCB2YWx1ZSkKK3sKKyAgICBtX3N0cmVhbSA8PCB2YWx1ZTsKK30KKwordm9pZCBRRGF0YVN0
cmVhbUNvZGVyOjplbmNvZGVJbnQ2NChpbnQ2NF90IHZhbHVlKQoreworICAgIG1fc3RyZWFtIDw8
IHN0YXRpY19jYXN0PHFpbnQ2ND4odmFsdWUpOworfQorCit2b2lkIFFEYXRhU3RyZWFtQ29kZXI6
OmVuY29kZUZsb2F0KGZsb2F0IHZhbHVlKQoreworICAgIG1fc3RyZWFtIDw8IHZhbHVlOworfQor
Cit2b2lkIFFEYXRhU3RyZWFtQ29kZXI6OmVuY29kZURvdWJsZShkb3VibGUgdmFsdWUpCit7Cisg
ICAgbV9zdHJlYW0gPDwgdmFsdWU7Cit9CisKK3ZvaWQgUURhdGFTdHJlYW1Db2Rlcjo6ZW5jb2Rl
U3RyaW5nKGNvbnN0IFN0cmluZyYgdmFsdWUpCit7CisgICAgbV9zdHJlYW0gPDwgdmFsdWU7Cit9
CisKK2Jvb2wgUURhdGFTdHJlYW1Db2Rlcjo6ZGVjb2RlQnl0ZXMoVmVjdG9yPHVpbnQ4X3Q+JiBv
dXQpCit7CisgICAgb3V0LmNsZWFyKCk7CiAgICAgcWludDY0IGNvdW50OwotICAgIFQgaXRlbTsK
LSAgICBzdHJlYW0gPj4gY291bnQ7Ci0gICAgZGF0YS5yZXNlcnZlQ2FwYWNpdHkoY291bnQpOwor
ICAgIHVpbnQ4X3QgYnl0ZTsKKyAgICBtX3N0cmVhbSA+PiBjb3VudDsKKyAgICBvdXQucmVzZXJ2
ZUNhcGFjaXR5KGNvdW50KTsKICAgICBmb3IgKHFpbnQ2NCBpID0gMDsgaSA8IGNvdW50OyArK2kp
IHsKLSAgICAgICAgc3RyZWFtID4+IGl0ZW07Ci0gICAgICAgIGRhdGEuYXBwZW5kKGl0ZW0pOwor
ICAgICAgICBtX3N0cmVhbSA+PiBieXRlOworICAgICAgICBvdXQuYXBwZW5kKGJ5dGUpOwogICAg
IH0KLSAgICByZXR1cm4gc3RyZWFtOworICAgIHJldHVybiBtX3N0cmVhbS5zdGF0dXMoKSA9PSBR
RGF0YVN0cmVhbTo6T2s7CiB9CiAKLWJvb2wgV2ViQ29yZTo6SGlzdG9yeUl0ZW06OnJlc3RvcmVT
dGF0ZShRRGF0YVN0cmVhbSYgaW4sIGludCB2ZXJzaW9uKQorYm9vbCBRRGF0YVN0cmVhbUNvZGVy
OjpkZWNvZGVCb29sKGJvb2wmIG91dCkKIHsKLSAgICAvLyB3ZSBvbmx5IHN1cHBvcnQgdmVyc2lv
biAxIGZvciBub3cKKyAgICBtX3N0cmVhbSA+PiBvdXQ7CisgICAgcmV0dXJuIG1fc3RyZWFtLnN0
YXR1cygpID09IFFEYXRhU3RyZWFtOjpPazsKK30KIAotICAgIGlmICh2ZXJzaW9uICE9IDEpCi0g
ICAgICAgIHJldHVybiBmYWxzZTsKK2Jvb2wgUURhdGFTdHJlYW1Db2Rlcjo6ZGVjb2RlVUludDMy
KHVpbnQzMl90JiBvdXQpCit7CisgICAgbV9zdHJlYW0gPj4gb3V0OworICAgIHJldHVybiBtX3N0
cmVhbS5zdGF0dXMoKSA9PSBRRGF0YVN0cmVhbTo6T2s7Cit9CiAKLSAgICBXVEY6OlN0cmluZyB1
cmw7Ci0gICAgV1RGOjpTdHJpbmcgdGl0bGU7Ci0gICAgV1RGOjpTdHJpbmcgYWx0VGl0bGU7Ci0g
ICAgV1RGOjpTdHJpbmcgb3JnaW5hbFVybDsKLSAgICBXVEY6OlN0cmluZyByZWZlcnJlcjsKLSAg
ICBXVEY6OlN0cmluZyB0YXJnZXQ7Ci0gICAgV1RGOjpTdHJpbmcgcGFycmVudDsKLSAgICBkb3Vi
bGUgbGFzdFZpc2l0ZWRUaW1lOwotICAgIGJvb2wgdmFsaWRVc2VyRGF0YTsKLSAgICBXVEY6OlN0
cmluZyBwYXJlbnQ7Ci0gICAgYm9vbCBsYXN0VmlzaXRXYXNIVFRQTm9uR2V0OwotICAgIGJvb2wg
bGFzdFZpc2l0V2FzRmFpbHVyZTsKLSAgICBib29sIGlzVGFyZ2V0SXRlbTsKLSAgICBpbnQgdmlz
aXRDb3VudDsKLSAgICBXVEY6OlZlY3RvcjxXVEY6OlN0cmluZz4gZG9jdW1lbnRTdGF0ZTsKLSAg
ICBXZWJDb3JlOjpJbnRQb2ludCBzY3JvbGxQb2ludDsKLSAgICBxcmVhbCBwYWdlU2NhbGVGYWN0
b3I7Ci0gICAgV1RGOjpWZWN0b3I8aW50PiB3ZWVrbHlWaXNpdENvdW50czsKLSAgICBXVEY6OlZl
Y3RvcjxpbnQ+IGRhaWx5VmlzaXRDb3VudHM7Ci0gICAgLy8gYm9vbCBsb2FkRm9ybWRhdGE7Ci0g
ICAgLy8gV1RGOjpTdHJpbmcgZm9ybUNvbnRlbnRUeXBlOwotICAgIC8vIFdURjo6VmVjdG9yPGNo
YXI+IGZvcm1EYXRhOwotCi0gICAgaW4gPj4gdXJsID4+IHRpdGxlID4+IGFsdFRpdGxlID4+IGxh
c3RWaXNpdGVkVGltZSA+PiBvcmdpbmFsVXJsID4+IHJlZmVycmVyID4+IHRhcmdldCA+PiBwYXJl
bnQ7Ci0gICAgaW4gPj4gbGFzdFZpc2l0V2FzSFRUUE5vbkdldCA+PiBsYXN0VmlzaXRXYXNGYWls
dXJlID4+IGlzVGFyZ2V0SXRlbSA+PiB2aXNpdENvdW50ID4+IGRvY3VtZW50U3RhdGU7Ci0gICAg
aW4gPj4gc2Nyb2xsUG9pbnQgPj4gcGFnZVNjYWxlRmFjdG9yID4+IGRhaWx5VmlzaXRDb3VudHMg
Pj4gd2Vla2x5VmlzaXRDb3VudHM7Ci0gICAgLyppbiA+PiBsb2FkRm9ybWRhdGE7Ci0gICAgaWYg
KGxvYWRGb3JtZGF0YSkgewotICAgICAgICBpbiA+PiBmb3JtQ29udGVudFR5cGUgPj4gZm9ybURh
dGE7Ci0gICAgICAgIC8vIGRpcmVjdCBhc3NpZ25lZCAoISkKLSAgICAgICAgbV9mb3JtQ29udGVu
dFR5cGUgPSBmb3JtQ29udGVudFR5cGU7Ci0gICAgICAgIG1fZm9ybURhdGEgPSBGb3JtRGF0YTo6
Y3JlYXRlKENTdHJpbmcoZm9ybURhdGEpKTsKLSAgICB9Ki8KLSAgICAvLyB1c2Ugc2V0dGVycwot
ICAgIGFkb3B0VmlzaXRDb3VudHMoZGFpbHlWaXNpdENvdW50cywgd2Vla2x5VmlzaXRDb3VudHMp
OwotICAgIHNldFNjcm9sbFBvaW50KHNjcm9sbFBvaW50KTsKLSAgICBzZXRQYWdlU2NhbGVGYWN0
b3IocGFnZVNjYWxlRmFjdG9yKTsKLSAgICBzZXREb2N1bWVudFN0YXRlKGRvY3VtZW50U3RhdGUp
OwotICAgIHNldFZpc2l0Q291bnQodmlzaXRDb3VudCk7Ci0gICAgc2V0SXNUYXJnZXRJdGVtKGlz
VGFyZ2V0SXRlbSk7Ci0gICAgc2V0TGFzdFZpc2l0V2FzRmFpbHVyZShsYXN0VmlzaXRXYXNGYWls
dXJlKTsKLSAgICBzZXRMYXN0VmlzaXRXYXNIVFRQTm9uR2V0KGxhc3RWaXNpdFdhc0hUVFBOb25H
ZXQpOwotICAgIHNldFBhcmVudChwYXJlbnQpOwotICAgIHNldFRhcmdldCh0YXJnZXQpOwotICAg
IHNldFJlZmVycmVyKHJlZmVycmVyKTsKLSAgICBzZXRPcmlnaW5hbFVSTFN0cmluZyhvcmdpbmFs
VXJsKTsKLSAgICBzZXRVUkxTdHJpbmcodXJsKTsKLSAgICBzZXRMYXN0VmlzaXRlZFRpbWUobGFz
dFZpc2l0ZWRUaW1lKTsKLSAgICBzZXRUaXRsZSh0aXRsZSk7Ci0gICAgc2V0QWx0ZXJuYXRlVGl0
bGUoYWx0VGl0bGUpOworYm9vbCBRRGF0YVN0cmVhbUNvZGVyOjpkZWNvZGVVSW50NjQodWludDY0
X3QmIG91dCkKK3sKKyAgICBxdWludDY0IHRtcDsKKyAgICBtX3N0cmVhbSA+PiB0bXA7CisgICAg
Ly8gcXVpbnQ2NCBpcyBkZWZpbmVkIHRvICJsb25nIGxvbmcgdW5zaWduZWQiLCBpbmNvbXBhdGli
bGUgd2l0aCB1aW50NjRfdCBkZWZpbmVkIGFzICJsb25nIHVuc2lnbmVkIiBvbiA2NGJpdHMgYXJj
aHMuCisgICAgb3V0ID0gdG1wOworICAgIHJldHVybiBtX3N0cmVhbS5zdGF0dXMoKSA9PSBRRGF0
YVN0cmVhbTo6T2s7Cit9CisKK2Jvb2wgUURhdGFTdHJlYW1Db2Rlcjo6ZGVjb2RlSW50MzIoaW50
MzJfdCYgb3V0KQoreworICAgIG1fc3RyZWFtID4+IG91dDsKKyAgICByZXR1cm4gbV9zdHJlYW0u
c3RhdHVzKCkgPT0gUURhdGFTdHJlYW06Ok9rOworfQorCitib29sIFFEYXRhU3RyZWFtQ29kZXI6
OmRlY29kZUludDY0KGludDY0X3QmIG91dCkKK3sKKyAgICBxaW50NjQgdG1wOworICAgIG1fc3Ry
ZWFtID4+IHRtcDsKKyAgICAvLyBxaW50NjQgaXMgZGVmaW5lZCB0byAibG9uZyBsb25nIiwgaW5j
b21wYXRpYmxlIHdpdGggaW50NjRfdCBkZWZpbmVkIGFzICJsb25nIiBvbiA2NGJpdHMgYXJjaHMu
CisgICAgb3V0ID0gdG1wOworICAgIHJldHVybiBtX3N0cmVhbS5zdGF0dXMoKSA9PSBRRGF0YVN0
cmVhbTo6T2s7Cit9CisKK2Jvb2wgUURhdGFTdHJlYW1Db2Rlcjo6ZGVjb2RlRmxvYXQoZmxvYXQm
IG91dCkKK3sKKyAgICBtX3N0cmVhbSA+PiBvdXQ7CisgICAgcmV0dXJuIG1fc3RyZWFtLnN0YXR1
cygpID09IFFEYXRhU3RyZWFtOjpPazsKK30KKworYm9vbCBRRGF0YVN0cmVhbUNvZGVyOjpkZWNv
ZGVEb3VibGUoZG91YmxlJiBvdXQpCit7CisgICAgbV9zdHJlYW0gPj4gb3V0OworICAgIHJldHVy
biBtX3N0cmVhbS5zdGF0dXMoKSA9PSBRRGF0YVN0cmVhbTo6T2s7Cit9CisKK2Jvb2wgUURhdGFT
dHJlYW1Db2Rlcjo6ZGVjb2RlU3RyaW5nKFN0cmluZyYgb3V0KQoreworICAgIG1fc3RyZWFtID4+
IG91dDsKKyAgICByZXR1cm4gbV9zdHJlYW0uc3RhdHVzKCkgPT0gUURhdGFTdHJlYW06Ok9rOwor
fQorCitQYXNzUmVmUHRyPEhpc3RvcnlJdGVtPiBIaXN0b3J5SXRlbTo6cmVzdG9yZVN0YXRlKFFE
YXRhU3RyZWFtJiBpbiwgaW50IHZlcnNpb24pCit7CisgICAgQVNTRVJUKHZlcnNpb24gPT0gMik7
CisKKyAgICBTdHJpbmcgdXJsOworICAgIFN0cmluZyB0aXRsZTsKKyAgICBTdHJpbmcgb3JpZ2lu
YWxVUkw7CisgICAgaW4gPj4gdXJsID4+IHRpdGxlID4+IG9yaWdpbmFsVVJMOworCisgICAgUURh
dGFTdHJlYW1Db2RlciBkZWNvZGVyKGluKTsKKyAgICBSZWZQdHI8SGlzdG9yeUl0ZW0+IGl0ZW0g
PSBkZWNvZGVCYWNrRm9yd2FyZFRyZWUodXJsLCB0aXRsZSwgb3JpZ2luYWxVUkwsIGRlY29kZXIp
OworICAgIC8vIGRlY29kZUJhY2tGb3J3YXJkVHJlZSBoYXMgaXRzIG93biBzdHJlYW0gdmVyc2lv
bi4gQW4gaW5jb21wYXRpYmxlIGlucHV0IHN0cmVhbSB2ZXJzaW9uIHdpbGwgcmV0dXJuIG51bGwg
aGVyZS4KKyAgICBpZiAoIWl0ZW0pCisgICAgICAgIHJldHVybiAwOwogCiAgICAgLy8gYXQgdGhl
IGVuZCBsb2FkIHVzZXJEYXRhCisgICAgYm9vbCB2YWxpZFVzZXJEYXRhOwogICAgIGluID4+IHZh
bGlkVXNlckRhdGE7CiAgICAgaWYgKHZhbGlkVXNlckRhdGEpIHsKICAgICAgICAgUVZhcmlhbnQg
dG1wOwogICAgICAgICBpbiA+PiB0bXA7Ci0gICAgICAgIHNldFVzZXJEYXRhKHRtcCk7CisgICAg
ICAgIGl0ZW0tPnNldFVzZXJEYXRhKHRtcCk7CiAgICAgfQogCi0gICAgcmV0dXJuIGluLnN0YXR1
cygpID09IFFEYXRhU3RyZWFtOjpPazsKKyAgICByZXR1cm4gaXRlbTsKIH0KIAogUURhdGFTdHJl
YW0mIFdlYkNvcmU6Okhpc3RvcnlJdGVtOjpzYXZlU3RhdGUoUURhdGFTdHJlYW0mIG91dCwgaW50
IHZlcnNpb24pIGNvbnN0CiB7Ci0gICAgLy8gd2Ugb25seSBzdXBwb3J0IHZlcnNpb24gMSBmb3Ig
bm93LgotICAgIGlmICh2ZXJzaW9uICE9IDEpCi0gICAgICAgIHJldHVybiBvdXQ7Ci0KLSAgICBv
dXQgPDwgdXJsU3RyaW5nKCkgPDwgdGl0bGUoKSA8PCBhbHRlcm5hdGVUaXRsZSgpIDw8IGxhc3RW
aXNpdGVkVGltZSgpOwotICAgIG91dCA8PCBvcmlnaW5hbFVSTFN0cmluZygpIDw8IHJlZmVycmVy
KCkgPDwgdGFyZ2V0KCkgPDwgcGFyZW50KCk7Ci0gICAgb3V0IDw8IGxhc3RWaXNpdFdhc0hUVFBO
b25HZXQoKSA8PCBsYXN0VmlzaXRXYXNGYWlsdXJlKCkgPDwgaXNUYXJnZXRJdGVtKCk7Ci0gICAg
b3V0IDw8IHZpc2l0Q291bnQoKSA8PCBkb2N1bWVudFN0YXRlKCkgPDwgc2Nyb2xsUG9pbnQoKTsK
LSAgICBvdXQgPDwgcXJlYWwocGFnZVNjYWxlRmFjdG9yKCkpIDw8IGRhaWx5VmlzaXRDb3VudHMo
KSA8PCB3ZWVrbHlWaXNpdENvdW50cygpOwotICAgIC8qaWYgKG1fZm9ybURhdGEpIHsKLSAgICAg
ICAgb3V0IDw8IHRydWU7Ci0gICAgICAgIG91dCA8PCBmb3JtQ29udGVudFR5cGUoKTsKLSAgICAg
ICAgb3V0IDw8IG1fZm9ybURhdGEtPmZsYXR0ZW4oKTsKLSAgICB9IGVsc2UgewotICAgICAgICBv
dXQgPDwgZmFsc2U7Ci0gICAgfSovCisgICAgQVNTRVJUKHZlcnNpb24gPT0gMik7CisKKyAgICBv
dXQgPDwgdXJsU3RyaW5nKCkgPDwgdGl0bGUoKSA8PCBvcmlnaW5hbFVSTFN0cmluZygpOworCisg
ICAgUURhdGFTdHJlYW1Db2RlciBlbmNvZGVyKG91dCk7CisgICAgZW5jb2RlQmFja0ZvcndhcmRU
cmVlKGVuY29kZXIpOworCiAgICAgLy8gc2F2ZSB1c2VyIGRhdGEKICAgICBpZiAodXNlckRhdGEo
KS5pc1ZhbGlkKCkpCiAgICAgICAgIG91dCA8PCB0cnVlIDw8IHVzZXJEYXRhKCk7CkBAIC0xNzQs
MyArMjM4LDQgQEAgUURhdGFTdHJlYW0mIFdlYkNvcmU6Okhpc3RvcnlJdGVtOjpzYXZlU3RhdGUo
UURhdGFTdHJlYW0mIG91dCwgaW50IHZlcnNpb24pIGNvbnMKICAgICByZXR1cm4gb3V0OwogfQog
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0Fw
aS9xd2ViaGlzdG9yeS5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2ViaGlzdG9yeS5jcHAK
aW5kZXggYTAyMDgzMzA3MDlhMzVkMThjMWM3ZDI1MWExMGM1M2U2YjM5YjYxMy4uOWM5NjVmOGFj
ODNmYjg5ZWZjZGM1ZTBhOGU4NzZhOWRmMjU1ZmQwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9xdC9BcGkvcXdlYmhpc3RvcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJo
aXN0b3J5LmNwcApAQCAtMzUsMTAgKzM1LDcgQEAKICNpbmNsdWRlIDxRU2hhcmVkRGF0YT4KICNp
bmNsdWRlIDxRRGVidWc+CiAKLWVudW0gewotICAgIEluaXRpYWxIaXN0b3J5VmVyc2lvbiA9IDEs
Ci0gICAgRGVmYXVsdEhpc3RvcnlWZXJzaW9uID0gSW5pdGlhbEhpc3RvcnlWZXJzaW9uCi19Owor
c3RhdGljIGNvbnN0IGludCBIaXN0b3J5U3RyZWFtVmVyc2lvbiA9IDI7CiAKIC8qIQogICBcY2xh
c3MgUVdlYkhpc3RvcnlJdGVtCkBAIC00OTYsNyArNDkzLDcgQEAgUURhdGFTdHJlYW0mIG9wZXJh
dG9yPDwoUURhdGFTdHJlYW0mIHRhcmdldCwgY29uc3QgUVdlYkhpc3RvcnkmIGhpc3RvcnkpCiB7
CiAgICAgUVdlYkhpc3RvcnlQcml2YXRlKiBkID0gaGlzdG9yeS5kOwogCi0gICAgaW50IHZlcnNp
b24gPSBEZWZhdWx0SGlzdG9yeVZlcnNpb247CisgICAgaW50IHZlcnNpb24gPSBIaXN0b3J5U3Ry
ZWFtVmVyc2lvbjsKIAogICAgIHRhcmdldCA8PCB2ZXJzaW9uOwogICAgIHRhcmdldCA8PCBoaXN0
b3J5LmNvdW50KCkgPDwgaGlzdG9yeS5jdXJyZW50SXRlbUluZGV4KCk7CkBAIC01MjEsMjkgKzUx
OCwzNiBAQCBRRGF0YVN0cmVhbSYgb3BlcmF0b3I8PChRRGF0YVN0cmVhbSYgdGFyZ2V0LCBjb25z
dCBRV2ViSGlzdG9yeSYgaGlzdG9yeSkKIFFEYXRhU3RyZWFtJiBvcGVyYXRvcj4+KFFEYXRhU3Ry
ZWFtJiBzb3VyY2UsIFFXZWJIaXN0b3J5JiBoaXN0b3J5KQogewogICAgIFFXZWJIaXN0b3J5UHJp
dmF0ZSogZCA9IGhpc3RvcnkuZDsKKyAgICAvLyBDbGVhciBmaXJzdCwgdG8gaGF2ZSB0aGUgc2Ft
ZSBiZWhhdmlvciBpZiBvdXIgdmVyc2lvbiBkb2Vzbid0IG1hdGNoIGFuZCBpZiB0aGUgSGlzdG9y
eUl0ZW0ncyB2ZXJzaW9uIGRvZXNuJ3QuCisgICAgaGlzdG9yeS5jbGVhcigpOwogCiAgICAgaW50
IHZlcnNpb247Ci0KICAgICBzb3VyY2UgPj4gdmVyc2lvbjsKKyAgICBpZiAodmVyc2lvbiAhPSBI
aXN0b3J5U3RyZWFtVmVyc2lvbikgeworICAgICAgICAvLyBXZSBkbyBub3QgdHJ5IHRvIGRlY29k
ZSBwcmV2aW91cyBoaXN0b3J5IHN0cmVhbSB2ZXJzaW9ucy4KKyAgICAgICAgc291cmNlLnNldFN0
YXR1cyhRRGF0YVN0cmVhbTo6UmVhZENvcnJ1cHREYXRhKTsKKyAgICAgICAgcmV0dXJuIHNvdXJj
ZTsKKyAgICB9CiAKLSAgICBpZiAodmVyc2lvbiA9PSAxKSB7Ci0gICAgICAgIGludCBjb3VudDsK
LSAgICAgICAgaW50IGN1cnJlbnRJbmRleDsKLSAgICAgICAgc291cmNlID4+IGNvdW50ID4+IGN1
cnJlbnRJbmRleDsKLQotICAgICAgICBoaXN0b3J5LmNsZWFyKCk7Ci0gICAgICAgIC8vIG9ubHkg
aWYgdGhlcmUgYXJlIGVsZW1lbnRzCi0gICAgICAgIGlmIChjb3VudCkgewotICAgICAgICAgICAg
Ly8gYWZ0ZXIgY2xlYXIoKSBpcyBuZXcgY2xlYXIgSGlzdG9yeUl0ZW0gKGF0IHRoZSBlbmQgd2Ug
aGFkIHRvIHJlbW92ZSBpdCkKLSAgICAgICAgICAgIFdlYkNvcmU6Okhpc3RvcnlJdGVtKiBudWxs
SXRlbSA9IGQtPmxzdC0+Y3VycmVudEl0ZW0oKTsKLSAgICAgICAgICAgIGZvciAoaW50IGkgPSAw
OyBpIDwgY291bnQ7IGkrKykgewotICAgICAgICAgICAgICAgIFdURjo6UGFzc1JlZlB0cjxXZWJD
b3JlOjpIaXN0b3J5SXRlbT4gaXRlbSA9IFdlYkNvcmU6Okhpc3RvcnlJdGVtOjpjcmVhdGUoKTsK
LSAgICAgICAgICAgICAgICBpdGVtLT5yZXN0b3JlU3RhdGUoc291cmNlLCB2ZXJzaW9uKTsKLSAg
ICAgICAgICAgICAgICBkLT5sc3QtPmFkZEl0ZW0oaXRlbSk7CisgICAgaW50IGNvdW50OworICAg
IGludCBjdXJyZW50SW5kZXg7CisgICAgc291cmNlID4+IGNvdW50ID4+IGN1cnJlbnRJbmRleDsK
KworICAgIC8vIG9ubHkgaWYgdGhlcmUgYXJlIGVsZW1lbnRzCisgICAgaWYgKGNvdW50KSB7Cisg
ICAgICAgIC8vIGFmdGVyIGNsZWFyKCkgaXMgbmV3IGNsZWFyIEhpc3RvcnlJdGVtIChhdCB0aGUg
ZW5kIHdlIGhhZCB0byByZW1vdmUgaXQpCisgICAgICAgIFdlYkNvcmU6Okhpc3RvcnlJdGVtKiBu
dWxsSXRlbSA9IGQtPmxzdC0+Y3VycmVudEl0ZW0oKTsKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7
IGkgPCBjb3VudDsgaSsrKSB7CisgICAgICAgICAgICBXVEY6OlJlZlB0cjxXZWJDb3JlOjpIaXN0
b3J5SXRlbT4gaXRlbSA9IFdlYkNvcmU6Okhpc3RvcnlJdGVtOjpyZXN0b3JlU3RhdGUoc291cmNl
LCB2ZXJzaW9uKTsKKyAgICAgICAgICAgIGlmICghaXRlbSkgeworICAgICAgICAgICAgICAgIC8v
IFRoZSBIaXN0b3J5SXRlbSBpbnRlcm5hbCB2ZXJzaW9uIG1pZ2h0IGhhdmUgY2hhbmdlZCwgbWFy
ayB0aGUgcmVzdCBvZiB0aGUgc3RyZWFtIGFzIGludmFsaWQuCisgICAgICAgICAgICAgICAgc291
cmNlLnNldFN0YXR1cyhRRGF0YVN0cmVhbTo6UmVhZENvcnJ1cHREYXRhKTsKKyAgICAgICAgICAg
ICAgICByZXR1cm4gc291cmNlOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgZC0+bHN0LT5y
ZW1vdmVJdGVtKG51bGxJdGVtKTsKLSAgICAgICAgICAgIGhpc3RvcnkuZ29Ub0l0ZW0oaGlzdG9y
eS5pdGVtQXQoY3VycmVudEluZGV4KSk7CisgICAgICAgICAgICBkLT5sc3QtPmFkZEl0ZW0oaXRl
bSk7CiAgICAgICAgIH0KKyAgICAgICAgZC0+bHN0LT5yZW1vdmVJdGVtKG51bGxJdGVtKTsKKyAg
ICAgICAgaGlzdG9yeS5nb1RvSXRlbShoaXN0b3J5Lml0ZW1BdChjdXJyZW50SW5kZXgpKTsKICAg
ICB9CiAKICAgICBkLT5wYWdlKCktPnVwZGF0ZU5hdmlnYXRpb25BY3Rpb25zKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJoaXN0b3J5L3RzdF9xd2ViaGlzdG9yeS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJoaXN0b3J5L3RzdF9xd2ViaGlzdG9yeS5j
cHAKaW5kZXggMDZjMjkyOTA4N2VmMDUyYTE1NjA1OTgxOTkxMWExM2Y4NmIyN2E3MS4uOGYxNTdl
MzA4NzMwZGU1NTY3YmVmYTcwNGUyZDQxYzNlNmRiMTAzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9xdC90ZXN0cy9xd2ViaGlzdG9yeS90c3RfcXdlYmhpc3RvcnkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvcXQvdGVzdHMvcXdlYmhpc3RvcnkvdHN0X3F3ZWJoaXN0b3J5LmNwcApAQCAtNjUs
NiArNjUsNyBAQCBwcml2YXRlIFFfU0xPVFM6CiAgICAgdm9pZCBwb3BQdXNoU3RhdGVfZGF0YSgp
OwogICAgIHZvaWQgcG9wUHVzaFN0YXRlKCk7CiAgICAgdm9pZCBjbGVhcigpOworICAgIHZvaWQg
cmVzdG9yZUluY29tcGF0aWJsZVZlcnNpb24xKCk7CiAKIAogcHJpdmF0ZToKQEAgLTIzNywxNiAr
MjM4LDIwIEBAIHZvaWQgdHN0X1FXZWJIaXN0b3J5OjpzZXJpYWxpemVfMigpCiAgICAgUURhdGFT
dHJlYW0gc2F2ZSgmdG1wLCBRSU9EZXZpY2U6OldyaXRlT25seSk7IC8vaGVyZSBkYXRhIHdpbGwg
YmUgc2F2ZWQKICAgICBRRGF0YVN0cmVhbSBsb2FkKCZ0bXAsIFFJT0RldmljZTo6UmVhZE9ubHkp
OyAvL2Zyb20gaGVyZSBkYXRhIHdpbGwgYmUgbG9hZGVkCiAKLSAgICBpbnQgb2xkQ3VycmVudElu
ZGV4ID0gaGlzdC0+Y3VycmVudEl0ZW1JbmRleCgpOworICAgIC8vIEZvcmNlIGEgInNhbWUgZG9j
dW1lbnQiIG5hdmlnYXRpb24uCisgICAgZnJhbWUtPmxvYWQoZnJhbWUtPnVybCgpLnRvU3RyaW5n
KCkgKyBRTGF0aW4xU3RyaW5nKCIjZHVtbXlBbmNob3IiKSk7CisKKyAgICBpbnQgaW5pdGlhbEN1
cnJlbnRJbmRleCA9IGhpc3QtPmN1cnJlbnRJdGVtSW5kZXgoKTsKIAogICAgIGhpc3QtPmJhY2so
KTsKKyAgICBoaXN0LT5iYWNrKCk7CiAgICAgd2FpdEZvckxvYWRGaW5pc2hlZC5leGVjKCk7CiAg
ICAgaGlzdC0+YmFjaygpOwogICAgIHdhaXRGb3JMb2FkRmluaXNoZWQuZXhlYygpOwogICAgIC8v
Y2hlY2sgaWYgY3VycmVudCBpbmRleCB3YXMgY2hhbmdlZCAobWFrZSBzdXJlIHRoYXQgaXQgaXMg
bm90IGxhc3QgaXRlbSkKLSAgICBRVkVSSUZZKGhpc3QtPmN1cnJlbnRJdGVtSW5kZXgoKSAhPSBv
bGRDdXJyZW50SW5kZXgpOworICAgIFFWRVJJRlkoaGlzdC0+Y3VycmVudEl0ZW1JbmRleCgpICE9
IGluaXRpYWxDdXJyZW50SW5kZXgpOwogICAgIC8vc2F2ZSBjdXJyZW50IGluZGV4Ci0gICAgb2xk
Q3VycmVudEluZGV4ID0gaGlzdC0+Y3VycmVudEl0ZW1JbmRleCgpOworICAgIGludCBvbGRDdXJy
ZW50SW5kZXggPSBoaXN0LT5jdXJyZW50SXRlbUluZGV4KCk7CiAKICAgICBzYXZlIDw8ICpoaXN0
OwogICAgIFFWRVJJRlkoc2F2ZS5zdGF0dXMoKSA9PSBRRGF0YVN0cmVhbTo6T2spOwpAQCAtMjU1
LDYgKzI2MCwxMyBAQCB2b2lkIHRzdF9RV2ViSGlzdG9yeTo6c2VyaWFsaXplXzIoKQogCiAgICAg
Ly9jaGVjayBjdXJyZW50IGluZGV4CiAgICAgUUNPTVBBUkUoaGlzdC0+Y3VycmVudEl0ZW1JbmRl
eCgpLCBvbGRDdXJyZW50SW5kZXgpOworCisgICAgaGlzdC0+Zm9yd2FyZCgpOworICAgIHdhaXRG
b3JMb2FkRmluaXNoZWQuZXhlYygpOworICAgIGhpc3QtPmZvcndhcmQoKTsKKyAgICB3YWl0Rm9y
TG9hZEZpbmlzaGVkLmV4ZWMoKTsKKyAgICBoaXN0LT5mb3J3YXJkKCk7CisgICAgUUNPTVBBUkUo
aGlzdC0+Y3VycmVudEl0ZW1JbmRleCgpLCBpbml0aWFsQ3VycmVudEluZGV4KTsKIH0KIAogLyoq
CkBAIC00MTQsNSArNDI2LDk4IEBAIHZvaWQgdHN0X1FXZWJIaXN0b3J5OjpjbGVhcigpCiAgICAg
ZGVsZXRlIHBhZ2UyOwogfQogCisvLyBzdGF0aWMgdm9pZCBkdW1wQ3VycmVudFZlcnNpb24oUVdl
Ykhpc3RvcnkqIGhpc3RvcnkpCisvLyB7CisvLyAgICAgUUJ5dGVBcnJheSBidWZmZXI7CisvLyAg
ICAgc2F2ZUhpc3RvcnkoaGlzdG9yeSwgJmJ1ZmZlcik7CisvLyAgICAgcHJpbnRmKCIgICAgc3Rh
dGljIGNvbnN0IGNoYXIgdmVyc2lvbjFEdW1wW10gPSB7Iik7CisvLyAgICAgZm9yIChpbnQgaSA9
IDA7IGkgPCBidWZmZXIuc2l6ZSgpOyArK2kpIHsKKy8vICAgICAgICAgYm9vbCBuZXdMaW5lID0g
IShpICUgMTUpOworLy8gICAgICAgICBib29sIGxhc3QgPSBpID09IGJ1ZmZlci5zaXplKCkgLSAx
OworLy8gICAgICAgICBwcmludGYoIiVzMHglLjJ4JXMiLCBuZXdMaW5lID8gIlxuICAgICAgICAi
IDogIiIsICh1bnNpZ25lZCBjaGFyKWJ1ZmZlcltpXSwgbGFzdCA/ICIiIDogIiwgIik7CisvLyAg
ICAgfQorLy8gICAgIHByaW50ZigifTtcbiIpOworLy8gfQorCit2b2lkIHRzdF9RV2ViSGlzdG9y
eTo6cmVzdG9yZUluY29tcGF0aWJsZVZlcnNpb24xKCkKK3sKKyAgICAvLyBkdW1wQ3VycmVudFZl
cnNpb24oaGlzdCk7CisgICAgc3RhdGljIGNvbnN0IGNoYXIgdmVyc2lvbjFEdW1wW10gPSB7Cisg
ICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDUsIDB4
MDAsIDB4MDAsIDB4MDAsIDB4MDQsIDB4MDAsIDB4MDAsIDB4MDAsCisgICAgICAgIDB4MzIsIDB4
MDAsIDB4NzEsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjMsIDB4MDAsIDB4M2EsIDB4MDAsIDB4MmYs
IDB4MDAsIDB4NzIsIDB4MDAsIDB4NjUsCisgICAgICAgIDB4MDAsIDB4NzMsIDB4MDAsIDB4NmYs
IDB4MDAsIDB4NzUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjMsIDB4MDAsIDB4NjUsIDB4MDAsIDB4
NzMsIDB4MDAsCisgICAgICAgIDB4MmYsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4
NjcsIDB4MDAsIDB4NjUsIDB4MDAsIDB4MzEsIDB4MDAsIDB4MmUsIDB4MDAsIDB4NjgsCisgICAg
ICAgIDB4MDAsIDB4NzQsIDB4MDAsIDB4NmQsIDB4MDAsIDB4NmMsIDB4MDAsIDB4MDAsIDB4MDAs
IDB4MGEsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsIDB4MDAsCisgICAgICAgIDB4NjcsIDB4MDAs
IDB4NjUsIDB4MDAsIDB4MzEsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4MDAsIDB4MDAsIDB4
MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4
MDAsIDB4MzIsIDB4MDAsIDB4NzEsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjMsIDB4MDAsIDB4M2Es
IDB4MDAsCisgICAgICAgIDB4MmYsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzMs
IDB4MDAsIDB4NmYsIDB4MDAsIDB4NzUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjMsCisgICAgICAg
IDB4MDAsIDB4NjUsIDB4MDAsIDB4NzMsIDB4MDAsIDB4MmYsIDB4MDAsIDB4NzAsIDB4MDAsIDB4
NjEsIDB4MDAsIDB4NjcsIDB4MDAsIDB4NjUsIDB4MDAsCisgICAgICAgIDB4MzEsIDB4MDAsIDB4
MmUsIDB4MDAsIDB4NjgsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NmQsIDB4MDAsIDB4NmMsIDB4ZmYs
IDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4MDAs
IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4
MDAsCisgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4
MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisgICAgICAgIDB4
MDAsIDB4M2YsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs
IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAs
IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4
MDAsIDB4MDAsIDB4MzIsCisgICAgICAgIDB4MDAsIDB4NzEsIDB4MDAsIDB4NzIsIDB4MDAsIDB4
NjMsIDB4MDAsIDB4M2EsIDB4MDAsIDB4MmYsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjUsIDB4MDAs
CisgICAgICAgIDB4NzMsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NzUsIDB4MDAsIDB4NzIsIDB4MDAs
IDB4NjMsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzMsIDB4MDAsIDB4MmYsCisgICAgICAgIDB4MDAs
IDB4NzAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NjcsIDB4MDAsIDB4NjUsIDB4MDAsIDB4MzIsIDB4
MDAsIDB4MmUsIDB4MDAsIDB4NjgsIDB4MDAsCisgICAgICAgIDB4NzQsIDB4MDAsIDB4NmQsIDB4
MDAsIDB4NmMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MGEsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEs
IDB4MDAsIDB4NjcsCisgICAgICAgIDB4MDAsIDB4NjUsIDB4MDAsIDB4MzIsIDB4ZmYsIDB4ZmYs
IDB4ZmYsIDB4ZmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisg
ICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzIsIDB4MDAsIDB4NzEsIDB4MDAsIDB4
NzIsIDB4MDAsIDB4NjMsIDB4MDAsIDB4M2EsIDB4MDAsIDB4MmYsCisgICAgICAgIDB4MDAsIDB4
NzIsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzMsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NzUsIDB4MDAs
IDB4NzIsIDB4MDAsIDB4NjMsIDB4MDAsCisgICAgICAgIDB4NjUsIDB4MDAsIDB4NzMsIDB4MDAs
IDB4MmYsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NjcsIDB4MDAsIDB4NjUsIDB4
MDAsIDB4MzIsCisgICAgICAgIDB4MDAsIDB4MmUsIDB4MDAsIDB4NjgsIDB4MDAsIDB4NzQsIDB4
MDAsIDB4NmQsIDB4MDAsIDB4NmMsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAg
ICAgIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs
IDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisgICAgICAgIDB4MDAsIDB4MDAs
IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4
MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisgICAgICAgIDB4M2YsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4
MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs
IDB4MDAsCisgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs
IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzIsIDB4MDAsCisgICAgICAg
IDB4NzEsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjMsIDB4MDAsIDB4M2EsIDB4MDAsIDB4MmYsIDB4
MDAsIDB4NzIsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzMsCisgICAgICAgIDB4MDAsIDB4NmYsIDB4
MDAsIDB4NzUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjMsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzMs
IDB4MDAsIDB4MmYsIDB4MDAsCisgICAgICAgIDB4NzAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4Njcs
IDB4MDAsIDB4NjUsIDB4MDAsIDB4MzMsIDB4MDAsIDB4MmUsIDB4MDAsIDB4NjgsIDB4MDAsIDB4
NzQsCisgICAgICAgIDB4MDAsIDB4NmQsIDB4MDAsIDB4NmMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4
MGEsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NjcsIDB4MDAsCisgICAgICAgIDB4
NjUsIDB4MDAsIDB4MzMsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4MDAsIDB4MDAsIDB4MDAs
IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAs
IDB4MzIsIDB4MDAsIDB4NzEsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjMsIDB4MDAsIDB4M2EsIDB4
MDAsIDB4MmYsIDB4MDAsCisgICAgICAgIDB4NzIsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzMsIDB4
MDAsIDB4NmYsIDB4MDAsIDB4NzUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjMsIDB4MDAsIDB4NjUs
CisgICAgICAgIDB4MDAsIDB4NzMsIDB4MDAsIDB4MmYsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEs
IDB4MDAsIDB4NjcsIDB4MDAsIDB4NjUsIDB4MDAsIDB4MzMsIDB4MDAsCisgICAgICAgIDB4MmUs
IDB4MDAsIDB4NjgsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NmQsIDB4MDAsIDB4NmMsIDB4ZmYsIDB4
ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4ZmYsIDB4ZmYsIDB4MDAsIDB4
MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs
IDB4MDAsIDB4MDAsCisgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs
IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4M2YsCisg
ICAgICAgIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4
MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisgICAgICAgIDB4MDAsIDB4
MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs
IDB4MDAsIDB4MzIsIDB4MDAsIDB4NzEsCisgICAgICAgIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjMs
IDB4MDAsIDB4M2EsIDB4MDAsIDB4MmYsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjUsIDB4MDAsIDB4
NzMsIDB4MDAsCisgICAgICAgIDB4NmYsIDB4MDAsIDB4NzUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4
NjMsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzMsIDB4MDAsIDB4MmYsIDB4MDAsIDB4NzAsCisgICAg
ICAgIDB4MDAsIDB4NjEsIDB4MDAsIDB4NjcsIDB4MDAsIDB4NjUsIDB4MDAsIDB4MzQsIDB4MDAs
IDB4MmUsIDB4MDAsIDB4NjgsIDB4MDAsIDB4NzQsIDB4MDAsCisgICAgICAgIDB4NmQsIDB4MDAs
IDB4NmMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MGEsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsIDB4
MDAsIDB4NjcsIDB4MDAsIDB4NjUsCisgICAgICAgIDB4MDAsIDB4MzQsIDB4ZmYsIDB4ZmYsIDB4
ZmYsIDB4ZmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs
IDB4MDAsCisgICAgICAgIDB4MDAsIDB4MDAsIDB4MzIsIDB4MDAsIDB4NzEsIDB4MDAsIDB4NzIs
IDB4MDAsIDB4NjMsIDB4MDAsIDB4M2EsIDB4MDAsIDB4MmYsIDB4MDAsIDB4NzIsCisgICAgICAg
IDB4MDAsIDB4NjUsIDB4MDAsIDB4NzMsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NzUsIDB4MDAsIDB4
NzIsIDB4MDAsIDB4NjMsIDB4MDAsIDB4NjUsIDB4MDAsCisgICAgICAgIDB4NzMsIDB4MDAsIDB4
MmYsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NjcsIDB4MDAsIDB4NjUsIDB4MDAs
IDB4MzQsIDB4MDAsIDB4MmUsCisgICAgICAgIDB4MDAsIDB4NjgsIDB4MDAsIDB4NzQsIDB4MDAs
IDB4NmQsIDB4MDAsIDB4NmMsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4
ZmYsCisgICAgICAgIDB4ZmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4
MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisgICAgICAgIDB4
MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs
IDB4MDAsIDB4MDAsIDB4MDAsIDB4M2YsIDB4ZjAsCisgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAs
IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4
MDAsIDB4MDAsIDB4MDAsCisgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4
MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzIsIDB4MDAsIDB4NzEsIDB4MDAs
CisgICAgICAgIDB4NzIsIDB4MDAsIDB4NjMsIDB4MDAsIDB4M2EsIDB4MDAsIDB4MmYsIDB4MDAs
IDB4NzIsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzMsIDB4MDAsIDB4NmYsCisgICAgICAgIDB4MDAs
IDB4NzUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjMsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzMsIDB4
MDAsIDB4MmYsIDB4MDAsIDB4NzAsIDB4MDAsCisgICAgICAgIDB4NjEsIDB4MDAsIDB4NjcsIDB4
MDAsIDB4NjUsIDB4MDAsIDB4MzUsIDB4MDAsIDB4MmUsIDB4MDAsIDB4NjgsIDB4MDAsIDB4NzQs
IDB4MDAsIDB4NmQsCisgICAgICAgIDB4MDAsIDB4NmMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MGEs
IDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NjcsIDB4MDAsIDB4NjUsIDB4MDAsCisg
ICAgICAgIDB4MzUsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4
MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisgICAgICAgIDB4MDAsIDB4
MzIsIDB4MDAsIDB4NzEsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjMsIDB4MDAsIDB4M2EsIDB4MDAs
IDB4MmYsIDB4MDAsIDB4NzIsIDB4MDAsCisgICAgICAgIDB4NjUsIDB4MDAsIDB4NzMsIDB4MDAs
IDB4NmYsIDB4MDAsIDB4NzUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjMsIDB4MDAsIDB4NjUsIDB4
MDAsIDB4NzMsCisgICAgICAgIDB4MDAsIDB4MmYsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsIDB4
MDAsIDB4NjcsIDB4MDAsIDB4NjUsIDB4MDAsIDB4MzUsIDB4MDAsIDB4MmUsIDB4MDAsCisgICAg
ICAgIDB4NjgsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NmQsIDB4MDAsIDB4NmMsIDB4ZmYsIDB4ZmYs
IDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCisgICAgICAgIDB4MDAsIDB4MDAs
IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4
MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4
MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs
IDB4MDAsCisgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs
IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisgICAgICAg
IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9OworICAgIFFCeXRlQXJy
YXkgdmVyc2lvbjEodmVyc2lvbjFEdW1wLCBzaXplb2YodmVyc2lvbjFEdW1wKSk7CisgICAgUURh
dGFTdHJlYW0gc3RyZWFtKCZ2ZXJzaW9uMSwgUUlPRGV2aWNlOjpSZWFkT25seSk7CisKKyAgICAv
LyBUaGlzIHNob3VsZCBmYWlsIHRvIGxvYWQsIHRoZSBoaXN0b3J5IHNob3VsZCBiZSBjbGVhcmVk
IGFuZCB0aGUgc3RyZWFtIHNob3VsZCBiZSBicm9rZW4uCisgICAgc3RyZWFtID4+ICpoaXN0Owor
ICAgIFFWRVJJRlkoIWhpc3QtPmNhbkdvQmFjaygpKTsKKyAgICBRVkVSSUZZKCFoaXN0LT5jYW5H
b0ZvcndhcmQoKSk7CisgICAgUVZFUklGWShzdHJlYW0uc3RhdHVzKCkgPT0gUURhdGFTdHJlYW06
OlJlYWRDb3JydXB0RGF0YSk7Cit9CisKIFFURVNUX01BSU4odHN0X1FXZWJIaXN0b3J5KQogI2lu
Y2x1ZGUgInRzdF9xd2ViaGlzdG9yeS5tb2MiCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182539</attachid>
            <date>2013-01-14 03:19:04 -0800</date>
            <delta_ts>2013-01-16 06:26:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106671-20130114121605.patch</filename>
            <type>text/plain</type>
            <size>26094</size>
            <attacher name="Jocelyn Turcotte">jturcotte</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NDQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTRmNTc2NDMzNmRhNDUw
ZWY2OWQxODk1NzlkMWJmYzRlYWFmNWYzMi4uZDg2MzUyY2E5NWExMWJhNzYzZTIzNmNjMWQzMDU4
MTU3YzRjZTdkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ2IEBACiAyMDEzLTAxLTExICBKb2Nl
bHluIFR1cmNvdHRlICA8am9jZWx5bi50dXJjb3R0ZUBkaWdpYS5jb20+CiAKKyAgICAgICAgW1F0
XSBVc2UgdGhlIHNoYXJlZCBIaXN0b3J5SXRlbSBzZXJpYWxpemF0aW9uIGZvciBRV2ViSGlzdG9y
eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2Njcx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBh
bGxvd3MgYSBmZXcgdGhpbmdzIG1pc3NpbmcgZnJvbSB0aGUgcHJldmlvdXMgc2VyaWFsaXphdGlv
biBjb2RlCisgICAgICAgIHRvIGZ1bmN0aW9uIHdoaWxlIHVzaW5nIGNvbW1vbmx5IG1haW50YWlu
ZWQgY29kZToKKyAgICAgICAgLSBUaGUgaXRlbVNlcXVlbmNlTnVtYmVyIGFuZCBkb2N1bWVudFNl
cXVlbmNlTnVtYmVyIHRoYXQgd2VyZSBuZWVkZWQKKyAgICAgICAgICB0byBwcm9wZXJseSByZXN0
b3JlIHNhbWUtZG9jdW1lbnQgbmF2aWdhdGlvbnMKKyAgICAgICAgLSBUaGUgZm9ybSBkYXRhCisg
ICAgICAgIC0gVGhlIG5hdmlnYXRpb24gaGllcmFyY2h5IG1hcHBpbmcgdGhlIGZyYW1lIHRyZWUK
KworICAgICAgICAqIGhpc3RvcnkvSGlzdG9yeUl0ZW0uaDoKKyAgICAgICAgKEhpc3RvcnlJdGVt
KToKKyAgICAgICAgKiBoaXN0b3J5L3F0L0hpc3RvcnlJdGVtUXQuY3BwOgorICAgICAgICAoUURh
dGFTdHJlYW1Db2Rlcik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlFE
YXRhU3RyZWFtQ29kZXI6OlFEYXRhU3RyZWFtQ29kZXIpOgorICAgICAgICAoV2ViQ29yZTo6UURh
dGFTdHJlYW1Db2Rlcjo6ZW5jb2RlQnl0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6UURhdGFTdHJl
YW1Db2Rlcjo6ZW5jb2RlQm9vbCk6CisgICAgICAgIChXZWJDb3JlOjpRRGF0YVN0cmVhbUNvZGVy
OjplbmNvZGVVSW50MzIpOgorICAgICAgICAoV2ViQ29yZTo6UURhdGFTdHJlYW1Db2Rlcjo6ZW5j
b2RlVUludDY0KToKKyAgICAgICAgKFdlYkNvcmU6OlFEYXRhU3RyZWFtQ29kZXI6OmVuY29kZUlu
dDMyKToKKyAgICAgICAgKFdlYkNvcmU6OlFEYXRhU3RyZWFtQ29kZXI6OmVuY29kZUludDY0KToK
KyAgICAgICAgKFdlYkNvcmU6OlFEYXRhU3RyZWFtQ29kZXI6OmVuY29kZUZsb2F0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlFEYXRhU3RyZWFtQ29kZXI6OmVuY29kZURvdWJsZSk6CisgICAgICAgIChX
ZWJDb3JlOjpRRGF0YVN0cmVhbUNvZGVyOjplbmNvZGVTdHJpbmcpOgorICAgICAgICAoV2ViQ29y
ZTo6UURhdGFTdHJlYW1Db2Rlcjo6ZGVjb2RlQnl0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6UURh
dGFTdHJlYW1Db2Rlcjo6ZGVjb2RlQm9vbCk6CisgICAgICAgIChXZWJDb3JlOjpRRGF0YVN0cmVh
bUNvZGVyOjpkZWNvZGVVSW50MzIpOgorICAgICAgICAoV2ViQ29yZTo6UURhdGFTdHJlYW1Db2Rl
cjo6ZGVjb2RlVUludDY0KToKKyAgICAgICAgKFdlYkNvcmU6OlFEYXRhU3RyZWFtQ29kZXI6OmRl
Y29kZUludDMyKToKKyAgICAgICAgKFdlYkNvcmU6OlFEYXRhU3RyZWFtQ29kZXI6OmRlY29kZUlu
dDY0KToKKyAgICAgICAgKFdlYkNvcmU6OlFEYXRhU3RyZWFtQ29kZXI6OmRlY29kZUZsb2F0KToK
KyAgICAgICAgKFdlYkNvcmU6OlFEYXRhU3RyZWFtQ29kZXI6OmRlY29kZURvdWJsZSk6CisgICAg
ICAgIChXZWJDb3JlOjpRRGF0YVN0cmVhbUNvZGVyOjpkZWNvZGVTdHJpbmcpOgorICAgICAgICAo
V2ViQ29yZTo6SGlzdG9yeUl0ZW06OnJlc3RvcmVTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJDb3JlOjpIaXN0b3J5SXRlbTo6c2F2ZVN0YXRlKToKKworMjAxMy0wMS0xMSAgSm9jZWx5biBU
dXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVAZGlnaWEuY29tPgorCiAgICAgICAgIFtRdF0gQ3Jh
c2ggaW4gV2ViQ29yZTo6Q2FjaGVkRnJhbWU6OmRlc3Ryb3kKICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDUyNQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IGQ5
NDcyMTgzYmRiZDQ5ZmViZGIwYjQ5NzFhOGViM2I0MTE4MjViMDEuLmIyNzRjNDQwYmY1N2I4YjRi
ODZlZWRmZWRjMjYyNjIyNDAxYTlmNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjYgQEAK
IDIwMTMtMDEtMTEgIEpvY2VseW4gVHVyY290dGUgIDxqb2NlbHluLnR1cmNvdHRlQGRpZ2lhLmNv
bT4KIAorICAgICAgICBbUXRdIFVzZSB0aGUgc2hhcmVkIEhpc3RvcnlJdGVtIHNlcmlhbGl6YXRp
b24gZm9yIFFXZWJIaXN0b3J5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDY2NzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBCdW1wIHRoZSBzZXJpYWxpemF0aW9uIHZlcnNpb24gYW5kIGNoYW5nZSB0aGUg
Y29kZSB0byBhYm9ydCB0aGUKKyAgICAgICAgcmVzdG9yZSBvZiBhIHByZXZpb3VzIHN0cmVhbSB2
ZXJzaW9uIHJhdGhlciB0aGFuIHRyeWluZyB0byBrZWVwIHRoZQorICAgICAgICBzdXBwb3J0IG9m
IHJlc3RvcmluZyBwcmV2aW91cyB2ZXJzaW9ucy4gVGhpcyBpcyBtYWlubHkgdG8gc2ltcGxpZnkK
KyAgICAgICAgdGhpbmdzIGdpdmVuIHRoYXQgSGlzdG9yeUl0ZW0gaXRzZWxmIGFib3J0cyBpbiB0
aGF0IGNhc2UuCisgCisgICAgICAgICogQXBpL3F3ZWJoaXN0b3J5LmNwcDoKKyAgICAgICAgKG9w
ZXJhdG9yPDwpOgorICAgICAgICAob3BlcmF0b3I+Pik6CisgICAgICAgICogdGVzdHMvcXdlYmhp
c3RvcnkvdHN0X3F3ZWJoaXN0b3J5LmNwcDoKKyAgICAgICAgKHRzdF9RV2ViSGlzdG9yeTo6c2Vy
aWFsaXplXzIpOiBNb2RpZnkgdGhlIHRlc3QgdG8gY292ZXIgc2FtZS1kb2N1bWVudCBuYXZpZ2F0
aW9ucy4KKyAgICAgICAgKHRzdF9RV2ViSGlzdG9yeTo6cmVzdG9yZUluY29tcGF0aWJsZVZlcnNp
b24xKTogQWRkIGEgcHJldmlvdXMgdmVyc2lvbgorICAgICAgICBoYXJkLWNvZGVkIHN0cmVhbSB0
byB2ZXJpZnkgdGhhdCB0aGUgZGVzZXJpYWxpemF0aW9uIGRvZXNuJ3QgaGFuZyBvcgorICAgICAg
ICBjcmFzaC4KKworMjAxMy0wMS0xMSAgSm9jZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4udHVyY290
dGVAZGlnaWEuY29tPgorCiAgICAgICAgIFtRdF0gQ3Jhc2ggaW4gV2ViQ29yZTo6Q2FjaGVkRnJh
bWU6OmRlc3Ryb3kKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwNDUyNQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0hpc3RvcnlJ
dGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0hpc3RvcnlJdGVtLmgKaW5kZXggMjQ3MmFh
M2ZhMjVmOTc4MDk0MGViZDk3MDdjNzUwYTNiYTg5YzVlMC4uNzljNDNjOTM5NWVmNTRiMTk0MTc5
YTUwMzJmZDYwZWNjYTVhMmNjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9I
aXN0b3J5SXRlbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvSGlzdG9yeUl0ZW0uaApA
QCAtMjAxLDcgKzIwMSw3IEBAIHB1YmxpYzoKICAgICBRVmFyaWFudCB1c2VyRGF0YSgpIGNvbnN0
IHsgcmV0dXJuIG1fdXNlckRhdGE7IH0KICAgICB2b2lkIHNldFVzZXJEYXRhKGNvbnN0IFFWYXJp
YW50JiB1c2VyRGF0YSkgeyBtX3VzZXJEYXRhID0gdXNlckRhdGE7IH0KIAotICAgIGJvb2wgcmVz
dG9yZVN0YXRlKFFEYXRhU3RyZWFtJiBidWZmZXIsIGludCB2ZXJzaW9uKTsKKyAgICBzdGF0aWMg
UGFzc1JlZlB0cjxIaXN0b3J5SXRlbT4gcmVzdG9yZVN0YXRlKFFEYXRhU3RyZWFtJiBidWZmZXIs
IGludCB2ZXJzaW9uKTsKICAgICBRRGF0YVN0cmVhbSYgc2F2ZVN0YXRlKFFEYXRhU3RyZWFtJiBv
dXQsIGludCB2ZXJzaW9uKSBjb25zdDsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9oaXN0b3J5L3F0L0hpc3RvcnlJdGVtUXQuY3BwIGIvU291cmNlL1dlYkNvcmUvaGlzdG9y
eS9xdC9IaXN0b3J5SXRlbVF0LmNwcAppbmRleCA1NTI4ZWViMGM4MmQ2YzgzMDNiZDUzYTVhNDRl
OGM5YjhiOTRmYTgxLi41YTU0NTE2ZjM1YTI4MTI3MTQwY2JiNDIyMjc0ZDBhNTJmNjAwMjA2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L3F0L0hpc3RvcnlJdGVtUXQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvcXQvSGlzdG9yeUl0ZW1RdC5jcHAKQEAgLTIxLDIy
ICsyMSwxMyBAQAogI2luY2x1ZGUgIkhpc3RvcnlJdGVtLmgiCiAKICNpbmNsdWRlICJGb3JtRGF0
YS5oIgorI2luY2x1ZGUgPHd0Zi9EZWNvZGVyLmg+CisjaW5jbHVkZSA8d3RmL0VuY29kZXIuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKLXN0YXRpYyBRRGF0YVN0cmVhbSYgb3Bl
cmF0b3I8PChRRGF0YVN0cmVhbSYgc3RyZWFtLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgcG9p
bnQpCi17Ci0gICAgc3RyZWFtIDw8IHBvaW50LngoKSA8PCBwb2ludC55KCk7Ci0gICAgcmV0dXJu
IHN0cmVhbTsKLX0KK3VzaW5nIG5hbWVzcGFjZSBXVEY7CiAKLXN0YXRpYyBRRGF0YVN0cmVhbSYg
b3BlcmF0b3I+PihRRGF0YVN0cmVhbSYgc3RyZWFtLCBXZWJDb3JlOjpJbnRQb2ludCYgcG9pbnQp
Ci17Ci0gICAgaW50IHgsIHk7Ci0gICAgc3RyZWFtID4+IHggPj4geTsKLSAgICBwb2ludC5zZXRY
KHgpOwotICAgIHBvaW50LnNldFkoeSk7Ci0gICAgcmV0dXJuIHN0cmVhbTsKLX0KK25hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogc3RhdGljIFFEYXRhU3RyZWFtJiBvcGVyYXRvcjw8KFFEYXRhU3RyZWFt
JiBzdHJlYW0sIGNvbnN0IFN0cmluZyYgc3RyKQogewpAQCAtNTQsMTE3ICs0NSwxOTAgQEAgc3Rh
dGljIFFEYXRhU3RyZWFtJiBvcGVyYXRvcj4+KFFEYXRhU3RyZWFtJiBzdHJlYW0sIFN0cmluZyYg
c3RyKQogICAgIHJldHVybiBzdHJlYW07CiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci1RRGF0
YVN0cmVhbSYgb3BlcmF0b3I8PChRRGF0YVN0cmVhbSYgc3RyZWFtLCBjb25zdCBWZWN0b3I8VD4m
IGRhdGEpCitjbGFzcyBRRGF0YVN0cmVhbUNvZGVyIDogcHVibGljIFdURjo6RW5jb2RlciwgcHVi
bGljIFdURjo6RGVjb2RlciB7CitwdWJsaWM6CisgICAgUURhdGFTdHJlYW1Db2RlcihRRGF0YVN0
cmVhbSYpOworCitwcml2YXRlOgorICAgIHZpcnR1YWwgdm9pZCBlbmNvZGVCeXRlcyhjb25zdCB1
aW50OF90Kiwgc2l6ZV90KTsKKyAgICB2aXJ0dWFsIHZvaWQgZW5jb2RlQm9vbChib29sKTsKKyAg
ICB2aXJ0dWFsIHZvaWQgZW5jb2RlVUludDMyKHVpbnQzMl90KTsKKyAgICB2aXJ0dWFsIHZvaWQg
ZW5jb2RlVUludDY0KHVpbnQ2NF90KTsKKyAgICB2aXJ0dWFsIHZvaWQgZW5jb2RlSW50MzIoaW50
MzJfdCk7CisgICAgdmlydHVhbCB2b2lkIGVuY29kZUludDY0KGludDY0X3QpOworICAgIHZpcnR1
YWwgdm9pZCBlbmNvZGVGbG9hdChmbG9hdCk7CisgICAgdmlydHVhbCB2b2lkIGVuY29kZURvdWJs
ZShkb3VibGUpOworICAgIHZpcnR1YWwgdm9pZCBlbmNvZGVTdHJpbmcoY29uc3QgU3RyaW5nJik7
CisKKyAgICB2aXJ0dWFsIGJvb2wgZGVjb2RlQnl0ZXMoVmVjdG9yPHVpbnQ4X3Q+Jik7CisgICAg
dmlydHVhbCBib29sIGRlY29kZUJvb2woYm9vbCYpOworICAgIHZpcnR1YWwgYm9vbCBkZWNvZGVV
SW50MzIodWludDMyX3QmKTsKKyAgICB2aXJ0dWFsIGJvb2wgZGVjb2RlVUludDY0KHVpbnQ2NF90
Jik7CisgICAgdmlydHVhbCBib29sIGRlY29kZUludDMyKGludDMyX3QmKTsKKyAgICB2aXJ0dWFs
IGJvb2wgZGVjb2RlSW50NjQoaW50NjRfdCYpOworICAgIHZpcnR1YWwgYm9vbCBkZWNvZGVGbG9h
dChmbG9hdCYpOworICAgIHZpcnR1YWwgYm9vbCBkZWNvZGVEb3VibGUoZG91YmxlJik7CisgICAg
dmlydHVhbCBib29sIGRlY29kZVN0cmluZyhTdHJpbmcmKTsKKworICAgIFFEYXRhU3RyZWFtJiBt
X3N0cmVhbTsKK307CisKK1FEYXRhU3RyZWFtQ29kZXI6OlFEYXRhU3RyZWFtQ29kZXIoUURhdGFT
dHJlYW0mIHN0cmVhbSkKKyAgICA6IG1fc3RyZWFtKHN0cmVhbSkKIHsKLSAgICBzdHJlYW0gPDwg
cWludDY0KGRhdGEuc2l6ZSgpKTsKLSAgICBmb3JlYWNoIChjb25zdCBUJiBpLCBkYXRhKQotICAg
ICAgICBzdHJlYW0gPDwgaTsKLSAgICByZXR1cm4gc3RyZWFtOwogfQogCi10ZW1wbGF0ZTx0eXBl
bmFtZSBUPgotUURhdGFTdHJlYW0mIG9wZXJhdG9yPj4oUURhdGFTdHJlYW0mIHN0cmVhbSwgVmVj
dG9yPFQ+JiBkYXRhKQordm9pZCBRRGF0YVN0cmVhbUNvZGVyOjplbmNvZGVCeXRlcyhjb25zdCB1
aW50OF90KiBieXRlcywgc2l6ZV90IHNpemUpCiB7Ci0gICAgZGF0YS5jbGVhcigpOworICAgIG1f
c3RyZWFtIDw8IHFpbnQ2NChzaXplKTsKKyAgICBmb3IgKDsgc2l6ZSA+IDA7IC0tc2l6ZSkKKyAg
ICAgICAgbV9zdHJlYW0gPDwgYnl0ZXMrKzsKK30KKwordm9pZCBRRGF0YVN0cmVhbUNvZGVyOjpl
bmNvZGVCb29sKGJvb2wgdmFsdWUpCit7CisgICAgbV9zdHJlYW0gPDwgdmFsdWU7Cit9CisKK3Zv
aWQgUURhdGFTdHJlYW1Db2Rlcjo6ZW5jb2RlVUludDMyKHVpbnQzMl90IHZhbHVlKQoreworICAg
IG1fc3RyZWFtIDw8IHZhbHVlOworfQorCit2b2lkIFFEYXRhU3RyZWFtQ29kZXI6OmVuY29kZVVJ
bnQ2NCh1aW50NjRfdCB2YWx1ZSkKK3sKKyAgICBtX3N0cmVhbSA8PCBzdGF0aWNfY2FzdDxxdWlu
dDY0Pih2YWx1ZSk7Cit9CisKK3ZvaWQgUURhdGFTdHJlYW1Db2Rlcjo6ZW5jb2RlSW50MzIoaW50
MzJfdCB2YWx1ZSkKK3sKKyAgICBtX3N0cmVhbSA8PCB2YWx1ZTsKK30KKwordm9pZCBRRGF0YVN0
cmVhbUNvZGVyOjplbmNvZGVJbnQ2NChpbnQ2NF90IHZhbHVlKQoreworICAgIG1fc3RyZWFtIDw8
IHN0YXRpY19jYXN0PHFpbnQ2ND4odmFsdWUpOworfQorCit2b2lkIFFEYXRhU3RyZWFtQ29kZXI6
OmVuY29kZUZsb2F0KGZsb2F0IHZhbHVlKQoreworICAgIG1fc3RyZWFtIDw8IHZhbHVlOworfQor
Cit2b2lkIFFEYXRhU3RyZWFtQ29kZXI6OmVuY29kZURvdWJsZShkb3VibGUgdmFsdWUpCit7Cisg
ICAgbV9zdHJlYW0gPDwgdmFsdWU7Cit9CisKK3ZvaWQgUURhdGFTdHJlYW1Db2Rlcjo6ZW5jb2Rl
U3RyaW5nKGNvbnN0IFN0cmluZyYgdmFsdWUpCit7CisgICAgbV9zdHJlYW0gPDwgdmFsdWU7Cit9
CisKK2Jvb2wgUURhdGFTdHJlYW1Db2Rlcjo6ZGVjb2RlQnl0ZXMoVmVjdG9yPHVpbnQ4X3Q+JiBv
dXQpCit7CisgICAgb3V0LmNsZWFyKCk7CiAgICAgcWludDY0IGNvdW50OwotICAgIFQgaXRlbTsK
LSAgICBzdHJlYW0gPj4gY291bnQ7Ci0gICAgZGF0YS5yZXNlcnZlQ2FwYWNpdHkoY291bnQpOwor
ICAgIHVpbnQ4X3QgYnl0ZTsKKyAgICBtX3N0cmVhbSA+PiBjb3VudDsKKyAgICBvdXQucmVzZXJ2
ZUNhcGFjaXR5KGNvdW50KTsKICAgICBmb3IgKHFpbnQ2NCBpID0gMDsgaSA8IGNvdW50OyArK2kp
IHsKLSAgICAgICAgc3RyZWFtID4+IGl0ZW07Ci0gICAgICAgIGRhdGEuYXBwZW5kKGl0ZW0pOwor
ICAgICAgICBtX3N0cmVhbSA+PiBieXRlOworICAgICAgICBvdXQuYXBwZW5kKGJ5dGUpOwogICAg
IH0KLSAgICByZXR1cm4gc3RyZWFtOworICAgIHJldHVybiBtX3N0cmVhbS5zdGF0dXMoKSA9PSBR
RGF0YVN0cmVhbTo6T2s7CiB9CiAKLWJvb2wgV2ViQ29yZTo6SGlzdG9yeUl0ZW06OnJlc3RvcmVT
dGF0ZShRRGF0YVN0cmVhbSYgaW4sIGludCB2ZXJzaW9uKQorYm9vbCBRRGF0YVN0cmVhbUNvZGVy
OjpkZWNvZGVCb29sKGJvb2wmIG91dCkKIHsKLSAgICAvLyB3ZSBvbmx5IHN1cHBvcnQgdmVyc2lv
biAxIGZvciBub3cKKyAgICBtX3N0cmVhbSA+PiBvdXQ7CisgICAgcmV0dXJuIG1fc3RyZWFtLnN0
YXR1cygpID09IFFEYXRhU3RyZWFtOjpPazsKK30KIAotICAgIGlmICh2ZXJzaW9uICE9IDEpCi0g
ICAgICAgIHJldHVybiBmYWxzZTsKK2Jvb2wgUURhdGFTdHJlYW1Db2Rlcjo6ZGVjb2RlVUludDMy
KHVpbnQzMl90JiBvdXQpCit7CisgICAgbV9zdHJlYW0gPj4gb3V0OworICAgIHJldHVybiBtX3N0
cmVhbS5zdGF0dXMoKSA9PSBRRGF0YVN0cmVhbTo6T2s7Cit9CiAKLSAgICBXVEY6OlN0cmluZyB1
cmw7Ci0gICAgV1RGOjpTdHJpbmcgdGl0bGU7Ci0gICAgV1RGOjpTdHJpbmcgYWx0VGl0bGU7Ci0g
ICAgV1RGOjpTdHJpbmcgb3JnaW5hbFVybDsKLSAgICBXVEY6OlN0cmluZyByZWZlcnJlcjsKLSAg
ICBXVEY6OlN0cmluZyB0YXJnZXQ7Ci0gICAgV1RGOjpTdHJpbmcgcGFycmVudDsKLSAgICBkb3Vi
bGUgbGFzdFZpc2l0ZWRUaW1lOwotICAgIGJvb2wgdmFsaWRVc2VyRGF0YTsKLSAgICBXVEY6OlN0
cmluZyBwYXJlbnQ7Ci0gICAgYm9vbCBsYXN0VmlzaXRXYXNIVFRQTm9uR2V0OwotICAgIGJvb2wg
bGFzdFZpc2l0V2FzRmFpbHVyZTsKLSAgICBib29sIGlzVGFyZ2V0SXRlbTsKLSAgICBpbnQgdmlz
aXRDb3VudDsKLSAgICBXVEY6OlZlY3RvcjxXVEY6OlN0cmluZz4gZG9jdW1lbnRTdGF0ZTsKLSAg
ICBXZWJDb3JlOjpJbnRQb2ludCBzY3JvbGxQb2ludDsKLSAgICBxcmVhbCBwYWdlU2NhbGVGYWN0
b3I7Ci0gICAgV1RGOjpWZWN0b3I8aW50PiB3ZWVrbHlWaXNpdENvdW50czsKLSAgICBXVEY6OlZl
Y3RvcjxpbnQ+IGRhaWx5VmlzaXRDb3VudHM7Ci0gICAgLy8gYm9vbCBsb2FkRm9ybWRhdGE7Ci0g
ICAgLy8gV1RGOjpTdHJpbmcgZm9ybUNvbnRlbnRUeXBlOwotICAgIC8vIFdURjo6VmVjdG9yPGNo
YXI+IGZvcm1EYXRhOwotCi0gICAgaW4gPj4gdXJsID4+IHRpdGxlID4+IGFsdFRpdGxlID4+IGxh
c3RWaXNpdGVkVGltZSA+PiBvcmdpbmFsVXJsID4+IHJlZmVycmVyID4+IHRhcmdldCA+PiBwYXJl
bnQ7Ci0gICAgaW4gPj4gbGFzdFZpc2l0V2FzSFRUUE5vbkdldCA+PiBsYXN0VmlzaXRXYXNGYWls
dXJlID4+IGlzVGFyZ2V0SXRlbSA+PiB2aXNpdENvdW50ID4+IGRvY3VtZW50U3RhdGU7Ci0gICAg
aW4gPj4gc2Nyb2xsUG9pbnQgPj4gcGFnZVNjYWxlRmFjdG9yID4+IGRhaWx5VmlzaXRDb3VudHMg
Pj4gd2Vla2x5VmlzaXRDb3VudHM7Ci0gICAgLyppbiA+PiBsb2FkRm9ybWRhdGE7Ci0gICAgaWYg
KGxvYWRGb3JtZGF0YSkgewotICAgICAgICBpbiA+PiBmb3JtQ29udGVudFR5cGUgPj4gZm9ybURh
dGE7Ci0gICAgICAgIC8vIGRpcmVjdCBhc3NpZ25lZCAoISkKLSAgICAgICAgbV9mb3JtQ29udGVu
dFR5cGUgPSBmb3JtQ29udGVudFR5cGU7Ci0gICAgICAgIG1fZm9ybURhdGEgPSBGb3JtRGF0YTo6
Y3JlYXRlKENTdHJpbmcoZm9ybURhdGEpKTsKLSAgICB9Ki8KLSAgICAvLyB1c2Ugc2V0dGVycwot
ICAgIGFkb3B0VmlzaXRDb3VudHMoZGFpbHlWaXNpdENvdW50cywgd2Vla2x5VmlzaXRDb3VudHMp
OwotICAgIHNldFNjcm9sbFBvaW50KHNjcm9sbFBvaW50KTsKLSAgICBzZXRQYWdlU2NhbGVGYWN0
b3IocGFnZVNjYWxlRmFjdG9yKTsKLSAgICBzZXREb2N1bWVudFN0YXRlKGRvY3VtZW50U3RhdGUp
OwotICAgIHNldFZpc2l0Q291bnQodmlzaXRDb3VudCk7Ci0gICAgc2V0SXNUYXJnZXRJdGVtKGlz
VGFyZ2V0SXRlbSk7Ci0gICAgc2V0TGFzdFZpc2l0V2FzRmFpbHVyZShsYXN0VmlzaXRXYXNGYWls
dXJlKTsKLSAgICBzZXRMYXN0VmlzaXRXYXNIVFRQTm9uR2V0KGxhc3RWaXNpdFdhc0hUVFBOb25H
ZXQpOwotICAgIHNldFBhcmVudChwYXJlbnQpOwotICAgIHNldFRhcmdldCh0YXJnZXQpOwotICAg
IHNldFJlZmVycmVyKHJlZmVycmVyKTsKLSAgICBzZXRPcmlnaW5hbFVSTFN0cmluZyhvcmdpbmFs
VXJsKTsKLSAgICBzZXRVUkxTdHJpbmcodXJsKTsKLSAgICBzZXRMYXN0VmlzaXRlZFRpbWUobGFz
dFZpc2l0ZWRUaW1lKTsKLSAgICBzZXRUaXRsZSh0aXRsZSk7Ci0gICAgc2V0QWx0ZXJuYXRlVGl0
bGUoYWx0VGl0bGUpOworYm9vbCBRRGF0YVN0cmVhbUNvZGVyOjpkZWNvZGVVSW50NjQodWludDY0
X3QmIG91dCkKK3sKKyAgICBxdWludDY0IHRtcDsKKyAgICBtX3N0cmVhbSA+PiB0bXA7CisgICAg
Ly8gcXVpbnQ2NCBpcyBkZWZpbmVkIHRvICJsb25nIGxvbmcgdW5zaWduZWQiLCBpbmNvbXBhdGli
bGUgd2l0aCB1aW50NjRfdCBkZWZpbmVkIGFzICJsb25nIHVuc2lnbmVkIiBvbiA2NGJpdHMgYXJj
aHMuCisgICAgb3V0ID0gdG1wOworICAgIHJldHVybiBtX3N0cmVhbS5zdGF0dXMoKSA9PSBRRGF0
YVN0cmVhbTo6T2s7Cit9CisKK2Jvb2wgUURhdGFTdHJlYW1Db2Rlcjo6ZGVjb2RlSW50MzIoaW50
MzJfdCYgb3V0KQoreworICAgIG1fc3RyZWFtID4+IG91dDsKKyAgICByZXR1cm4gbV9zdHJlYW0u
c3RhdHVzKCkgPT0gUURhdGFTdHJlYW06Ok9rOworfQorCitib29sIFFEYXRhU3RyZWFtQ29kZXI6
OmRlY29kZUludDY0KGludDY0X3QmIG91dCkKK3sKKyAgICBxaW50NjQgdG1wOworICAgIG1fc3Ry
ZWFtID4+IHRtcDsKKyAgICAvLyBxaW50NjQgaXMgZGVmaW5lZCB0byAibG9uZyBsb25nIiwgaW5j
b21wYXRpYmxlIHdpdGggaW50NjRfdCBkZWZpbmVkIGFzICJsb25nIiBvbiA2NGJpdHMgYXJjaHMu
CisgICAgb3V0ID0gdG1wOworICAgIHJldHVybiBtX3N0cmVhbS5zdGF0dXMoKSA9PSBRRGF0YVN0
cmVhbTo6T2s7Cit9CisKK2Jvb2wgUURhdGFTdHJlYW1Db2Rlcjo6ZGVjb2RlRmxvYXQoZmxvYXQm
IG91dCkKK3sKKyAgICBtX3N0cmVhbSA+PiBvdXQ7CisgICAgcmV0dXJuIG1fc3RyZWFtLnN0YXR1
cygpID09IFFEYXRhU3RyZWFtOjpPazsKK30KKworYm9vbCBRRGF0YVN0cmVhbUNvZGVyOjpkZWNv
ZGVEb3VibGUoZG91YmxlJiBvdXQpCit7CisgICAgbV9zdHJlYW0gPj4gb3V0OworICAgIHJldHVy
biBtX3N0cmVhbS5zdGF0dXMoKSA9PSBRRGF0YVN0cmVhbTo6T2s7Cit9CisKK2Jvb2wgUURhdGFT
dHJlYW1Db2Rlcjo6ZGVjb2RlU3RyaW5nKFN0cmluZyYgb3V0KQoreworICAgIG1fc3RyZWFtID4+
IG91dDsKKyAgICByZXR1cm4gbV9zdHJlYW0uc3RhdHVzKCkgPT0gUURhdGFTdHJlYW06Ok9rOwor
fQorCitQYXNzUmVmUHRyPEhpc3RvcnlJdGVtPiBIaXN0b3J5SXRlbTo6cmVzdG9yZVN0YXRlKFFE
YXRhU3RyZWFtJiBpbiwgaW50IHZlcnNpb24pCit7CisgICAgQVNTRVJUKHZlcnNpb24gPT0gMik7
CisKKyAgICBTdHJpbmcgdXJsOworICAgIFN0cmluZyB0aXRsZTsKKyAgICBTdHJpbmcgb3JpZ2lu
YWxVUkw7CisgICAgaW4gPj4gdXJsID4+IHRpdGxlID4+IG9yaWdpbmFsVVJMOworCisgICAgUURh
dGFTdHJlYW1Db2RlciBkZWNvZGVyKGluKTsKKyAgICBSZWZQdHI8SGlzdG9yeUl0ZW0+IGl0ZW0g
PSBkZWNvZGVCYWNrRm9yd2FyZFRyZWUodXJsLCB0aXRsZSwgb3JpZ2luYWxVUkwsIGRlY29kZXIp
OworICAgIC8vIGRlY29kZUJhY2tGb3J3YXJkVHJlZSBoYXMgaXRzIG93biBzdHJlYW0gdmVyc2lv
bi4gQW4gaW5jb21wYXRpYmxlIGlucHV0IHN0cmVhbSB2ZXJzaW9uIHdpbGwgcmV0dXJuIG51bGwg
aGVyZS4KKyAgICBpZiAoIWl0ZW0pCisgICAgICAgIHJldHVybiAwOwogCiAgICAgLy8gYXQgdGhl
IGVuZCBsb2FkIHVzZXJEYXRhCisgICAgYm9vbCB2YWxpZFVzZXJEYXRhOwogICAgIGluID4+IHZh
bGlkVXNlckRhdGE7CiAgICAgaWYgKHZhbGlkVXNlckRhdGEpIHsKICAgICAgICAgUVZhcmlhbnQg
dG1wOwogICAgICAgICBpbiA+PiB0bXA7Ci0gICAgICAgIHNldFVzZXJEYXRhKHRtcCk7CisgICAg
ICAgIGl0ZW0tPnNldFVzZXJEYXRhKHRtcCk7CiAgICAgfQogCi0gICAgcmV0dXJuIGluLnN0YXR1
cygpID09IFFEYXRhU3RyZWFtOjpPazsKKyAgICByZXR1cm4gaXRlbTsKIH0KIAogUURhdGFTdHJl
YW0mIFdlYkNvcmU6Okhpc3RvcnlJdGVtOjpzYXZlU3RhdGUoUURhdGFTdHJlYW0mIG91dCwgaW50
IHZlcnNpb24pIGNvbnN0CiB7Ci0gICAgLy8gd2Ugb25seSBzdXBwb3J0IHZlcnNpb24gMSBmb3Ig
bm93LgotICAgIGlmICh2ZXJzaW9uICE9IDEpCi0gICAgICAgIHJldHVybiBvdXQ7Ci0KLSAgICBv
dXQgPDwgdXJsU3RyaW5nKCkgPDwgdGl0bGUoKSA8PCBhbHRlcm5hdGVUaXRsZSgpIDw8IGxhc3RW
aXNpdGVkVGltZSgpOwotICAgIG91dCA8PCBvcmlnaW5hbFVSTFN0cmluZygpIDw8IHJlZmVycmVy
KCkgPDwgdGFyZ2V0KCkgPDwgcGFyZW50KCk7Ci0gICAgb3V0IDw8IGxhc3RWaXNpdFdhc0hUVFBO
b25HZXQoKSA8PCBsYXN0VmlzaXRXYXNGYWlsdXJlKCkgPDwgaXNUYXJnZXRJdGVtKCk7Ci0gICAg
b3V0IDw8IHZpc2l0Q291bnQoKSA8PCBkb2N1bWVudFN0YXRlKCkgPDwgc2Nyb2xsUG9pbnQoKTsK
LSAgICBvdXQgPDwgcXJlYWwocGFnZVNjYWxlRmFjdG9yKCkpIDw8IGRhaWx5VmlzaXRDb3VudHMo
KSA8PCB3ZWVrbHlWaXNpdENvdW50cygpOwotICAgIC8qaWYgKG1fZm9ybURhdGEpIHsKLSAgICAg
ICAgb3V0IDw8IHRydWU7Ci0gICAgICAgIG91dCA8PCBmb3JtQ29udGVudFR5cGUoKTsKLSAgICAg
ICAgb3V0IDw8IG1fZm9ybURhdGEtPmZsYXR0ZW4oKTsKLSAgICB9IGVsc2UgewotICAgICAgICBv
dXQgPDwgZmFsc2U7Ci0gICAgfSovCisgICAgQVNTRVJUKHZlcnNpb24gPT0gMik7CisKKyAgICBv
dXQgPDwgdXJsU3RyaW5nKCkgPDwgdGl0bGUoKSA8PCBvcmlnaW5hbFVSTFN0cmluZygpOworCisg
ICAgUURhdGFTdHJlYW1Db2RlciBlbmNvZGVyKG91dCk7CisgICAgZW5jb2RlQmFja0ZvcndhcmRU
cmVlKGVuY29kZXIpOworCiAgICAgLy8gc2F2ZSB1c2VyIGRhdGEKICAgICBpZiAodXNlckRhdGEo
KS5pc1ZhbGlkKCkpCiAgICAgICAgIG91dCA8PCB0cnVlIDw8IHVzZXJEYXRhKCk7CkBAIC0xNzQs
MyArMjM4LDQgQEAgUURhdGFTdHJlYW0mIFdlYkNvcmU6Okhpc3RvcnlJdGVtOjpzYXZlU3RhdGUo
UURhdGFTdHJlYW0mIG91dCwgaW50IHZlcnNpb24pIGNvbnMKICAgICByZXR1cm4gb3V0OwogfQog
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0Fw
aS9xd2ViaGlzdG9yeS5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2ViaGlzdG9yeS5jcHAK
aW5kZXggYTAyMDgzMzA3MDlhMzVkMThjMWM3ZDI1MWExMGM1M2U2YjM5YjYxMy4uYmUwOTA1ZWI3
ODU2MjIxNzBhMGIwMGRkNGRhYTFjY2M4YzE0NjBiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9xdC9BcGkvcXdlYmhpc3RvcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJo
aXN0b3J5LmNwcApAQCAtMzUsMTAgKzM1LDcgQEAKICNpbmNsdWRlIDxRU2hhcmVkRGF0YT4KICNp
bmNsdWRlIDxRRGVidWc+CiAKLWVudW0gewotICAgIEluaXRpYWxIaXN0b3J5VmVyc2lvbiA9IDEs
Ci0gICAgRGVmYXVsdEhpc3RvcnlWZXJzaW9uID0gSW5pdGlhbEhpc3RvcnlWZXJzaW9uCi19Owor
c3RhdGljIGNvbnN0IGludCBIaXN0b3J5U3RyZWFtVmVyc2lvbiA9IDI7CiAKIC8qIQogICBcY2xh
c3MgUVdlYkhpc3RvcnlJdGVtCkBAIC00OTYsNyArNDkzLDcgQEAgUURhdGFTdHJlYW0mIG9wZXJh
dG9yPDwoUURhdGFTdHJlYW0mIHRhcmdldCwgY29uc3QgUVdlYkhpc3RvcnkmIGhpc3RvcnkpCiB7
CiAgICAgUVdlYkhpc3RvcnlQcml2YXRlKiBkID0gaGlzdG9yeS5kOwogCi0gICAgaW50IHZlcnNp
b24gPSBEZWZhdWx0SGlzdG9yeVZlcnNpb247CisgICAgaW50IHZlcnNpb24gPSBIaXN0b3J5U3Ry
ZWFtVmVyc2lvbjsKIAogICAgIHRhcmdldCA8PCB2ZXJzaW9uOwogICAgIHRhcmdldCA8PCBoaXN0
b3J5LmNvdW50KCkgPDwgaGlzdG9yeS5jdXJyZW50SXRlbUluZGV4KCk7CkBAIC01MjEsMjkgKzUx
OCw0MiBAQCBRRGF0YVN0cmVhbSYgb3BlcmF0b3I8PChRRGF0YVN0cmVhbSYgdGFyZ2V0LCBjb25z
dCBRV2ViSGlzdG9yeSYgaGlzdG9yeSkKIFFEYXRhU3RyZWFtJiBvcGVyYXRvcj4+KFFEYXRhU3Ry
ZWFtJiBzb3VyY2UsIFFXZWJIaXN0b3J5JiBoaXN0b3J5KQogewogICAgIFFXZWJIaXN0b3J5UHJp
dmF0ZSogZCA9IGhpc3RvcnkuZDsKKyAgICAvLyBDbGVhciBmaXJzdCwgdG8gaGF2ZSB0aGUgc2Ft
ZSBiZWhhdmlvciBpZiBvdXIgdmVyc2lvbiBkb2Vzbid0IG1hdGNoIGFuZCBpZiB0aGUgSGlzdG9y
eUl0ZW0ncyB2ZXJzaW9uIGRvZXNuJ3QuCisgICAgaGlzdG9yeS5jbGVhcigpOwogCisgICAgLy8g
VGhpcyB2ZXJzaW9uIGNvdmVycyBldmVyeSBmaWVsZCB3ZSBzZXJpYWxpemUgaW4gcXdlYmhpc3Rv
cnkuY3BwIGFuZCBIaXN0b3J5SXRlbVF0LmNwcCAobGlrZSB0aGUgSGlzdG9yeUl0ZW06OnVzZXJE
YXRhKCkpLgorICAgIC8vIEhpc3RvcnlJdGVtIGhhcyBpdHMgb3duIHZlcnNpb24gaW4gdGhlIHN0
cmVhbSBjb3ZlcmluZyB0aGUgd29yayBkb25lIGluIGVuY29kZUJhY2tGb3J3YXJkVHJlZS4KKyAg
ICAvLyBJZiBhbnkgb2YgdGhvc2UgdHdvIHN0cmVhbSB2ZXJzaW9uIGNoYW5nZXMsIHRoZSBlZmZl
Y3Qgc2hvdWxkIGJlIHRoZSBzYW1lIGFuZCB0aGUgUVdlYkhpc3Rvcnkgc2hvdWxkIGZhaWwgdG8g
cmVzdG9yZS4KICAgICBpbnQgdmVyc2lvbjsKLQogICAgIHNvdXJjZSA+PiB2ZXJzaW9uOworICAg
IGlmICh2ZXJzaW9uICE9IEhpc3RvcnlTdHJlYW1WZXJzaW9uKSB7CisgICAgICAgIC8vIFdlIGRv
IG5vdCB0cnkgdG8gZGVjb2RlIHByZXZpb3VzIGhpc3Rvcnkgc3RyZWFtIHZlcnNpb25zLgorICAg
ICAgICAvLyBNYWtlIHN1cmUgdGhhdCBvdXIgaGlzdG9yeSBpcyBjbGVhcmVkIGFuZCBtYXJrIHRo
ZSByZXN0IG9mIHRoZSBzdHJlYW0gYXMgaW52YWxpZC4KKyAgICAgICAgQVNTRVJUKGhpc3Rvcnku
Y291bnQoKSA9PSAxKTsKKyAgICAgICAgc291cmNlLnNldFN0YXR1cyhRRGF0YVN0cmVhbTo6UmVh
ZENvcnJ1cHREYXRhKTsKKyAgICAgICAgcmV0dXJuIHNvdXJjZTsKKyAgICB9CiAKLSAgICBpZiAo
dmVyc2lvbiA9PSAxKSB7Ci0gICAgICAgIGludCBjb3VudDsKLSAgICAgICAgaW50IGN1cnJlbnRJ
bmRleDsKLSAgICAgICAgc291cmNlID4+IGNvdW50ID4+IGN1cnJlbnRJbmRleDsKLQotICAgICAg
ICBoaXN0b3J5LmNsZWFyKCk7Ci0gICAgICAgIC8vIG9ubHkgaWYgdGhlcmUgYXJlIGVsZW1lbnRz
Ci0gICAgICAgIGlmIChjb3VudCkgewotICAgICAgICAgICAgLy8gYWZ0ZXIgY2xlYXIoKSBpcyBu
ZXcgY2xlYXIgSGlzdG9yeUl0ZW0gKGF0IHRoZSBlbmQgd2UgaGFkIHRvIHJlbW92ZSBpdCkKLSAg
ICAgICAgICAgIFdlYkNvcmU6Okhpc3RvcnlJdGVtKiBudWxsSXRlbSA9IGQtPmxzdC0+Y3VycmVu
dEl0ZW0oKTsKLSAgICAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgY291bnQ7IGkrKykgewot
ICAgICAgICAgICAgICAgIFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpIaXN0b3J5SXRlbT4gaXRl
bSA9IFdlYkNvcmU6Okhpc3RvcnlJdGVtOjpjcmVhdGUoKTsKLSAgICAgICAgICAgICAgICBpdGVt
LT5yZXN0b3JlU3RhdGUoc291cmNlLCB2ZXJzaW9uKTsKLSAgICAgICAgICAgICAgICBkLT5sc3Qt
PmFkZEl0ZW0oaXRlbSk7CisgICAgaW50IGNvdW50OworICAgIGludCBjdXJyZW50SW5kZXg7Cisg
ICAgc291cmNlID4+IGNvdW50ID4+IGN1cnJlbnRJbmRleDsKKworICAgIC8vIG9ubHkgaWYgdGhl
cmUgYXJlIGVsZW1lbnRzCisgICAgaWYgKGNvdW50KSB7CisgICAgICAgIC8vIGFmdGVyIGNsZWFy
KCkgaXMgbmV3IGNsZWFyIEhpc3RvcnlJdGVtIChhdCB0aGUgZW5kIHdlIGhhZCB0byByZW1vdmUg
aXQpCisgICAgICAgIFdlYkNvcmU6Okhpc3RvcnlJdGVtKiBudWxsSXRlbSA9IGQtPmxzdC0+Y3Vy
cmVudEl0ZW0oKTsKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7Cisg
ICAgICAgICAgICBXVEY6OlJlZlB0cjxXZWJDb3JlOjpIaXN0b3J5SXRlbT4gaXRlbSA9IFdlYkNv
cmU6Okhpc3RvcnlJdGVtOjpyZXN0b3JlU3RhdGUoc291cmNlLCB2ZXJzaW9uKTsKKyAgICAgICAg
ICAgIGlmICghaXRlbSkgeworICAgICAgICAgICAgICAgIC8vIFRoZSBIaXN0b3J5SXRlbSBpbnRl
cm5hbCB2ZXJzaW9uIG1pZ2h0IGhhdmUgY2hhbmdlZCwgZG8gdGhlIHNhbWUgYXMgd2hlbiBvdXIg
b3duIHZlcnNpb24gY2hhbmdlLgorICAgICAgICAgICAgICAgIGhpc3RvcnkuY2xlYXIoKTsKKyAg
ICAgICAgICAgICAgICBzb3VyY2Uuc2V0U3RhdHVzKFFEYXRhU3RyZWFtOjpSZWFkQ29ycnVwdERh
dGEpOworICAgICAgICAgICAgICAgIHJldHVybiBzb3VyY2U7CiAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICBkLT5sc3QtPnJlbW92ZUl0ZW0obnVsbEl0ZW0pOwotICAgICAgICAgICAgaGlzdG9y
eS5nb1RvSXRlbShoaXN0b3J5Lml0ZW1BdChjdXJyZW50SW5kZXgpKTsKKyAgICAgICAgICAgIGQt
PmxzdC0+YWRkSXRlbShpdGVtKTsKICAgICAgICAgfQorICAgICAgICBkLT5sc3QtPnJlbW92ZUl0
ZW0obnVsbEl0ZW0pOworICAgICAgICBoaXN0b3J5LmdvVG9JdGVtKGhpc3RvcnkuaXRlbUF0KGN1
cnJlbnRJbmRleCkpOwogICAgIH0KIAogICAgIGQtPnBhZ2UoKS0+dXBkYXRlTmF2aWdhdGlvbkFj
dGlvbnMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYmhpc3Rvcnkv
dHN0X3F3ZWJoaXN0b3J5LmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYmhpc3Rvcnkv
dHN0X3F3ZWJoaXN0b3J5LmNwcAppbmRleCAwNmMyOTI5MDg3ZWYwNTJhMTU2MDU5ODE5OTExYTEz
Zjg2YjI3YTcxLi44ZjE1N2UzMDg3MzBkZTU1NjdiZWZhNzA0ZTJkNDFjM2U2ZGIxMDM5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJoaXN0b3J5L3RzdF9xd2ViaGlzdG9y
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2ViaGlzdG9yeS90c3RfcXdlYmhp
c3RvcnkuY3BwCkBAIC02NSw2ICs2NSw3IEBAIHByaXZhdGUgUV9TTE9UUzoKICAgICB2b2lkIHBv
cFB1c2hTdGF0ZV9kYXRhKCk7CiAgICAgdm9pZCBwb3BQdXNoU3RhdGUoKTsKICAgICB2b2lkIGNs
ZWFyKCk7CisgICAgdm9pZCByZXN0b3JlSW5jb21wYXRpYmxlVmVyc2lvbjEoKTsKIAogCiBwcml2
YXRlOgpAQCAtMjM3LDE2ICsyMzgsMjAgQEAgdm9pZCB0c3RfUVdlYkhpc3Rvcnk6OnNlcmlhbGl6
ZV8yKCkKICAgICBRRGF0YVN0cmVhbSBzYXZlKCZ0bXAsIFFJT0RldmljZTo6V3JpdGVPbmx5KTsg
Ly9oZXJlIGRhdGEgd2lsbCBiZSBzYXZlZAogICAgIFFEYXRhU3RyZWFtIGxvYWQoJnRtcCwgUUlP
RGV2aWNlOjpSZWFkT25seSk7IC8vZnJvbSBoZXJlIGRhdGEgd2lsbCBiZSBsb2FkZWQKIAotICAg
IGludCBvbGRDdXJyZW50SW5kZXggPSBoaXN0LT5jdXJyZW50SXRlbUluZGV4KCk7CisgICAgLy8g
Rm9yY2UgYSAic2FtZSBkb2N1bWVudCIgbmF2aWdhdGlvbi4KKyAgICBmcmFtZS0+bG9hZChmcmFt
ZS0+dXJsKCkudG9TdHJpbmcoKSArIFFMYXRpbjFTdHJpbmcoIiNkdW1teUFuY2hvciIpKTsKKwor
ICAgIGludCBpbml0aWFsQ3VycmVudEluZGV4ID0gaGlzdC0+Y3VycmVudEl0ZW1JbmRleCgpOwog
CiAgICAgaGlzdC0+YmFjaygpOworICAgIGhpc3QtPmJhY2soKTsKICAgICB3YWl0Rm9yTG9hZEZp
bmlzaGVkLmV4ZWMoKTsKICAgICBoaXN0LT5iYWNrKCk7CiAgICAgd2FpdEZvckxvYWRGaW5pc2hl
ZC5leGVjKCk7CiAgICAgLy9jaGVjayBpZiBjdXJyZW50IGluZGV4IHdhcyBjaGFuZ2VkIChtYWtl
IHN1cmUgdGhhdCBpdCBpcyBub3QgbGFzdCBpdGVtKQotICAgIFFWRVJJRlkoaGlzdC0+Y3VycmVu
dEl0ZW1JbmRleCgpICE9IG9sZEN1cnJlbnRJbmRleCk7CisgICAgUVZFUklGWShoaXN0LT5jdXJy
ZW50SXRlbUluZGV4KCkgIT0gaW5pdGlhbEN1cnJlbnRJbmRleCk7CiAgICAgLy9zYXZlIGN1cnJl
bnQgaW5kZXgKLSAgICBvbGRDdXJyZW50SW5kZXggPSBoaXN0LT5jdXJyZW50SXRlbUluZGV4KCk7
CisgICAgaW50IG9sZEN1cnJlbnRJbmRleCA9IGhpc3QtPmN1cnJlbnRJdGVtSW5kZXgoKTsKIAog
ICAgIHNhdmUgPDwgKmhpc3Q7CiAgICAgUVZFUklGWShzYXZlLnN0YXR1cygpID09IFFEYXRhU3Ry
ZWFtOjpPayk7CkBAIC0yNTUsNiArMjYwLDEzIEBAIHZvaWQgdHN0X1FXZWJIaXN0b3J5OjpzZXJp
YWxpemVfMigpCiAKICAgICAvL2NoZWNrIGN1cnJlbnQgaW5kZXgKICAgICBRQ09NUEFSRShoaXN0
LT5jdXJyZW50SXRlbUluZGV4KCksIG9sZEN1cnJlbnRJbmRleCk7CisKKyAgICBoaXN0LT5mb3J3
YXJkKCk7CisgICAgd2FpdEZvckxvYWRGaW5pc2hlZC5leGVjKCk7CisgICAgaGlzdC0+Zm9yd2Fy
ZCgpOworICAgIHdhaXRGb3JMb2FkRmluaXNoZWQuZXhlYygpOworICAgIGhpc3QtPmZvcndhcmQo
KTsKKyAgICBRQ09NUEFSRShoaXN0LT5jdXJyZW50SXRlbUluZGV4KCksIGluaXRpYWxDdXJyZW50
SW5kZXgpOwogfQogCiAvKioKQEAgLTQxNCw1ICs0MjYsOTggQEAgdm9pZCB0c3RfUVdlYkhpc3Rv
cnk6OmNsZWFyKCkKICAgICBkZWxldGUgcGFnZTI7CiB9CiAKKy8vIHN0YXRpYyB2b2lkIGR1bXBD
dXJyZW50VmVyc2lvbihRV2ViSGlzdG9yeSogaGlzdG9yeSkKKy8vIHsKKy8vICAgICBRQnl0ZUFy
cmF5IGJ1ZmZlcjsKKy8vICAgICBzYXZlSGlzdG9yeShoaXN0b3J5LCAmYnVmZmVyKTsKKy8vICAg
ICBwcmludGYoIiAgICBzdGF0aWMgY29uc3QgY2hhciB2ZXJzaW9uMUR1bXBbXSA9IHsiKTsKKy8v
ICAgICBmb3IgKGludCBpID0gMDsgaSA8IGJ1ZmZlci5zaXplKCk7ICsraSkgeworLy8gICAgICAg
ICBib29sIG5ld0xpbmUgPSAhKGkgJSAxNSk7CisvLyAgICAgICAgIGJvb2wgbGFzdCA9IGkgPT0g
YnVmZmVyLnNpemUoKSAtIDE7CisvLyAgICAgICAgIHByaW50ZigiJXMweCUuMnglcyIsIG5ld0xp
bmUgPyAiXG4gICAgICAgICIgOiAiIiwgKHVuc2lnbmVkIGNoYXIpYnVmZmVyW2ldLCBsYXN0ID8g
IiIgOiAiLCAiKTsKKy8vICAgICB9CisvLyAgICAgcHJpbnRmKCJ9O1xuIik7CisvLyB9CisKK3Zv
aWQgdHN0X1FXZWJIaXN0b3J5OjpyZXN0b3JlSW5jb21wYXRpYmxlVmVyc2lvbjEoKQoreworICAg
IC8vIGR1bXBDdXJyZW50VmVyc2lvbihoaXN0KTsKKyAgICBzdGF0aWMgY29uc3QgY2hhciB2ZXJz
aW9uMUR1bXBbXSA9IHsKKyAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgw
MCwgMHgwMCwgMHgwNSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNCwgMHgwMCwgMHgwMCwgMHgwMCwK
KyAgICAgICAgMHgzMiwgMHgwMCwgMHg3MSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2MywgMHgwMCwg
MHgzYSwgMHgwMCwgMHgyZiwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2NSwKKyAgICAgICAgMHgwMCwg
MHg3MywgMHgwMCwgMHg2ZiwgMHgwMCwgMHg3NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2MywgMHgw
MCwgMHg2NSwgMHgwMCwgMHg3MywgMHgwMCwKKyAgICAgICAgMHgyZiwgMHgwMCwgMHg3MCwgMHgw
MCwgMHg2MSwgMHgwMCwgMHg2NywgMHgwMCwgMHg2NSwgMHgwMCwgMHgzMSwgMHgwMCwgMHgyZSwg
MHgwMCwgMHg2OCwKKyAgICAgICAgMHgwMCwgMHg3NCwgMHgwMCwgMHg2ZCwgMHgwMCwgMHg2Yywg
MHgwMCwgMHgwMCwgMHgwMCwgMHgwYSwgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwKKyAg
ICAgICAgMHg2NywgMHgwMCwgMHg2NSwgMHgwMCwgMHgzMSwgMHhmZiwgMHhmZiwgMHhmZiwgMHhm
ZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAgICAgMHgwMCwgMHgw
MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzMiwgMHgwMCwgMHg3MSwgMHgwMCwgMHg3MiwgMHgwMCwg
MHg2MywgMHgwMCwgMHgzYSwgMHgwMCwKKyAgICAgICAgMHgyZiwgMHgwMCwgMHg3MiwgMHgwMCwg
MHg2NSwgMHgwMCwgMHg3MywgMHgwMCwgMHg2ZiwgMHgwMCwgMHg3NSwgMHgwMCwgMHg3MiwgMHgw
MCwgMHg2MywKKyAgICAgICAgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MywgMHgwMCwgMHgyZiwgMHgw
MCwgMHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2NywgMHgwMCwgMHg2NSwgMHgwMCwKKyAgICAg
ICAgMHgzMSwgMHgwMCwgMHgyZSwgMHgwMCwgMHg2OCwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2ZCwg
MHgwMCwgMHg2YywgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwKKyAgICAgICAgMHhmZiwgMHhmZiwg
MHhmZiwgMHhmZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgw
MCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw
MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg
MHgwMCwKKyAgICAgICAgMHgwMCwgMHgzZiwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg
MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAgICAg
MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw
MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzMiwKKyAgICAgICAgMHgwMCwgMHg3MSwgMHgw
MCwgMHg3MiwgMHgwMCwgMHg2MywgMHgwMCwgMHgzYSwgMHgwMCwgMHgyZiwgMHgwMCwgMHg3Miwg
MHgwMCwgMHg2NSwgMHgwMCwKKyAgICAgICAgMHg3MywgMHgwMCwgMHg2ZiwgMHgwMCwgMHg3NSwg
MHgwMCwgMHg3MiwgMHgwMCwgMHg2MywgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MywgMHgwMCwgMHgy
ZiwKKyAgICAgICAgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2NywgMHgwMCwgMHg2
NSwgMHgwMCwgMHgzMiwgMHgwMCwgMHgyZSwgMHgwMCwgMHg2OCwgMHgwMCwKKyAgICAgICAgMHg3
NCwgMHgwMCwgMHg2ZCwgMHgwMCwgMHg2YywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwYSwgMHgwMCwg
MHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2NywKKyAgICAgICAgMHgwMCwgMHg2NSwgMHgwMCwg
MHgzMiwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw
MCwgMHgwMCwgMHgwMCwKKyAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzMiwgMHgw
MCwgMHg3MSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2MywgMHgwMCwgMHgzYSwgMHgwMCwgMHgyZiwK
KyAgICAgICAgMHgwMCwgMHg3MiwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MywgMHgwMCwgMHg2Ziwg
MHgwMCwgMHg3NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2MywgMHgwMCwKKyAgICAgICAgMHg2NSwg
MHgwMCwgMHg3MywgMHgwMCwgMHgyZiwgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2
NywgMHgwMCwgMHg2NSwgMHgwMCwgMHgzMiwKKyAgICAgICAgMHgwMCwgMHgyZSwgMHgwMCwgMHg2
OCwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2ZCwgMHgwMCwgMHg2YywgMHhmZiwgMHhmZiwgMHhmZiwg
MHhmZiwgMHhmZiwKKyAgICAgICAgMHhmZiwgMHhmZiwgMHhmZiwgMHgwMCwgMHgwMCwgMHgwMCwg
MHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAg
ICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw
MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAgICAgMHgzZiwgMHhm
MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg
MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg
MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgz
MiwgMHgwMCwKKyAgICAgICAgMHg3MSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2MywgMHgwMCwgMHgz
YSwgMHgwMCwgMHgyZiwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MywKKyAgICAg
ICAgMHgwMCwgMHg2ZiwgMHgwMCwgMHg3NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2MywgMHgwMCwg
MHg2NSwgMHgwMCwgMHg3MywgMHgwMCwgMHgyZiwgMHgwMCwKKyAgICAgICAgMHg3MCwgMHgwMCwg
MHg2MSwgMHgwMCwgMHg2NywgMHgwMCwgMHg2NSwgMHgwMCwgMHgzMywgMHgwMCwgMHgyZSwgMHgw
MCwgMHg2OCwgMHgwMCwgMHg3NCwKKyAgICAgICAgMHgwMCwgMHg2ZCwgMHgwMCwgMHg2YywgMHgw
MCwgMHgwMCwgMHgwMCwgMHgwYSwgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2Nywg
MHgwMCwKKyAgICAgICAgMHg2NSwgMHgwMCwgMHgzMywgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwg
MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAgICAg
MHgwMCwgMHgwMCwgMHgwMCwgMHgzMiwgMHgwMCwgMHg3MSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2
MywgMHgwMCwgMHgzYSwgMHgwMCwgMHgyZiwgMHgwMCwKKyAgICAgICAgMHg3MiwgMHgwMCwgMHg2
NSwgMHgwMCwgMHg3MywgMHgwMCwgMHg2ZiwgMHgwMCwgMHg3NSwgMHgwMCwgMHg3MiwgMHgwMCwg
MHg2MywgMHgwMCwgMHg2NSwKKyAgICAgICAgMHgwMCwgMHg3MywgMHgwMCwgMHgyZiwgMHgwMCwg
MHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2NywgMHgwMCwgMHg2NSwgMHgwMCwgMHgzMywgMHgw
MCwKKyAgICAgICAgMHgyZSwgMHgwMCwgMHg2OCwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2ZCwgMHgw
MCwgMHg2YywgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwKKyAgICAgICAgMHhm
ZiwgMHhmZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwg
MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwg
MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw
MCwgMHgwMCwgMHgzZiwKKyAgICAgICAgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw
MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwK
KyAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg
MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzMiwgMHgwMCwgMHg3MSwKKyAgICAgICAgMHgwMCwg
MHg3MiwgMHgwMCwgMHg2MywgMHgwMCwgMHgzYSwgMHgwMCwgMHgyZiwgMHgwMCwgMHg3MiwgMHgw
MCwgMHg2NSwgMHgwMCwgMHg3MywgMHgwMCwKKyAgICAgICAgMHg2ZiwgMHgwMCwgMHg3NSwgMHgw
MCwgMHg3MiwgMHgwMCwgMHg2MywgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MywgMHgwMCwgMHgyZiwg
MHgwMCwgMHg3MCwKKyAgICAgICAgMHgwMCwgMHg2MSwgMHgwMCwgMHg2NywgMHgwMCwgMHg2NSwg
MHgwMCwgMHgzNCwgMHgwMCwgMHgyZSwgMHgwMCwgMHg2OCwgMHgwMCwgMHg3NCwgMHgwMCwKKyAg
ICAgICAgMHg2ZCwgMHgwMCwgMHg2YywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwYSwgMHgwMCwgMHg3
MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2NywgMHgwMCwgMHg2NSwKKyAgICAgICAgMHgwMCwgMHgz
NCwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg
MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAgICAgMHgwMCwgMHgwMCwgMHgzMiwgMHgwMCwg
MHg3MSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2MywgMHgwMCwgMHgzYSwgMHgwMCwgMHgyZiwgMHgw
MCwgMHg3MiwKKyAgICAgICAgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MywgMHgwMCwgMHg2ZiwgMHgw
MCwgMHg3NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2MywgMHgwMCwgMHg2NSwgMHgwMCwKKyAgICAg
ICAgMHg3MywgMHgwMCwgMHgyZiwgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2Nywg
MHgwMCwgMHg2NSwgMHgwMCwgMHgzNCwgMHgwMCwgMHgyZSwKKyAgICAgICAgMHgwMCwgMHg2OCwg
MHgwMCwgMHg3NCwgMHgwMCwgMHg2ZCwgMHgwMCwgMHg2YywgMHhmZiwgMHhmZiwgMHhmZiwgMHhm
ZiwgMHhmZiwgMHhmZiwgMHhmZiwKKyAgICAgICAgMHhmZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw
MCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg
MHgwMCwKKyAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg
MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzZiwgMHhmMCwKKyAgICAgICAg
MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw
MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAgICAgMHgwMCwgMHgwMCwgMHgw
MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzMiwg
MHgwMCwgMHg3MSwgMHgwMCwKKyAgICAgICAgMHg3MiwgMHgwMCwgMHg2MywgMHgwMCwgMHgzYSwg
MHgwMCwgMHgyZiwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MywgMHgwMCwgMHg2
ZiwKKyAgICAgICAgMHgwMCwgMHg3NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2MywgMHgwMCwgMHg2
NSwgMHgwMCwgMHg3MywgMHgwMCwgMHgyZiwgMHgwMCwgMHg3MCwgMHgwMCwKKyAgICAgICAgMHg2
MSwgMHgwMCwgMHg2NywgMHgwMCwgMHg2NSwgMHgwMCwgMHgzNSwgMHgwMCwgMHgyZSwgMHgwMCwg
MHg2OCwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2ZCwKKyAgICAgICAgMHgwMCwgMHg2YywgMHgwMCwg
MHgwMCwgMHgwMCwgMHgwYSwgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2NywgMHgw
MCwgMHg2NSwgMHgwMCwKKyAgICAgICAgMHgzNSwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHgw
MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwK
KyAgICAgICAgMHgwMCwgMHgzMiwgMHgwMCwgMHg3MSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2Mywg
MHgwMCwgMHgzYSwgMHgwMCwgMHgyZiwgMHgwMCwgMHg3MiwgMHgwMCwKKyAgICAgICAgMHg2NSwg
MHgwMCwgMHg3MywgMHgwMCwgMHg2ZiwgMHgwMCwgMHg3NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2
MywgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MywKKyAgICAgICAgMHgwMCwgMHgyZiwgMHgwMCwgMHg3
MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2NywgMHgwMCwgMHg2NSwgMHgwMCwgMHgzNSwgMHgwMCwg
MHgyZSwgMHgwMCwKKyAgICAgICAgMHg2OCwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2ZCwgMHgwMCwg
MHg2YywgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwKKyAg
ICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgw
MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAgICAgMHgwMCwgMHgw
MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg
MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg
MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw
MCwgMHgwMCwKKyAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw
MH07CisgICAgUUJ5dGVBcnJheSB2ZXJzaW9uMSh2ZXJzaW9uMUR1bXAsIHNpemVvZih2ZXJzaW9u
MUR1bXApKTsKKyAgICBRRGF0YVN0cmVhbSBzdHJlYW0oJnZlcnNpb24xLCBRSU9EZXZpY2U6OlJl
YWRPbmx5KTsKKworICAgIC8vIFRoaXMgc2hvdWxkIGZhaWwgdG8gbG9hZCwgdGhlIGhpc3Rvcnkg
c2hvdWxkIGJlIGNsZWFyZWQgYW5kIHRoZSBzdHJlYW0gc2hvdWxkIGJlIGJyb2tlbi4KKyAgICBz
dHJlYW0gPj4gKmhpc3Q7CisgICAgUVZFUklGWSghaGlzdC0+Y2FuR29CYWNrKCkpOworICAgIFFW
RVJJRlkoIWhpc3QtPmNhbkdvRm9yd2FyZCgpKTsKKyAgICBRVkVSSUZZKHN0cmVhbS5zdGF0dXMo
KSA9PSBRRGF0YVN0cmVhbTo6UmVhZENvcnJ1cHREYXRhKTsKK30KKwogUVRFU1RfTUFJTih0c3Rf
UVdlYkhpc3RvcnkpCiAjaW5jbHVkZSAidHN0X3F3ZWJoaXN0b3J5Lm1vYyIK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182972</attachid>
            <date>2013-01-16 06:26:09 -0800</date>
            <delta_ts>2013-01-16 07:08:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106671-20130116152310.patch</filename>
            <type>text/plain</type>
            <size>26199</size>
            <attacher name="Jocelyn Turcotte">jturcotte</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NDQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTRmNTc2NDMzNmRhNDUw
ZWY2OWQxODk1NzlkMWJmYzRlYWFmNWYzMi4uZDg2MzUyY2E5NWExMWJhNzYzZTIzNmNjMWQzMDU4
MTU3YzRjZTdkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ2IEBACiAyMDEzLTAxLTExICBKb2Nl
bHluIFR1cmNvdHRlICA8am9jZWx5bi50dXJjb3R0ZUBkaWdpYS5jb20+CiAKKyAgICAgICAgW1F0
XSBVc2UgdGhlIHNoYXJlZCBIaXN0b3J5SXRlbSBzZXJpYWxpemF0aW9uIGZvciBRV2ViSGlzdG9y
eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2Njcx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBh
bGxvd3MgYSBmZXcgdGhpbmdzIG1pc3NpbmcgZnJvbSB0aGUgcHJldmlvdXMgc2VyaWFsaXphdGlv
biBjb2RlCisgICAgICAgIHRvIGZ1bmN0aW9uIHdoaWxlIHVzaW5nIGNvbW1vbmx5IG1haW50YWlu
ZWQgY29kZToKKyAgICAgICAgLSBUaGUgaXRlbVNlcXVlbmNlTnVtYmVyIGFuZCBkb2N1bWVudFNl
cXVlbmNlTnVtYmVyIHRoYXQgd2VyZSBuZWVkZWQKKyAgICAgICAgICB0byBwcm9wZXJseSByZXN0
b3JlIHNhbWUtZG9jdW1lbnQgbmF2aWdhdGlvbnMKKyAgICAgICAgLSBUaGUgZm9ybSBkYXRhCisg
ICAgICAgIC0gVGhlIG5hdmlnYXRpb24gaGllcmFyY2h5IG1hcHBpbmcgdGhlIGZyYW1lIHRyZWUK
KworICAgICAgICAqIGhpc3RvcnkvSGlzdG9yeUl0ZW0uaDoKKyAgICAgICAgKEhpc3RvcnlJdGVt
KToKKyAgICAgICAgKiBoaXN0b3J5L3F0L0hpc3RvcnlJdGVtUXQuY3BwOgorICAgICAgICAoUURh
dGFTdHJlYW1Db2Rlcik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlFE
YXRhU3RyZWFtQ29kZXI6OlFEYXRhU3RyZWFtQ29kZXIpOgorICAgICAgICAoV2ViQ29yZTo6UURh
dGFTdHJlYW1Db2Rlcjo6ZW5jb2RlQnl0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6UURhdGFTdHJl
YW1Db2Rlcjo6ZW5jb2RlQm9vbCk6CisgICAgICAgIChXZWJDb3JlOjpRRGF0YVN0cmVhbUNvZGVy
OjplbmNvZGVVSW50MzIpOgorICAgICAgICAoV2ViQ29yZTo6UURhdGFTdHJlYW1Db2Rlcjo6ZW5j
b2RlVUludDY0KToKKyAgICAgICAgKFdlYkNvcmU6OlFEYXRhU3RyZWFtQ29kZXI6OmVuY29kZUlu
dDMyKToKKyAgICAgICAgKFdlYkNvcmU6OlFEYXRhU3RyZWFtQ29kZXI6OmVuY29kZUludDY0KToK
KyAgICAgICAgKFdlYkNvcmU6OlFEYXRhU3RyZWFtQ29kZXI6OmVuY29kZUZsb2F0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlFEYXRhU3RyZWFtQ29kZXI6OmVuY29kZURvdWJsZSk6CisgICAgICAgIChX
ZWJDb3JlOjpRRGF0YVN0cmVhbUNvZGVyOjplbmNvZGVTdHJpbmcpOgorICAgICAgICAoV2ViQ29y
ZTo6UURhdGFTdHJlYW1Db2Rlcjo6ZGVjb2RlQnl0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6UURh
dGFTdHJlYW1Db2Rlcjo6ZGVjb2RlQm9vbCk6CisgICAgICAgIChXZWJDb3JlOjpRRGF0YVN0cmVh
bUNvZGVyOjpkZWNvZGVVSW50MzIpOgorICAgICAgICAoV2ViQ29yZTo6UURhdGFTdHJlYW1Db2Rl
cjo6ZGVjb2RlVUludDY0KToKKyAgICAgICAgKFdlYkNvcmU6OlFEYXRhU3RyZWFtQ29kZXI6OmRl
Y29kZUludDMyKToKKyAgICAgICAgKFdlYkNvcmU6OlFEYXRhU3RyZWFtQ29kZXI6OmRlY29kZUlu
dDY0KToKKyAgICAgICAgKFdlYkNvcmU6OlFEYXRhU3RyZWFtQ29kZXI6OmRlY29kZUZsb2F0KToK
KyAgICAgICAgKFdlYkNvcmU6OlFEYXRhU3RyZWFtQ29kZXI6OmRlY29kZURvdWJsZSk6CisgICAg
ICAgIChXZWJDb3JlOjpRRGF0YVN0cmVhbUNvZGVyOjpkZWNvZGVTdHJpbmcpOgorICAgICAgICAo
V2ViQ29yZTo6SGlzdG9yeUl0ZW06OnJlc3RvcmVTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJDb3JlOjpIaXN0b3J5SXRlbTo6c2F2ZVN0YXRlKToKKworMjAxMy0wMS0xMSAgSm9jZWx5biBU
dXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVAZGlnaWEuY29tPgorCiAgICAgICAgIFtRdF0gQ3Jh
c2ggaW4gV2ViQ29yZTo6Q2FjaGVkRnJhbWU6OmRlc3Ryb3kKICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDUyNQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IGQ5
NDcyMTgzYmRiZDQ5ZmViZGIwYjQ5NzFhOGViM2I0MTE4MjViMDEuLmIyNzRjNDQwYmY1N2I4YjRi
ODZlZWRmZWRjMjYyNjIyNDAxYTlmNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjYgQEAK
IDIwMTMtMDEtMTEgIEpvY2VseW4gVHVyY290dGUgIDxqb2NlbHluLnR1cmNvdHRlQGRpZ2lhLmNv
bT4KIAorICAgICAgICBbUXRdIFVzZSB0aGUgc2hhcmVkIEhpc3RvcnlJdGVtIHNlcmlhbGl6YXRp
b24gZm9yIFFXZWJIaXN0b3J5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDY2NzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBCdW1wIHRoZSBzZXJpYWxpemF0aW9uIHZlcnNpb24gYW5kIGNoYW5nZSB0aGUg
Y29kZSB0byBhYm9ydCB0aGUKKyAgICAgICAgcmVzdG9yZSBvZiBhIHByZXZpb3VzIHN0cmVhbSB2
ZXJzaW9uIHJhdGhlciB0aGFuIHRyeWluZyB0byBrZWVwIHRoZQorICAgICAgICBzdXBwb3J0IG9m
IHJlc3RvcmluZyBwcmV2aW91cyB2ZXJzaW9ucy4gVGhpcyBpcyBtYWlubHkgdG8gc2ltcGxpZnkK
KyAgICAgICAgdGhpbmdzIGdpdmVuIHRoYXQgSGlzdG9yeUl0ZW0gaXRzZWxmIGFib3J0cyBpbiB0
aGF0IGNhc2UuCisgCisgICAgICAgICogQXBpL3F3ZWJoaXN0b3J5LmNwcDoKKyAgICAgICAgKG9w
ZXJhdG9yPDwpOgorICAgICAgICAob3BlcmF0b3I+Pik6CisgICAgICAgICogdGVzdHMvcXdlYmhp
c3RvcnkvdHN0X3F3ZWJoaXN0b3J5LmNwcDoKKyAgICAgICAgKHRzdF9RV2ViSGlzdG9yeTo6c2Vy
aWFsaXplXzIpOiBNb2RpZnkgdGhlIHRlc3QgdG8gY292ZXIgc2FtZS1kb2N1bWVudCBuYXZpZ2F0
aW9ucy4KKyAgICAgICAgKHRzdF9RV2ViSGlzdG9yeTo6cmVzdG9yZUluY29tcGF0aWJsZVZlcnNp
b24xKTogQWRkIGEgcHJldmlvdXMgdmVyc2lvbgorICAgICAgICBoYXJkLWNvZGVkIHN0cmVhbSB0
byB2ZXJpZnkgdGhhdCB0aGUgZGVzZXJpYWxpemF0aW9uIGRvZXNuJ3QgaGFuZyBvcgorICAgICAg
ICBjcmFzaC4KKworMjAxMy0wMS0xMSAgSm9jZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4udHVyY290
dGVAZGlnaWEuY29tPgorCiAgICAgICAgIFtRdF0gQ3Jhc2ggaW4gV2ViQ29yZTo6Q2FjaGVkRnJh
bWU6OmRlc3Ryb3kKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwNDUyNQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0hpc3RvcnlJ
dGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0hpc3RvcnlJdGVtLmgKaW5kZXggMjQ3MmFh
M2ZhMjVmOTc4MDk0MGViZDk3MDdjNzUwYTNiYTg5YzVlMC4uNzljNDNjOTM5NWVmNTRiMTk0MTc5
YTUwMzJmZDYwZWNjYTVhMmNjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9I
aXN0b3J5SXRlbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvSGlzdG9yeUl0ZW0uaApA
QCAtMjAxLDcgKzIwMSw3IEBAIHB1YmxpYzoKICAgICBRVmFyaWFudCB1c2VyRGF0YSgpIGNvbnN0
IHsgcmV0dXJuIG1fdXNlckRhdGE7IH0KICAgICB2b2lkIHNldFVzZXJEYXRhKGNvbnN0IFFWYXJp
YW50JiB1c2VyRGF0YSkgeyBtX3VzZXJEYXRhID0gdXNlckRhdGE7IH0KIAotICAgIGJvb2wgcmVz
dG9yZVN0YXRlKFFEYXRhU3RyZWFtJiBidWZmZXIsIGludCB2ZXJzaW9uKTsKKyAgICBzdGF0aWMg
UGFzc1JlZlB0cjxIaXN0b3J5SXRlbT4gcmVzdG9yZVN0YXRlKFFEYXRhU3RyZWFtJiBidWZmZXIs
IGludCB2ZXJzaW9uKTsKICAgICBRRGF0YVN0cmVhbSYgc2F2ZVN0YXRlKFFEYXRhU3RyZWFtJiBv
dXQsIGludCB2ZXJzaW9uKSBjb25zdDsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9oaXN0b3J5L3F0L0hpc3RvcnlJdGVtUXQuY3BwIGIvU291cmNlL1dlYkNvcmUvaGlzdG9y
eS9xdC9IaXN0b3J5SXRlbVF0LmNwcAppbmRleCA1NTI4ZWViMGM4MmQ2YzgzMDNiZDUzYTVhNDRl
OGM5YjhiOTRmYTgxLi41YTU0NTE2ZjM1YTI4MTI3MTQwY2JiNDIyMjc0ZDBhNTJmNjAwMjA2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L3F0L0hpc3RvcnlJdGVtUXQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvcXQvSGlzdG9yeUl0ZW1RdC5jcHAKQEAgLTIxLDIy
ICsyMSwxMyBAQAogI2luY2x1ZGUgIkhpc3RvcnlJdGVtLmgiCiAKICNpbmNsdWRlICJGb3JtRGF0
YS5oIgorI2luY2x1ZGUgPHd0Zi9EZWNvZGVyLmg+CisjaW5jbHVkZSA8d3RmL0VuY29kZXIuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKLXN0YXRpYyBRRGF0YVN0cmVhbSYgb3Bl
cmF0b3I8PChRRGF0YVN0cmVhbSYgc3RyZWFtLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgcG9p
bnQpCi17Ci0gICAgc3RyZWFtIDw8IHBvaW50LngoKSA8PCBwb2ludC55KCk7Ci0gICAgcmV0dXJu
IHN0cmVhbTsKLX0KK3VzaW5nIG5hbWVzcGFjZSBXVEY7CiAKLXN0YXRpYyBRRGF0YVN0cmVhbSYg
b3BlcmF0b3I+PihRRGF0YVN0cmVhbSYgc3RyZWFtLCBXZWJDb3JlOjpJbnRQb2ludCYgcG9pbnQp
Ci17Ci0gICAgaW50IHgsIHk7Ci0gICAgc3RyZWFtID4+IHggPj4geTsKLSAgICBwb2ludC5zZXRY
KHgpOwotICAgIHBvaW50LnNldFkoeSk7Ci0gICAgcmV0dXJuIHN0cmVhbTsKLX0KK25hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogc3RhdGljIFFEYXRhU3RyZWFtJiBvcGVyYXRvcjw8KFFEYXRhU3RyZWFt
JiBzdHJlYW0sIGNvbnN0IFN0cmluZyYgc3RyKQogewpAQCAtNTQsMTE3ICs0NSwxOTAgQEAgc3Rh
dGljIFFEYXRhU3RyZWFtJiBvcGVyYXRvcj4+KFFEYXRhU3RyZWFtJiBzdHJlYW0sIFN0cmluZyYg
c3RyKQogICAgIHJldHVybiBzdHJlYW07CiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci1RRGF0
YVN0cmVhbSYgb3BlcmF0b3I8PChRRGF0YVN0cmVhbSYgc3RyZWFtLCBjb25zdCBWZWN0b3I8VD4m
IGRhdGEpCitjbGFzcyBRRGF0YVN0cmVhbUNvZGVyIDogcHVibGljIFdURjo6RW5jb2RlciwgcHVi
bGljIFdURjo6RGVjb2RlciB7CitwdWJsaWM6CisgICAgUURhdGFTdHJlYW1Db2RlcihRRGF0YVN0
cmVhbSYpOworCitwcml2YXRlOgorICAgIHZpcnR1YWwgdm9pZCBlbmNvZGVCeXRlcyhjb25zdCB1
aW50OF90Kiwgc2l6ZV90KTsKKyAgICB2aXJ0dWFsIHZvaWQgZW5jb2RlQm9vbChib29sKTsKKyAg
ICB2aXJ0dWFsIHZvaWQgZW5jb2RlVUludDMyKHVpbnQzMl90KTsKKyAgICB2aXJ0dWFsIHZvaWQg
ZW5jb2RlVUludDY0KHVpbnQ2NF90KTsKKyAgICB2aXJ0dWFsIHZvaWQgZW5jb2RlSW50MzIoaW50
MzJfdCk7CisgICAgdmlydHVhbCB2b2lkIGVuY29kZUludDY0KGludDY0X3QpOworICAgIHZpcnR1
YWwgdm9pZCBlbmNvZGVGbG9hdChmbG9hdCk7CisgICAgdmlydHVhbCB2b2lkIGVuY29kZURvdWJs
ZShkb3VibGUpOworICAgIHZpcnR1YWwgdm9pZCBlbmNvZGVTdHJpbmcoY29uc3QgU3RyaW5nJik7
CisKKyAgICB2aXJ0dWFsIGJvb2wgZGVjb2RlQnl0ZXMoVmVjdG9yPHVpbnQ4X3Q+Jik7CisgICAg
dmlydHVhbCBib29sIGRlY29kZUJvb2woYm9vbCYpOworICAgIHZpcnR1YWwgYm9vbCBkZWNvZGVV
SW50MzIodWludDMyX3QmKTsKKyAgICB2aXJ0dWFsIGJvb2wgZGVjb2RlVUludDY0KHVpbnQ2NF90
Jik7CisgICAgdmlydHVhbCBib29sIGRlY29kZUludDMyKGludDMyX3QmKTsKKyAgICB2aXJ0dWFs
IGJvb2wgZGVjb2RlSW50NjQoaW50NjRfdCYpOworICAgIHZpcnR1YWwgYm9vbCBkZWNvZGVGbG9h
dChmbG9hdCYpOworICAgIHZpcnR1YWwgYm9vbCBkZWNvZGVEb3VibGUoZG91YmxlJik7CisgICAg
dmlydHVhbCBib29sIGRlY29kZVN0cmluZyhTdHJpbmcmKTsKKworICAgIFFEYXRhU3RyZWFtJiBt
X3N0cmVhbTsKK307CisKK1FEYXRhU3RyZWFtQ29kZXI6OlFEYXRhU3RyZWFtQ29kZXIoUURhdGFT
dHJlYW0mIHN0cmVhbSkKKyAgICA6IG1fc3RyZWFtKHN0cmVhbSkKIHsKLSAgICBzdHJlYW0gPDwg
cWludDY0KGRhdGEuc2l6ZSgpKTsKLSAgICBmb3JlYWNoIChjb25zdCBUJiBpLCBkYXRhKQotICAg
ICAgICBzdHJlYW0gPDwgaTsKLSAgICByZXR1cm4gc3RyZWFtOwogfQogCi10ZW1wbGF0ZTx0eXBl
bmFtZSBUPgotUURhdGFTdHJlYW0mIG9wZXJhdG9yPj4oUURhdGFTdHJlYW0mIHN0cmVhbSwgVmVj
dG9yPFQ+JiBkYXRhKQordm9pZCBRRGF0YVN0cmVhbUNvZGVyOjplbmNvZGVCeXRlcyhjb25zdCB1
aW50OF90KiBieXRlcywgc2l6ZV90IHNpemUpCiB7Ci0gICAgZGF0YS5jbGVhcigpOworICAgIG1f
c3RyZWFtIDw8IHFpbnQ2NChzaXplKTsKKyAgICBmb3IgKDsgc2l6ZSA+IDA7IC0tc2l6ZSkKKyAg
ICAgICAgbV9zdHJlYW0gPDwgYnl0ZXMrKzsKK30KKwordm9pZCBRRGF0YVN0cmVhbUNvZGVyOjpl
bmNvZGVCb29sKGJvb2wgdmFsdWUpCit7CisgICAgbV9zdHJlYW0gPDwgdmFsdWU7Cit9CisKK3Zv
aWQgUURhdGFTdHJlYW1Db2Rlcjo6ZW5jb2RlVUludDMyKHVpbnQzMl90IHZhbHVlKQoreworICAg
IG1fc3RyZWFtIDw8IHZhbHVlOworfQorCit2b2lkIFFEYXRhU3RyZWFtQ29kZXI6OmVuY29kZVVJ
bnQ2NCh1aW50NjRfdCB2YWx1ZSkKK3sKKyAgICBtX3N0cmVhbSA8PCBzdGF0aWNfY2FzdDxxdWlu
dDY0Pih2YWx1ZSk7Cit9CisKK3ZvaWQgUURhdGFTdHJlYW1Db2Rlcjo6ZW5jb2RlSW50MzIoaW50
MzJfdCB2YWx1ZSkKK3sKKyAgICBtX3N0cmVhbSA8PCB2YWx1ZTsKK30KKwordm9pZCBRRGF0YVN0
cmVhbUNvZGVyOjplbmNvZGVJbnQ2NChpbnQ2NF90IHZhbHVlKQoreworICAgIG1fc3RyZWFtIDw8
IHN0YXRpY19jYXN0PHFpbnQ2ND4odmFsdWUpOworfQorCit2b2lkIFFEYXRhU3RyZWFtQ29kZXI6
OmVuY29kZUZsb2F0KGZsb2F0IHZhbHVlKQoreworICAgIG1fc3RyZWFtIDw8IHZhbHVlOworfQor
Cit2b2lkIFFEYXRhU3RyZWFtQ29kZXI6OmVuY29kZURvdWJsZShkb3VibGUgdmFsdWUpCit7Cisg
ICAgbV9zdHJlYW0gPDwgdmFsdWU7Cit9CisKK3ZvaWQgUURhdGFTdHJlYW1Db2Rlcjo6ZW5jb2Rl
U3RyaW5nKGNvbnN0IFN0cmluZyYgdmFsdWUpCit7CisgICAgbV9zdHJlYW0gPDwgdmFsdWU7Cit9
CisKK2Jvb2wgUURhdGFTdHJlYW1Db2Rlcjo6ZGVjb2RlQnl0ZXMoVmVjdG9yPHVpbnQ4X3Q+JiBv
dXQpCit7CisgICAgb3V0LmNsZWFyKCk7CiAgICAgcWludDY0IGNvdW50OwotICAgIFQgaXRlbTsK
LSAgICBzdHJlYW0gPj4gY291bnQ7Ci0gICAgZGF0YS5yZXNlcnZlQ2FwYWNpdHkoY291bnQpOwor
ICAgIHVpbnQ4X3QgYnl0ZTsKKyAgICBtX3N0cmVhbSA+PiBjb3VudDsKKyAgICBvdXQucmVzZXJ2
ZUNhcGFjaXR5KGNvdW50KTsKICAgICBmb3IgKHFpbnQ2NCBpID0gMDsgaSA8IGNvdW50OyArK2kp
IHsKLSAgICAgICAgc3RyZWFtID4+IGl0ZW07Ci0gICAgICAgIGRhdGEuYXBwZW5kKGl0ZW0pOwor
ICAgICAgICBtX3N0cmVhbSA+PiBieXRlOworICAgICAgICBvdXQuYXBwZW5kKGJ5dGUpOwogICAg
IH0KLSAgICByZXR1cm4gc3RyZWFtOworICAgIHJldHVybiBtX3N0cmVhbS5zdGF0dXMoKSA9PSBR
RGF0YVN0cmVhbTo6T2s7CiB9CiAKLWJvb2wgV2ViQ29yZTo6SGlzdG9yeUl0ZW06OnJlc3RvcmVT
dGF0ZShRRGF0YVN0cmVhbSYgaW4sIGludCB2ZXJzaW9uKQorYm9vbCBRRGF0YVN0cmVhbUNvZGVy
OjpkZWNvZGVCb29sKGJvb2wmIG91dCkKIHsKLSAgICAvLyB3ZSBvbmx5IHN1cHBvcnQgdmVyc2lv
biAxIGZvciBub3cKKyAgICBtX3N0cmVhbSA+PiBvdXQ7CisgICAgcmV0dXJuIG1fc3RyZWFtLnN0
YXR1cygpID09IFFEYXRhU3RyZWFtOjpPazsKK30KIAotICAgIGlmICh2ZXJzaW9uICE9IDEpCi0g
ICAgICAgIHJldHVybiBmYWxzZTsKK2Jvb2wgUURhdGFTdHJlYW1Db2Rlcjo6ZGVjb2RlVUludDMy
KHVpbnQzMl90JiBvdXQpCit7CisgICAgbV9zdHJlYW0gPj4gb3V0OworICAgIHJldHVybiBtX3N0
cmVhbS5zdGF0dXMoKSA9PSBRRGF0YVN0cmVhbTo6T2s7Cit9CiAKLSAgICBXVEY6OlN0cmluZyB1
cmw7Ci0gICAgV1RGOjpTdHJpbmcgdGl0bGU7Ci0gICAgV1RGOjpTdHJpbmcgYWx0VGl0bGU7Ci0g
ICAgV1RGOjpTdHJpbmcgb3JnaW5hbFVybDsKLSAgICBXVEY6OlN0cmluZyByZWZlcnJlcjsKLSAg
ICBXVEY6OlN0cmluZyB0YXJnZXQ7Ci0gICAgV1RGOjpTdHJpbmcgcGFycmVudDsKLSAgICBkb3Vi
bGUgbGFzdFZpc2l0ZWRUaW1lOwotICAgIGJvb2wgdmFsaWRVc2VyRGF0YTsKLSAgICBXVEY6OlN0
cmluZyBwYXJlbnQ7Ci0gICAgYm9vbCBsYXN0VmlzaXRXYXNIVFRQTm9uR2V0OwotICAgIGJvb2wg
bGFzdFZpc2l0V2FzRmFpbHVyZTsKLSAgICBib29sIGlzVGFyZ2V0SXRlbTsKLSAgICBpbnQgdmlz
aXRDb3VudDsKLSAgICBXVEY6OlZlY3RvcjxXVEY6OlN0cmluZz4gZG9jdW1lbnRTdGF0ZTsKLSAg
ICBXZWJDb3JlOjpJbnRQb2ludCBzY3JvbGxQb2ludDsKLSAgICBxcmVhbCBwYWdlU2NhbGVGYWN0
b3I7Ci0gICAgV1RGOjpWZWN0b3I8aW50PiB3ZWVrbHlWaXNpdENvdW50czsKLSAgICBXVEY6OlZl
Y3RvcjxpbnQ+IGRhaWx5VmlzaXRDb3VudHM7Ci0gICAgLy8gYm9vbCBsb2FkRm9ybWRhdGE7Ci0g
ICAgLy8gV1RGOjpTdHJpbmcgZm9ybUNvbnRlbnRUeXBlOwotICAgIC8vIFdURjo6VmVjdG9yPGNo
YXI+IGZvcm1EYXRhOwotCi0gICAgaW4gPj4gdXJsID4+IHRpdGxlID4+IGFsdFRpdGxlID4+IGxh
c3RWaXNpdGVkVGltZSA+PiBvcmdpbmFsVXJsID4+IHJlZmVycmVyID4+IHRhcmdldCA+PiBwYXJl
bnQ7Ci0gICAgaW4gPj4gbGFzdFZpc2l0V2FzSFRUUE5vbkdldCA+PiBsYXN0VmlzaXRXYXNGYWls
dXJlID4+IGlzVGFyZ2V0SXRlbSA+PiB2aXNpdENvdW50ID4+IGRvY3VtZW50U3RhdGU7Ci0gICAg
aW4gPj4gc2Nyb2xsUG9pbnQgPj4gcGFnZVNjYWxlRmFjdG9yID4+IGRhaWx5VmlzaXRDb3VudHMg
Pj4gd2Vla2x5VmlzaXRDb3VudHM7Ci0gICAgLyppbiA+PiBsb2FkRm9ybWRhdGE7Ci0gICAgaWYg
KGxvYWRGb3JtZGF0YSkgewotICAgICAgICBpbiA+PiBmb3JtQ29udGVudFR5cGUgPj4gZm9ybURh
dGE7Ci0gICAgICAgIC8vIGRpcmVjdCBhc3NpZ25lZCAoISkKLSAgICAgICAgbV9mb3JtQ29udGVu
dFR5cGUgPSBmb3JtQ29udGVudFR5cGU7Ci0gICAgICAgIG1fZm9ybURhdGEgPSBGb3JtRGF0YTo6
Y3JlYXRlKENTdHJpbmcoZm9ybURhdGEpKTsKLSAgICB9Ki8KLSAgICAvLyB1c2Ugc2V0dGVycwot
ICAgIGFkb3B0VmlzaXRDb3VudHMoZGFpbHlWaXNpdENvdW50cywgd2Vla2x5VmlzaXRDb3VudHMp
OwotICAgIHNldFNjcm9sbFBvaW50KHNjcm9sbFBvaW50KTsKLSAgICBzZXRQYWdlU2NhbGVGYWN0
b3IocGFnZVNjYWxlRmFjdG9yKTsKLSAgICBzZXREb2N1bWVudFN0YXRlKGRvY3VtZW50U3RhdGUp
OwotICAgIHNldFZpc2l0Q291bnQodmlzaXRDb3VudCk7Ci0gICAgc2V0SXNUYXJnZXRJdGVtKGlz
VGFyZ2V0SXRlbSk7Ci0gICAgc2V0TGFzdFZpc2l0V2FzRmFpbHVyZShsYXN0VmlzaXRXYXNGYWls
dXJlKTsKLSAgICBzZXRMYXN0VmlzaXRXYXNIVFRQTm9uR2V0KGxhc3RWaXNpdFdhc0hUVFBOb25H
ZXQpOwotICAgIHNldFBhcmVudChwYXJlbnQpOwotICAgIHNldFRhcmdldCh0YXJnZXQpOwotICAg
IHNldFJlZmVycmVyKHJlZmVycmVyKTsKLSAgICBzZXRPcmlnaW5hbFVSTFN0cmluZyhvcmdpbmFs
VXJsKTsKLSAgICBzZXRVUkxTdHJpbmcodXJsKTsKLSAgICBzZXRMYXN0VmlzaXRlZFRpbWUobGFz
dFZpc2l0ZWRUaW1lKTsKLSAgICBzZXRUaXRsZSh0aXRsZSk7Ci0gICAgc2V0QWx0ZXJuYXRlVGl0
bGUoYWx0VGl0bGUpOworYm9vbCBRRGF0YVN0cmVhbUNvZGVyOjpkZWNvZGVVSW50NjQodWludDY0
X3QmIG91dCkKK3sKKyAgICBxdWludDY0IHRtcDsKKyAgICBtX3N0cmVhbSA+PiB0bXA7CisgICAg
Ly8gcXVpbnQ2NCBpcyBkZWZpbmVkIHRvICJsb25nIGxvbmcgdW5zaWduZWQiLCBpbmNvbXBhdGli
bGUgd2l0aCB1aW50NjRfdCBkZWZpbmVkIGFzICJsb25nIHVuc2lnbmVkIiBvbiA2NGJpdHMgYXJj
aHMuCisgICAgb3V0ID0gdG1wOworICAgIHJldHVybiBtX3N0cmVhbS5zdGF0dXMoKSA9PSBRRGF0
YVN0cmVhbTo6T2s7Cit9CisKK2Jvb2wgUURhdGFTdHJlYW1Db2Rlcjo6ZGVjb2RlSW50MzIoaW50
MzJfdCYgb3V0KQoreworICAgIG1fc3RyZWFtID4+IG91dDsKKyAgICByZXR1cm4gbV9zdHJlYW0u
c3RhdHVzKCkgPT0gUURhdGFTdHJlYW06Ok9rOworfQorCitib29sIFFEYXRhU3RyZWFtQ29kZXI6
OmRlY29kZUludDY0KGludDY0X3QmIG91dCkKK3sKKyAgICBxaW50NjQgdG1wOworICAgIG1fc3Ry
ZWFtID4+IHRtcDsKKyAgICAvLyBxaW50NjQgaXMgZGVmaW5lZCB0byAibG9uZyBsb25nIiwgaW5j
b21wYXRpYmxlIHdpdGggaW50NjRfdCBkZWZpbmVkIGFzICJsb25nIiBvbiA2NGJpdHMgYXJjaHMu
CisgICAgb3V0ID0gdG1wOworICAgIHJldHVybiBtX3N0cmVhbS5zdGF0dXMoKSA9PSBRRGF0YVN0
cmVhbTo6T2s7Cit9CisKK2Jvb2wgUURhdGFTdHJlYW1Db2Rlcjo6ZGVjb2RlRmxvYXQoZmxvYXQm
IG91dCkKK3sKKyAgICBtX3N0cmVhbSA+PiBvdXQ7CisgICAgcmV0dXJuIG1fc3RyZWFtLnN0YXR1
cygpID09IFFEYXRhU3RyZWFtOjpPazsKK30KKworYm9vbCBRRGF0YVN0cmVhbUNvZGVyOjpkZWNv
ZGVEb3VibGUoZG91YmxlJiBvdXQpCit7CisgICAgbV9zdHJlYW0gPj4gb3V0OworICAgIHJldHVy
biBtX3N0cmVhbS5zdGF0dXMoKSA9PSBRRGF0YVN0cmVhbTo6T2s7Cit9CisKK2Jvb2wgUURhdGFT
dHJlYW1Db2Rlcjo6ZGVjb2RlU3RyaW5nKFN0cmluZyYgb3V0KQoreworICAgIG1fc3RyZWFtID4+
IG91dDsKKyAgICByZXR1cm4gbV9zdHJlYW0uc3RhdHVzKCkgPT0gUURhdGFTdHJlYW06Ok9rOwor
fQorCitQYXNzUmVmUHRyPEhpc3RvcnlJdGVtPiBIaXN0b3J5SXRlbTo6cmVzdG9yZVN0YXRlKFFE
YXRhU3RyZWFtJiBpbiwgaW50IHZlcnNpb24pCit7CisgICAgQVNTRVJUKHZlcnNpb24gPT0gMik7
CisKKyAgICBTdHJpbmcgdXJsOworICAgIFN0cmluZyB0aXRsZTsKKyAgICBTdHJpbmcgb3JpZ2lu
YWxVUkw7CisgICAgaW4gPj4gdXJsID4+IHRpdGxlID4+IG9yaWdpbmFsVVJMOworCisgICAgUURh
dGFTdHJlYW1Db2RlciBkZWNvZGVyKGluKTsKKyAgICBSZWZQdHI8SGlzdG9yeUl0ZW0+IGl0ZW0g
PSBkZWNvZGVCYWNrRm9yd2FyZFRyZWUodXJsLCB0aXRsZSwgb3JpZ2luYWxVUkwsIGRlY29kZXIp
OworICAgIC8vIGRlY29kZUJhY2tGb3J3YXJkVHJlZSBoYXMgaXRzIG93biBzdHJlYW0gdmVyc2lv
bi4gQW4gaW5jb21wYXRpYmxlIGlucHV0IHN0cmVhbSB2ZXJzaW9uIHdpbGwgcmV0dXJuIG51bGwg
aGVyZS4KKyAgICBpZiAoIWl0ZW0pCisgICAgICAgIHJldHVybiAwOwogCiAgICAgLy8gYXQgdGhl
IGVuZCBsb2FkIHVzZXJEYXRhCisgICAgYm9vbCB2YWxpZFVzZXJEYXRhOwogICAgIGluID4+IHZh
bGlkVXNlckRhdGE7CiAgICAgaWYgKHZhbGlkVXNlckRhdGEpIHsKICAgICAgICAgUVZhcmlhbnQg
dG1wOwogICAgICAgICBpbiA+PiB0bXA7Ci0gICAgICAgIHNldFVzZXJEYXRhKHRtcCk7CisgICAg
ICAgIGl0ZW0tPnNldFVzZXJEYXRhKHRtcCk7CiAgICAgfQogCi0gICAgcmV0dXJuIGluLnN0YXR1
cygpID09IFFEYXRhU3RyZWFtOjpPazsKKyAgICByZXR1cm4gaXRlbTsKIH0KIAogUURhdGFTdHJl
YW0mIFdlYkNvcmU6Okhpc3RvcnlJdGVtOjpzYXZlU3RhdGUoUURhdGFTdHJlYW0mIG91dCwgaW50
IHZlcnNpb24pIGNvbnN0CiB7Ci0gICAgLy8gd2Ugb25seSBzdXBwb3J0IHZlcnNpb24gMSBmb3Ig
bm93LgotICAgIGlmICh2ZXJzaW9uICE9IDEpCi0gICAgICAgIHJldHVybiBvdXQ7Ci0KLSAgICBv
dXQgPDwgdXJsU3RyaW5nKCkgPDwgdGl0bGUoKSA8PCBhbHRlcm5hdGVUaXRsZSgpIDw8IGxhc3RW
aXNpdGVkVGltZSgpOwotICAgIG91dCA8PCBvcmlnaW5hbFVSTFN0cmluZygpIDw8IHJlZmVycmVy
KCkgPDwgdGFyZ2V0KCkgPDwgcGFyZW50KCk7Ci0gICAgb3V0IDw8IGxhc3RWaXNpdFdhc0hUVFBO
b25HZXQoKSA8PCBsYXN0VmlzaXRXYXNGYWlsdXJlKCkgPDwgaXNUYXJnZXRJdGVtKCk7Ci0gICAg
b3V0IDw8IHZpc2l0Q291bnQoKSA8PCBkb2N1bWVudFN0YXRlKCkgPDwgc2Nyb2xsUG9pbnQoKTsK
LSAgICBvdXQgPDwgcXJlYWwocGFnZVNjYWxlRmFjdG9yKCkpIDw8IGRhaWx5VmlzaXRDb3VudHMo
KSA8PCB3ZWVrbHlWaXNpdENvdW50cygpOwotICAgIC8qaWYgKG1fZm9ybURhdGEpIHsKLSAgICAg
ICAgb3V0IDw8IHRydWU7Ci0gICAgICAgIG91dCA8PCBmb3JtQ29udGVudFR5cGUoKTsKLSAgICAg
ICAgb3V0IDw8IG1fZm9ybURhdGEtPmZsYXR0ZW4oKTsKLSAgICB9IGVsc2UgewotICAgICAgICBv
dXQgPDwgZmFsc2U7Ci0gICAgfSovCisgICAgQVNTRVJUKHZlcnNpb24gPT0gMik7CisKKyAgICBv
dXQgPDwgdXJsU3RyaW5nKCkgPDwgdGl0bGUoKSA8PCBvcmlnaW5hbFVSTFN0cmluZygpOworCisg
ICAgUURhdGFTdHJlYW1Db2RlciBlbmNvZGVyKG91dCk7CisgICAgZW5jb2RlQmFja0ZvcndhcmRU
cmVlKGVuY29kZXIpOworCiAgICAgLy8gc2F2ZSB1c2VyIGRhdGEKICAgICBpZiAodXNlckRhdGEo
KS5pc1ZhbGlkKCkpCiAgICAgICAgIG91dCA8PCB0cnVlIDw8IHVzZXJEYXRhKCk7CkBAIC0xNzQs
MyArMjM4LDQgQEAgUURhdGFTdHJlYW0mIFdlYkNvcmU6Okhpc3RvcnlJdGVtOjpzYXZlU3RhdGUo
UURhdGFTdHJlYW0mIG91dCwgaW50IHZlcnNpb24pIGNvbnMKICAgICByZXR1cm4gb3V0OwogfQog
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0Fw
aS9xd2ViaGlzdG9yeS5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2ViaGlzdG9yeS5jcHAK
aW5kZXggYTAyMDgzMzA3MDlhMzVkMThjMWM3ZDI1MWExMGM1M2U2YjM5YjYxMy4uYmUwOTA1ZWI3
ODU2MjIxNzBhMGIwMGRkNGRhYTFjY2M4YzE0NjBiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9xdC9BcGkvcXdlYmhpc3RvcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJo
aXN0b3J5LmNwcApAQCAtMzUsMTAgKzM1LDcgQEAKICNpbmNsdWRlIDxRU2hhcmVkRGF0YT4KICNp
bmNsdWRlIDxRRGVidWc+CiAKLWVudW0gewotICAgIEluaXRpYWxIaXN0b3J5VmVyc2lvbiA9IDEs
Ci0gICAgRGVmYXVsdEhpc3RvcnlWZXJzaW9uID0gSW5pdGlhbEhpc3RvcnlWZXJzaW9uCi19Owor
c3RhdGljIGNvbnN0IGludCBIaXN0b3J5U3RyZWFtVmVyc2lvbiA9IDI7CiAKIC8qIQogICBcY2xh
c3MgUVdlYkhpc3RvcnlJdGVtCkBAIC00OTYsNyArNDkzLDcgQEAgUURhdGFTdHJlYW0mIG9wZXJh
dG9yPDwoUURhdGFTdHJlYW0mIHRhcmdldCwgY29uc3QgUVdlYkhpc3RvcnkmIGhpc3RvcnkpCiB7
CiAgICAgUVdlYkhpc3RvcnlQcml2YXRlKiBkID0gaGlzdG9yeS5kOwogCi0gICAgaW50IHZlcnNp
b24gPSBEZWZhdWx0SGlzdG9yeVZlcnNpb247CisgICAgaW50IHZlcnNpb24gPSBIaXN0b3J5U3Ry
ZWFtVmVyc2lvbjsKIAogICAgIHRhcmdldCA8PCB2ZXJzaW9uOwogICAgIHRhcmdldCA8PCBoaXN0
b3J5LmNvdW50KCkgPDwgaGlzdG9yeS5jdXJyZW50SXRlbUluZGV4KCk7CkBAIC01MjEsMjkgKzUx
OCw0MiBAQCBRRGF0YVN0cmVhbSYgb3BlcmF0b3I8PChRRGF0YVN0cmVhbSYgdGFyZ2V0LCBjb25z
dCBRV2ViSGlzdG9yeSYgaGlzdG9yeSkKIFFEYXRhU3RyZWFtJiBvcGVyYXRvcj4+KFFEYXRhU3Ry
ZWFtJiBzb3VyY2UsIFFXZWJIaXN0b3J5JiBoaXN0b3J5KQogewogICAgIFFXZWJIaXN0b3J5UHJp
dmF0ZSogZCA9IGhpc3RvcnkuZDsKKyAgICAvLyBDbGVhciBmaXJzdCwgdG8gaGF2ZSB0aGUgc2Ft
ZSBiZWhhdmlvciBpZiBvdXIgdmVyc2lvbiBkb2Vzbid0IG1hdGNoIGFuZCBpZiB0aGUgSGlzdG9y
eUl0ZW0ncyB2ZXJzaW9uIGRvZXNuJ3QuCisgICAgaGlzdG9yeS5jbGVhcigpOwogCisgICAgLy8g
VGhpcyB2ZXJzaW9uIGNvdmVycyBldmVyeSBmaWVsZCB3ZSBzZXJpYWxpemUgaW4gcXdlYmhpc3Rv
cnkuY3BwIGFuZCBIaXN0b3J5SXRlbVF0LmNwcCAobGlrZSB0aGUgSGlzdG9yeUl0ZW06OnVzZXJE
YXRhKCkpLgorICAgIC8vIEhpc3RvcnlJdGVtIGhhcyBpdHMgb3duIHZlcnNpb24gaW4gdGhlIHN0
cmVhbSBjb3ZlcmluZyB0aGUgd29yayBkb25lIGluIGVuY29kZUJhY2tGb3J3YXJkVHJlZS4KKyAg
ICAvLyBJZiBhbnkgb2YgdGhvc2UgdHdvIHN0cmVhbSB2ZXJzaW9uIGNoYW5nZXMsIHRoZSBlZmZl
Y3Qgc2hvdWxkIGJlIHRoZSBzYW1lIGFuZCB0aGUgUVdlYkhpc3Rvcnkgc2hvdWxkIGZhaWwgdG8g
cmVzdG9yZS4KICAgICBpbnQgdmVyc2lvbjsKLQogICAgIHNvdXJjZSA+PiB2ZXJzaW9uOworICAg
IGlmICh2ZXJzaW9uICE9IEhpc3RvcnlTdHJlYW1WZXJzaW9uKSB7CisgICAgICAgIC8vIFdlIGRv
IG5vdCB0cnkgdG8gZGVjb2RlIHByZXZpb3VzIGhpc3Rvcnkgc3RyZWFtIHZlcnNpb25zLgorICAg
ICAgICAvLyBNYWtlIHN1cmUgdGhhdCBvdXIgaGlzdG9yeSBpcyBjbGVhcmVkIGFuZCBtYXJrIHRo
ZSByZXN0IG9mIHRoZSBzdHJlYW0gYXMgaW52YWxpZC4KKyAgICAgICAgQVNTRVJUKGhpc3Rvcnku
Y291bnQoKSA9PSAxKTsKKyAgICAgICAgc291cmNlLnNldFN0YXR1cyhRRGF0YVN0cmVhbTo6UmVh
ZENvcnJ1cHREYXRhKTsKKyAgICAgICAgcmV0dXJuIHNvdXJjZTsKKyAgICB9CiAKLSAgICBpZiAo
dmVyc2lvbiA9PSAxKSB7Ci0gICAgICAgIGludCBjb3VudDsKLSAgICAgICAgaW50IGN1cnJlbnRJ
bmRleDsKLSAgICAgICAgc291cmNlID4+IGNvdW50ID4+IGN1cnJlbnRJbmRleDsKLQotICAgICAg
ICBoaXN0b3J5LmNsZWFyKCk7Ci0gICAgICAgIC8vIG9ubHkgaWYgdGhlcmUgYXJlIGVsZW1lbnRz
Ci0gICAgICAgIGlmIChjb3VudCkgewotICAgICAgICAgICAgLy8gYWZ0ZXIgY2xlYXIoKSBpcyBu
ZXcgY2xlYXIgSGlzdG9yeUl0ZW0gKGF0IHRoZSBlbmQgd2UgaGFkIHRvIHJlbW92ZSBpdCkKLSAg
ICAgICAgICAgIFdlYkNvcmU6Okhpc3RvcnlJdGVtKiBudWxsSXRlbSA9IGQtPmxzdC0+Y3VycmVu
dEl0ZW0oKTsKLSAgICAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgY291bnQ7IGkrKykgewot
ICAgICAgICAgICAgICAgIFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpIaXN0b3J5SXRlbT4gaXRl
bSA9IFdlYkNvcmU6Okhpc3RvcnlJdGVtOjpjcmVhdGUoKTsKLSAgICAgICAgICAgICAgICBpdGVt
LT5yZXN0b3JlU3RhdGUoc291cmNlLCB2ZXJzaW9uKTsKLSAgICAgICAgICAgICAgICBkLT5sc3Qt
PmFkZEl0ZW0oaXRlbSk7CisgICAgaW50IGNvdW50OworICAgIGludCBjdXJyZW50SW5kZXg7Cisg
ICAgc291cmNlID4+IGNvdW50ID4+IGN1cnJlbnRJbmRleDsKKworICAgIC8vIG9ubHkgaWYgdGhl
cmUgYXJlIGVsZW1lbnRzCisgICAgaWYgKGNvdW50KSB7CisgICAgICAgIC8vIGFmdGVyIGNsZWFy
KCkgaXMgbmV3IGNsZWFyIEhpc3RvcnlJdGVtIChhdCB0aGUgZW5kIHdlIGhhZCB0byByZW1vdmUg
aXQpCisgICAgICAgIFdlYkNvcmU6Okhpc3RvcnlJdGVtKiBudWxsSXRlbSA9IGQtPmxzdC0+Y3Vy
cmVudEl0ZW0oKTsKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7Cisg
ICAgICAgICAgICBXVEY6OlJlZlB0cjxXZWJDb3JlOjpIaXN0b3J5SXRlbT4gaXRlbSA9IFdlYkNv
cmU6Okhpc3RvcnlJdGVtOjpyZXN0b3JlU3RhdGUoc291cmNlLCB2ZXJzaW9uKTsKKyAgICAgICAg
ICAgIGlmICghaXRlbSkgeworICAgICAgICAgICAgICAgIC8vIFRoZSBIaXN0b3J5SXRlbSBpbnRl
cm5hbCB2ZXJzaW9uIG1pZ2h0IGhhdmUgY2hhbmdlZCwgZG8gdGhlIHNhbWUgYXMgd2hlbiBvdXIg
b3duIHZlcnNpb24gY2hhbmdlLgorICAgICAgICAgICAgICAgIGhpc3RvcnkuY2xlYXIoKTsKKyAg
ICAgICAgICAgICAgICBzb3VyY2Uuc2V0U3RhdHVzKFFEYXRhU3RyZWFtOjpSZWFkQ29ycnVwdERh
dGEpOworICAgICAgICAgICAgICAgIHJldHVybiBzb3VyY2U7CiAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICBkLT5sc3QtPnJlbW92ZUl0ZW0obnVsbEl0ZW0pOwotICAgICAgICAgICAgaGlzdG9y
eS5nb1RvSXRlbShoaXN0b3J5Lml0ZW1BdChjdXJyZW50SW5kZXgpKTsKKyAgICAgICAgICAgIGQt
PmxzdC0+YWRkSXRlbShpdGVtKTsKICAgICAgICAgfQorICAgICAgICBkLT5sc3QtPnJlbW92ZUl0
ZW0obnVsbEl0ZW0pOworICAgICAgICBoaXN0b3J5LmdvVG9JdGVtKGhpc3RvcnkuaXRlbUF0KGN1
cnJlbnRJbmRleCkpOwogICAgIH0KIAogICAgIGQtPnBhZ2UoKS0+dXBkYXRlTmF2aWdhdGlvbkFj
dGlvbnMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYmhpc3Rvcnkv
dHN0X3F3ZWJoaXN0b3J5LmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYmhpc3Rvcnkv
dHN0X3F3ZWJoaXN0b3J5LmNwcAppbmRleCAwNmMyOTI5MDg3ZWYwNTJhMTU2MDU5ODE5OTExYTEz
Zjg2YjI3YTcxLi40YzgzOWZlYzM5MDU4Nzc1NjYxMjIwZDA5YmQyYjFkYTdhYjZhMDE0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJoaXN0b3J5L3RzdF9xd2ViaGlzdG9y
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2ViaGlzdG9yeS90c3RfcXdlYmhp
c3RvcnkuY3BwCkBAIC02NSw2ICs2NSw3IEBAIHByaXZhdGUgUV9TTE9UUzoKICAgICB2b2lkIHBv
cFB1c2hTdGF0ZV9kYXRhKCk7CiAgICAgdm9pZCBwb3BQdXNoU3RhdGUoKTsKICAgICB2b2lkIGNs
ZWFyKCk7CisgICAgdm9pZCByZXN0b3JlSW5jb21wYXRpYmxlVmVyc2lvbjEoKTsKIAogCiBwcml2
YXRlOgpAQCAtMjM3LDE2ICsyMzgsMjAgQEAgdm9pZCB0c3RfUVdlYkhpc3Rvcnk6OnNlcmlhbGl6
ZV8yKCkKICAgICBRRGF0YVN0cmVhbSBzYXZlKCZ0bXAsIFFJT0RldmljZTo6V3JpdGVPbmx5KTsg
Ly9oZXJlIGRhdGEgd2lsbCBiZSBzYXZlZAogICAgIFFEYXRhU3RyZWFtIGxvYWQoJnRtcCwgUUlP
RGV2aWNlOjpSZWFkT25seSk7IC8vZnJvbSBoZXJlIGRhdGEgd2lsbCBiZSBsb2FkZWQKIAotICAg
IGludCBvbGRDdXJyZW50SW5kZXggPSBoaXN0LT5jdXJyZW50SXRlbUluZGV4KCk7CisgICAgLy8g
Rm9yY2UgYSAic2FtZSBkb2N1bWVudCIgbmF2aWdhdGlvbi4KKyAgICBmcmFtZS0+bG9hZChmcmFt
ZS0+dXJsKCkudG9TdHJpbmcoKSArIFFMYXRpbjFTdHJpbmcoIiNkdW1teUFuY2hvciIpKTsKKwor
ICAgIGludCBpbml0aWFsQ3VycmVudEluZGV4ID0gaGlzdC0+Y3VycmVudEl0ZW1JbmRleCgpOwog
CiAgICAgaGlzdC0+YmFjaygpOworICAgIGhpc3QtPmJhY2soKTsKICAgICB3YWl0Rm9yTG9hZEZp
bmlzaGVkLmV4ZWMoKTsKICAgICBoaXN0LT5iYWNrKCk7CiAgICAgd2FpdEZvckxvYWRGaW5pc2hl
ZC5leGVjKCk7CiAgICAgLy9jaGVjayBpZiBjdXJyZW50IGluZGV4IHdhcyBjaGFuZ2VkIChtYWtl
IHN1cmUgdGhhdCBpdCBpcyBub3QgbGFzdCBpdGVtKQotICAgIFFWRVJJRlkoaGlzdC0+Y3VycmVu
dEl0ZW1JbmRleCgpICE9IG9sZEN1cnJlbnRJbmRleCk7CisgICAgUVZFUklGWShoaXN0LT5jdXJy
ZW50SXRlbUluZGV4KCkgIT0gaW5pdGlhbEN1cnJlbnRJbmRleCk7CiAgICAgLy9zYXZlIGN1cnJl
bnQgaW5kZXgKLSAgICBvbGRDdXJyZW50SW5kZXggPSBoaXN0LT5jdXJyZW50SXRlbUluZGV4KCk7
CisgICAgaW50IG9sZEN1cnJlbnRJbmRleCA9IGhpc3QtPmN1cnJlbnRJdGVtSW5kZXgoKTsKIAog
ICAgIHNhdmUgPDwgKmhpc3Q7CiAgICAgUVZFUklGWShzYXZlLnN0YXR1cygpID09IFFEYXRhU3Ry
ZWFtOjpPayk7CkBAIC0yNTUsNiArMjYwLDEzIEBAIHZvaWQgdHN0X1FXZWJIaXN0b3J5OjpzZXJp
YWxpemVfMigpCiAKICAgICAvL2NoZWNrIGN1cnJlbnQgaW5kZXgKICAgICBRQ09NUEFSRShoaXN0
LT5jdXJyZW50SXRlbUluZGV4KCksIG9sZEN1cnJlbnRJbmRleCk7CisKKyAgICBoaXN0LT5mb3J3
YXJkKCk7CisgICAgd2FpdEZvckxvYWRGaW5pc2hlZC5leGVjKCk7CisgICAgaGlzdC0+Zm9yd2Fy
ZCgpOworICAgIHdhaXRGb3JMb2FkRmluaXNoZWQuZXhlYygpOworICAgIGhpc3QtPmZvcndhcmQo
KTsKKyAgICBRQ09NUEFSRShoaXN0LT5jdXJyZW50SXRlbUluZGV4KCksIGluaXRpYWxDdXJyZW50
SW5kZXgpOwogfQogCiAvKioKQEAgLTQxNCw1ICs0MjYsOTkgQEAgdm9pZCB0c3RfUVdlYkhpc3Rv
cnk6OmNsZWFyKCkKICAgICBkZWxldGUgcGFnZTI7CiB9CiAKKy8vIHN0YXRpYyB2b2lkIGR1bXBD
dXJyZW50VmVyc2lvbihRV2ViSGlzdG9yeSogaGlzdG9yeSkKKy8vIHsKKy8vICAgICBRQnl0ZUFy
cmF5IGJ1ZmZlcjsKKy8vICAgICBzYXZlSGlzdG9yeShoaXN0b3J5LCAmYnVmZmVyKTsKKy8vICAg
ICBwcmludGYoIiAgICBzdGF0aWMgY29uc3QgY2hhciB2ZXJzaW9uMUR1bXBbXSA9IHsiKTsKKy8v
ICAgICBmb3IgKGludCBpID0gMDsgaSA8IGJ1ZmZlci5zaXplKCk7ICsraSkgeworLy8gICAgICAg
ICBib29sIG5ld0xpbmUgPSAhKGkgJSAxNSk7CisvLyAgICAgICAgIGJvb2wgbGFzdCA9IGkgPT0g
YnVmZmVyLnNpemUoKSAtIDE7CisvLyAgICAgICAgIHByaW50ZigiJXMweCUuMnglcyIsIG5ld0xp
bmUgPyAiXG4gICAgICAgICIgOiAiIiwgKHVuc2lnbmVkIGNoYXIpYnVmZmVyW2ldLCBsYXN0ID8g
IiIgOiAiLCAiKTsKKy8vICAgICB9CisvLyAgICAgcHJpbnRmKCJ9O1xuIik7CisvLyB9CisKK3Zv
aWQgdHN0X1FXZWJIaXN0b3J5OjpyZXN0b3JlSW5jb21wYXRpYmxlVmVyc2lvbjEoKQoreworICAg
IC8vIFVuY29tbWVudCB0aGlzIGNvZGUgdG8gZ2VuZXJhdGUgYSBkdW1wIHNpbWlsYXIgdG8gdGhl
IG9uZSBiZWxvdyB3aXRoIHRoZSBjdXJyZW50IHN0cmVhbSB2ZXJzaW9uLgorICAgIC8vIGR1bXBD
dXJyZW50VmVyc2lvbihoaXN0KTsKKyAgICBzdGF0aWMgY29uc3QgY2hhciB2ZXJzaW9uMUR1bXBb
XSA9IHsKKyAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwg
MHgwNSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAgICAg
MHgzMiwgMHgwMCwgMHg3MSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2MywgMHgwMCwgMHgzYSwgMHgw
MCwgMHgyZiwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2NSwKKyAgICAgICAgMHgwMCwgMHg3MywgMHgw
MCwgMHg2ZiwgMHgwMCwgMHg3NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2MywgMHgwMCwgMHg2NSwg
MHgwMCwgMHg3MywgMHgwMCwKKyAgICAgICAgMHgyZiwgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwg
MHgwMCwgMHg2NywgMHgwMCwgMHg2NSwgMHgwMCwgMHgzMSwgMHgwMCwgMHgyZSwgMHgwMCwgMHg2
OCwKKyAgICAgICAgMHgwMCwgMHg3NCwgMHgwMCwgMHg2ZCwgMHgwMCwgMHg2YywgMHgwMCwgMHgw
MCwgMHgwMCwgMHgwYSwgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwKKyAgICAgICAgMHg2
NywgMHgwMCwgMHg2NSwgMHgwMCwgMHgzMSwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHgwMCwg
MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwg
MHgwMCwgMHgwMCwgMHgzMiwgMHgwMCwgMHg3MSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2MywgMHgw
MCwgMHgzYSwgMHgwMCwKKyAgICAgICAgMHgyZiwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2NSwgMHgw
MCwgMHg3MywgMHgwMCwgMHg2ZiwgMHgwMCwgMHg3NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2MywK
KyAgICAgICAgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MywgMHgwMCwgMHgyZiwgMHgwMCwgMHg3MCwg
MHgwMCwgMHg2MSwgMHgwMCwgMHg2NywgMHgwMCwgMHg2NSwgMHgwMCwKKyAgICAgICAgMHgzMSwg
MHgwMCwgMHgyZSwgMHgwMCwgMHg2OCwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2ZCwgMHgwMCwgMHg2
YywgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwKKyAgICAgICAgMHhmZiwgMHhmZiwgMHhmZiwgMHhm
ZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwg
MHgwMCwgMHgwMCwKKyAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg
MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAg
ICAgICAgMHgwMCwgMHgzZiwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw
MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAgICAgMHgwMCwgMHgw
MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg
MHgwMCwgMHgwMCwgMHgwMCwgMHgzMiwKKyAgICAgICAgMHgwMCwgMHg3MSwgMHgwMCwgMHg3Miwg
MHgwMCwgMHg2MywgMHgwMCwgMHgzYSwgMHgwMCwgMHgyZiwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2
NSwgMHgwMCwKKyAgICAgICAgMHg3MywgMHgwMCwgMHg2ZiwgMHgwMCwgMHg3NSwgMHgwMCwgMHg3
MiwgMHgwMCwgMHg2MywgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MywgMHgwMCwgMHgyZiwKKyAgICAg
ICAgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2NywgMHgwMCwgMHg2NSwgMHgwMCwg
MHgzMiwgMHgwMCwgMHgyZSwgMHgwMCwgMHg2OCwgMHgwMCwKKyAgICAgICAgMHg3NCwgMHgwMCwg
MHg2ZCwgMHgwMCwgMHg2YywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwYSwgMHgwMCwgMHg3MCwgMHgw
MCwgMHg2MSwgMHgwMCwgMHg2NywKKyAgICAgICAgMHgwMCwgMHg2NSwgMHgwMCwgMHgzMiwgMHhm
ZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg
MHgwMCwKKyAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzMiwgMHgwMCwgMHg3MSwg
MHgwMCwgMHg3MiwgMHgwMCwgMHg2MywgMHgwMCwgMHgzYSwgMHgwMCwgMHgyZiwKKyAgICAgICAg
MHgwMCwgMHg3MiwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MywgMHgwMCwgMHg2ZiwgMHgwMCwgMHg3
NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2MywgMHgwMCwKKyAgICAgICAgMHg2NSwgMHgwMCwgMHg3
MywgMHgwMCwgMHgyZiwgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2NywgMHgwMCwg
MHg2NSwgMHgwMCwgMHgzMiwKKyAgICAgICAgMHgwMCwgMHgyZSwgMHgwMCwgMHg2OCwgMHgwMCwg
MHg3NCwgMHgwMCwgMHg2ZCwgMHgwMCwgMHg2YywgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHhm
ZiwKKyAgICAgICAgMHhmZiwgMHhmZiwgMHhmZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw
MCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAgICAgMHgw
MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg
MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAgICAgMHgzZiwgMHhmMCwgMHgwMCwg
MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw
MCwgMHgwMCwgMHgwMCwKKyAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw
MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzMiwgMHgwMCwK
KyAgICAgICAgMHg3MSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2MywgMHgwMCwgMHgzYSwgMHgwMCwg
MHgyZiwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MywKKyAgICAgICAgMHgwMCwg
MHg2ZiwgMHgwMCwgMHg3NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2MywgMHgwMCwgMHg2NSwgMHgw
MCwgMHg3MywgMHgwMCwgMHgyZiwgMHgwMCwKKyAgICAgICAgMHg3MCwgMHgwMCwgMHg2MSwgMHgw
MCwgMHg2NywgMHgwMCwgMHg2NSwgMHgwMCwgMHgzMywgMHgwMCwgMHgyZSwgMHgwMCwgMHg2OCwg
MHgwMCwgMHg3NCwKKyAgICAgICAgMHgwMCwgMHg2ZCwgMHgwMCwgMHg2YywgMHgwMCwgMHgwMCwg
MHgwMCwgMHgwYSwgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2NywgMHgwMCwKKyAg
ICAgICAgMHg2NSwgMHgwMCwgMHgzMywgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHgwMCwgMHgw
MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAgICAgMHgwMCwgMHgw
MCwgMHgwMCwgMHgzMiwgMHgwMCwgMHg3MSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2MywgMHgwMCwg
MHgzYSwgMHgwMCwgMHgyZiwgMHgwMCwKKyAgICAgICAgMHg3MiwgMHgwMCwgMHg2NSwgMHgwMCwg
MHg3MywgMHgwMCwgMHg2ZiwgMHgwMCwgMHg3NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2MywgMHgw
MCwgMHg2NSwKKyAgICAgICAgMHgwMCwgMHg3MywgMHgwMCwgMHgyZiwgMHgwMCwgMHg3MCwgMHgw
MCwgMHg2MSwgMHgwMCwgMHg2NywgMHgwMCwgMHg2NSwgMHgwMCwgMHgzMywgMHgwMCwKKyAgICAg
ICAgMHgyZSwgMHgwMCwgMHg2OCwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2ZCwgMHgwMCwgMHg2Yywg
MHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwKKyAgICAgICAgMHhmZiwgMHhmZiwg
MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgw
MCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw
MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg
MHgzZiwKKyAgICAgICAgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg
MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAgICAg
MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw
MCwgMHgwMCwgMHgwMCwgMHgzMiwgMHgwMCwgMHg3MSwKKyAgICAgICAgMHgwMCwgMHg3MiwgMHgw
MCwgMHg2MywgMHgwMCwgMHgzYSwgMHgwMCwgMHgyZiwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2NSwg
MHgwMCwgMHg3MywgMHgwMCwKKyAgICAgICAgMHg2ZiwgMHgwMCwgMHg3NSwgMHgwMCwgMHg3Miwg
MHgwMCwgMHg2MywgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MywgMHgwMCwgMHgyZiwgMHgwMCwgMHg3
MCwKKyAgICAgICAgMHgwMCwgMHg2MSwgMHgwMCwgMHg2NywgMHgwMCwgMHg2NSwgMHgwMCwgMHgz
NCwgMHgwMCwgMHgyZSwgMHgwMCwgMHg2OCwgMHgwMCwgMHg3NCwgMHgwMCwKKyAgICAgICAgMHg2
ZCwgMHgwMCwgMHg2YywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwYSwgMHgwMCwgMHg3MCwgMHgwMCwg
MHg2MSwgMHgwMCwgMHg2NywgMHgwMCwgMHg2NSwKKyAgICAgICAgMHgwMCwgMHgzNCwgMHhmZiwg
MHhmZiwgMHhmZiwgMHhmZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw
MCwgMHgwMCwgMHgwMCwKKyAgICAgICAgMHgwMCwgMHgwMCwgMHgzMiwgMHgwMCwgMHg3MSwgMHgw
MCwgMHg3MiwgMHgwMCwgMHg2MywgMHgwMCwgMHgzYSwgMHgwMCwgMHgyZiwgMHgwMCwgMHg3MiwK
KyAgICAgICAgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MywgMHgwMCwgMHg2ZiwgMHgwMCwgMHg3NSwg
MHgwMCwgMHg3MiwgMHgwMCwgMHg2MywgMHgwMCwgMHg2NSwgMHgwMCwKKyAgICAgICAgMHg3Mywg
MHgwMCwgMHgyZiwgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2NywgMHgwMCwgMHg2
NSwgMHgwMCwgMHgzNCwgMHgwMCwgMHgyZSwKKyAgICAgICAgMHgwMCwgMHg2OCwgMHgwMCwgMHg3
NCwgMHgwMCwgMHg2ZCwgMHgwMCwgMHg2YywgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwg
MHhmZiwgMHhmZiwKKyAgICAgICAgMHhmZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg
MHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAg
ICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw
MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzZiwgMHhmMCwKKyAgICAgICAgMHgwMCwgMHgw
MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg
MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg
MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzMiwgMHgwMCwgMHg3
MSwgMHgwMCwKKyAgICAgICAgMHg3MiwgMHgwMCwgMHg2MywgMHgwMCwgMHgzYSwgMHgwMCwgMHgy
ZiwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MywgMHgwMCwgMHg2ZiwKKyAgICAg
ICAgMHgwMCwgMHg3NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2MywgMHgwMCwgMHg2NSwgMHgwMCwg
MHg3MywgMHgwMCwgMHgyZiwgMHgwMCwgMHg3MCwgMHgwMCwKKyAgICAgICAgMHg2MSwgMHgwMCwg
MHg2NywgMHgwMCwgMHg2NSwgMHgwMCwgMHgzNSwgMHgwMCwgMHgyZSwgMHgwMCwgMHg2OCwgMHgw
MCwgMHg3NCwgMHgwMCwgMHg2ZCwKKyAgICAgICAgMHgwMCwgMHg2YywgMHgwMCwgMHgwMCwgMHgw
MCwgMHgwYSwgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2NywgMHgwMCwgMHg2NSwg
MHgwMCwKKyAgICAgICAgMHgzNSwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHgwMCwgMHgwMCwg
MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAgICAg
MHgwMCwgMHgzMiwgMHgwMCwgMHg3MSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2MywgMHgwMCwgMHgz
YSwgMHgwMCwgMHgyZiwgMHgwMCwgMHg3MiwgMHgwMCwKKyAgICAgICAgMHg2NSwgMHgwMCwgMHg3
MywgMHgwMCwgMHg2ZiwgMHgwMCwgMHg3NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2MywgMHgwMCwg
MHg2NSwgMHgwMCwgMHg3MywKKyAgICAgICAgMHgwMCwgMHgyZiwgMHgwMCwgMHg3MCwgMHgwMCwg
MHg2MSwgMHgwMCwgMHg2NywgMHgwMCwgMHg2NSwgMHgwMCwgMHgzNSwgMHgwMCwgMHgyZSwgMHgw
MCwKKyAgICAgICAgMHg2OCwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2ZCwgMHgwMCwgMHg2YywgMHhm
ZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwgMHhmZiwKKyAgICAgICAgMHgw
MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwg
MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwg
MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw
MCwgMHgwMCwgMHgwMCwKKyAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw
MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwK
KyAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH07CisgICAg
UUJ5dGVBcnJheSB2ZXJzaW9uMSh2ZXJzaW9uMUR1bXAsIHNpemVvZih2ZXJzaW9uMUR1bXApKTsK
KyAgICBRRGF0YVN0cmVhbSBzdHJlYW0oJnZlcnNpb24xLCBRSU9EZXZpY2U6OlJlYWRPbmx5KTsK
KworICAgIC8vIFRoaXMgc2hvdWxkIGZhaWwgdG8gbG9hZCwgdGhlIGhpc3Rvcnkgc2hvdWxkIGJl
IGNsZWFyZWQgYW5kIHRoZSBzdHJlYW0gc2hvdWxkIGJlIGJyb2tlbi4KKyAgICBzdHJlYW0gPj4g
Kmhpc3Q7CisgICAgUVZFUklGWSghaGlzdC0+Y2FuR29CYWNrKCkpOworICAgIFFWRVJJRlkoIWhp
c3QtPmNhbkdvRm9yd2FyZCgpKTsKKyAgICBRVkVSSUZZKHN0cmVhbS5zdGF0dXMoKSA9PSBRRGF0
YVN0cmVhbTo6UmVhZENvcnJ1cHREYXRhKTsKK30KKwogUVRFU1RfTUFJTih0c3RfUVdlYkhpc3Rv
cnkpCiAjaW5jbHVkZSAidHN0X3F3ZWJoaXN0b3J5Lm1vYyIK
</data>

          </attachment>
      

    </bug>

</bugzilla>