<?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>142237</bug_id>
          
          <creation_ts>2015-03-03 14:58:19 -0800</creation_ts>
          <short_desc>Remove unused compression code</short_desc>
          <delta_ts>2015-03-03 17:17:01 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1073822</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-03-03 14:58:19 -0800</bug_when>
    <thetext>Remove unused compression code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073823</commentid>
    <comment_count>1</comment_count>
      <attachid>247799</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-03-03 14:59:37 -0800</bug_when>
    <thetext>Created attachment 247799
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073863</commentid>
    <comment_count>2</comment_count>
      <attachid>247811</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-03-03 16:30:45 -0800</bug_when>
    <thetext>Created attachment 247811
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073872</commentid>
    <comment_count>3</comment_count>
      <attachid>247811</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-03-03 16:44:49 -0800</bug_when>
    <thetext>Comment on attachment 247811
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073895</commentid>
    <comment_count>4</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-03-03 17:17:01 -0800</bug_when>
    <thetext>r180968</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247799</attachid>
            <date>2015-03-03 14:59:37 -0800</date>
            <delta_ts>2015-03-03 16:30:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142237-20150303145919.patch</filename>
            <type>text/plain</type>
            <size>19808</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwOTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGNmMGMzMTRiNDU4ZWE3MTZjZjkyOWQ2
YjM3NWIyODFjZDI0NDI2NGQuLmRmNDk0NDIxYjU5MTA2NmU1NjExNWQ1NWEyMjc2OTQ3NDI4MTEx
ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTUtMDMtMDMgIEFuZGVycyBDYXJsc3NvbiAgPGFu
ZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgdW51c2VkIGNvbXByZXNzaW9uIGNv
ZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MjIz
NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV1RG
LnZjeHByb2ovV1RGLnZjeHByb2o6CisgICAgICAgICogV1RGLnZjeHByb2ovV1RGLnZjeHByb2ou
ZmlsdGVyczoKKyAgICAgICAgKiBXVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgKiB3dGYvQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogd3RmL0NvbXByZXNzaW9uLmNwcDog
UmVtb3ZlZC4KKyAgICAgICAgKiB3dGYvQ29tcHJlc3Npb24uaDogUmVtb3ZlZC4KKwogMjAxNS0w
My0wMiAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgogCiAgICAgICAg
IFtXSzJdIFJlbW92ZSB1bm5lY2Vzc2FyeSBjcmVhdGUoKSBmYWN0b3J5IGZ1bmN0aW9ucy4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2ogYi9Tb3VyY2UvV1RG
L1dURi52Y3hwcm9qL1dURi52Y3hwcm9qCmluZGV4IGJjOWI4YzFmOGU2Yzk3MDY1OWQwYjAyNDE1
M2FjMTdlOWYwYmNlY2EuLjVlZWQxM2Q4MDYwZGI0NDE2NzExNWNlOTIwYzBhZWFkOTZhYTkzZWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2oKKysrIGIvU291
cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4cHJvagpAQCAtNTQsNyArNTQsNiBAQAogICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5cd3RmXEFzc2VydGlvbnMuY3BwIiAvPgogICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5cd3RmXEJpdFZlY3Rvci5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlx3dGZcQ29tcGlsYXRpb25UaHJlYWQuY3BwIiAvPgotICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5cd3RmXENvbXByZXNzaW9uLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXHd0ZlxDcnlwdG9ncmFwaGljVXRpbGl0aWVzLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXHd0ZlxDcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlci5jcHAiIC8+CiAgICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIuLlx3dGZcQ3VycmVudFRpbWUuY3BwIiAvPgpAQCAtMTczLDcg
KzE3Miw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcQ2hlY2tlZEFyaXRobWV0
aWMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0ZlxDaGVja2VkQm9vbGVhbi5o
IiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXENvbXBpbGVyLmgiIC8+Ci0gICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcQ29tcHJlc3Npb24uaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXHd0ZlxDcnlwdG9ncmFwaGljVXRpbGl0aWVzLmgiIC8+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcQ3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0ZlxDdXJyZW50VGltZS5oIiAvPgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4cHJvai5maWx0ZXJzIGIvU291
cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4cHJvai5maWx0ZXJzCmluZGV4IGQzMDdkZTZkYTE5
ZDI3MTFhMTJjM2FjMjU2ZTMxYzJmZmI0YjE2YjYuLmI1YTY3YTMyNTE3OTBiMTA5ZmVlN2NhMDc4
MzhmMzgzNWM2NzgyYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZj
eHByb2ouZmlsdGVycworKysgYi9Tb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dURi52Y3hwcm9qLmZp
bHRlcnMKQEAgLTIyNSw5ICsyMjUsNiBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cd3Rm
XFNpeENoYXJhY3Rlckhhc2guY3BwIj4KICAgICAgIDxGaWx0ZXI+d3RmPC9GaWx0ZXI+CiAgICAg
PC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlx3dGZcQ29tcHJlc3Npb24u
Y3BwIj4KLSAgICAgIDxGaWx0ZXI+d3RmPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIuLlx3dGZcZ29iamVjdFxHbGliVXRpbGl0aWVzLmNwcCI+CiAg
ICAgICA8RmlsdGVyPnd0Zlxnb2JqZWN0PC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBAIC02
NjcsOSArNjY0LDYgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0ZlxTaXhDaGFyYWN0
ZXJIYXNoLmgiPgogICAgICAgPEZpbHRlcj53dGY8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4K
LSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0ZlxDb21wcmVzc2lvbi5oIj4KLSAgICAgIDxG
aWx0ZXI+d3RmPC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlx3dGZcRmxpcEJ5dGVzLmgiPgogICAgICAgPEZpbHRlcj53dGY8L0ZpbHRlcj4KICAg
ICA8L0NsSW5jbHVkZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IGJlNTBiODc2MzhjZjlhMWVlMmUwNjZmOTg0Zjc3YjNhMDZiMTJmZmUuLmY3ZGYyZWE4NmE2
ZDAyY2E0NGJjZWMyMTg0MjVkYTE5ZjA5MmZmYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RG
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dURi9XVEYueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtMTAwLDggKzEwMCw2IEBACiAJCUE3NDg3NDUyMTdBMEJEQUUw
MEZBMDRDQiAvKiBTaXhDaGFyYWN0ZXJIYXNoLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NDg3NDRGMTdBMEJEQUUwMEZBMDRDQiAvKiBTaXhDaGFy
YWN0ZXJIYXNoLmNwcCAqLzsgfTsKIAkJQTc0ODc0NTMxN0EwQkRBRTAwRkEwNENCIC8qIFNpeENo
YXJhY3Rlckhhc2guaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE3NDg3NDUwMTdBMEJEQUUwMEZBMDRDQiAvKiBTaXhDaGFyYWN0ZXJIYXNoLmggKi87IH07
CiAJCUE3NDg3NDU0MTdBMEJEQUUwMEZBMDRDQiAvKiBTdHJpbmdIYXNoRHVtcENvbnRleHQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NDg3NDUxMTdB
MEJEQUUwMEZBMDRDQiAvKiBTdHJpbmdIYXNoRHVtcENvbnRleHQuaCAqLzsgfTsKLQkJQTdFNjQz
QzYxN0M1NDIzQjAwM0JCMTZCIC8qIENvbXByZXNzaW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3RTY0M0M0MTdDNTQyM0IwMDNCQjE2QiAvKiBD
b21wcmVzc2lvbi5jcHAgKi87IH07Ci0JCUE3RTY0M0M3MTdDNTQyM0IwMDNCQjE2QiAvKiBDb21w
cmVzc2lvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTdFNjQzQzUxN0M1NDIzQjAwM0JCMTZCIC8qIENvbXByZXNzaW9uLmggKi87IH07CiAJCUE4NzZE
QkQ4MTUxODE2RTUwMERBREI5NSAvKiBQbGF0Zm9ybS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTg3NkRCRDcxNTE4MTZFNTAwREFEQjk1IC8qIFBsYXRm
b3JtLmggKi87IH07CiAJCUE4QTQ3Mzg1MTUxQTgyNUIwMDQxMjNGRiAvKiBBU0NJSUNUeXBlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOEE0NzI1QTE1
MUE4MjVBMDA0MTIzRkYgLyogQVNDSUlDVHlwZS5oICovOyB9OwogCQlBOEE0NzM4NjE1MUE4MjVC
MDA0MTIzRkYgLyogQXNzZXJ0aW9ucy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBOEE0NzI1QjE1MUE4MjVBMDA0MTIzRkYgLyogQXNzZXJ0aW9ucy5j
cHAgKi87IH07CkBAIC0zOTEsOCArMzg5LDYgQEAKIAkJQTc0ODc0NEYxN0EwQkRBRTAwRkEwNENC
IC8qIFNpeENoYXJhY3Rlckhhc2guY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gU2l4Q2hhcmFjdGVySGFzaC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUE3NDg3NDUwMTdBMEJEQUUwMEZBMDRDQiAvKiBTaXhDaGFyYWN0ZXJIYXNoLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNpeENoYXJhY3Rlckhhc2guaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQTc0ODc0NTExN0EwQkRBRTAwRkEwNENCIC8qIFN0cmluZ0hhc2hE
dW1wQ29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHJpbmdIYXNo
RHVtcENvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQTdFNjQzQzQxN0M1
NDIzQjAwM0JCMTZCIC8qIENvbXByZXNzaW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IENvbXByZXNzaW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJQTdFNjQzQzUxN0M1NDIzQjAwM0JCMTZCIC8qIENvbXByZXNzaW9uLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbXByZXNzaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUE4NzZEQkQ3MTUxODE2RTUwMERBREI5NSAvKiBQbGF0Zm9ybS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbGF0Zm9ybS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBOEE0NzI1QTE1MUE4MjVBMDA0MTIzRkYgLyogQVNDSUlDVHlwZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBU0NJSUNUeXBlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUE4QTQ3MjVCMTUxQTgyNUEwMDQxMjNGRiAvKiBBc3NlcnRpb25zLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFzc2VydGlvbnMuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzI2LDggKzcyMiw2IEBACiAJCQkJMEY4RjJC
OEYxNzJFMDBGMDAwN0RCREE1IC8qIENvbXBpbGF0aW9uVGhyZWFkLmNwcCAqLywKIAkJCQkwRjhG
MkI5MDE3MkUwMEYwMDA3REJEQTUgLyogQ29tcGlsYXRpb25UaHJlYWQuaCAqLywKIAkJCQlBOEE0
NzI3MDE1MUE4MjVBMDA0MTIzRkYgLyogQ29tcGlsZXIuaCAqLywKLQkJCQlBN0U2NDNDNDE3QzU0
MjNCMDAzQkIxNkIgLyogQ29tcHJlc3Npb24uY3BwICovLAotCQkJCUE3RTY0M0M1MTdDNTQyM0Iw
MDNCQjE2QiAvKiBDb21wcmVzc2lvbi5oICovLAogCQkJCUUxNTU1NkYzMThBMENDMTgwMDZGNDhG
QiAvKiBDcnlwdG9ncmFwaGljVXRpbGl0aWVzLmNwcCAqLywKIAkJCQlFMTU1NTZGNDE4QTBDQzE4
MDA2RjQ4RkIgLyogQ3J5cHRvZ3JhcGhpY1V0aWxpdGllcy5oICovLAogCQkJCUE4QTQ3MjczMTUx
QTgyNUEwMDQxMjNGRiAvKiBDcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlci5jcHAgKi8sCkBA
IC0xMDc4LDcgKzEwNzIsNiBAQAogCQkJCTBGQzRFREU2MTY5NjE0OTYwMEY2NTA0MSAvKiBDb21t
YVByaW50ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGOEYyQjkxMTcyRTAwRkMwMDdEQkRBNSAv
KiBDb21waWxhdGlvblRocmVhZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczOTgxNTFBODI1
QjAwNDEyM0ZGIC8qIENvbXBpbGVyLmggaW4gSGVhZGVycyAqLywKLQkJCQlBN0U2NDNDNzE3QzU0
MjNCMDAzQkIxNkIgLyogQ29tcHJlc3Npb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDhD
MTUxQTgyNjQwMDQxMjNGRiAvKiBjb25maWcuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGOEYyQjlD
MTcyRjI1OTYwMDdEQkRBNSAvKiBDb252ZXJzaW9uTW9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QThBNDczOUIxNTFBODI1QjAwNDEyM0ZGIC8qIENyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVy
LmggaW4gSGVhZGVycyAqLywKQEAgLTEzMzcsNyArMTMzMCw2IEBACiAJCQkJQThBNDc0NjAxNTFB
ODI1QjAwNDEyM0ZGIC8qIENvbGxhdG9yRGVmYXVsdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlB
OEE0NzQ2MzE1MUE4MjVCMDA0MTIzRkYgLyogQ29sbGF0b3JJQ1UuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMEY4RjJCOTIxNzJFMDEwMzAwN0RCREE1IC8qIENvbXBpbGF0aW9uVGhyZWFkLmNwcCBp
biBTb3VyY2VzICovLAotCQkJCUE3RTY0M0M2MTdDNTQyM0IwMDNCQjE2QiAvKiBDb21wcmVzc2lv
bi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzM5QTE1MUE4MjVCMDA0MTIzRkYgLyogQ3J5
cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDc0
MzkxNTFBODI1QjAwNDEyM0ZGIC8qIENTdHJpbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThB
NDczOUMxNTFBODI1QjAwNDEyM0ZGIC8qIEN1cnJlbnRUaW1lLmNwcCBpbiBTb3VyY2VzICovLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV1RGL3d0
Zi9DTWFrZUxpc3RzLnR4dAppbmRleCA2ODJiOGQ0YzNjNGFjOGE5N2VhZjZlZjFmYTYzYTJlNmYw
MDQwOGVkLi5lM2Y5MmZlNDAzMWUyNmY2NTI4YmRlMjQ4ZDFjMWI4YjZjYzc4MGU0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9D
TWFrZUxpc3RzLnR4dApAQCAtMTIsNyArMTIsNiBAQCBzZXQoV1RGX0hFQURFUlMKICAgICBCeXRl
T3JkZXIuaAogICAgIENvbXBpbGF0aW9uVGhyZWFkLmgKICAgICBDb21waWxlci5oCi0gICAgQ29t
cHJlc3Npb24uaAogICAgIENyeXB0b2dyYXBoaWNVdGlsaXRpZXMuaAogICAgIENyeXB0b2dyYXBo
aWNhbGx5UmFuZG9tTnVtYmVyLmgKICAgICBDdXJyZW50VGltZS5oCkBAIC0xNDcsNyArMTQ2LDYg
QEAgc2V0KFdURl9TT1VSQ0VTCiAgICAgQXRvbWljcy5jcHAKICAgICBCaXRWZWN0b3IuY3BwCiAg
ICAgQ29tcGlsYXRpb25UaHJlYWQuY3BwCi0gICAgQ29tcHJlc3Npb24uY3BwCiAgICAgQ3J5cHRv
Z3JhcGhpY1V0aWxpdGllcy5jcHAKICAgICBDcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlci5j
cHAKICAgICBDdXJyZW50VGltZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0NvbXBy
ZXNzaW9uLmNwcCBiL1NvdXJjZS9XVEYvd3RmL0NvbXByZXNzaW9uLmNwcApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggOWIyOWJhYzkwM2MxMmQ4YWFlOGM2MDc0ZTVmM2JmOTFiNzU4NjYy
MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi9Db21wcmVzc2lvbi5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxNzggKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJj
b25maWcuaCIKLSNpbmNsdWRlICJDb21wcmVzc2lvbi5oIgotCi0jaW5jbHVkZSAiQ2hlY2tlZEFy
aXRobWV0aWMuaCIKLQotI2lmIFVTRShaTElCKSAmJiAhQ09NUElMRVIoTVNWQykKLQotI2luY2x1
ZGUgPHN0cmluZy5oPgotI2luY2x1ZGUgPHpsaWIuaD4KLQotbmFtZXNwYWNlIFdURiB7Ci0KLXN0
YXRpYyB2b2lkKiB6QWxsb2Modm9pZCosIHVpbnQzMl90IGNvdW50LCB1aW50MzJfdCBzaXplKQot
ewotICAgIENoZWNrZWRTaXplIGFsbG9jU2l6ZSA9IGNvdW50OwotICAgIGFsbG9jU2l6ZSAqPSBz
aXplOwotICAgIGlmIChhbGxvY1NpemUuaGFzT3ZlcmZsb3dlZCgpKQotICAgICAgICByZXR1cm4g
Wl9OVUxMOwotICAgIHZvaWQqIHJlc3VsdCA9IDA7Ci0gICAgaWYgKHRyeUZhc3RNYWxsb2MoYWxs
b2NTaXplLnVuc2FmZUdldCgpKS5nZXRWYWx1ZShyZXN1bHQpKQotICAgICAgICByZXR1cm4gcmVz
dWx0OwotICAgIHJldHVybiBaX05VTEw7Ci19Ci0KLXN0YXRpYyB2b2lkIHpGcmVlKHZvaWQqLCB2
b2lkKiBkYXRhKQotewotICAgIGZhc3RGcmVlKGRhdGEpOwotfQotCi1zdGQ6OnVuaXF1ZV9wdHI8
R2VuZXJpY0NvbXByZXNzZWREYXRhPiBHZW5lcmljQ29tcHJlc3NlZERhdGE6OmNyZWF0ZShjb25z
dCB1aW50OF90KiBkYXRhLCBzaXplX3QgZGF0YUxlbmd0aCkKLXsKLSAgICBlbnVtIHsgTWluaW11
bVNpemUgPSBzaXplb2YoR2VuZXJpY0NvbXByZXNzZWREYXRhKSAqIDggfTsKLQotICAgIGlmICgh
ZGF0YSB8fCBkYXRhTGVuZ3RoIDwgTWluaW11bVNpemUpCi0gICAgICAgIHJldHVybiBudWxscHRy
OwotCi0gICAgel9zdHJlYW0gc3RyZWFtOwotICAgIG1lbXNldCgmc3RyZWFtLCAwLCBzaXplb2Yo
c3RyZWFtKSk7Ci0gICAgc3RyZWFtLnphbGxvYyA9IHpBbGxvYzsKLSAgICBzdHJlYW0uemZyZWUg
PSB6RnJlZTsKLSAgICBzdHJlYW0uZGF0YV90eXBlID0gWl9CSU5BUlk7Ci0gICAgc3RyZWFtLm9w
YXF1ZSA9IFpfTlVMTDsKLSAgICBzdHJlYW0uYXZhaWxfaW4gPSBkYXRhTGVuZ3RoOwotICAgIHN0
cmVhbS5uZXh0X2luID0gY29uc3RfY2FzdDx1aW50OF90Kj4oZGF0YSk7Ci0KLSAgICBzaXplX3Qg
Y3VycmVudE9mZnNldCA9IE9CSkVDVF9PRkZTRVRPRihHZW5lcmljQ29tcHJlc3NlZERhdGEsIG1f
ZGF0YSk7Ci0gICAgc2l6ZV90IGN1cnJlbnRDYXBhY2l0eSA9IGZhc3RNYWxsb2NHb29kU2l6ZShN
aW5pbXVtU2l6ZSk7Ci0gICAgQnl0ZWYqIGNvbXByZXNzZWREYXRhID0gc3RhdGljX2Nhc3Q8Qnl0
ZWYqPihmYXN0TWFsbG9jKGN1cnJlbnRDYXBhY2l0eSkpOwotICAgIG1lbXNldChjb21wcmVzc2Vk
RGF0YSwgMCwgc2l6ZW9mKEdlbmVyaWNDb21wcmVzc2VkRGF0YSkpOwotICAgIHN0cmVhbS5uZXh0
X291dCA9IGNvbXByZXNzZWREYXRhICsgY3VycmVudE9mZnNldDsKLSAgICBzdHJlYW0uYXZhaWxf
b3V0ID0gY3VycmVudENhcGFjaXR5IC0gY3VycmVudE9mZnNldDsKLQotICAgIGRlZmxhdGVJbml0
KCZzdHJlYW0sIFpfQkVTVF9DT01QUkVTU0lPTik7Ci0KLSAgICB3aGlsZSAodHJ1ZSkgewotICAg
ICAgICBpbnQgZGVmbGF0ZVJlc3VsdCA9IGRlZmxhdGUoJnN0cmVhbSwgWl9GSU5JU0gpOwotICAg
ICAgICBpZiAoZGVmbGF0ZVJlc3VsdCA9PSBaX09LIHx8ICFzdHJlYW0uYXZhaWxfb3V0KSB7Ci0g
ICAgICAgICAgICBzaXplX3QgbmV3Q2FwYWNpdHkgPSAwOwotICAgICAgICAgICAgY3VycmVudENh
cGFjaXR5IC09IHN0cmVhbS5hdmFpbF9vdXQ7Ci0gICAgICAgICAgICBpZiAoIXN0cmVhbS5hdmFp
bF9pbikKLSAgICAgICAgICAgICAgICBuZXdDYXBhY2l0eSA9IGN1cnJlbnRDYXBhY2l0eSArIDg7
Ci0gICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAvLyBEZXRlcm1pbmUgYXZlcmFn
ZSBjYXBhY2l0eQotICAgICAgICAgICAgICAgIHNpemVfdCBjb21wcmVzc2VkQ29udGVudCA9IHN0
cmVhbS5uZXh0X2luIC0gZGF0YTsKLSAgICAgICAgICAgICAgICBkb3VibGUgZXhwZWN0ZWRTaXpl
ID0gc3RhdGljX2Nhc3Q8ZG91YmxlPihkYXRhTGVuZ3RoKSAqIGNvbXByZXNzZWRDb250ZW50IC8g
Y3VycmVudENhcGFjaXR5OwotCi0gICAgICAgICAgICAgICAgLy8gRXhwYW5kIGNhcGFjaXR5IGJ5
IGF0IGxlYXN0IDggYnl0ZXMgc28gd2UncmUgYWx3YXlzIGdyb3dpbmcsIGFuZCB0bwotICAgICAg
ICAgICAgICAgIC8vIGNvbXBlbnNhdGUgZm9yIGFueSBleGFnZ2VyYXRlZCBpZGVhcyBvZiBob3cg
ZWZmZWN0aXZlbHkgd2UnbGwgY29tcHJlc3MKLSAgICAgICAgICAgICAgICAvLyBkYXRhIGluIHRo
ZSBmdXR1cmUuCi0gICAgICAgICAgICAgICAgbmV3Q2FwYWNpdHkgPSBzdGQ6Om1heChzdGF0aWNf
Y2FzdDxzaXplX3Q+KGV4cGVjdGVkU2l6ZSArIDgpLCBjdXJyZW50Q2FwYWNpdHkgKyA4KTsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIG5ld0NhcGFjaXR5ID0gZmFzdE1hbGxvY0dvb2RTaXpl
KG5ld0NhcGFjaXR5KTsKLSAgICAgICAgICAgIGlmIChuZXdDYXBhY2l0eSA+PSBkYXRhTGVuZ3Ro
KQotICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsKLSAgICAgICAgICAgIGNvbXByZXNzZWREYXRh
ID0gc3RhdGljX2Nhc3Q8Qnl0ZWYqPihmYXN0UmVhbGxvYyhjb21wcmVzc2VkRGF0YSwgbmV3Q2Fw
YWNpdHkpKTsKLSAgICAgICAgICAgIGN1cnJlbnRPZmZzZXQgPSBjdXJyZW50Q2FwYWNpdHkgLSBz
dHJlYW0uYXZhaWxfb3V0OwotICAgICAgICAgICAgc3RyZWFtLm5leHRfb3V0ID0gY29tcHJlc3Nl
ZERhdGEgKyBjdXJyZW50T2Zmc2V0OwotICAgICAgICAgICAgc3RyZWFtLmF2YWlsX291dCA9IG5l
d0NhcGFjaXR5IC0gY3VycmVudENhcGFjaXR5OwotICAgICAgICAgICAgY3VycmVudENhcGFjaXR5
ID0gbmV3Q2FwYWNpdHk7Ci0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfQotCi0gICAg
ICAgIGlmIChkZWZsYXRlUmVzdWx0ID09IFpfU1RSRUFNX0VORCkgewotICAgICAgICAgICAgQVNT
RVJUKCFzdHJlYW0uYXZhaWxfaW4pOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLQot
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICBmYWlsOgotICAgICAgICBkZWZsYXRl
RW5kKCZzdHJlYW0pOwotICAgICAgICBmYXN0RnJlZShjb21wcmVzc2VkRGF0YSk7Ci0gICAgICAg
IHJldHVybiBudWxscHRyOwotICAgIH0KLSAgICBkZWZsYXRlRW5kKCZzdHJlYW0pOwotICAgIHN0
YXRpYyBpbnQ2NF90IHRvdGFsQ29tcHJlc3NlZCA9IDA7Ci0gICAgc3RhdGljIGludDY0X3QgdG90
YWxJbnB1dCA9IDA7Ci0KLSAgICB0b3RhbENvbXByZXNzZWQgKz0gY3VycmVudENhcGFjaXR5Owot
ICAgIHRvdGFsSW5wdXQgKz0gZGF0YUxlbmd0aDsKLSAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRy
PEdlbmVyaWNDb21wcmVzc2VkRGF0YT4obmV3IChjb21wcmVzc2VkRGF0YSkgR2VuZXJpY0NvbXBy
ZXNzZWREYXRhKGRhdGFMZW5ndGgsIHN0cmVhbS50b3RhbF9vdXQpKTsKLX0KLQotYm9vbCBHZW5l
cmljQ29tcHJlc3NlZERhdGE6OmRlY29tcHJlc3ModWludDhfdCogZGVzdGluYXRpb24sIHNpemVf
dCBidWZmZXJTaXplLCBzaXplX3QqIGRlY29tcHJlc3NlZEJ5dGVDb3VudCkKLXsKLSAgICBpZiAo
ZGVjb21wcmVzc2VkQnl0ZUNvdW50KQotICAgICAgICAqZGVjb21wcmVzc2VkQnl0ZUNvdW50ID0g
MDsKLSAgICB6X3N0cmVhbSBzdHJlYW07Ci0gICAgbWVtc2V0KCZzdHJlYW0sIDAsIHNpemVvZihz
dHJlYW0pKTsKLSAgICBzdHJlYW0uemFsbG9jID0gekFsbG9jOwotICAgIHN0cmVhbS56ZnJlZSA9
IHpGcmVlOwotICAgIHN0cmVhbS5kYXRhX3R5cGUgPSBaX0JJTkFSWTsKLSAgICBzdHJlYW0ub3Bh
cXVlID0gWl9OVUxMOwotICAgIHN0cmVhbS5uZXh0X291dCA9IGRlc3RpbmF0aW9uOwotICAgIHN0
cmVhbS5hdmFpbF9vdXQgPSBidWZmZXJTaXplOwotICAgIHN0cmVhbS5uZXh0X2luID0gbV9kYXRh
OwotICAgIHN0cmVhbS5hdmFpbF9pbiA9IGNvbXByZXNzZWRTaXplKCk7Ci0gICAgaWYgKGluZmxh
dGVJbml0KCZzdHJlYW0pICE9IFpfT0spIHsKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KLSAgICBpbnQgaW5mbGF0ZVJlc3VsdCA9
IGluZmxhdGUoJnN0cmVhbSwgWl9GSU5JU0gpOwotICAgIGluZmxhdGVFbmQoJnN0cmVhbSk7Ci0K
LSAgICBBU1NFUlQoc3RyZWFtLnRvdGFsX291dCA8PSBidWZmZXJTaXplKTsKLSAgICBpZiAoZGVj
b21wcmVzc2VkQnl0ZUNvdW50KQotICAgICAgICAqZGVjb21wcmVzc2VkQnl0ZUNvdW50ID0gc3Ry
ZWFtLnRvdGFsX291dDsKLQotICAgIGlmIChpbmZsYXRlUmVzdWx0ICE9IFpfU1RSRUFNX0VORCkg
ewotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwot
ICAgIH0KLQotICAgIHJldHVybiB0cnVlOwotfQotCi19Ci0KLSNlbHNlCi0KLW5hbWVzcGFjZSBX
VEYgewotc3RkOjp1bmlxdWVfcHRyPEdlbmVyaWNDb21wcmVzc2VkRGF0YT4gR2VuZXJpY0NvbXBy
ZXNzZWREYXRhOjpjcmVhdGUoY29uc3QgdWludDhfdCosIHNpemVfdCkKLXsKLSAgICByZXR1cm4g
bnVsbHB0cjsKLX0KLQotYm9vbCBHZW5lcmljQ29tcHJlc3NlZERhdGE6OmRlY29tcHJlc3ModWlu
dDhfdCosIHNpemVfdCwgc2l6ZV90KikKLXsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci19Ci0KLSNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ29tcHJlc3Npb24uaCBiL1NvdXJjZS9X
VEYvd3RmL0NvbXByZXNzaW9uLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ0NjY0
N2Q0YTg4ZTY5YWJlODBhZDdjOGNlY2NhZWE1NjM2ZjM4MDUuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dURi93dGYvQ29tcHJlc3Npb24uaAor
KysgL2Rldi9udWxsCkBAIC0xLDE0OSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEy
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
LSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBDb21wcmVzc2lvbl9oCi0jZGVmaW5lIENvbXBy
ZXNzaW9uX2gKLQotI2luY2x1ZGUgPG1lbW9yeT4KLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Ci0K
LW5hbWVzcGFjZSBXVEYgewotCi1jbGFzcyBHZW5lcmljQ29tcHJlc3NlZERhdGEgewotICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEdlbmVyaWNDb21wcmVzc2VkRGF0YSkKLSAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKLXB1YmxpYzoKLSAgICBXVEZfRVhQT1JUX1BSSVZBVEUgc3RhdGljIHN0
ZDo6dW5pcXVlX3B0cjxHZW5lcmljQ29tcHJlc3NlZERhdGE+IGNyZWF0ZShjb25zdCB1aW50OF90
Kiwgc2l6ZV90KTsKLSAgICB1aW50MzJfdCBjb21wcmVzc2VkU2l6ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fY29tcHJlc3NlZFNpemU7IH0KLSAgICB1aW50MzJfdCBvcmlnaW5hbFNpemUoKSBjb25zdCB7
IHJldHVybiBtX29yaWdpbmFsU2l6ZTsgfQotCi0gICAgV1RGX0VYUE9SVF9QUklWQVRFIGJvb2wg
ZGVjb21wcmVzcyh1aW50OF90KiBkZXN0aW5hdGlvbiwgc2l6ZV90IGJ1ZmZlclNpemUsIHNpemVf
dCogZGVjb21wcmVzc2VkQnl0ZUNvdW50ID0gMCk7Ci0gICAgCi1wcml2YXRlOgotICAgIEdlbmVy
aWNDb21wcmVzc2VkRGF0YShzaXplX3Qgb3JpZ2luYWxTaXplLCBzaXplX3QgY29tcHJlc3NlZFNp
emUpCi0gICAgewotICAgICAgICBVTlVTRURfUEFSQU0obV9kYXRhKTsKLSAgICAgICAgQVNTRVJU
KCFtX29yaWdpbmFsU2l6ZSk7Ci0gICAgICAgIEFTU0VSVCghbV9jb21wcmVzc2VkU2l6ZSk7Ci0g
ICAgICAgIG1fb3JpZ2luYWxTaXplID0gb3JpZ2luYWxTaXplOwotICAgICAgICBtX2NvbXByZXNz
ZWRTaXplID0gY29tcHJlc3NlZFNpemU7Ci0gICAgfQotICAgIHVpbnQzMl90IG1fb3JpZ2luYWxT
aXplOwotICAgIHVpbnQzMl90IG1fY29tcHJlc3NlZFNpemU7Ci0gICAgdWludDhfdCBtX2RhdGFb
MV07Ci19OwotCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgQ29tcHJlc3NlZFZlY3RvciA6
IHB1YmxpYyBHZW5lcmljQ29tcHJlc3NlZERhdGEgewotcHVibGljOgotICAgIHN0YXRpYyBzdGQ6
OnVuaXF1ZV9wdHI8Q29tcHJlc3NlZFZlY3Rvcj4gY3JlYXRlKGNvbnN0IFZlY3RvcjxUPiYgc291
cmNlKQotICAgIHsKLSAgICAgICAgc3RkOjp1bmlxdWVfcHRyPEdlbmVyaWNDb21wcmVzc2VkRGF0
YT4gcmVzdWx0ID0gR2VuZXJpY0NvbXByZXNzZWREYXRhOjpjcmVhdGUocmVpbnRlcnByZXRfY2Fz
dDxjb25zdCB1aW50OF90Kj4oc291cmNlLmRhdGEoKSksIHNpemVvZihUKSAqIHNvdXJjZS5zaXpl
KCkpOwotICAgICAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPENvbXByZXNzZWRWZWN0b3I8VD4+
KHN0YXRpY19jYXN0PENvbXByZXNzZWRWZWN0b3I8VD4qPihyZXN1bHQucmVsZWFzZSgpKSk7Ci0g
ICAgfQotCi0gICAgdm9pZCBkZWNvbXByZXNzKFZlY3RvcjxUPiYgZGVzdGluYXRpb24pCi0gICAg
ewotICAgICAgICBWZWN0b3I8VD4gb3V0cHV0KG9yaWdpbmFsU2l6ZSgpIC8gc2l6ZW9mKFQpKTsK
LSAgICAgICAgQVNTRVJUKG91dHB1dC5zaXplKCkgKiBzaXplb2YoVCkgPT0gb3JpZ2luYWxTaXpl
KCkpOwotICAgICAgICBzaXplX3QgZGVjb21wcmVzc2VkQnl0ZUNvdW50ID0gMDsKLSAgICAgICAg
R2VuZXJpY0NvbXByZXNzZWREYXRhOjpkZWNvbXByZXNzKHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhf
dCo+KG91dHB1dC5kYXRhKCkpLCBvcmlnaW5hbFNpemUoKSwgJmRlY29tcHJlc3NlZEJ5dGVDb3Vu
dCk7Ci0gICAgICAgIEFTU0VSVChkZWNvbXByZXNzZWRCeXRlQ291bnQgPT0gb3JpZ2luYWxTaXpl
KCkpOwotICAgICAgICBBU1NFUlQob3V0cHV0LnNpemUoKSAqIHNpemVvZihUKSA9PSBkZWNvbXBy
ZXNzZWRCeXRlQ291bnQpOwotCi0gICAgICAgIGRlc3RpbmF0aW9uLnN3YXAob3V0cHV0KTsKLSAg
ICB9Ci0KLSAgICBzaXplX3Qgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG9yaWdpbmFsU2l6ZSgpIC8g
c2l6ZW9mKFQpOyB9Ci19OwotCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgQ29tcHJlc3Np
YmxlVmVjdG9yIHsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb21wcmVzc2libGVWZWN0b3Ip
Ci1wdWJsaWM6Ci0gICAgQ29tcHJlc3NpYmxlVmVjdG9yKHNpemVfdCBzaXplID0gMCkKLSAgICAg
ICAgOiBtX2RlY29tcHJlc3NlZERhdGEoc2l6ZSkKLSAgICB7Ci0gICAgfQotCi0gICAgdHlwZWRl
ZiB0eXBlbmFtZSBWZWN0b3I8VD46Oml0ZXJhdG9yIGl0ZXJhdG9yOwotICAgIHR5cGVkZWYgdHlw
ZW5hbWUgVmVjdG9yPFQ+Ojpjb25zdF9pdGVyYXRvciBjb25zdF9pdGVyYXRvcjsKLQotICAgIHZv
aWQgc2hyaW5rVG9GaXQoKQotICAgIHsKLSAgICAgICAgQVNTRVJUKCFtX2NvbXByZXNzZWREYXRh
KTsKLSAgICAgICAgbV9jb21wcmVzc2VkRGF0YSA9IENvbXByZXNzZWRWZWN0b3I8VD46OmNyZWF0
ZShtX2RlY29tcHJlc3NlZERhdGEpOwotICAgICAgICBpZiAobV9jb21wcmVzc2VkRGF0YSkKLSAg
ICAgICAgICAgIG1fZGVjb21wcmVzc2VkRGF0YS5jbGVhcigpOwotICAgICAgICBlbHNlCi0gICAg
ICAgICAgICBtX2RlY29tcHJlc3NlZERhdGEuc2hyaW5rVG9GaXQoKTsKLSAgICB9Ci0KLSAgICBz
aXplX3Qgc2l6ZSgpCi0gICAgewotICAgICAgICBpZiAobV9jb21wcmVzc2VkRGF0YSkKLSAgICAg
ICAgICAgIHJldHVybiBtX2NvbXByZXNzZWREYXRhLT5zaXplKCk7Ci0gICAgICAgIHJldHVybiBt
X2RlY29tcHJlc3NlZERhdGEuc2l6ZSgpOwotICAgIH0KLQotICAgIHRlbXBsYXRlIDx0eXBlbmFt
ZSBVPiBUJiBvcGVyYXRvcltdKENoZWNrZWQ8VT4gaW5kZXgpIHsgcmV0dXJuIGRhdGEoKS5hdChp
bmRleCk7IH0KLSAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT4gY29uc3QgVCYgb3BlcmF0b3JbXShD
aGVja2VkPFU+IGluZGV4KSBjb25zdCB7IHJldHVybiBkYXRhKCkuYXQoaW5kZXgpOyB9Ci0gICAg
dGVtcGxhdGUgPHR5cGVuYW1lIFU+IFQmIGF0KENoZWNrZWQ8VT4gaW5kZXgpIHsgcmV0dXJuIGRh
dGEoKS5hdChpbmRleCk7IH0KLSAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT4gY29uc3QgVCYgYXQo
Q2hlY2tlZDxVPiBpbmRleCkgY29uc3QgeyByZXR1cm4gZGF0YSgpLmF0KGluZGV4KTsgfQotCi0g
ICAgaXRlcmF0b3IgYmVnaW4oKSB7IHJldHVybiBkYXRhKCkuYmVnaW4oKTsgfQotICAgIGl0ZXJh
dG9yIGVuZCgpIHsgcmV0dXJuIGRhdGEoKS5lbmQoKTsgfQotICAgIGNvbnN0X2l0ZXJhdG9yIGJl
Z2luKCkgY29uc3QgeyByZXR1cm4gZGF0YSgpLmJlZ2luKCk7IH0KLSAgICBjb25zdF9pdGVyYXRv
ciBlbmQoKSBjb25zdCB7IHJldHVybiBkYXRhKCkuZW5kKCk7IH0KLQotICAgIGNvbnN0IFZlY3Rv
cjxUPiYgZGF0YSgpIGNvbnN0Ci0gICAgewotICAgICAgICBkZWNvbXByZXNzSWZOZWNlc3Nhcnko
KTsKLSAgICAgICAgcmV0dXJuIG1fZGVjb21wcmVzc2VkRGF0YTsKLSAgICB9Ci0KLSAgICBWZWN0
b3I8VD4mIGRhdGEoKQotICAgIHsKLSAgICAgICAgZGVjb21wcmVzc0lmTmVjZXNzYXJ5KCk7Ci0g
ICAgICAgIHJldHVybiBtX2RlY29tcHJlc3NlZERhdGE7Ci0gICAgfQotCi1wcml2YXRlOgotICAg
IHZvaWQgZGVjb21wcmVzc0lmTmVjZXNzYXJ5KCkgY29uc3QKLSAgICB7Ci0gICAgICAgIGlmICgh
bV9jb21wcmVzc2VkRGF0YSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgbV9jb21wcmVz
c2VkRGF0YS0+ZGVjb21wcmVzcyhtX2RlY29tcHJlc3NlZERhdGEpOwotICAgICAgICBtX2NvbXBy
ZXNzZWREYXRhID0gbnVsbHB0cjsKLSAgICB9Ci0gICAgbXV0YWJsZSBWZWN0b3I8VD4gbV9kZWNv
bXByZXNzZWREYXRhOwotICAgIG11dGFibGUgc3RkOjp1bmlxdWVfcHRyPENvbXByZXNzZWRWZWN0
b3I8VD4+IG1fY29tcHJlc3NlZERhdGE7Ci19OwotCi19Ci0KLXVzaW5nIFdURjo6R2VuZXJpY0Nv
bXByZXNzZWREYXRhOwotdXNpbmcgV1RGOjpDb21wcmVzc2VkVmVjdG9yOwotdXNpbmcgV1RGOjpD
b21wcmVzc2libGVWZWN0b3I7Ci0KLSNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247811</attachid>
            <date>2015-03-03 16:30:45 -0800</date>
            <delta_ts>2015-03-03 16:44:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142237-20150303163027.patch</filename>
            <type>text/plain</type>
            <size>20999</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwOTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
MjgxZDAzNjM5NjZkZmUwNmMyNGE3NzA3ODNhOWYwODkzZTMzYzMzLi5mZjg1NzM0NjEwNzNkNThk
ZTkyNGE5Yjc3NDg1ODNmYTY0MGJlNzcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxNS0wMy0wMyAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUu
Y29tPgorCisgICAgICAgIFJlbW92ZSB1bnVzZWQgY29tcHJlc3Npb24gY29kZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyMjM3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBieXRlY29kZS9Vbmxpbmtl
ZENvZGVCbG9jay5oOgorCiAyMDE1LTAzLTAzICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5j
b20+CiAKICAgICAgICAgSklUIGRlYnVnZ2luZyBmZWF0dXJlcyB0aGF0IHNlbGVjdGl2ZWx5IGRp
c2FibGUgdGhlIEpJVHMgZm9yIGNvZGUgYmxvY2tzIG5lZWQgdG8gc3RheSBvdXQgb2YgdGhlIHdh
eSBvZiB0aGUgY3JpdGljYWwgcGF0aCBvZiBKSVQgbWFuYWdlbWVudApkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCBjZjBjMzE0YjQ1
OGVhNzE2Y2Y5MjlkNmIzNzViMjgxY2QyNDQyNjRkLi5kZjQ5NDQyMWI1OTEwNjZlNTYxMTVkNTVh
MjI3Njk0NzQyODExMWVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE1LTAzLTAzICBBbmRlcnMg
Q2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHVudXNlZCBj
b21wcmVzc2lvbiBjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDIyMzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFdURi52Y3hwcm9qL1dURi52Y3hwcm9qOgorICAgICAgICAqIFdURi52Y3hwcm9q
L1dURi52Y3hwcm9qLmZpbHRlcnM6CisgICAgICAgICogV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogd3RmL0NNYWtlTGlzdHMudHh0OgorICAgICAgICAqIHd0Zi9Db21w
cmVzc2lvbi5jcHA6IFJlbW92ZWQuCisgICAgICAgICogd3RmL0NvbXByZXNzaW9uLmg6IFJlbW92
ZWQuCisKIDIwMTUtMDMtMDIgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNv
bT4KIAogICAgICAgICBbV0syXSBSZW1vdmUgdW5uZWNlc3NhcnkgY3JlYXRlKCkgZmFjdG9yeSBm
dW5jdGlvbnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5s
aW5rZWRDb2RlQmxvY2suaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Vbmxpbmtl
ZENvZGVCbG9jay5oCmluZGV4IGM3ZDJkYTU1MWUzNzk4MGIyYjBhNzMxMjM0ZDRkOGFjZWQ1NWRm
MDEuLmYxZWY1ZDgxNTNmNTQ0MzVjOTU1NmJkNzZlNGY5NTM0YWUyNzY2NDMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZENvZGVCbG9jay5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZENvZGVCbG9jay5oCkBAIC0z
OSw3ICszOSw2IEBACiAjaW5jbHVkZSAiU3ltYm9sVGFibGUuaCIKICNpbmNsdWRlICJWaXJ0dWFs
UmVnaXN0ZXIuaCIKIAotI2luY2x1ZGUgPHd0Zi9Db21wcmVzc2lvbi5oPgogI2luY2x1ZGUgPHd0
Zi9SZWZDb3VudGVkQXJyYXkuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2ogYi9Tb3VyY2UvV1RGL1dURi52
Y3hwcm9qL1dURi52Y3hwcm9qCmluZGV4IGJjOWI4YzFmOGU2Yzk3MDY1OWQwYjAyNDE1M2FjMTdl
OWYwYmNlY2EuLjVlZWQxM2Q4MDYwZGI0NDE2NzExNWNlOTIwYzBhZWFkOTZhYTkzZWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2oKKysrIGIvU291cmNlL1dU
Ri9XVEYudmN4cHJvai9XVEYudmN4cHJvagpAQCAtNTQsNyArNTQsNiBAQAogICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5cd3RmXEFzc2VydGlvbnMuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5cd3RmXEJpdFZlY3Rvci5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
Llx3dGZcQ29tcGlsYXRpb25UaHJlYWQuY3BwIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5cd3RmXENvbXByZXNzaW9uLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHd0
ZlxDcnlwdG9ncmFwaGljVXRpbGl0aWVzLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXHd0ZlxDcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlci5jcHAiIC8+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlx3dGZcQ3VycmVudFRpbWUuY3BwIiAvPgpAQCAtMTczLDcgKzE3Miw2
IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcQ2hlY2tlZEFyaXRobWV0aWMuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0ZlxDaGVja2VkQm9vbGVhbi5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXENvbXBpbGVyLmgiIC8+Ci0gICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlx3dGZcQ29tcHJlc3Npb24uaCIgLz4KICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXHd0ZlxDcnlwdG9ncmFwaGljVXRpbGl0aWVzLmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlx3dGZcQ3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIuaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0ZlxDdXJyZW50VGltZS5oIiAvPgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dU
Ri9XVEYudmN4cHJvai9XVEYudmN4cHJvai5maWx0ZXJzCmluZGV4IGQzMDdkZTZkYTE5ZDI3MTFh
MTJjM2FjMjU2ZTMxYzJmZmI0YjE2YjYuLmI1YTY3YTMyNTE3OTBiMTA5ZmVlN2NhMDc4MzhmMzgz
NWM2NzgyYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2ou
ZmlsdGVycworKysgYi9Tb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dURi52Y3hwcm9qLmZpbHRlcnMK
QEAgLTIyNSw5ICsyMjUsNiBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cd3RmXFNpeENo
YXJhY3Rlckhhc2guY3BwIj4KICAgICAgIDxGaWx0ZXI+d3RmPC9GaWx0ZXI+CiAgICAgPC9DbENv
bXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlx3dGZcQ29tcHJlc3Npb24uY3BwIj4K
LSAgICAgIDxGaWx0ZXI+d3RmPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlx3dGZcZ29iamVjdFxHbGliVXRpbGl0aWVzLmNwcCI+CiAgICAgICA8
RmlsdGVyPnd0Zlxnb2JqZWN0PC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBAIC02NjcsOSAr
NjY0LDYgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0ZlxTaXhDaGFyYWN0ZXJIYXNo
LmgiPgogICAgICAgPEZpbHRlcj53dGY8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0ZlxDb21wcmVzc2lvbi5oIj4KLSAgICAgIDxGaWx0ZXI+
d3RmPC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
Llx3dGZcRmxpcEJ5dGVzLmgiPgogICAgICAgPEZpbHRlcj53dGY8L0ZpbHRlcj4KICAgICA8L0Ns
SW5jbHVkZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGJl
NTBiODc2MzhjZjlhMWVlMmUwNjZmOTg0Zjc3YjNhMDZiMTJmZmUuLmY3ZGYyZWE4NmE2ZDAyY2E0
NGJjZWMyMTg0MjVkYTE5ZjA5MmZmYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtMTAwLDggKzEwMCw2IEBACiAJCUE3NDg3NDUyMTdBMEJEQUUwMEZBMDRD
QiAvKiBTaXhDaGFyYWN0ZXJIYXNoLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE3NDg3NDRGMTdBMEJEQUUwMEZBMDRDQiAvKiBTaXhDaGFyYWN0ZXJI
YXNoLmNwcCAqLzsgfTsKIAkJQTc0ODc0NTMxN0EwQkRBRTAwRkEwNENCIC8qIFNpeENoYXJhY3Rl
ckhhc2guaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3
NDg3NDUwMTdBMEJEQUUwMEZBMDRDQiAvKiBTaXhDaGFyYWN0ZXJIYXNoLmggKi87IH07CiAJCUE3
NDg3NDU0MTdBMEJEQUUwMEZBMDRDQiAvKiBTdHJpbmdIYXNoRHVtcENvbnRleHQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3NDg3NDUxMTdBMEJEQUUw
MEZBMDRDQiAvKiBTdHJpbmdIYXNoRHVtcENvbnRleHQuaCAqLzsgfTsKLQkJQTdFNjQzQzYxN0M1
NDIzQjAwM0JCMTZCIC8qIENvbXByZXNzaW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3RTY0M0M0MTdDNTQyM0IwMDNCQjE2QiAvKiBDb21wcmVz
c2lvbi5jcHAgKi87IH07Ci0JCUE3RTY0M0M3MTdDNTQyM0IwMDNCQjE2QiAvKiBDb21wcmVzc2lv
bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdFNjQz
QzUxN0M1NDIzQjAwM0JCMTZCIC8qIENvbXByZXNzaW9uLmggKi87IH07CiAJCUE4NzZEQkQ4MTUx
ODE2RTUwMERBREI5NSAvKiBQbGF0Zm9ybS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTg3NkRCRDcxNTE4MTZFNTAwREFEQjk1IC8qIFBsYXRmb3JtLmgg
Ki87IH07CiAJCUE4QTQ3Mzg1MTUxQTgyNUIwMDQxMjNGRiAvKiBBU0NJSUNUeXBlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOEE0NzI1QTE1MUE4MjVB
MDA0MTIzRkYgLyogQVNDSUlDVHlwZS5oICovOyB9OwogCQlBOEE0NzM4NjE1MUE4MjVCMDA0MTIz
RkYgLyogQXNzZXJ0aW9ucy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBOEE0NzI1QjE1MUE4MjVBMDA0MTIzRkYgLyogQXNzZXJ0aW9ucy5jcHAgKi87
IH07CkBAIC0zOTEsOCArMzg5LDYgQEAKIAkJQTc0ODc0NEYxN0EwQkRBRTAwRkEwNENCIC8qIFNp
eENoYXJhY3Rlckhhc2guY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
U2l4Q2hhcmFjdGVySGFzaC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3NDg3
NDUwMTdBMEJEQUUwMEZBMDRDQiAvKiBTaXhDaGFyYWN0ZXJIYXNoLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFNpeENoYXJhY3Rlckhhc2guaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQTc0ODc0NTExN0EwQkRBRTAwRkEwNENCIC8qIFN0cmluZ0hhc2hEdW1wQ29u
dGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHJpbmdIYXNoRHVtcENv
bnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQTdFNjQzQzQxN0M1NDIzQjAw
M0JCMTZCIC8qIENvbXByZXNzaW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IENvbXByZXNzaW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQTdF
NjQzQzUxN0M1NDIzQjAwM0JCMTZCIC8qIENvbXByZXNzaW9uLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IENvbXByZXNzaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUE4NzZEQkQ3MTUxODE2RTUwMERBREI5NSAvKiBQbGF0Zm9ybS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBQbGF0Zm9ybS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlBOEE0NzI1QTE1MUE4MjVBMDA0MTIzRkYgLyogQVNDSUlDVHlwZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBBU0NJSUNUeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUE4QTQ3MjVCMTUxQTgyNUEwMDQxMjNGRiAvKiBBc3NlcnRpb25zLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFzc2VydGlvbnMuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzI2LDggKzcyMiw2IEBACiAJCQkJMEY4RjJCOEYxNzJF
MDBGMDAwN0RCREE1IC8qIENvbXBpbGF0aW9uVGhyZWFkLmNwcCAqLywKIAkJCQkwRjhGMkI5MDE3
MkUwMEYwMDA3REJEQTUgLyogQ29tcGlsYXRpb25UaHJlYWQuaCAqLywKIAkJCQlBOEE0NzI3MDE1
MUE4MjVBMDA0MTIzRkYgLyogQ29tcGlsZXIuaCAqLywKLQkJCQlBN0U2NDNDNDE3QzU0MjNCMDAz
QkIxNkIgLyogQ29tcHJlc3Npb24uY3BwICovLAotCQkJCUE3RTY0M0M1MTdDNTQyM0IwMDNCQjE2
QiAvKiBDb21wcmVzc2lvbi5oICovLAogCQkJCUUxNTU1NkYzMThBMENDMTgwMDZGNDhGQiAvKiBD
cnlwdG9ncmFwaGljVXRpbGl0aWVzLmNwcCAqLywKIAkJCQlFMTU1NTZGNDE4QTBDQzE4MDA2RjQ4
RkIgLyogQ3J5cHRvZ3JhcGhpY1V0aWxpdGllcy5oICovLAogCQkJCUE4QTQ3MjczMTUxQTgyNUEw
MDQxMjNGRiAvKiBDcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlci5jcHAgKi8sCkBAIC0xMDc4
LDcgKzEwNzIsNiBAQAogCQkJCTBGQzRFREU2MTY5NjE0OTYwMEY2NTA0MSAvKiBDb21tYVByaW50
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGOEYyQjkxMTcyRTAwRkMwMDdEQkRBNSAvKiBDb21w
aWxhdGlvblRocmVhZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczOTgxNTFBODI1QjAwNDEy
M0ZGIC8qIENvbXBpbGVyLmggaW4gSGVhZGVycyAqLywKLQkJCQlBN0U2NDNDNzE3QzU0MjNCMDAz
QkIxNkIgLyogQ29tcHJlc3Npb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDhDMTUxQTgy
NjQwMDQxMjNGRiAvKiBjb25maWcuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGOEYyQjlDMTcyRjI1
OTYwMDdEQkRBNSAvKiBDb252ZXJzaW9uTW9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDcz
OUIxNTFBODI1QjAwNDEyM0ZGIC8qIENyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyLmggaW4g
SGVhZGVycyAqLywKQEAgLTEzMzcsNyArMTMzMCw2IEBACiAJCQkJQThBNDc0NjAxNTFBODI1QjAw
NDEyM0ZGIC8qIENvbGxhdG9yRGVmYXVsdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzQ2
MzE1MUE4MjVCMDA0MTIzRkYgLyogQ29sbGF0b3JJQ1UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MEY4RjJCOTIxNzJFMDEwMzAwN0RCREE1IC8qIENvbXBpbGF0aW9uVGhyZWFkLmNwcCBpbiBTb3Vy
Y2VzICovLAotCQkJCUE3RTY0M0M2MTdDNTQyM0IwMDNCQjE2QiAvKiBDb21wcmVzc2lvbi5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzM5QTE1MUE4MjVCMDA0MTIzRkYgLyogQ3J5cHRvZ3Jh
cGhpY2FsbHlSYW5kb21OdW1iZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDc0MzkxNTFB
ODI1QjAwNDEyM0ZGIC8qIENTdHJpbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDczOUMx
NTFBODI1QjAwNDEyM0ZGIC8qIEN1cnJlbnRUaW1lLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV1RGL3d0Zi9DTWFr
ZUxpc3RzLnR4dAppbmRleCA2ODJiOGQ0YzNjNGFjOGE5N2VhZjZlZjFmYTYzYTJlNmYwMDQwOGVk
Li5lM2Y5MmZlNDAzMWUyNmY2NTI4YmRlMjQ4ZDFjMWI4YjZjYzc4MGU0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxp
c3RzLnR4dApAQCAtMTIsNyArMTIsNiBAQCBzZXQoV1RGX0hFQURFUlMKICAgICBCeXRlT3JkZXIu
aAogICAgIENvbXBpbGF0aW9uVGhyZWFkLmgKICAgICBDb21waWxlci5oCi0gICAgQ29tcHJlc3Np
b24uaAogICAgIENyeXB0b2dyYXBoaWNVdGlsaXRpZXMuaAogICAgIENyeXB0b2dyYXBoaWNhbGx5
UmFuZG9tTnVtYmVyLmgKICAgICBDdXJyZW50VGltZS5oCkBAIC0xNDcsNyArMTQ2LDYgQEAgc2V0
KFdURl9TT1VSQ0VTCiAgICAgQXRvbWljcy5jcHAKICAgICBCaXRWZWN0b3IuY3BwCiAgICAgQ29t
cGlsYXRpb25UaHJlYWQuY3BwCi0gICAgQ29tcHJlc3Npb24uY3BwCiAgICAgQ3J5cHRvZ3JhcGhp
Y1V0aWxpdGllcy5jcHAKICAgICBDcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlci5jcHAKICAg
ICBDdXJyZW50VGltZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0NvbXByZXNzaW9u
LmNwcCBiL1NvdXJjZS9XVEYvd3RmL0NvbXByZXNzaW9uLmNwcApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggOWIyOWJhYzkwM2MxMmQ4YWFlOGM2MDc0ZTVmM2JmOTFiNzU4NjYyMC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV1RGL3d0
Zi9Db21wcmVzc2lvbi5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxNzggKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAot
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcu
aCIKLSNpbmNsdWRlICJDb21wcmVzc2lvbi5oIgotCi0jaW5jbHVkZSAiQ2hlY2tlZEFyaXRobWV0
aWMuaCIKLQotI2lmIFVTRShaTElCKSAmJiAhQ09NUElMRVIoTVNWQykKLQotI2luY2x1ZGUgPHN0
cmluZy5oPgotI2luY2x1ZGUgPHpsaWIuaD4KLQotbmFtZXNwYWNlIFdURiB7Ci0KLXN0YXRpYyB2
b2lkKiB6QWxsb2Modm9pZCosIHVpbnQzMl90IGNvdW50LCB1aW50MzJfdCBzaXplKQotewotICAg
IENoZWNrZWRTaXplIGFsbG9jU2l6ZSA9IGNvdW50OwotICAgIGFsbG9jU2l6ZSAqPSBzaXplOwot
ICAgIGlmIChhbGxvY1NpemUuaGFzT3ZlcmZsb3dlZCgpKQotICAgICAgICByZXR1cm4gWl9OVUxM
OwotICAgIHZvaWQqIHJlc3VsdCA9IDA7Ci0gICAgaWYgKHRyeUZhc3RNYWxsb2MoYWxsb2NTaXpl
LnVuc2FmZUdldCgpKS5nZXRWYWx1ZShyZXN1bHQpKQotICAgICAgICByZXR1cm4gcmVzdWx0Owot
ICAgIHJldHVybiBaX05VTEw7Ci19Ci0KLXN0YXRpYyB2b2lkIHpGcmVlKHZvaWQqLCB2b2lkKiBk
YXRhKQotewotICAgIGZhc3RGcmVlKGRhdGEpOwotfQotCi1zdGQ6OnVuaXF1ZV9wdHI8R2VuZXJp
Y0NvbXByZXNzZWREYXRhPiBHZW5lcmljQ29tcHJlc3NlZERhdGE6OmNyZWF0ZShjb25zdCB1aW50
OF90KiBkYXRhLCBzaXplX3QgZGF0YUxlbmd0aCkKLXsKLSAgICBlbnVtIHsgTWluaW11bVNpemUg
PSBzaXplb2YoR2VuZXJpY0NvbXByZXNzZWREYXRhKSAqIDggfTsKLQotICAgIGlmICghZGF0YSB8
fCBkYXRhTGVuZ3RoIDwgTWluaW11bVNpemUpCi0gICAgICAgIHJldHVybiBudWxscHRyOwotCi0g
ICAgel9zdHJlYW0gc3RyZWFtOwotICAgIG1lbXNldCgmc3RyZWFtLCAwLCBzaXplb2Yoc3RyZWFt
KSk7Ci0gICAgc3RyZWFtLnphbGxvYyA9IHpBbGxvYzsKLSAgICBzdHJlYW0uemZyZWUgPSB6RnJl
ZTsKLSAgICBzdHJlYW0uZGF0YV90eXBlID0gWl9CSU5BUlk7Ci0gICAgc3RyZWFtLm9wYXF1ZSA9
IFpfTlVMTDsKLSAgICBzdHJlYW0uYXZhaWxfaW4gPSBkYXRhTGVuZ3RoOwotICAgIHN0cmVhbS5u
ZXh0X2luID0gY29uc3RfY2FzdDx1aW50OF90Kj4oZGF0YSk7Ci0KLSAgICBzaXplX3QgY3VycmVu
dE9mZnNldCA9IE9CSkVDVF9PRkZTRVRPRihHZW5lcmljQ29tcHJlc3NlZERhdGEsIG1fZGF0YSk7
Ci0gICAgc2l6ZV90IGN1cnJlbnRDYXBhY2l0eSA9IGZhc3RNYWxsb2NHb29kU2l6ZShNaW5pbXVt
U2l6ZSk7Ci0gICAgQnl0ZWYqIGNvbXByZXNzZWREYXRhID0gc3RhdGljX2Nhc3Q8Qnl0ZWYqPihm
YXN0TWFsbG9jKGN1cnJlbnRDYXBhY2l0eSkpOwotICAgIG1lbXNldChjb21wcmVzc2VkRGF0YSwg
MCwgc2l6ZW9mKEdlbmVyaWNDb21wcmVzc2VkRGF0YSkpOwotICAgIHN0cmVhbS5uZXh0X291dCA9
IGNvbXByZXNzZWREYXRhICsgY3VycmVudE9mZnNldDsKLSAgICBzdHJlYW0uYXZhaWxfb3V0ID0g
Y3VycmVudENhcGFjaXR5IC0gY3VycmVudE9mZnNldDsKLQotICAgIGRlZmxhdGVJbml0KCZzdHJl
YW0sIFpfQkVTVF9DT01QUkVTU0lPTik7Ci0KLSAgICB3aGlsZSAodHJ1ZSkgewotICAgICAgICBp
bnQgZGVmbGF0ZVJlc3VsdCA9IGRlZmxhdGUoJnN0cmVhbSwgWl9GSU5JU0gpOwotICAgICAgICBp
ZiAoZGVmbGF0ZVJlc3VsdCA9PSBaX09LIHx8ICFzdHJlYW0uYXZhaWxfb3V0KSB7Ci0gICAgICAg
ICAgICBzaXplX3QgbmV3Q2FwYWNpdHkgPSAwOwotICAgICAgICAgICAgY3VycmVudENhcGFjaXR5
IC09IHN0cmVhbS5hdmFpbF9vdXQ7Ci0gICAgICAgICAgICBpZiAoIXN0cmVhbS5hdmFpbF9pbikK
LSAgICAgICAgICAgICAgICBuZXdDYXBhY2l0eSA9IGN1cnJlbnRDYXBhY2l0eSArIDg7Ci0gICAg
ICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAvLyBEZXRlcm1pbmUgYXZlcmFnZSBjYXBh
Y2l0eQotICAgICAgICAgICAgICAgIHNpemVfdCBjb21wcmVzc2VkQ29udGVudCA9IHN0cmVhbS5u
ZXh0X2luIC0gZGF0YTsKLSAgICAgICAgICAgICAgICBkb3VibGUgZXhwZWN0ZWRTaXplID0gc3Rh
dGljX2Nhc3Q8ZG91YmxlPihkYXRhTGVuZ3RoKSAqIGNvbXByZXNzZWRDb250ZW50IC8gY3VycmVu
dENhcGFjaXR5OwotCi0gICAgICAgICAgICAgICAgLy8gRXhwYW5kIGNhcGFjaXR5IGJ5IGF0IGxl
YXN0IDggYnl0ZXMgc28gd2UncmUgYWx3YXlzIGdyb3dpbmcsIGFuZCB0bwotICAgICAgICAgICAg
ICAgIC8vIGNvbXBlbnNhdGUgZm9yIGFueSBleGFnZ2VyYXRlZCBpZGVhcyBvZiBob3cgZWZmZWN0
aXZlbHkgd2UnbGwgY29tcHJlc3MKLSAgICAgICAgICAgICAgICAvLyBkYXRhIGluIHRoZSBmdXR1
cmUuCi0gICAgICAgICAgICAgICAgbmV3Q2FwYWNpdHkgPSBzdGQ6Om1heChzdGF0aWNfY2FzdDxz
aXplX3Q+KGV4cGVjdGVkU2l6ZSArIDgpLCBjdXJyZW50Q2FwYWNpdHkgKyA4KTsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIG5ld0NhcGFjaXR5ID0gZmFzdE1hbGxvY0dvb2RTaXplKG5ld0Nh
cGFjaXR5KTsKLSAgICAgICAgICAgIGlmIChuZXdDYXBhY2l0eSA+PSBkYXRhTGVuZ3RoKQotICAg
ICAgICAgICAgICAgIGdvdG8gZmFpbDsKLSAgICAgICAgICAgIGNvbXByZXNzZWREYXRhID0gc3Rh
dGljX2Nhc3Q8Qnl0ZWYqPihmYXN0UmVhbGxvYyhjb21wcmVzc2VkRGF0YSwgbmV3Q2FwYWNpdHkp
KTsKLSAgICAgICAgICAgIGN1cnJlbnRPZmZzZXQgPSBjdXJyZW50Q2FwYWNpdHkgLSBzdHJlYW0u
YXZhaWxfb3V0OwotICAgICAgICAgICAgc3RyZWFtLm5leHRfb3V0ID0gY29tcHJlc3NlZERhdGEg
KyBjdXJyZW50T2Zmc2V0OwotICAgICAgICAgICAgc3RyZWFtLmF2YWlsX291dCA9IG5ld0NhcGFj
aXR5IC0gY3VycmVudENhcGFjaXR5OwotICAgICAgICAgICAgY3VycmVudENhcGFjaXR5ID0gbmV3
Q2FwYWNpdHk7Ci0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfQotCi0gICAgICAgIGlm
IChkZWZsYXRlUmVzdWx0ID09IFpfU1RSRUFNX0VORCkgewotICAgICAgICAgICAgQVNTRVJUKCFz
dHJlYW0uYXZhaWxfaW4pOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLQotICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICBmYWlsOgotICAgICAgICBkZWZsYXRlRW5kKCZz
dHJlYW0pOwotICAgICAgICBmYXN0RnJlZShjb21wcmVzc2VkRGF0YSk7Ci0gICAgICAgIHJldHVy
biBudWxscHRyOwotICAgIH0KLSAgICBkZWZsYXRlRW5kKCZzdHJlYW0pOwotICAgIHN0YXRpYyBp
bnQ2NF90IHRvdGFsQ29tcHJlc3NlZCA9IDA7Ci0gICAgc3RhdGljIGludDY0X3QgdG90YWxJbnB1
dCA9IDA7Ci0KLSAgICB0b3RhbENvbXByZXNzZWQgKz0gY3VycmVudENhcGFjaXR5OwotICAgIHRv
dGFsSW5wdXQgKz0gZGF0YUxlbmd0aDsKLSAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEdlbmVy
aWNDb21wcmVzc2VkRGF0YT4obmV3IChjb21wcmVzc2VkRGF0YSkgR2VuZXJpY0NvbXByZXNzZWRE
YXRhKGRhdGFMZW5ndGgsIHN0cmVhbS50b3RhbF9vdXQpKTsKLX0KLQotYm9vbCBHZW5lcmljQ29t
cHJlc3NlZERhdGE6OmRlY29tcHJlc3ModWludDhfdCogZGVzdGluYXRpb24sIHNpemVfdCBidWZm
ZXJTaXplLCBzaXplX3QqIGRlY29tcHJlc3NlZEJ5dGVDb3VudCkKLXsKLSAgICBpZiAoZGVjb21w
cmVzc2VkQnl0ZUNvdW50KQotICAgICAgICAqZGVjb21wcmVzc2VkQnl0ZUNvdW50ID0gMDsKLSAg
ICB6X3N0cmVhbSBzdHJlYW07Ci0gICAgbWVtc2V0KCZzdHJlYW0sIDAsIHNpemVvZihzdHJlYW0p
KTsKLSAgICBzdHJlYW0uemFsbG9jID0gekFsbG9jOwotICAgIHN0cmVhbS56ZnJlZSA9IHpGcmVl
OwotICAgIHN0cmVhbS5kYXRhX3R5cGUgPSBaX0JJTkFSWTsKLSAgICBzdHJlYW0ub3BhcXVlID0g
Wl9OVUxMOwotICAgIHN0cmVhbS5uZXh0X291dCA9IGRlc3RpbmF0aW9uOwotICAgIHN0cmVhbS5h
dmFpbF9vdXQgPSBidWZmZXJTaXplOwotICAgIHN0cmVhbS5uZXh0X2luID0gbV9kYXRhOwotICAg
IHN0cmVhbS5hdmFpbF9pbiA9IGNvbXByZXNzZWRTaXplKCk7Ci0gICAgaWYgKGluZmxhdGVJbml0
KCZzdHJlYW0pICE9IFpfT0spIHsKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KLSAgICBpbnQgaW5mbGF0ZVJlc3VsdCA9IGluZmxh
dGUoJnN0cmVhbSwgWl9GSU5JU0gpOwotICAgIGluZmxhdGVFbmQoJnN0cmVhbSk7Ci0KLSAgICBB
U1NFUlQoc3RyZWFtLnRvdGFsX291dCA8PSBidWZmZXJTaXplKTsKLSAgICBpZiAoZGVjb21wcmVz
c2VkQnl0ZUNvdW50KQotICAgICAgICAqZGVjb21wcmVzc2VkQnl0ZUNvdW50ID0gc3RyZWFtLnRv
dGFsX291dDsKLQotICAgIGlmIChpbmZsYXRlUmVzdWx0ICE9IFpfU1RSRUFNX0VORCkgewotICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0K
LQotICAgIHJldHVybiB0cnVlOwotfQotCi19Ci0KLSNlbHNlCi0KLW5hbWVzcGFjZSBXVEYgewot
c3RkOjp1bmlxdWVfcHRyPEdlbmVyaWNDb21wcmVzc2VkRGF0YT4gR2VuZXJpY0NvbXByZXNzZWRE
YXRhOjpjcmVhdGUoY29uc3QgdWludDhfdCosIHNpemVfdCkKLXsKLSAgICByZXR1cm4gbnVsbHB0
cjsKLX0KLQotYm9vbCBHZW5lcmljQ29tcHJlc3NlZERhdGE6OmRlY29tcHJlc3ModWludDhfdCos
IHNpemVfdCwgc2l6ZV90KikKLXsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci19Ci0KLSNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ29tcHJlc3Npb24uaCBiL1NvdXJjZS9XVEYvd3Rm
L0NvbXByZXNzaW9uLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ0NjY0N2Q0YTg4
ZTY5YWJlODBhZDdjOGNlY2NhZWE1NjM2ZjM4MDUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dURi93dGYvQ29tcHJlc3Npb24uaAorKysgL2Rl
di9udWxsCkBAIC0xLDE0OSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
Ci0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLQotI2lmbmRlZiBDb21wcmVzc2lvbl9oCi0jZGVmaW5lIENvbXByZXNzaW9u
X2gKLQotI2luY2x1ZGUgPG1lbW9yeT4KLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Ci0KLW5hbWVz
cGFjZSBXVEYgewotCi1jbGFzcyBHZW5lcmljQ29tcHJlc3NlZERhdGEgewotICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEdlbmVyaWNDb21wcmVzc2VkRGF0YSkKLSAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKLXB1YmxpYzoKLSAgICBXVEZfRVhQT1JUX1BSSVZBVEUgc3RhdGljIHN0ZDo6dW5p
cXVlX3B0cjxHZW5lcmljQ29tcHJlc3NlZERhdGE+IGNyZWF0ZShjb25zdCB1aW50OF90Kiwgc2l6
ZV90KTsKLSAgICB1aW50MzJfdCBjb21wcmVzc2VkU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY29t
cHJlc3NlZFNpemU7IH0KLSAgICB1aW50MzJfdCBvcmlnaW5hbFNpemUoKSBjb25zdCB7IHJldHVy
biBtX29yaWdpbmFsU2l6ZTsgfQotCi0gICAgV1RGX0VYUE9SVF9QUklWQVRFIGJvb2wgZGVjb21w
cmVzcyh1aW50OF90KiBkZXN0aW5hdGlvbiwgc2l6ZV90IGJ1ZmZlclNpemUsIHNpemVfdCogZGVj
b21wcmVzc2VkQnl0ZUNvdW50ID0gMCk7Ci0gICAgCi1wcml2YXRlOgotICAgIEdlbmVyaWNDb21w
cmVzc2VkRGF0YShzaXplX3Qgb3JpZ2luYWxTaXplLCBzaXplX3QgY29tcHJlc3NlZFNpemUpCi0g
ICAgewotICAgICAgICBVTlVTRURfUEFSQU0obV9kYXRhKTsKLSAgICAgICAgQVNTRVJUKCFtX29y
aWdpbmFsU2l6ZSk7Ci0gICAgICAgIEFTU0VSVCghbV9jb21wcmVzc2VkU2l6ZSk7Ci0gICAgICAg
IG1fb3JpZ2luYWxTaXplID0gb3JpZ2luYWxTaXplOwotICAgICAgICBtX2NvbXByZXNzZWRTaXpl
ID0gY29tcHJlc3NlZFNpemU7Ci0gICAgfQotICAgIHVpbnQzMl90IG1fb3JpZ2luYWxTaXplOwot
ICAgIHVpbnQzMl90IG1fY29tcHJlc3NlZFNpemU7Ci0gICAgdWludDhfdCBtX2RhdGFbMV07Ci19
OwotCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgQ29tcHJlc3NlZFZlY3RvciA6IHB1Ymxp
YyBHZW5lcmljQ29tcHJlc3NlZERhdGEgewotcHVibGljOgotICAgIHN0YXRpYyBzdGQ6OnVuaXF1
ZV9wdHI8Q29tcHJlc3NlZFZlY3Rvcj4gY3JlYXRlKGNvbnN0IFZlY3RvcjxUPiYgc291cmNlKQot
ICAgIHsKLSAgICAgICAgc3RkOjp1bmlxdWVfcHRyPEdlbmVyaWNDb21wcmVzc2VkRGF0YT4gcmVz
dWx0ID0gR2VuZXJpY0NvbXByZXNzZWREYXRhOjpjcmVhdGUocmVpbnRlcnByZXRfY2FzdDxjb25z
dCB1aW50OF90Kj4oc291cmNlLmRhdGEoKSksIHNpemVvZihUKSAqIHNvdXJjZS5zaXplKCkpOwot
ICAgICAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPENvbXByZXNzZWRWZWN0b3I8VD4+KHN0YXRp
Y19jYXN0PENvbXByZXNzZWRWZWN0b3I8VD4qPihyZXN1bHQucmVsZWFzZSgpKSk7Ci0gICAgfQot
Ci0gICAgdm9pZCBkZWNvbXByZXNzKFZlY3RvcjxUPiYgZGVzdGluYXRpb24pCi0gICAgewotICAg
ICAgICBWZWN0b3I8VD4gb3V0cHV0KG9yaWdpbmFsU2l6ZSgpIC8gc2l6ZW9mKFQpKTsKLSAgICAg
ICAgQVNTRVJUKG91dHB1dC5zaXplKCkgKiBzaXplb2YoVCkgPT0gb3JpZ2luYWxTaXplKCkpOwot
ICAgICAgICBzaXplX3QgZGVjb21wcmVzc2VkQnl0ZUNvdW50ID0gMDsKLSAgICAgICAgR2VuZXJp
Y0NvbXByZXNzZWREYXRhOjpkZWNvbXByZXNzKHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KG91
dHB1dC5kYXRhKCkpLCBvcmlnaW5hbFNpemUoKSwgJmRlY29tcHJlc3NlZEJ5dGVDb3VudCk7Ci0g
ICAgICAgIEFTU0VSVChkZWNvbXByZXNzZWRCeXRlQ291bnQgPT0gb3JpZ2luYWxTaXplKCkpOwot
ICAgICAgICBBU1NFUlQob3V0cHV0LnNpemUoKSAqIHNpemVvZihUKSA9PSBkZWNvbXByZXNzZWRC
eXRlQ291bnQpOwotCi0gICAgICAgIGRlc3RpbmF0aW9uLnN3YXAob3V0cHV0KTsKLSAgICB9Ci0K
LSAgICBzaXplX3Qgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG9yaWdpbmFsU2l6ZSgpIC8gc2l6ZW9m
KFQpOyB9Ci19OwotCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgQ29tcHJlc3NpYmxlVmVj
dG9yIHsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb21wcmVzc2libGVWZWN0b3IpCi1wdWJs
aWM6Ci0gICAgQ29tcHJlc3NpYmxlVmVjdG9yKHNpemVfdCBzaXplID0gMCkKLSAgICAgICAgOiBt
X2RlY29tcHJlc3NlZERhdGEoc2l6ZSkKLSAgICB7Ci0gICAgfQotCi0gICAgdHlwZWRlZiB0eXBl
bmFtZSBWZWN0b3I8VD46Oml0ZXJhdG9yIGl0ZXJhdG9yOwotICAgIHR5cGVkZWYgdHlwZW5hbWUg
VmVjdG9yPFQ+Ojpjb25zdF9pdGVyYXRvciBjb25zdF9pdGVyYXRvcjsKLQotICAgIHZvaWQgc2hy
aW5rVG9GaXQoKQotICAgIHsKLSAgICAgICAgQVNTRVJUKCFtX2NvbXByZXNzZWREYXRhKTsKLSAg
ICAgICAgbV9jb21wcmVzc2VkRGF0YSA9IENvbXByZXNzZWRWZWN0b3I8VD46OmNyZWF0ZShtX2Rl
Y29tcHJlc3NlZERhdGEpOwotICAgICAgICBpZiAobV9jb21wcmVzc2VkRGF0YSkKLSAgICAgICAg
ICAgIG1fZGVjb21wcmVzc2VkRGF0YS5jbGVhcigpOwotICAgICAgICBlbHNlCi0gICAgICAgICAg
ICBtX2RlY29tcHJlc3NlZERhdGEuc2hyaW5rVG9GaXQoKTsKLSAgICB9Ci0KLSAgICBzaXplX3Qg
c2l6ZSgpCi0gICAgewotICAgICAgICBpZiAobV9jb21wcmVzc2VkRGF0YSkKLSAgICAgICAgICAg
IHJldHVybiBtX2NvbXByZXNzZWREYXRhLT5zaXplKCk7Ci0gICAgICAgIHJldHVybiBtX2RlY29t
cHJlc3NlZERhdGEuc2l6ZSgpOwotICAgIH0KLQotICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBVPiBU
JiBvcGVyYXRvcltdKENoZWNrZWQ8VT4gaW5kZXgpIHsgcmV0dXJuIGRhdGEoKS5hdChpbmRleCk7
IH0KLSAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT4gY29uc3QgVCYgb3BlcmF0b3JbXShDaGVja2Vk
PFU+IGluZGV4KSBjb25zdCB7IHJldHVybiBkYXRhKCkuYXQoaW5kZXgpOyB9Ci0gICAgdGVtcGxh
dGUgPHR5cGVuYW1lIFU+IFQmIGF0KENoZWNrZWQ8VT4gaW5kZXgpIHsgcmV0dXJuIGRhdGEoKS5h
dChpbmRleCk7IH0KLSAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT4gY29uc3QgVCYgYXQoQ2hlY2tl
ZDxVPiBpbmRleCkgY29uc3QgeyByZXR1cm4gZGF0YSgpLmF0KGluZGV4KTsgfQotCi0gICAgaXRl
cmF0b3IgYmVnaW4oKSB7IHJldHVybiBkYXRhKCkuYmVnaW4oKTsgfQotICAgIGl0ZXJhdG9yIGVu
ZCgpIHsgcmV0dXJuIGRhdGEoKS5lbmQoKTsgfQotICAgIGNvbnN0X2l0ZXJhdG9yIGJlZ2luKCkg
Y29uc3QgeyByZXR1cm4gZGF0YSgpLmJlZ2luKCk7IH0KLSAgICBjb25zdF9pdGVyYXRvciBlbmQo
KSBjb25zdCB7IHJldHVybiBkYXRhKCkuZW5kKCk7IH0KLQotICAgIGNvbnN0IFZlY3RvcjxUPiYg
ZGF0YSgpIGNvbnN0Ci0gICAgewotICAgICAgICBkZWNvbXByZXNzSWZOZWNlc3NhcnkoKTsKLSAg
ICAgICAgcmV0dXJuIG1fZGVjb21wcmVzc2VkRGF0YTsKLSAgICB9Ci0KLSAgICBWZWN0b3I8VD4m
IGRhdGEoKQotICAgIHsKLSAgICAgICAgZGVjb21wcmVzc0lmTmVjZXNzYXJ5KCk7Ci0gICAgICAg
IHJldHVybiBtX2RlY29tcHJlc3NlZERhdGE7Ci0gICAgfQotCi1wcml2YXRlOgotICAgIHZvaWQg
ZGVjb21wcmVzc0lmTmVjZXNzYXJ5KCkgY29uc3QKLSAgICB7Ci0gICAgICAgIGlmICghbV9jb21w
cmVzc2VkRGF0YSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgbV9jb21wcmVzc2VkRGF0
YS0+ZGVjb21wcmVzcyhtX2RlY29tcHJlc3NlZERhdGEpOwotICAgICAgICBtX2NvbXByZXNzZWRE
YXRhID0gbnVsbHB0cjsKLSAgICB9Ci0gICAgbXV0YWJsZSBWZWN0b3I8VD4gbV9kZWNvbXByZXNz
ZWREYXRhOwotICAgIG11dGFibGUgc3RkOjp1bmlxdWVfcHRyPENvbXByZXNzZWRWZWN0b3I8VD4+
IG1fY29tcHJlc3NlZERhdGE7Ci19OwotCi19Ci0KLXVzaW5nIFdURjo6R2VuZXJpY0NvbXByZXNz
ZWREYXRhOwotdXNpbmcgV1RGOjpDb21wcmVzc2VkVmVjdG9yOwotdXNpbmcgV1RGOjpDb21wcmVz
c2libGVWZWN0b3I7Ci0KLSNlbmRpZgo=
</data>
<flag name="review"
          id="272724"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>