<?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>13908</bug_id>
          
          <creation_ts>2007-05-29 13:18:13 -0700</creation_ts>
          <short_desc>Autogenerate the JS bindings for the StyleSheet</short_desc>
          <delta_ts>2007-05-29 21:56:02 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>523.x (Safari 3)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>13779</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>8862</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2007-05-29 13:18:13 -0700</bug_when>
    <thetext>Patch forthcoming</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>8863</commentid>
    <comment_count>1</comment_count>
      <attachid>14774</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2007-05-29 13:21:39 -0700</bug_when>
    <thetext>Created attachment 14774
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>8869</commentid>
    <comment_count>2</comment_count>
      <attachid>14775</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2007-05-29 14:01:11 -0700</bug_when>
    <thetext>Created attachment 14775
updated patch

Updated to remove the toBoolean function as it was not needed.  Thanks Mitz!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>8873</commentid>
    <comment_count>3</comment_count>
      <attachid>14776</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2007-05-29 14:07:58 -0700</bug_when>
    <thetext>Created attachment 14776
actually the new patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>8788</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2007-05-29 21:56:02 -0700</bug_when>
    <thetext>Landed in r21873.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>14774</attachid>
            <date>2007-05-29 13:21:39 -0700</date>
            <delta_ts>2007-05-29 14:01:11 -0700</delta_ts>
            <desc>patch</desc>
            <filename>stylesheetfinal.diff</filename>
            <type>text/plain</type>
            <size>26198</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMTg2MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMDctMDUtMjkgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXRjaCBm
b3IgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5MDgKKyAgICAgICAg
QXV0b2dlbmVyYXRlIHRoZSBKUyBiaW5kaW5ncyBmb3IgdGhlIFN0eWxlU2hlZXQKKworICAgICAg
ICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTU3R5bGVTaGVldEN1c3RvbS5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAgIChXZWJDb3JlOjpK
U1N0eWxlU2hlZXQ6OnRvQm9vbGVhbik6CisgICAgICAgICogYmluZGluZ3MvanMva2pzX2Nzcy5j
cHA6CisgICAgICAgIChLSlM6Oik6CisgICAgICAgIChLSlM6OkRPTUNTU1N0eWxlU2hlZXQ6OkRP
TUNTU1N0eWxlU2hlZXQpOgorICAgICAgICAoS0pTOjpET01DU1NTdHlsZVNoZWV0OjpnZXRPd25Q
cm9wZXJ0eVNsb3QpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL2tqc19jc3MuaDoKKyAgICAgICAg
KiBiaW5kaW5ncy9vYmpjL0RPTVV0aWxpdHkubW06CisgICAgICAgIChLSlM6OmNyZWF0ZURPTVdy
YXBwZXIpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgor
ICAgICAgICAqIGNzcy9TdHlsZVNoZWV0LmlkbDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5p
ZGw6IEFkZCBuZXcgY29uc3RydWN0b3IuCisKIDIwMDctMDUtMjkgIERhcmluIEFkbGVyICA8ZGFy
aW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1hY2llai4KSW5kZXg6IFdlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UJKHJldmlzaW9uIDIxODU1KQorKysgV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CSh3b3JraW5nIGNvcHkpCkBAIC01MTYsNiArNTE2LDcgQEAgYWxsIDogXAogICAgIEpTU1ZHTWFz
a0VsZW1lbnQuaCBcCiAgICAgSlNTVkdNYXJrZXJFbGVtZW50LmggXAogICAgIEpTU1ZHVHJhbnNm
b3JtLmggXAorICAgIEpTU3R5bGVTaGVldC5oIFwKICAgICBKU1RleHQuaCBcCiAgICAgSlNUZXh0
RXZlbnQuaCBcCiAgICAgSlNUcmVlV2Fsa2VyLmggXApJbmRleDogV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIxODU1KQorKysgV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTI4MDEsNiAr
MjgwMSw3IEBACiAJCUJDN0Y0NEE4MEI5RTMyNEUwMEE5RDA4MSAvKiBJbWFnZU9ic2VydmVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzdGNDRBNzBC
OUUzMjRFMDBBOUQwODEgLyogSW1hZ2VPYnNlcnZlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDOTI2RjgwMEMwNTUyNDcwMDgyNzc2QiAvKiBK
U0hUTUxGcmFtZVNldEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkM5MjZGN0UwQzA1NTI0NzAwODI3NzZCIC8qIEpTSFRNTEZyYW1lU2V0
RWxlbWVudC5jcHAgKi87IH07CiAJCUJDOTI2RjgxMEMwNTUyNDcwMDgyNzc2QiAvKiBKU0hUTUxG
cmFtZVNldEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDOTI2RjdGMEMwNTUyNDcwMDgyNzc2QiAvKiBKU0hUTUxGcmFtZVNldEVsZW1lbnQu
aCAqLzsgfTsKKwkJQkM5OEEyN0QwQzBDOTk1MDAwNEJFQkY3IC8qIEpTU3R5bGVTaGVldEN1c3Rv
bS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzk4
QTI3QzBDMEM5OTUwMDA0QkVCRjcgLyogSlNTdHlsZVNoZWV0Q3VzdG9tLmNwcCAqLzsgfTsKIAkJ
QkNBMTY5QTIwQkZENTVCNDAwMTlDQTc2IC8qIEpTSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBMTY5QTAw
QkZENTVCNDAwMTlDQTc2IC8qIEpTSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQuY3BwICovOyB9Owog
CQlCQ0ExNjlBMzBCRkQ1NUI0MDAxOUNBNzYgLyogSlNIVE1MVGFibGVDYXB0aW9uRWxlbWVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBMTY5QTEw
QkZENTVCNDAwMTlDQTc2IC8qIEpTSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQuaCAqLzsgfTsKIAkJ
QkNBQTkwQzMwQTdFQkE2MDAwOEIxMjI5IC8qIFNjcm9sbEJhci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0FBOTBDMjBBN0VCQTYwMDA4QjEyMjkg
LyogU2Nyb2xsQmFyLmNwcCAqLzsgfTsKQEAgLTI4NDEsNiArMjg0Miw4IEBACiAJCUJDQ0Q3NEU1
MEE0QzhEREYwMDVGREE2RCAvKiBIVE1MVmlld1NvdXJjZURvY3VtZW50LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQ0Q3NEU0MEE0QzhEREYwMDVG
REE2RCAvKiBIVE1MVmlld1NvdXJjZURvY3VtZW50LmNwcCAqLzsgfTsKIAkJQkNDRkJBRTgwQjUx
NTJFRDAwMDFGMUQ3IC8qIFRva2VuaXplci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkNDRkJBRTcwQjUxNTJFRDAwMDFGMUQ3IC8qIFRva2VuaXplci5o
ICovOyB9OwogCQlCQ0Q0MUFCQjBDMDYwREU4MDBDMEU0NDYgLyogSlNIVE1MRnJhbWVTZXRFbGVt
ZW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEJDRDQxQUJBMEMwNjBERTgwMEMwRTQ0NiAvKiBKU0hUTUxGcmFtZVNldEVsZW1lbnRDdXN0
b20uY3BwICovOyB9OworCQlCQ0UwMTM5QTBDMEJFRjE4MDA0Mzg2MEEgLyogSlNTdHlsZVNoZWV0
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRTAx
Mzk4MEMwQkVGMTgwMDQzODYwQSAvKiBKU1N0eWxlU2hlZXQuY3BwICovOyB9OworCQlCQ0UwMTM5
QjBDMEJFRjE4MDA0Mzg2MEEgLyogSlNTdHlsZVNoZWV0LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0UwMTM5OTBDMEJFRjE4MDA0Mzg2MEEgLyogSlNT
dHlsZVNoZWV0LmggKi87IH07CiAJCUJDRUE0NzhGMDk3Q0FBQzgwMDk0QzlFNCAvKiBDU1NDb21w
dXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkNFQTQ3N0MwOTdDQUFDODAwOTRDOUU0IC8qIENTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbi5jcHAgKi87IH07CiAJCUJDRUE0NzkwMDk3Q0FBQzgwMDk0QzlFNCAvKiBD
U1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEJDRUE0NzdEMDk3Q0FBQzgwMDk0QzlFNCAvKiBDU1NDb21wdXRl
ZFN0eWxlRGVjbGFyYXRpb24uaCAqLzsgfTsKIAkJQkNFQTQ3OTgwOTdDQUFDODAwOTRDOUU0IC8q
IGNzc2hlbHBlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCQ0VBNDc4NTA5N0NBQUM4MDA5NEM5RTQgLyogY3NzaGVscGVyLmNwcCAqLzsgfTsKQEAg
LTYwNTYsNiArNjA1OSw3IEBACiAJCUJDN0Y0NEE3MEI5RTMyNEUwMEE5RDA4MSAvKiBJbWFnZU9i
c2VydmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbWFnZU9ic2VydmVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDOTI2RjdFMEMwNTUyNDcwMDgyNzc2
QiAvKiBKU0hUTUxGcmFtZVNldEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTSFRNTEZyYW1lU2V0RWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUJDOTI2RjdGMEMwNTUyNDcwMDgyNzc2QiAvKiBKU0hUTUxGcmFtZVNldEVs
ZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSFRNTEZyYW1lU2V0
RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzk4QTI3QzBDMEM5OTUw
MDA0QkVCRjcgLyogSlNTdHlsZVNoZWV0Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTU3R5bGVTaGVldEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUJDQTE2OUEwMEJGRDU1QjQwMDE5Q0E3NiAvKiBKU0hUTUxUYWJsZUNhcHRp
b25FbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0hU
TUxUYWJsZUNhcHRpb25FbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QkNBMTY5QTEwQkZENTVCNDAwMTlDQTc2IC8qIEpTSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSFRNTFRhYmxlQ2FwdGlvbkVsZW1l
bnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNBQTkwQzIwQTdFQkE2MDAwOEIx
MjI5IC8qIFNjcm9sbEJhci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gU2Nyb2xsQmFyLmNwcDsgcGF0aCA9IHBsYXRmb3JtL1Njcm9sbEJhci5jcHA7IHNvdXJjZVRy
ZWUgPSBTT1VSQ0VfUk9PVDsgfTsKQEAgLTYwOTcsNiArNjEwMSw4IEBACiAJCUJDQ0Q3NEU0MEE0
QzhEREYwMDVGREE2RCAvKiBIVE1MVmlld1NvdXJjZURvY3VtZW50LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIVE1MVmlld1NvdXJjZURvY3VtZW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNDRkJBRTcwQjUxNTJFRDAwMDFGMUQ3IC8qIFRv
a2VuaXplci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVG9rZW5pemVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRDQxQUJBMEMwNjBERTgwMEMwRTQ0NiAv
KiBKU0hUTUxGcmFtZVNldEVsZW1lbnRDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTSFRNTEZyYW1lU2V0RWxlbWVudEN1c3RvbS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDRTAxMzk4MEMwQkVGMTgwMDQzODYwQSAvKiBKU1N0eWxl
U2hlZXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU3R5bGVT
aGVldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDRTAxMzk5MEMwQkVGMTgw
MDQzODYwQSAvKiBKU1N0eWxlU2hlZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEpTU3R5bGVTaGVldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0VBNDc3
QzA5N0NBQUM4MDA5NEM5RTQgLyogQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0VBNDc3RDA5N0NBQUM4
MDA5NEM5RTQgLyogQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNFQTQ3N0UwOTdDQUFDODAwOTRDOUU0IC8qIENTU0dy
YW1tYXIueSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLnlhY2M7IHBhdGggPSBDU1NHcmFtbWFyLnk7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02MzkyLDYgKzYzOTgsOCBAQAogCQkxNERG
QjMzRjBBN0RGNzYzMDAxOEY3NjkgLyogRGVyaXZlZCBTb3VyY2VzICovID0gewogCQkJaXNhID0g
UEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlCQ0UwMTM5ODBDMEJFRjE4MDA0Mzg2MEEg
LyogSlNTdHlsZVNoZWV0LmNwcCAqLywKKwkJCQlCQ0UwMTM5OTBDMEJFRjE4MDA0Mzg2MEEgLyog
SlNTdHlsZVNoZWV0LmggKi8sCiAJCQkJNjVERjMxRDgwOUQxQzEyMjAwMEJFMzI1IC8qIEpTQXR0
ci5jcHAgKi8sCiAJCQkJNjVERjMxRDkwOUQxQzEyMzAwMEJFMzI1IC8qIEpTQXR0ci5oICovLAog
CQkJCTY1REYzMjMzMDlEMURFNjUwMDBCRTMyNSAvKiBKU0NhbnZhc0dyYWRpZW50LmNwcCAqLywK
QEAgLTkxOTgsNiArOTIwNiw3IEBACiAJCQkJQkMxN0Y5NjUwQjY0RUJCODAwNEE2NUNCIC8qIEpT
SFRNTFNlbGVjdEVsZW1lbnRDdXN0b20uY3BwICovLAogCQkJCUFCNENCNEVBMEI4QkRBM0QwMDlG
NDBCMCAvKiBKU0hUTUxTZWxlY3RFbGVtZW50Q3VzdG9tLmggKi8sCiAJCQkJMUE3NTBERDMwQTkw
RTcyOTAwMEZGMjE1IC8qIEpTTm9kZUl0ZXJhdG9yQ3VzdG9tLmNwcCAqLywKKwkJCQlCQzk4QTI3
QzBDMEM5OTUwMDA0QkVCRjcgLyogSlNTdHlsZVNoZWV0Q3VzdG9tLmNwcCAqLywKIAkJCQlCMjVE
RkFBRTBCMkUyOTI5MDAwRTY1MTAgLyogSlNTVkdNYXRyaXhDdXN0b20uY3BwICovLAogCQkJCUIy
Qzk2RDhDMEIzQUYyQjcwMDVFODBFQyAvKiBKU1NWR1BhdGhTZWdDdXN0b20uY3BwICovLAogCQkJ
CUIyOTdCQzZGMEIzQzE0Q0YwMDQ1QTU5MCAvKiBKU1NWR1BhdGhTZWdMaXN0Q3VzdG9tLmNwcCAq
LywKQEAgLTExNDI3LDYgKzExNDM2LDcgQEAKIAkJCQlCQzkyNkY4MTBDMDU1MjQ3MDA4Mjc3NkIg
LyogSlNIVE1MRnJhbWVTZXRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzMwNUM3QTBD
MDc2QkIzMDBDRDIwRjAgLyogSlNIVE1MT2JqZWN0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQkM2RDQ0RUQwQzA3RjJFRDAwNzJEMkM5IC8qIEpTSFRNTEVtYmVkRWxlbWVudC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQkNFMDEzOUIwQzBCRUYxODAwNDM4NjBBIC8qIEpTU3R5bGVTaGVldC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vz
c2luZyA9IDA7CiAJCX07CkBAIC0xMjgyNyw2ICsxMjgzNyw4IEBACiAJCQkJQkM0RURFRjQwQzA4
RjNGQjAwN0VERDQ5IC8qIEpTSFRNTEFwcGxldEVsZW1lbnRDdXN0b20uY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQkM1ODIzRjUwQzBBOThERjAwNTNGMUI1IC8qIEpTSFRNTEVsZW1lbnRDdXN0b20u
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1ODI1RjMwQzBCODkzODAwNTNGMUI1IC8qIEpTQ1NT
U3R5bGVEZWNsYXJhdGlvbkN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCQ0UwMTM5QTBD
MEJFRjE4MDA0Mzg2MEEgLyogSlNTdHlsZVNoZWV0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUJD
OThBMjdEMEMwQzk5NTAwMDRCRUJGNyAvKiBKU1N0eWxlU2hlZXRDdXN0b20uY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7
CiAJCX07CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTU3R5bGVTaGVldEN1c3RvbS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1N0eWxlU2hlZXRDdXN0b20uY3Bw
CShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1N0eWxlU2hlZXRDdXN0b20u
Y3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDA3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIkpTU3R5bGVTaGVldC5oIgorCisjaW5jbHVkZSAiQ1NTU3R5bGVT
aGVldC5oIgorI2luY2x1ZGUgImtqc19jc3MuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitL
SlM6OkpTVmFsdWUqIHRvSlMoS0pTOjpFeGVjU3RhdGUqIGV4ZWMsIFN0eWxlU2hlZXQqIHN0eWxl
U2hlZXQpCit7CisgICAgaWYgKCFzdHlsZVNoZWV0KQorICAgICAgICByZXR1cm4gS0pTOjpqc051
bGwoKTsKKworICAgIEtKUzo6U2NyaXB0SW50ZXJwcmV0ZXIqIGludGVycCA9IHN0YXRpY19jYXN0
PEtKUzo6U2NyaXB0SW50ZXJwcmV0ZXIqPihleGVjLT5keW5hbWljSW50ZXJwcmV0ZXIoKSk7Cisg
ICAgS0pTOjpET01PYmplY3QqIHJldCA9IGludGVycC0+Z2V0RE9NT2JqZWN0KHN0eWxlU2hlZXQp
OworICAgIGlmIChyZXQpCisgICAgICAgIHJldHVybiByZXQ7CisKKyAgICBpZiAoc3R5bGVTaGVl
dC0+aXNDU1NTdHlsZVNoZWV0KCkpCisgICAgICAgIHJldCA9IG5ldyBLSlM6OkRPTUNTU1N0eWxl
U2hlZXQoZXhlYywgc3RhdGljX2Nhc3Q8Q1NTU3R5bGVTaGVldCo+KHN0eWxlU2hlZXQpKTsKKyAg
ICBlbHNlCisgICAgICAgIHJldCA9IG5ldyBKU1N0eWxlU2hlZXQoZXhlYywgc3R5bGVTaGVldCk7
CisgICAgaW50ZXJwLT5wdXRET01PYmplY3Qoc3R5bGVTaGVldCwgcmV0KTsKKyAgICByZXR1cm4g
cmV0OworfQorCitib29sIEpTU3R5bGVTaGVldDo6dG9Cb29sZWFuKEtKUzo6RXhlY1N0YXRlKikg
Y29uc3QKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJ
bmRleDogV2ViQ29yZS9iaW5kaW5ncy9qcy9ranNfY3NzLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2JpbmRpbmdzL2pzL2tqc19jc3MuY3BwCShyZXZpc2lvbiAyMTg1NSkKKysrIFdlYkNvcmUv
YmluZGluZ3MvanMva2pzX2Nzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMsNyArMyw3IEBACiAg
KiAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEtERSBsaWJyYXJpZXMKICAqICBDb3B5cmlnaHQg
KEMpIDIwMDAgSGFycmkgUG9ydGVuIChwb3J0ZW5Aa2RlLm9yZykKICAqICBDb3B5cmlnaHQgKEMp
IDIwMDEgUGV0ZXIgS2VsbHkgKHBta0Bwb3N0LmNvbSkKLSAqICBDb3B5cmlnaHQgKEMpIDIwMDQt
MjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgorICogIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwg
MjAwNiwgMjAwNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiAgQ29weXJpZ2h0
IChDKSAyMDA2IEphbWVzIEcuIFNwZXRoIChzcGV0aEBlbmQuY29tKQogICogIENvcHlyaWdodCAo
QykgMjAwNiBTYW11ZWwgV2VpbmlnIChzYW1Ad2Via2l0Lm9yZykKICAqCkBAIC0zOSw5ICszOSwx
MCBAQAogI2luY2x1ZGUgIkhUTUxTdHlsZUVsZW1lbnQuaCIKICNpbmNsdWRlICJKU0NTU1ByaW1p
dGl2ZVZhbHVlLmgiCiAjaW5jbHVkZSAiSlNDU1NSdWxlLmgiCi0jaW5jbHVkZSAiSlNDU1NTdHls
ZURlY2xhcmF0aW9uLmgiCiAjaW5jbHVkZSAiSlNDU1NSdWxlTGlzdC5oIgorI2luY2x1ZGUgIkpT
Q1NTU3R5bGVEZWNsYXJhdGlvbi5oIgogI2luY2x1ZGUgIkpTQ1NTVmFsdWVMaXN0LmgiCisjaW5j
bHVkZSAiSlNTdHlsZVNoZWV0LmgiCiAjaW5jbHVkZSAiTWVkaWFMaXN0LmgiCiAjaW5jbHVkZSAi
U3R5bGVTaGVldExpc3QuaCIKICNpbmNsdWRlICJranNfZG9tLmgiCkBAIC02Miw5MSArNjMsNiBA
QCB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCiBuYW1lc3BhY2UgS0pTIHsKIAotY29uc3Qg
Q2xhc3NJbmZvIERPTVN0eWxlU2hlZXQ6OmluZm8gPSB7ICJTdHlsZVNoZWV0IiwgMCwgJkRPTVN0
eWxlU2hlZXRUYWJsZSwgMCB9OwotLyoKLUBiZWdpbiBET01TdHlsZVNoZWV0VGFibGUgNwotICB0
eXBlICAgICAgICAgIERPTVN0eWxlU2hlZXQ6OlR5cGUgICAgICAgICAgICAgRG9udERlbGV0ZXxS
ZWFkT25seQotICBkaXNhYmxlZCAgICAgIERPTVN0eWxlU2hlZXQ6OkRpc2FibGVkICAgICAgICAg
RG9udERlbGV0ZQotICBvd25lck5vZGUgICAgIERPTVN0eWxlU2hlZXQ6Ok93bmVyTm9kZSAgICAg
ICAgRG9udERlbGV0ZXxSZWFkT25seQotICBwYXJlbnRTdHlsZVNoZWV0IERPTVN0eWxlU2hlZXQ6
OlBhcmVudFN0eWxlU2hlZXQgICAgICBEb250RGVsZXRlfFJlYWRPbmx5Ci0gIGhyZWYgICAgICAg
ICAgRE9NU3R5bGVTaGVldDo6SHJlZiAgICAgICAgICAgICBEb250RGVsZXRlfFJlYWRPbmx5Ci0g
IHRpdGxlICAgICAgICAgRE9NU3R5bGVTaGVldDo6VGl0bGUgICAgICAgICAgICBEb250RGVsZXRl
fFJlYWRPbmx5Ci0gIG1lZGlhICAgICAgICAgRE9NU3R5bGVTaGVldDo6TWVkaWEgICAgICAgICAg
ICBEb250RGVsZXRlfFJlYWRPbmx5Ci1AZW5kCi0qLwotCi1ET01TdHlsZVNoZWV0OjpET01TdHls
ZVNoZWV0KEV4ZWNTdGF0ZSogZXhlYywgU3R5bGVTaGVldCogc3MpIAotICA6IG1faW1wbChzcykg
Ci17Ci0gICAgc2V0UHJvdG90eXBlKGV4ZWMtPmxleGljYWxJbnRlcnByZXRlcigpLT5idWlsdGlu
T2JqZWN0UHJvdG90eXBlKCkpOwotfQotCi1ET01TdHlsZVNoZWV0OjpET01TdHlsZVNoZWV0KFN0
eWxlU2hlZXQgKnNzKSAKLSAgOiBtX2ltcGwoc3MpIAotewotfQotCi1ET01TdHlsZVNoZWV0Ojp+
RE9NU3R5bGVTaGVldCgpCi17Ci0gIFNjcmlwdEludGVycHJldGVyOjpmb3JnZXRET01PYmplY3Qo
bV9pbXBsLmdldCgpKTsKLX0KLQotYm9vbCBET01TdHlsZVNoZWV0OjpnZXRPd25Qcm9wZXJ0eVNs
b3QoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3Bl
cnR5U2xvdCYgc2xvdCkKLXsKLSAgcmV0dXJuIGdldFN0YXRpY1ZhbHVlU2xvdDxET01TdHlsZVNo
ZWV0LCBET01PYmplY3Q+KGV4ZWMsICZET01TdHlsZVNoZWV0VGFibGUsIHRoaXMsIHByb3BlcnR5
TmFtZSwgc2xvdCk7Ci19Ci0KLUpTVmFsdWUqIERPTVN0eWxlU2hlZXQ6OmdldFZhbHVlUHJvcGVy
dHkoRXhlY1N0YXRlKiBleGVjLCBpbnQgdG9rZW4pIGNvbnN0Ci17Ci0gIFN0eWxlU2hlZXQmIHN0
eWxlU2hlZXQgPSAqbV9pbXBsOwotICBzd2l0Y2ggKHRva2VuKSB7Ci0gIGNhc2UgVHlwZToKLSAg
ICByZXR1cm4ganNTdHJpbmdPck51bGwoc3R5bGVTaGVldC50eXBlKCkpOwotICBjYXNlIERpc2Fi
bGVkOgotICAgIHJldHVybiBqc0Jvb2xlYW4oc3R5bGVTaGVldC5kaXNhYmxlZCgpKTsKLSAgY2Fz
ZSBPd25lck5vZGU6Ci0gICAgcmV0dXJuIHRvSlMoZXhlYyxzdHlsZVNoZWV0Lm93bmVyTm9kZSgp
KTsKLSAgY2FzZSBQYXJlbnRTdHlsZVNoZWV0OgotICAgIHJldHVybiB0b0pTKGV4ZWMsc3R5bGVT
aGVldC5wYXJlbnRTdHlsZVNoZWV0KCkpOwotICBjYXNlIEhyZWY6Ci0gICAgcmV0dXJuIGpzU3Ry
aW5nT3JOdWxsKHN0eWxlU2hlZXQuaHJlZigpKTsKLSAgY2FzZSBUaXRsZToKLSAgICByZXR1cm4g
anNTdHJpbmdPck51bGwoc3R5bGVTaGVldC50aXRsZSgpKTsKLSAgY2FzZSBNZWRpYToKLSAgICBy
ZXR1cm4gdG9KUyhleGVjLCBzdHlsZVNoZWV0Lm1lZGlhKCkpOwotICB9Ci0gIHJldHVybiBOVUxM
OwotfQotCi12b2lkIERPTVN0eWxlU2hlZXQ6OnB1dChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElk
ZW50aWZpZXIgJnByb3BlcnR5TmFtZSwgSlNWYWx1ZSogdmFsdWUsIGludCBhdHRyKQotewotICBp
ZiAocHJvcGVydHlOYW1lID09ICJkaXNhYmxlZCIpIHsKLSAgICBtX2ltcGwtPnNldERpc2FibGVk
KHZhbHVlLT50b0Jvb2xlYW4oZXhlYykpOwotICB9Ci0gIGVsc2UKLSAgICBET01PYmplY3Q6OnB1
dChleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBhdHRyKTsKLX0KLQotSlNWYWx1ZSogdG9KUyhF
eGVjU3RhdGUqIGV4ZWMsIFBhc3NSZWZQdHI8U3R5bGVTaGVldD4gc3MpCi17Ci0gIERPTU9iamVj
dCAqcmV0OwotICBpZiAoIXNzKQotICAgIHJldHVybiBqc051bGwoKTsKLSAgU2NyaXB0SW50ZXJw
cmV0ZXIgKmludGVycCA9IHN0YXRpY19jYXN0PFNjcmlwdEludGVycHJldGVyKj4oZXhlYy0+ZHlu
YW1pY0ludGVycHJldGVyKCkpOwotICBpZiAoKHJldCA9IGludGVycC0+Z2V0RE9NT2JqZWN0KHNz
LmdldCgpKSkpCi0gICAgcmV0dXJuIHJldDsKLSAgZWxzZSB7Ci0gICAgaWYgKHNzLT5pc0NTU1N0
eWxlU2hlZXQoKSkKLSAgICAgIHJldCA9IG5ldyBET01DU1NTdHlsZVNoZWV0KGV4ZWMsIHN0YXRp
Y19jYXN0PENTU1N0eWxlU2hlZXQqPihzcy5nZXQoKSkpOwotICAgIGVsc2UKLSAgICAgIHJldCA9
IG5ldyBET01TdHlsZVNoZWV0KGV4ZWMsIHNzLmdldCgpKTsKLSAgICBpbnRlcnAtPnB1dERPTU9i
amVjdChzcy5nZXQoKSwgcmV0KTsKLSAgICByZXR1cm4gcmV0OwotICB9Ci19Ci0KLS8vIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KLQogY29uc3QgQ2xhc3NJbmZvIERPTVN0eWxlU2hlZXRMaXN0OjppbmZvID0g
eyAiU3R5bGVTaGVldExpc3QiLCAwLCAmRE9NU3R5bGVTaGVldExpc3RUYWJsZSwgMCB9OwogCiAv
KgpAQCAtMzYyLDcgKzI3OCw3IEBAIEpTVmFsdWUqIEtKUzo6RE9NTWVkaWFMaXN0UHJvdG90eXBl
RnVuY3QKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1jb25zdCBDbGFzc0luZm8gRE9NQ1NTU3R5
bGVTaGVldDo6aW5mbyA9IHsgIkNTU1N0eWxlU2hlZXQiLCAmRE9NU3R5bGVTaGVldDo6aW5mbywg
JkRPTUNTU1N0eWxlU2hlZXRUYWJsZSwgMCB9OworY29uc3QgQ2xhc3NJbmZvIERPTUNTU1N0eWxl
U2hlZXQ6OmluZm8gPSB7ICJDU1NTdHlsZVNoZWV0IiwgJldlYkNvcmU6OkpTU3R5bGVTaGVldDo6
aW5mbywgJkRPTUNTU1N0eWxlU2hlZXRUYWJsZSwgMCB9OwogCiAvKgogQGJlZ2luIERPTUNTU1N0
eWxlU2hlZXRUYWJsZSA1CkBAIC0zODQsNyArMzAwLDcgQEAgS0pTX0lNUExFTUVOVF9QUk9UT1RZ
UEVfRlVOQ1RJT04oRE9NQ1NTUwogS0pTX0lNUExFTUVOVF9QUk9UT1RZUEUoIkRPTUNTU1N0eWxl
U2hlZXQiLERPTUNTU1N0eWxlU2hlZXRQcm90b3R5cGUsRE9NQ1NTU3R5bGVTaGVldFByb3RvdHlw
ZUZ1bmN0aW9uKSAvLyB3YXJuaW5nLCB1c2UgX1dJVEhfUEFSRU5UIGlmIERPTVN0eWxlU2hlZXQg
Z2V0cyBhIHByb3RvdHlwZQogCiBET01DU1NTdHlsZVNoZWV0OjpET01DU1NTdHlsZVNoZWV0KEV4
ZWNTdGF0ZSogZXhlYywgQ1NTU3R5bGVTaGVldCAqc3MpCi0gIDogRE9NU3R5bGVTaGVldChzcykg
CisgIDogSlNTdHlsZVNoZWV0KGV4ZWMsIHNzKSAKIHsKICAgc2V0UHJvdG90eXBlKERPTUNTU1N0
eWxlU2hlZXRQcm90b3R5cGU6OnNlbGYoZXhlYykpOwogfQpAQCAtNDEwLDcgKzMyNiw3IEBAIEpT
VmFsdWUqIERPTUNTU1N0eWxlU2hlZXQ6OmdldFZhbHVlUHJvcGUKIAogYm9vbCBET01DU1NTdHls
ZVNoZWV0OjpnZXRPd25Qcm9wZXJ0eVNsb3QoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlm
aWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKIHsKLSAgcmV0dXJuIGdldFN0
YXRpY1ZhbHVlU2xvdDxET01DU1NTdHlsZVNoZWV0LCBET01TdHlsZVNoZWV0PihleGVjLCAmRE9N
Q1NTU3R5bGVTaGVldFRhYmxlLCB0aGlzLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOworICByZXR1cm4g
Z2V0U3RhdGljVmFsdWVTbG90PERPTUNTU1N0eWxlU2hlZXQsIEpTU3R5bGVTaGVldD4oZXhlYywg
JkRPTUNTU1N0eWxlU2hlZXRUYWJsZSwgdGhpcywgcHJvcGVydHlOYW1lLCBzbG90KTsKIH0KIAog
SlNWYWx1ZSogRE9NQ1NTU3R5bGVTaGVldFByb3RvdHlwZUZ1bmN0aW9uOjpjYWxsQXNGdW5jdGlv
bihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiB0aGlzT2JqLCBjb25zdCBMaXN0ICZhcmdzKQpJ
bmRleDogV2ViQ29yZS9iaW5kaW5ncy9qcy9ranNfY3NzLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9iaW5kaW5ncy9qcy9ranNfY3NzLmgJKHJldmlzaW9uIDIxODU1KQorKysgV2ViQ29yZS9iaW5k
aW5ncy9qcy9ranNfY3NzLmgJKHdvcmtpbmcgY29weSkKQEAgLTMsNyArMyw3IEBACiAgKiAgVGhp
cyBmaWxlIGlzIHBhcnQgb2YgdGhlIEtERSBsaWJyYXJpZXMKICAqICBDb3B5cmlnaHQgKEMpIDIw
MDAgSGFycmkgUG9ydGVuIChwb3J0ZW5Aa2RlLm9yZykKICAqICBDb3B5cmlnaHQgKEMpIDIwMDEg
UGV0ZXIgS2VsbHkgKHBta0Bwb3N0LmNvbSkKLSAqICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDYg
QXBwbGUgQ29tcHV0ZXIsIEluYy4KKyAqICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDYsIDIwMDcg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqICBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiAgbW9kaWZ5
IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwpAQCAt
MjQsOCArMjQsOSBAQAogI2RlZmluZSBranNfY3NzX2gKIAogI2luY2x1ZGUgIkNvbG9yLmgiCi0j
aW5jbHVkZSAia2pzX2JpbmRpbmcuaCIKICNpbmNsdWRlICJSZWN0SW1wbC5oIgorI2luY2x1ZGUg
IkpTU3R5bGVTaGVldC5oIgorI2luY2x1ZGUgImtqc19iaW5kaW5nLmgiCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBDb3VudGVyOwpAQCAtNDUsMjcgKzQ2LDYgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBuYW1lc3BhY2UgS0pTIHsKIAotICBjbGFzcyBET01TdHlsZVNoZWV0IDog
cHVibGljIERPTU9iamVjdCB7Ci0gIHB1YmxpYzoKLSAgICBET01TdHlsZVNoZWV0KEV4ZWNTdGF0
ZSosIFdlYkNvcmU6OlN0eWxlU2hlZXQqKTsKLSAgICB2aXJ0dWFsIH5ET01TdHlsZVNoZWV0KCk7
Ci0gICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5U2xvdChFeGVjU3RhdGUqLCBjb25zdCBJ
ZGVudGlmaWVyJiwgUHJvcGVydHlTbG90Jik7Ci0gICAgSlNWYWx1ZSogZ2V0VmFsdWVQcm9wZXJ0
eShFeGVjU3RhdGUqLCBpbnQgdG9rZW4pIGNvbnN0OwotICAgIHZpcnR1YWwgdm9pZCBwdXQoRXhl
Y1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlKiwgaW50IGF0
dHIgPSBOb25lKTsKLSAgICB2aXJ0dWFsIGJvb2wgdG9Cb29sZWFuKEV4ZWNTdGF0ZSopIGNvbnN0
IHsgcmV0dXJuIHRydWU7IH0KLSAgICB2aXJ0dWFsIGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZv
KCkgY29uc3QgeyByZXR1cm4gJmluZm87IH0KLSAgICBzdGF0aWMgY29uc3QgQ2xhc3NJbmZvIGlu
Zm87Ci0gICAgZW51bSB7IFR5cGUsIERpc2FibGVkLCBPd25lck5vZGUsIFBhcmVudFN0eWxlU2hl
ZXQsIEhyZWYsIFRpdGxlLCBNZWRpYSB9OwotICAgIFdlYkNvcmU6OlN0eWxlU2hlZXQqIGltcGwo
KSBjb25zdCB7IHJldHVybiBtX2ltcGwuZ2V0KCk7IH0KLSAgcHJvdGVjdGVkOgotICAgIC8vIENv
bnN0cnVjdG9yIGZvciBkZXJpdmVkIGNsYXNzZXM7IGRvZXNuJ3Qgc2V0IHVwIGEgcHJvdG90eXBl
LgotICAgIERPTVN0eWxlU2hlZXQoV2ViQ29yZTo6U3R5bGVTaGVldCopOwotICBwcml2YXRlOgot
ICAgIFJlZlB0cjxXZWJDb3JlOjpTdHlsZVNoZWV0PiBtX2ltcGw7Ci0gIH07Ci0KLSAgSlNWYWx1
ZSogdG9KUyhFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPFdlYkNvcmU6OlN0eWxlU2hlZXQ+KTsKLQog
ICBjbGFzcyBET01TdHlsZVNoZWV0TGlzdCA6IHB1YmxpYyBET01PYmplY3QgewogICBwdWJsaWM6
CiAgICAgRE9NU3R5bGVTaGVldExpc3QoRXhlY1N0YXRlKiwgV2ViQ29yZTo6U3R5bGVTaGVldExp
c3QqLCBXZWJDb3JlOjpEb2N1bWVudCopOwpAQCAtMTA5LDcgKzg5LDcgQEAgbmFtZXNwYWNlIEtK
UyB7CiAKICAgSlNWYWx1ZSogdG9KUyhFeGVjU3RhdGUqLCBXZWJDb3JlOjpNZWRpYUxpc3QqKTsK
IAotICBjbGFzcyBET01DU1NTdHlsZVNoZWV0IDogcHVibGljIERPTVN0eWxlU2hlZXQgeworICBj
bGFzcyBET01DU1NTdHlsZVNoZWV0IDogcHVibGljIFdlYkNvcmU6OkpTU3R5bGVTaGVldCB7CiAg
IHB1YmxpYzoKICAgICBET01DU1NTdHlsZVNoZWV0KEV4ZWNTdGF0ZSosIFdlYkNvcmU6OkNTU1N0
eWxlU2hlZXQqKTsKICAgICB2aXJ0dWFsIH5ET01DU1NTdHlsZVNoZWV0KCk7CkluZGV4OiBXZWJD
b3JlL2JpbmRpbmdzL29iamMvRE9NVXRpbGl0eS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Jp
bmRpbmdzL29iamMvRE9NVXRpbGl0eS5tbQkocmV2aXNpb24gMjE4NTUpCisrKyBXZWJDb3JlL2Jp
bmRpbmdzL29iamMvRE9NVXRpbGl0eS5tbQkod29ya2luZyBjb3B5KQpAQCAtMzYsNiArMzYsNyBA
QAogI2ltcG9ydCAiSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb24uaCIKICNpbXBvcnQgIkpTTm9kZUl0
ZXJhdG9yLmgiCiAjaW1wb3J0ICJKU1JhbmdlLmgiCisjaW1wb3J0ICJKU1N0eWxlU2hlZXQuaCIK
ICNpbXBvcnQgIkpTVHJlZVdhbGtlci5oIgogI2ltcG9ydCAiSlNYUGF0aEV4cHJlc3Npb24uaCIK
ICNpbXBvcnQgIkpTWFBhdGhSZXN1bHQuaCIKQEAgLTcwLDYgKzcxLDcgQEAgc3RhdGljIGlubGlu
ZSBpZCBjcmVhdGVET01XcmFwcGVyKEtKUzo6SgogICAgIFdSQVAoQ291bnRlcikKICAgICBXUkFQ
KEhUTUxPcHRpb25zQ29sbGVjdGlvbikKICAgICBXUkFQKFJhbmdlKQorICAgIFdSQVAoU3R5bGVT
aGVldCkKICAgICBXUkFQKFhQYXRoRXhwcmVzc2lvbikKICAgICBXUkFQKFhQYXRoUmVzdWx0KQog
CkBAIC04OCw3ICs5MCw2IEBAIHN0YXRpYyBpbmxpbmUgaWQgY3JlYXRlRE9NV3JhcHBlcihLSlM6
OkoKICAgICBXUkFQKE5vZGVMaXN0KQogICAgIFdSQVAoUkdCQ29sb3IpCiAgICAgV1JBUChSZWN0
KQotICAgIFdSQVAoU3R5bGVTaGVldCkKICAgICBXUkFQKFN0eWxlU2hlZXRMaXN0KQogCiAgICAg
I3VuZGVmIFdSQVAKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3JKUy5wbQkocmV2aXNpb24gMjE4NTUpCisrKyBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvckpTLnBtCSh3b3JraW5nIGNvcHkpCkBAIC0xNjIsNyArMTYyLDcgQEAgc3ViIFVz
ZXNNYW51YWxUb0pTSW1wbGVtZW50YXRpb24KIHsKICAgICBteSAkdHlwZSA9IHNoaWZ0OwogCi0g
ICAgcmV0dXJuIDEgaWYgJHR5cGUgZXEgIlNWR1BhdGhTZWciOworICAgIHJldHVybiAxIGlmICR0
eXBlIGVxICJTVkdQYXRoU2VnIiBvciAkdHlwZSBlcSAiU3R5bGVTaGVldCI7CiAgICAgcmV0dXJu
IDA7CiB9CiAKQEAgLTM1Nyw2ICszNTcsMTEgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgICAg
IHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgdmlydHVhbCBLSlM6OlVTdHJpbmcgdG9TdHJpbmco
S0pTOjpFeGVjU3RhdGUqKSBjb25zdDtcblxuIik7CiAgICAgfQogCisgICAgIyBDdXN0b20gdG9C
b29sZWFuIGZ1bmN0aW9uCisgICAgaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57
IkN1c3RvbVRvQm9vbGVhbiJ9KSB7CisgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAg
dmlydHVhbCBib29sIHRvQm9vbGVhbihLSlM6OkV4ZWNTdGF0ZSopIGNvbnN0O1xuXG4iKTsKKyAg
ICB9CisKICAgICAjIEN1c3RvbSBwdXNoRXZlbnRIYW5kbGVyU2NvcGUgZnVuY3Rpb24KICAgICBp
ZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tUHVzaEV2ZW50SGFuZGxl
clNjb3BlIn0pIHsKICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAgICB2aXJ0dWFsIHZv
aWQgcHVzaEV2ZW50SGFuZGxlclNjb3BlKEtKUzo6RXhlY1N0YXRlKiwgS0pTOjpTY29wZUNoYWlu
JikgY29uc3Q7XG5cbiIpOwpJbmRleDogV2ViQ29yZS9jc3MvU3R5bGVTaGVldC5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9jc3MvU3R5bGVTaGVldC5pZGwJKHJldmlzaW9uIDIxODU1KQorKysg
V2ViQ29yZS9jc3MvU3R5bGVTaGVldC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBA
CiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMDYsIDIwMDcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICog
Q29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgog
ICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKQEAgLTIxLDEzICsyMSwxMyBAQAogbW9kdWxlIHN0eWxlc2hlZXRzIHsKIAog
ICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVsIDI6Ci0gICAgaW50ZXJmYWNlIFtPYmpDQ3Vz
dG9tSW50ZXJuYWxJbXBsXSBTdHlsZVNoZWV0IHsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IERPTVN0cmluZyAgICAgICAgdHlwZTsKKyAgICBpbnRlcmZhY2UgW0dlbmVyYXRlQ29uc3RydWN0
b3IsIEN1c3RvbVRvQm9vbGVhbiwgT2JqQ0N1c3RvbUludGVybmFsSW1wbF0gU3R5bGVTaGVldCB7
CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbQ29udmVydE51bGxTdHJpbmdUbz1OdWxsXSBE
T01TdHJpbmcgICAgICAgIHR5cGU7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBib29sZWFu
ICAgICAgICAgIGRpc2FibGVkOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgTm9kZSAgICAg
ICAgICAgICBvd25lck5vZGU7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTdHlsZVNoZWV0
ICAgICAgIHBhcmVudFN0eWxlU2hlZXQ7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01T
dHJpbmcgICAgICAgIGhyZWY7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcg
ICAgICAgIHRpdGxlOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsU3Ry
aW5nVG89TnVsbF0gRE9NU3RyaW5nICAgICAgICBocmVmOworICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgW0NvbnZlcnROdWxsU3RyaW5nVG89TnVsbF0gRE9NU3RyaW5nICAgICAgICB0aXRsZTsK
ICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhTGlzdCAgICAgICAgbWVkaWE7CiAgICAg
fTsKIApJbmRleDogV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5pZGwJKHJldmlzaW9uIDIxODU1KQorKysgV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDkgKzQ2LDggQEAgbW9kdWxlIHdp
bmRvdyB7CiAgICAgICAgIGF0dHJpYnV0ZSBDU1NSdWxlQ29uc3RydWN0b3IgQ1NTUnVsZTsKICAg
ICAgICAgYXR0cmlidXRlIENTU1N0eWxlRGVjbGFyYXRpb25Db25zdHJ1Y3RvciBDU1NTdHlsZURl
Y2xhcmF0aW9uOwogICAgICAgICBhdHRyaWJ1dGUgQ1NTVmFsdWVDb25zdHJ1Y3RvciBDU1NWYWx1
ZTsKLSAgICAgICAgYXR0cmlidXRlIERPTVBhcnNlckNvbnN0cnVjdG9yIERPTVBhcnNlcjsKLSAg
ICAgICAgYXR0cmlidXRlIEV2ZW50Q29uc3RydWN0b3IgRXZlbnQ7Ci0gICAgICAgIAorICAgICAg
ICBhdHRyaWJ1dGUgU3R5bGVTaGVldENvbnN0cnVjdG9yIFN0eWxlU2hlZXQ7CisKICAgICAgICAg
Ly8gRklYTUU6IEltcGxlbWVudCB0aGUgY29tbWVudGVkLW91dCBnbG9iYWwgY29uc3RydWN0b3Jz
IGZvciBpbnRlcmZhY2VzIGxpc3RlZCBpbiBET00gTGV2ZWwgMyBDb3JlIHNwZWNpZmljYXRpb24u
CiAvLyAgICAgICAgYXR0cmlidXRlIERPTUV4Y2VwdGlvbkNvbnN0cnVjdG9yIERPTUV4Y2VwdGlv
bjsKIC8vICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nTGlzdENvbnN0cnVjdG9yIERPTVN0cmlu
Z0xpc3Q7CkBAIC05MSw5ICs5MCwxMSBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgYXR0cmli
dXRlIEhUTUxCbG9ja3F1b3RlRWxlbWVudENvbnN0cnVjdG9yIEhUTUxCbG9ja3F1b3RlRWxlbWVu
dDsKICAgICAgICAgYXR0cmlidXRlIEhUTUxCb2R5RWxlbWVudENvbnN0cnVjdG9yIEhUTUxCb2R5
RWxlbWVudDsKICAgICAgICAgYXR0cmlidXRlIEhUTUxCdXR0b25FbGVtZW50Q29uc3RydWN0b3Ig
SFRNTEJ1dHRvbkVsZW1lbnQ7CisgICAgICAgIGF0dHJpYnV0ZSBIVE1MQ2FudmFzRWxlbWVudENv
bnN0cnVjdG9yIEhUTUxDYW52YXNFbGVtZW50OwogICAgICAgICBhdHRyaWJ1dGUgSFRNTERMaXN0
RWxlbWVudENvbnN0cnVjdG9yIEhUTUxETGlzdEVsZW1lbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBI
VE1MRGlyZWN0b3J5RWxlbWVudENvbnN0cnVjdG9yIEhUTUxEaXJlY3RvcnlFbGVtZW50OwogICAg
ICAgICBhdHRyaWJ1dGUgSFRNTERpdkVsZW1lbnRDb25zdHJ1Y3RvciBIVE1MRGl2RWxlbWVudDsK
KyAgICAgICAgYXR0cmlidXRlIEhUTUxFbWJlZEVsZW1lbnRDb25zdHJ1Y3RvciBIVE1MRW1iZWRF
bGVtZW50OwogICAgICAgICBhdHRyaWJ1dGUgSFRNTEZpZWxkU2V0RWxlbWVudENvbnN0cnVjdG9y
IEhUTUxGaWVsZFNldEVsZW1lbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBIVE1MRm9udEVsZW1lbnRD
b25zdHJ1Y3RvciBIVE1MRm9udEVsZW1lbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBIVE1MRm9ybUVs
ZW1lbnRDb25zdHJ1Y3RvciBIVE1MRm9ybUVsZW1lbnQ7CkBAIC0xMTIsNiArMTEzLDcgQEAgbW9k
dWxlIHdpbmRvdyB7CiAgICAgICAgIGF0dHJpYnV0ZSBIVE1MTGVnZW5kRWxlbWVudENvbnN0cnVj
dG9yIEhUTUxMZWdlbmRFbGVtZW50OwogICAgICAgICBhdHRyaWJ1dGUgSFRNTExpbmtFbGVtZW50
Q29uc3RydWN0b3IgSFRNTExpbmtFbGVtZW50OwogICAgICAgICBhdHRyaWJ1dGUgSFRNTE1hcEVs
ZW1lbnRDb25zdHJ1Y3RvciBIVE1MTWFwRWxlbWVudDsKKyAgICAgICAgYXR0cmlidXRlIEhUTUxN
YXJxdWVlRWxlbWVudENvbnN0cnVjdG9yIEhUTUxNYXJxdWVlRWxlbWVudDsKICAgICAgICAgYXR0
cmlidXRlIEhUTUxNZW51RWxlbWVudENvbnN0cnVjdG9yIEhUTUxNZW51RWxlbWVudDsKICAgICAg
ICAgYXR0cmlidXRlIEhUTUxNZXRhRWxlbWVudENvbnN0cnVjdG9yIEhUTUxNZXRhRWxlbWVudDsK
ICAgICAgICAgYXR0cmlidXRlIEhUTUxNb2RFbGVtZW50Q29uc3RydWN0b3IgSFRNTE1vZEVsZW1l
bnQ7CkBAIC0xMzUsMTEgKzEzNywxMCBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgYXR0cmli
dXRlIEhUTUxUZXh0QXJlYUVsZW1lbnRDb25zdHJ1Y3RvciBIVE1MVGV4dEFyZWFFbGVtZW50Owog
ICAgICAgICBhdHRyaWJ1dGUgSFRNTFRpdGxlRWxlbWVudENvbnN0cnVjdG9yIEhUTUxUaXRsZUVs
ZW1lbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBIVE1MVUxpc3RFbGVtZW50Q29uc3RydWN0b3IgSFRN
TFVMaXN0RWxlbWVudDsKLSAgICAgICAgYXR0cmlidXRlIEhUTUxDYW52YXNFbGVtZW50Q29uc3Ry
dWN0b3IgSFRNTENhbnZhc0VsZW1lbnQ7Ci0gICAgICAgIGF0dHJpYnV0ZSBIVE1MRW1iZWRFbGVt
ZW50Q29uc3RydWN0b3IgSFRNTEVtYmVkRWxlbWVudDsKLSAgICAgICAgYXR0cmlidXRlIEhUTUxN
YXJxdWVlRWxlbWVudENvbnN0cnVjdG9yIEhUTUxNYXJxdWVlRWxlbWVudDsKIAorICAgICAgICBh
dHRyaWJ1dGUgRXZlbnRDb25zdHJ1Y3RvciBFdmVudDsKICAgICAgICAgYXR0cmlidXRlIE11dGF0
aW9uRXZlbnRDb25zdHJ1Y3RvciBNdXRhdGlvbkV2ZW50OworCiAgICAgICAgIGF0dHJpYnV0ZSBO
b2RlRmlsdGVyQ29uc3RydWN0b3IgTm9kZUZpbHRlcjsKICAgICAgICAgYXR0cmlidXRlIFJhbmdl
Q29uc3RydWN0b3IgUmFuZ2U7CiAgICAgICAgIGF0dHJpYnV0ZSBSYW5nZUV4Y2VwdGlvbkNvbnN0
cnVjdG9yIFJhbmdlRXhjZXB0aW9uOwpAQCAtMTQ4LDYgKzE0OSw3IEBAIG1vZHVsZSB3aW5kb3cg
ewogICAgICAgICAvLyBXZSBqdXN0IHVzZSBEb2N1bWVudCBmb3IgdGhpcy4KICAgICAgICAgYXR0
cmlidXRlIERvY3VtZW50Q29uc3RydWN0b3IgWE1MRG9jdW1lbnQ7CiAKKyAgICAgICAgYXR0cmli
dXRlIERPTVBhcnNlckNvbnN0cnVjdG9yIERPTVBhcnNlcjsKICAgICAgICAgYXR0cmlidXRlIFhN
TFNlcmlhbGl6ZXJDb25zdHJ1Y3RvciBYTUxTZXJpYWxpemVyOwogCiAjaWYgRU5BQkxFX1hQQVRI
CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCShyZXZpc2lvbiAyMTg2MSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDA3LTA1LTI5ICBTYW0gV2VpbmlnICA8c2Ft
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVXBkYXRlIHJlc3VsdHMgYWZ0ZXIgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTM5MDgKKyAgICAgICAgQXV0b2dlbmVyYXRlIHRoZSBKUyBiaW5kaW5ncyBmb3Ig
dGhlIFN0eWxlU2hlZXQKKworICAgICAgICAqIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVy
dGllcy1leHBlY3RlZC50eHQ6IEFkZHMgU3R5bGVTaGVldCBjb25zdHJ1Y3RvcgorCiAyMDA3LTA1
LTI5ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBNYWNpZWouCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3Bl
cnRpZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL1dp
bmRvdy93aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxODU1KQorKysg
TGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtNzQzLDYgKzc0Myw4IEBAIHdpbmRvdy5SYW5nZUV4Y2VwdGlv
bi5wcm90b3R5cGUgW29iamVjdCAKIHdpbmRvdy5SYW5nZUV4Y2VwdGlvbi5wcm90b3R5cGUuQkFE
X0JPVU5EQVJZUE9JTlRTX0VSUiBbbnVtYmVyXQogd2luZG93LlJhbmdlRXhjZXB0aW9uLnByb3Rv
dHlwZS5JTlZBTElEX05PREVfVFlQRV9FUlIgW251bWJlcl0KIHdpbmRvdy5SZWZlcmVuY2VFcnJv
ciBbZnVuY3Rpb25dCit3aW5kb3cuU3R5bGVTaGVldCBbb2JqZWN0IFN0eWxlU2hlZXRDb25zdHJ1
Y3Rvcl0KK3dpbmRvdy5TdHlsZVNoZWV0LnByb3RvdHlwZSBbb2JqZWN0IFN0eWxlU2hlZXRQcm90
b3R5cGVdCiB3aW5kb3cuU3ludGF4RXJyb3IgW2Z1bmN0aW9uXQogd2luZG93LlRleHQgW29iamVj
dCBUZXh0Q29uc3RydWN0b3JdCiB3aW5kb3cuVGV4dC5wcm90b3R5cGUgW3ByaW50ZWQgYWJvdmUg
YXMgd2luZG93LkNoYXJhY3RlckRhdGEucHJvdG90eXBlXQo=
</data>
<flag name="review"
          id="6091"
          type_id="1"
          status="-"
          setter="sam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>14775</attachid>
            <date>2007-05-29 14:01:11 -0700</date>
            <delta_ts>2007-05-29 14:07:58 -0700</delta_ts>
            <desc>updated patch</desc>
            <filename>stylesheetfinal.diff</filename>
            <type>text/plain</type>
            <size>26198</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMTg2MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMDctMDUtMjkgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXRjaCBm
b3IgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5MDgKKyAgICAgICAg
QXV0b2dlbmVyYXRlIHRoZSBKUyBiaW5kaW5ncyBmb3IgdGhlIFN0eWxlU2hlZXQKKworICAgICAg
ICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTU3R5bGVTaGVldEN1c3RvbS5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAgIChXZWJDb3JlOjpK
U1N0eWxlU2hlZXQ6OnRvQm9vbGVhbik6CisgICAgICAgICogYmluZGluZ3MvanMva2pzX2Nzcy5j
cHA6CisgICAgICAgIChLSlM6Oik6CisgICAgICAgIChLSlM6OkRPTUNTU1N0eWxlU2hlZXQ6OkRP
TUNTU1N0eWxlU2hlZXQpOgorICAgICAgICAoS0pTOjpET01DU1NTdHlsZVNoZWV0OjpnZXRPd25Q
cm9wZXJ0eVNsb3QpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL2tqc19jc3MuaDoKKyAgICAgICAg
KiBiaW5kaW5ncy9vYmpjL0RPTVV0aWxpdHkubW06CisgICAgICAgIChLSlM6OmNyZWF0ZURPTVdy
YXBwZXIpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgor
ICAgICAgICAqIGNzcy9TdHlsZVNoZWV0LmlkbDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5p
ZGw6IEFkZCBuZXcgY29uc3RydWN0b3IuCisKIDIwMDctMDUtMjkgIERhcmluIEFkbGVyICA8ZGFy
aW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1hY2llai4KSW5kZXg6IFdlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UJKHJldmlzaW9uIDIxODU1KQorKysgV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CSh3b3JraW5nIGNvcHkpCkBAIC01MTYsNiArNTE2LDcgQEAgYWxsIDogXAogICAgIEpTU1ZHTWFz
a0VsZW1lbnQuaCBcCiAgICAgSlNTVkdNYXJrZXJFbGVtZW50LmggXAogICAgIEpTU1ZHVHJhbnNm
b3JtLmggXAorICAgIEpTU3R5bGVTaGVldC5oIFwKICAgICBKU1RleHQuaCBcCiAgICAgSlNUZXh0
RXZlbnQuaCBcCiAgICAgSlNUcmVlV2Fsa2VyLmggXApJbmRleDogV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIxODU1KQorKysgV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTI4MDEsNiAr
MjgwMSw3IEBACiAJCUJDN0Y0NEE4MEI5RTMyNEUwMEE5RDA4MSAvKiBJbWFnZU9ic2VydmVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzdGNDRBNzBC
OUUzMjRFMDBBOUQwODEgLyogSW1hZ2VPYnNlcnZlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDOTI2RjgwMEMwNTUyNDcwMDgyNzc2QiAvKiBK
U0hUTUxGcmFtZVNldEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkM5MjZGN0UwQzA1NTI0NzAwODI3NzZCIC8qIEpTSFRNTEZyYW1lU2V0
RWxlbWVudC5jcHAgKi87IH07CiAJCUJDOTI2RjgxMEMwNTUyNDcwMDgyNzc2QiAvKiBKU0hUTUxG
cmFtZVNldEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDOTI2RjdGMEMwNTUyNDcwMDgyNzc2QiAvKiBKU0hUTUxGcmFtZVNldEVsZW1lbnQu
aCAqLzsgfTsKKwkJQkM5OEEyN0QwQzBDOTk1MDAwNEJFQkY3IC8qIEpTU3R5bGVTaGVldEN1c3Rv
bS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzk4
QTI3QzBDMEM5OTUwMDA0QkVCRjcgLyogSlNTdHlsZVNoZWV0Q3VzdG9tLmNwcCAqLzsgfTsKIAkJ
QkNBMTY5QTIwQkZENTVCNDAwMTlDQTc2IC8qIEpTSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBMTY5QTAw
QkZENTVCNDAwMTlDQTc2IC8qIEpTSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQuY3BwICovOyB9Owog
CQlCQ0ExNjlBMzBCRkQ1NUI0MDAxOUNBNzYgLyogSlNIVE1MVGFibGVDYXB0aW9uRWxlbWVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBMTY5QTEw
QkZENTVCNDAwMTlDQTc2IC8qIEpTSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQuaCAqLzsgfTsKIAkJ
QkNBQTkwQzMwQTdFQkE2MDAwOEIxMjI5IC8qIFNjcm9sbEJhci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0FBOTBDMjBBN0VCQTYwMDA4QjEyMjkg
LyogU2Nyb2xsQmFyLmNwcCAqLzsgfTsKQEAgLTI4NDEsNiArMjg0Miw4IEBACiAJCUJDQ0Q3NEU1
MEE0QzhEREYwMDVGREE2RCAvKiBIVE1MVmlld1NvdXJjZURvY3VtZW50LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQ0Q3NEU0MEE0QzhEREYwMDVG
REE2RCAvKiBIVE1MVmlld1NvdXJjZURvY3VtZW50LmNwcCAqLzsgfTsKIAkJQkNDRkJBRTgwQjUx
NTJFRDAwMDFGMUQ3IC8qIFRva2VuaXplci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkNDRkJBRTcwQjUxNTJFRDAwMDFGMUQ3IC8qIFRva2VuaXplci5o
ICovOyB9OwogCQlCQ0Q0MUFCQjBDMDYwREU4MDBDMEU0NDYgLyogSlNIVE1MRnJhbWVTZXRFbGVt
ZW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEJDRDQxQUJBMEMwNjBERTgwMEMwRTQ0NiAvKiBKU0hUTUxGcmFtZVNldEVsZW1lbnRDdXN0
b20uY3BwICovOyB9OworCQlCQ0UwMTM5QTBDMEJFRjE4MDA0Mzg2MEEgLyogSlNTdHlsZVNoZWV0
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRTAx
Mzk4MEMwQkVGMTgwMDQzODYwQSAvKiBKU1N0eWxlU2hlZXQuY3BwICovOyB9OworCQlCQ0UwMTM5
QjBDMEJFRjE4MDA0Mzg2MEEgLyogSlNTdHlsZVNoZWV0LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0UwMTM5OTBDMEJFRjE4MDA0Mzg2MEEgLyogSlNT
dHlsZVNoZWV0LmggKi87IH07CiAJCUJDRUE0NzhGMDk3Q0FBQzgwMDk0QzlFNCAvKiBDU1NDb21w
dXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkNFQTQ3N0MwOTdDQUFDODAwOTRDOUU0IC8qIENTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbi5jcHAgKi87IH07CiAJCUJDRUE0NzkwMDk3Q0FBQzgwMDk0QzlFNCAvKiBD
U1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEJDRUE0NzdEMDk3Q0FBQzgwMDk0QzlFNCAvKiBDU1NDb21wdXRl
ZFN0eWxlRGVjbGFyYXRpb24uaCAqLzsgfTsKIAkJQkNFQTQ3OTgwOTdDQUFDODAwOTRDOUU0IC8q
IGNzc2hlbHBlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCQ0VBNDc4NTA5N0NBQUM4MDA5NEM5RTQgLyogY3NzaGVscGVyLmNwcCAqLzsgfTsKQEAg
LTYwNTYsNiArNjA1OSw3IEBACiAJCUJDN0Y0NEE3MEI5RTMyNEUwMEE5RDA4MSAvKiBJbWFnZU9i
c2VydmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbWFnZU9ic2VydmVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDOTI2RjdFMEMwNTUyNDcwMDgyNzc2
QiAvKiBKU0hUTUxGcmFtZVNldEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTSFRNTEZyYW1lU2V0RWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUJDOTI2RjdGMEMwNTUyNDcwMDgyNzc2QiAvKiBKU0hUTUxGcmFtZVNldEVs
ZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSFRNTEZyYW1lU2V0
RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzk4QTI3QzBDMEM5OTUw
MDA0QkVCRjcgLyogSlNTdHlsZVNoZWV0Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTU3R5bGVTaGVldEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUJDQTE2OUEwMEJGRDU1QjQwMDE5Q0E3NiAvKiBKU0hUTUxUYWJsZUNhcHRp
b25FbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0hU
TUxUYWJsZUNhcHRpb25FbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QkNBMTY5QTEwQkZENTVCNDAwMTlDQTc2IC8qIEpTSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSFRNTFRhYmxlQ2FwdGlvbkVsZW1l
bnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNBQTkwQzIwQTdFQkE2MDAwOEIx
MjI5IC8qIFNjcm9sbEJhci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gU2Nyb2xsQmFyLmNwcDsgcGF0aCA9IHBsYXRmb3JtL1Njcm9sbEJhci5jcHA7IHNvdXJjZVRy
ZWUgPSBTT1VSQ0VfUk9PVDsgfTsKQEAgLTYwOTcsNiArNjEwMSw4IEBACiAJCUJDQ0Q3NEU0MEE0
QzhEREYwMDVGREE2RCAvKiBIVE1MVmlld1NvdXJjZURvY3VtZW50LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIVE1MVmlld1NvdXJjZURvY3VtZW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNDRkJBRTcwQjUxNTJFRDAwMDFGMUQ3IC8qIFRv
a2VuaXplci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVG9rZW5pemVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRDQxQUJBMEMwNjBERTgwMEMwRTQ0NiAv
KiBKU0hUTUxGcmFtZVNldEVsZW1lbnRDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTSFRNTEZyYW1lU2V0RWxlbWVudEN1c3RvbS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDRTAxMzk4MEMwQkVGMTgwMDQzODYwQSAvKiBKU1N0eWxl
U2hlZXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU3R5bGVT
aGVldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDRTAxMzk5MEMwQkVGMTgw
MDQzODYwQSAvKiBKU1N0eWxlU2hlZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEpTU3R5bGVTaGVldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0VBNDc3
QzA5N0NBQUM4MDA5NEM5RTQgLyogQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0VBNDc3RDA5N0NBQUM4
MDA5NEM5RTQgLyogQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNFQTQ3N0UwOTdDQUFDODAwOTRDOUU0IC8qIENTU0dy
YW1tYXIueSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLnlhY2M7IHBhdGggPSBDU1NHcmFtbWFyLnk7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02MzkyLDYgKzYzOTgsOCBAQAogCQkxNERG
QjMzRjBBN0RGNzYzMDAxOEY3NjkgLyogRGVyaXZlZCBTb3VyY2VzICovID0gewogCQkJaXNhID0g
UEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlCQ0UwMTM5ODBDMEJFRjE4MDA0Mzg2MEEg
LyogSlNTdHlsZVNoZWV0LmNwcCAqLywKKwkJCQlCQ0UwMTM5OTBDMEJFRjE4MDA0Mzg2MEEgLyog
SlNTdHlsZVNoZWV0LmggKi8sCiAJCQkJNjVERjMxRDgwOUQxQzEyMjAwMEJFMzI1IC8qIEpTQXR0
ci5jcHAgKi8sCiAJCQkJNjVERjMxRDkwOUQxQzEyMzAwMEJFMzI1IC8qIEpTQXR0ci5oICovLAog
CQkJCTY1REYzMjMzMDlEMURFNjUwMDBCRTMyNSAvKiBKU0NhbnZhc0dyYWRpZW50LmNwcCAqLywK
QEAgLTkxOTgsNiArOTIwNiw3IEBACiAJCQkJQkMxN0Y5NjUwQjY0RUJCODAwNEE2NUNCIC8qIEpT
SFRNTFNlbGVjdEVsZW1lbnRDdXN0b20uY3BwICovLAogCQkJCUFCNENCNEVBMEI4QkRBM0QwMDlG
NDBCMCAvKiBKU0hUTUxTZWxlY3RFbGVtZW50Q3VzdG9tLmggKi8sCiAJCQkJMUE3NTBERDMwQTkw
RTcyOTAwMEZGMjE1IC8qIEpTTm9kZUl0ZXJhdG9yQ3VzdG9tLmNwcCAqLywKKwkJCQlCQzk4QTI3
QzBDMEM5OTUwMDA0QkVCRjcgLyogSlNTdHlsZVNoZWV0Q3VzdG9tLmNwcCAqLywKIAkJCQlCMjVE
RkFBRTBCMkUyOTI5MDAwRTY1MTAgLyogSlNTVkdNYXRyaXhDdXN0b20uY3BwICovLAogCQkJCUIy
Qzk2RDhDMEIzQUYyQjcwMDVFODBFQyAvKiBKU1NWR1BhdGhTZWdDdXN0b20uY3BwICovLAogCQkJ
CUIyOTdCQzZGMEIzQzE0Q0YwMDQ1QTU5MCAvKiBKU1NWR1BhdGhTZWdMaXN0Q3VzdG9tLmNwcCAq
LywKQEAgLTExNDI3LDYgKzExNDM2LDcgQEAKIAkJCQlCQzkyNkY4MTBDMDU1MjQ3MDA4Mjc3NkIg
LyogSlNIVE1MRnJhbWVTZXRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzMwNUM3QTBD
MDc2QkIzMDBDRDIwRjAgLyogSlNIVE1MT2JqZWN0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQkM2RDQ0RUQwQzA3RjJFRDAwNzJEMkM5IC8qIEpTSFRNTEVtYmVkRWxlbWVudC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQkNFMDEzOUIwQzBCRUYxODAwNDM4NjBBIC8qIEpTU3R5bGVTaGVldC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vz
c2luZyA9IDA7CiAJCX07CkBAIC0xMjgyNyw2ICsxMjgzNyw4IEBACiAJCQkJQkM0RURFRjQwQzA4
RjNGQjAwN0VERDQ5IC8qIEpTSFRNTEFwcGxldEVsZW1lbnRDdXN0b20uY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQkM1ODIzRjUwQzBBOThERjAwNTNGMUI1IC8qIEpTSFRNTEVsZW1lbnRDdXN0b20u
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1ODI1RjMwQzBCODkzODAwNTNGMUI1IC8qIEpTQ1NT
U3R5bGVEZWNsYXJhdGlvbkN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCQ0UwMTM5QTBD
MEJFRjE4MDA0Mzg2MEEgLyogSlNTdHlsZVNoZWV0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUJD
OThBMjdEMEMwQzk5NTAwMDRCRUJGNyAvKiBKU1N0eWxlU2hlZXRDdXN0b20uY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7
CiAJCX07CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTU3R5bGVTaGVldEN1c3RvbS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1N0eWxlU2hlZXRDdXN0b20uY3Bw
CShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1N0eWxlU2hlZXRDdXN0b20u
Y3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDA3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIkpTU3R5bGVTaGVldC5oIgorCisjaW5jbHVkZSAiQ1NTU3R5bGVT
aGVldC5oIgorI2luY2x1ZGUgImtqc19jc3MuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitL
SlM6OkpTVmFsdWUqIHRvSlMoS0pTOjpFeGVjU3RhdGUqIGV4ZWMsIFN0eWxlU2hlZXQqIHN0eWxl
U2hlZXQpCit7CisgICAgaWYgKCFzdHlsZVNoZWV0KQorICAgICAgICByZXR1cm4gS0pTOjpqc051
bGwoKTsKKworICAgIEtKUzo6U2NyaXB0SW50ZXJwcmV0ZXIqIGludGVycCA9IHN0YXRpY19jYXN0
PEtKUzo6U2NyaXB0SW50ZXJwcmV0ZXIqPihleGVjLT5keW5hbWljSW50ZXJwcmV0ZXIoKSk7Cisg
ICAgS0pTOjpET01PYmplY3QqIHJldCA9IGludGVycC0+Z2V0RE9NT2JqZWN0KHN0eWxlU2hlZXQp
OworICAgIGlmIChyZXQpCisgICAgICAgIHJldHVybiByZXQ7CisKKyAgICBpZiAoc3R5bGVTaGVl
dC0+aXNDU1NTdHlsZVNoZWV0KCkpCisgICAgICAgIHJldCA9IG5ldyBLSlM6OkRPTUNTU1N0eWxl
U2hlZXQoZXhlYywgc3RhdGljX2Nhc3Q8Q1NTU3R5bGVTaGVldCo+KHN0eWxlU2hlZXQpKTsKKyAg
ICBlbHNlCisgICAgICAgIHJldCA9IG5ldyBKU1N0eWxlU2hlZXQoZXhlYywgc3R5bGVTaGVldCk7
CisgICAgaW50ZXJwLT5wdXRET01PYmplY3Qoc3R5bGVTaGVldCwgcmV0KTsKKyAgICByZXR1cm4g
cmV0OworfQorCitib29sIEpTU3R5bGVTaGVldDo6dG9Cb29sZWFuKEtKUzo6RXhlY1N0YXRlKikg
Y29uc3QKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJ
bmRleDogV2ViQ29yZS9iaW5kaW5ncy9qcy9ranNfY3NzLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2JpbmRpbmdzL2pzL2tqc19jc3MuY3BwCShyZXZpc2lvbiAyMTg1NSkKKysrIFdlYkNvcmUv
YmluZGluZ3MvanMva2pzX2Nzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMsNyArMyw3IEBACiAg
KiAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEtERSBsaWJyYXJpZXMKICAqICBDb3B5cmlnaHQg
KEMpIDIwMDAgSGFycmkgUG9ydGVuIChwb3J0ZW5Aa2RlLm9yZykKICAqICBDb3B5cmlnaHQgKEMp
IDIwMDEgUGV0ZXIgS2VsbHkgKHBta0Bwb3N0LmNvbSkKLSAqICBDb3B5cmlnaHQgKEMpIDIwMDQt
MjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgorICogIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwg
MjAwNiwgMjAwNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiAgQ29weXJpZ2h0
IChDKSAyMDA2IEphbWVzIEcuIFNwZXRoIChzcGV0aEBlbmQuY29tKQogICogIENvcHlyaWdodCAo
QykgMjAwNiBTYW11ZWwgV2VpbmlnIChzYW1Ad2Via2l0Lm9yZykKICAqCkBAIC0zOSw5ICszOSwx
MCBAQAogI2luY2x1ZGUgIkhUTUxTdHlsZUVsZW1lbnQuaCIKICNpbmNsdWRlICJKU0NTU1ByaW1p
dGl2ZVZhbHVlLmgiCiAjaW5jbHVkZSAiSlNDU1NSdWxlLmgiCi0jaW5jbHVkZSAiSlNDU1NTdHls
ZURlY2xhcmF0aW9uLmgiCiAjaW5jbHVkZSAiSlNDU1NSdWxlTGlzdC5oIgorI2luY2x1ZGUgIkpT
Q1NTU3R5bGVEZWNsYXJhdGlvbi5oIgogI2luY2x1ZGUgIkpTQ1NTVmFsdWVMaXN0LmgiCisjaW5j
bHVkZSAiSlNTdHlsZVNoZWV0LmgiCiAjaW5jbHVkZSAiTWVkaWFMaXN0LmgiCiAjaW5jbHVkZSAi
U3R5bGVTaGVldExpc3QuaCIKICNpbmNsdWRlICJranNfZG9tLmgiCkBAIC02Miw5MSArNjMsNiBA
QCB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCiBuYW1lc3BhY2UgS0pTIHsKIAotY29uc3Qg
Q2xhc3NJbmZvIERPTVN0eWxlU2hlZXQ6OmluZm8gPSB7ICJTdHlsZVNoZWV0IiwgMCwgJkRPTVN0
eWxlU2hlZXRUYWJsZSwgMCB9OwotLyoKLUBiZWdpbiBET01TdHlsZVNoZWV0VGFibGUgNwotICB0
eXBlICAgICAgICAgIERPTVN0eWxlU2hlZXQ6OlR5cGUgICAgICAgICAgICAgRG9udERlbGV0ZXxS
ZWFkT25seQotICBkaXNhYmxlZCAgICAgIERPTVN0eWxlU2hlZXQ6OkRpc2FibGVkICAgICAgICAg
RG9udERlbGV0ZQotICBvd25lck5vZGUgICAgIERPTVN0eWxlU2hlZXQ6Ok93bmVyTm9kZSAgICAg
ICAgRG9udERlbGV0ZXxSZWFkT25seQotICBwYXJlbnRTdHlsZVNoZWV0IERPTVN0eWxlU2hlZXQ6
OlBhcmVudFN0eWxlU2hlZXQgICAgICBEb250RGVsZXRlfFJlYWRPbmx5Ci0gIGhyZWYgICAgICAg
ICAgRE9NU3R5bGVTaGVldDo6SHJlZiAgICAgICAgICAgICBEb250RGVsZXRlfFJlYWRPbmx5Ci0g
IHRpdGxlICAgICAgICAgRE9NU3R5bGVTaGVldDo6VGl0bGUgICAgICAgICAgICBEb250RGVsZXRl
fFJlYWRPbmx5Ci0gIG1lZGlhICAgICAgICAgRE9NU3R5bGVTaGVldDo6TWVkaWEgICAgICAgICAg
ICBEb250RGVsZXRlfFJlYWRPbmx5Ci1AZW5kCi0qLwotCi1ET01TdHlsZVNoZWV0OjpET01TdHls
ZVNoZWV0KEV4ZWNTdGF0ZSogZXhlYywgU3R5bGVTaGVldCogc3MpIAotICA6IG1faW1wbChzcykg
Ci17Ci0gICAgc2V0UHJvdG90eXBlKGV4ZWMtPmxleGljYWxJbnRlcnByZXRlcigpLT5idWlsdGlu
T2JqZWN0UHJvdG90eXBlKCkpOwotfQotCi1ET01TdHlsZVNoZWV0OjpET01TdHlsZVNoZWV0KFN0
eWxlU2hlZXQgKnNzKSAKLSAgOiBtX2ltcGwoc3MpIAotewotfQotCi1ET01TdHlsZVNoZWV0Ojp+
RE9NU3R5bGVTaGVldCgpCi17Ci0gIFNjcmlwdEludGVycHJldGVyOjpmb3JnZXRET01PYmplY3Qo
bV9pbXBsLmdldCgpKTsKLX0KLQotYm9vbCBET01TdHlsZVNoZWV0OjpnZXRPd25Qcm9wZXJ0eVNs
b3QoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFByb3Bl
cnR5U2xvdCYgc2xvdCkKLXsKLSAgcmV0dXJuIGdldFN0YXRpY1ZhbHVlU2xvdDxET01TdHlsZVNo
ZWV0LCBET01PYmplY3Q+KGV4ZWMsICZET01TdHlsZVNoZWV0VGFibGUsIHRoaXMsIHByb3BlcnR5
TmFtZSwgc2xvdCk7Ci19Ci0KLUpTVmFsdWUqIERPTVN0eWxlU2hlZXQ6OmdldFZhbHVlUHJvcGVy
dHkoRXhlY1N0YXRlKiBleGVjLCBpbnQgdG9rZW4pIGNvbnN0Ci17Ci0gIFN0eWxlU2hlZXQmIHN0
eWxlU2hlZXQgPSAqbV9pbXBsOwotICBzd2l0Y2ggKHRva2VuKSB7Ci0gIGNhc2UgVHlwZToKLSAg
ICByZXR1cm4ganNTdHJpbmdPck51bGwoc3R5bGVTaGVldC50eXBlKCkpOwotICBjYXNlIERpc2Fi
bGVkOgotICAgIHJldHVybiBqc0Jvb2xlYW4oc3R5bGVTaGVldC5kaXNhYmxlZCgpKTsKLSAgY2Fz
ZSBPd25lck5vZGU6Ci0gICAgcmV0dXJuIHRvSlMoZXhlYyxzdHlsZVNoZWV0Lm93bmVyTm9kZSgp
KTsKLSAgY2FzZSBQYXJlbnRTdHlsZVNoZWV0OgotICAgIHJldHVybiB0b0pTKGV4ZWMsc3R5bGVT
aGVldC5wYXJlbnRTdHlsZVNoZWV0KCkpOwotICBjYXNlIEhyZWY6Ci0gICAgcmV0dXJuIGpzU3Ry
aW5nT3JOdWxsKHN0eWxlU2hlZXQuaHJlZigpKTsKLSAgY2FzZSBUaXRsZToKLSAgICByZXR1cm4g
anNTdHJpbmdPck51bGwoc3R5bGVTaGVldC50aXRsZSgpKTsKLSAgY2FzZSBNZWRpYToKLSAgICBy
ZXR1cm4gdG9KUyhleGVjLCBzdHlsZVNoZWV0Lm1lZGlhKCkpOwotICB9Ci0gIHJldHVybiBOVUxM
OwotfQotCi12b2lkIERPTVN0eWxlU2hlZXQ6OnB1dChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElk
ZW50aWZpZXIgJnByb3BlcnR5TmFtZSwgSlNWYWx1ZSogdmFsdWUsIGludCBhdHRyKQotewotICBp
ZiAocHJvcGVydHlOYW1lID09ICJkaXNhYmxlZCIpIHsKLSAgICBtX2ltcGwtPnNldERpc2FibGVk
KHZhbHVlLT50b0Jvb2xlYW4oZXhlYykpOwotICB9Ci0gIGVsc2UKLSAgICBET01PYmplY3Q6OnB1
dChleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBhdHRyKTsKLX0KLQotSlNWYWx1ZSogdG9KUyhF
eGVjU3RhdGUqIGV4ZWMsIFBhc3NSZWZQdHI8U3R5bGVTaGVldD4gc3MpCi17Ci0gIERPTU9iamVj
dCAqcmV0OwotICBpZiAoIXNzKQotICAgIHJldHVybiBqc051bGwoKTsKLSAgU2NyaXB0SW50ZXJw
cmV0ZXIgKmludGVycCA9IHN0YXRpY19jYXN0PFNjcmlwdEludGVycHJldGVyKj4oZXhlYy0+ZHlu
YW1pY0ludGVycHJldGVyKCkpOwotICBpZiAoKHJldCA9IGludGVycC0+Z2V0RE9NT2JqZWN0KHNz
LmdldCgpKSkpCi0gICAgcmV0dXJuIHJldDsKLSAgZWxzZSB7Ci0gICAgaWYgKHNzLT5pc0NTU1N0
eWxlU2hlZXQoKSkKLSAgICAgIHJldCA9IG5ldyBET01DU1NTdHlsZVNoZWV0KGV4ZWMsIHN0YXRp
Y19jYXN0PENTU1N0eWxlU2hlZXQqPihzcy5nZXQoKSkpOwotICAgIGVsc2UKLSAgICAgIHJldCA9
IG5ldyBET01TdHlsZVNoZWV0KGV4ZWMsIHNzLmdldCgpKTsKLSAgICBpbnRlcnAtPnB1dERPTU9i
amVjdChzcy5nZXQoKSwgcmV0KTsKLSAgICByZXR1cm4gcmV0OwotICB9Ci19Ci0KLS8vIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KLQogY29uc3QgQ2xhc3NJbmZvIERPTVN0eWxlU2hlZXRMaXN0OjppbmZvID0g
eyAiU3R5bGVTaGVldExpc3QiLCAwLCAmRE9NU3R5bGVTaGVldExpc3RUYWJsZSwgMCB9OwogCiAv
KgpAQCAtMzYyLDcgKzI3OCw3IEBAIEpTVmFsdWUqIEtKUzo6RE9NTWVkaWFMaXN0UHJvdG90eXBl
RnVuY3QKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1jb25zdCBDbGFzc0luZm8gRE9NQ1NTU3R5
bGVTaGVldDo6aW5mbyA9IHsgIkNTU1N0eWxlU2hlZXQiLCAmRE9NU3R5bGVTaGVldDo6aW5mbywg
JkRPTUNTU1N0eWxlU2hlZXRUYWJsZSwgMCB9OworY29uc3QgQ2xhc3NJbmZvIERPTUNTU1N0eWxl
U2hlZXQ6OmluZm8gPSB7ICJDU1NTdHlsZVNoZWV0IiwgJldlYkNvcmU6OkpTU3R5bGVTaGVldDo6
aW5mbywgJkRPTUNTU1N0eWxlU2hlZXRUYWJsZSwgMCB9OwogCiAvKgogQGJlZ2luIERPTUNTU1N0
eWxlU2hlZXRUYWJsZSA1CkBAIC0zODQsNyArMzAwLDcgQEAgS0pTX0lNUExFTUVOVF9QUk9UT1RZ
UEVfRlVOQ1RJT04oRE9NQ1NTUwogS0pTX0lNUExFTUVOVF9QUk9UT1RZUEUoIkRPTUNTU1N0eWxl
U2hlZXQiLERPTUNTU1N0eWxlU2hlZXRQcm90b3R5cGUsRE9NQ1NTU3R5bGVTaGVldFByb3RvdHlw
ZUZ1bmN0aW9uKSAvLyB3YXJuaW5nLCB1c2UgX1dJVEhfUEFSRU5UIGlmIERPTVN0eWxlU2hlZXQg
Z2V0cyBhIHByb3RvdHlwZQogCiBET01DU1NTdHlsZVNoZWV0OjpET01DU1NTdHlsZVNoZWV0KEV4
ZWNTdGF0ZSogZXhlYywgQ1NTU3R5bGVTaGVldCAqc3MpCi0gIDogRE9NU3R5bGVTaGVldChzcykg
CisgIDogSlNTdHlsZVNoZWV0KGV4ZWMsIHNzKSAKIHsKICAgc2V0UHJvdG90eXBlKERPTUNTU1N0
eWxlU2hlZXRQcm90b3R5cGU6OnNlbGYoZXhlYykpOwogfQpAQCAtNDEwLDcgKzMyNiw3IEBAIEpT
VmFsdWUqIERPTUNTU1N0eWxlU2hlZXQ6OmdldFZhbHVlUHJvcGUKIAogYm9vbCBET01DU1NTdHls
ZVNoZWV0OjpnZXRPd25Qcm9wZXJ0eVNsb3QoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlm
aWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKIHsKLSAgcmV0dXJuIGdldFN0
YXRpY1ZhbHVlU2xvdDxET01DU1NTdHlsZVNoZWV0LCBET01TdHlsZVNoZWV0PihleGVjLCAmRE9N
Q1NTU3R5bGVTaGVldFRhYmxlLCB0aGlzLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOworICByZXR1cm4g
Z2V0U3RhdGljVmFsdWVTbG90PERPTUNTU1N0eWxlU2hlZXQsIEpTU3R5bGVTaGVldD4oZXhlYywg
JkRPTUNTU1N0eWxlU2hlZXRUYWJsZSwgdGhpcywgcHJvcGVydHlOYW1lLCBzbG90KTsKIH0KIAog
SlNWYWx1ZSogRE9NQ1NTU3R5bGVTaGVldFByb3RvdHlwZUZ1bmN0aW9uOjpjYWxsQXNGdW5jdGlv
bihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiB0aGlzT2JqLCBjb25zdCBMaXN0ICZhcmdzKQpJ
bmRleDogV2ViQ29yZS9iaW5kaW5ncy9qcy9ranNfY3NzLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9iaW5kaW5ncy9qcy9ranNfY3NzLmgJKHJldmlzaW9uIDIxODU1KQorKysgV2ViQ29yZS9iaW5k
aW5ncy9qcy9ranNfY3NzLmgJKHdvcmtpbmcgY29weSkKQEAgLTMsNyArMyw3IEBACiAgKiAgVGhp
cyBmaWxlIGlzIHBhcnQgb2YgdGhlIEtERSBsaWJyYXJpZXMKICAqICBDb3B5cmlnaHQgKEMpIDIw
MDAgSGFycmkgUG9ydGVuIChwb3J0ZW5Aa2RlLm9yZykKICAqICBDb3B5cmlnaHQgKEMpIDIwMDEg
UGV0ZXIgS2VsbHkgKHBta0Bwb3N0LmNvbSkKLSAqICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDYg
QXBwbGUgQ29tcHV0ZXIsIEluYy4KKyAqICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDYsIDIwMDcg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqICBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiAgbW9kaWZ5
IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwpAQCAt
MjQsOCArMjQsOSBAQAogI2RlZmluZSBranNfY3NzX2gKIAogI2luY2x1ZGUgIkNvbG9yLmgiCi0j
aW5jbHVkZSAia2pzX2JpbmRpbmcuaCIKICNpbmNsdWRlICJSZWN0SW1wbC5oIgorI2luY2x1ZGUg
IkpTU3R5bGVTaGVldC5oIgorI2luY2x1ZGUgImtqc19iaW5kaW5nLmgiCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBDb3VudGVyOwpAQCAtNDUsMjcgKzQ2LDYgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBuYW1lc3BhY2UgS0pTIHsKIAotICBjbGFzcyBET01TdHlsZVNoZWV0IDog
cHVibGljIERPTU9iamVjdCB7Ci0gIHB1YmxpYzoKLSAgICBET01TdHlsZVNoZWV0KEV4ZWNTdGF0
ZSosIFdlYkNvcmU6OlN0eWxlU2hlZXQqKTsKLSAgICB2aXJ0dWFsIH5ET01TdHlsZVNoZWV0KCk7
Ci0gICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5U2xvdChFeGVjU3RhdGUqLCBjb25zdCBJ
ZGVudGlmaWVyJiwgUHJvcGVydHlTbG90Jik7Ci0gICAgSlNWYWx1ZSogZ2V0VmFsdWVQcm9wZXJ0
eShFeGVjU3RhdGUqLCBpbnQgdG9rZW4pIGNvbnN0OwotICAgIHZpcnR1YWwgdm9pZCBwdXQoRXhl
Y1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlKiwgaW50IGF0
dHIgPSBOb25lKTsKLSAgICB2aXJ0dWFsIGJvb2wgdG9Cb29sZWFuKEV4ZWNTdGF0ZSopIGNvbnN0
IHsgcmV0dXJuIHRydWU7IH0KLSAgICB2aXJ0dWFsIGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZv
KCkgY29uc3QgeyByZXR1cm4gJmluZm87IH0KLSAgICBzdGF0aWMgY29uc3QgQ2xhc3NJbmZvIGlu
Zm87Ci0gICAgZW51bSB7IFR5cGUsIERpc2FibGVkLCBPd25lck5vZGUsIFBhcmVudFN0eWxlU2hl
ZXQsIEhyZWYsIFRpdGxlLCBNZWRpYSB9OwotICAgIFdlYkNvcmU6OlN0eWxlU2hlZXQqIGltcGwo
KSBjb25zdCB7IHJldHVybiBtX2ltcGwuZ2V0KCk7IH0KLSAgcHJvdGVjdGVkOgotICAgIC8vIENv
bnN0cnVjdG9yIGZvciBkZXJpdmVkIGNsYXNzZXM7IGRvZXNuJ3Qgc2V0IHVwIGEgcHJvdG90eXBl
LgotICAgIERPTVN0eWxlU2hlZXQoV2ViQ29yZTo6U3R5bGVTaGVldCopOwotICBwcml2YXRlOgot
ICAgIFJlZlB0cjxXZWJDb3JlOjpTdHlsZVNoZWV0PiBtX2ltcGw7Ci0gIH07Ci0KLSAgSlNWYWx1
ZSogdG9KUyhFeGVjU3RhdGUqLCBQYXNzUmVmUHRyPFdlYkNvcmU6OlN0eWxlU2hlZXQ+KTsKLQog
ICBjbGFzcyBET01TdHlsZVNoZWV0TGlzdCA6IHB1YmxpYyBET01PYmplY3QgewogICBwdWJsaWM6
CiAgICAgRE9NU3R5bGVTaGVldExpc3QoRXhlY1N0YXRlKiwgV2ViQ29yZTo6U3R5bGVTaGVldExp
c3QqLCBXZWJDb3JlOjpEb2N1bWVudCopOwpAQCAtMTA5LDcgKzg5LDcgQEAgbmFtZXNwYWNlIEtK
UyB7CiAKICAgSlNWYWx1ZSogdG9KUyhFeGVjU3RhdGUqLCBXZWJDb3JlOjpNZWRpYUxpc3QqKTsK
IAotICBjbGFzcyBET01DU1NTdHlsZVNoZWV0IDogcHVibGljIERPTVN0eWxlU2hlZXQgeworICBj
bGFzcyBET01DU1NTdHlsZVNoZWV0IDogcHVibGljIFdlYkNvcmU6OkpTU3R5bGVTaGVldCB7CiAg
IHB1YmxpYzoKICAgICBET01DU1NTdHlsZVNoZWV0KEV4ZWNTdGF0ZSosIFdlYkNvcmU6OkNTU1N0
eWxlU2hlZXQqKTsKICAgICB2aXJ0dWFsIH5ET01DU1NTdHlsZVNoZWV0KCk7CkluZGV4OiBXZWJD
b3JlL2JpbmRpbmdzL29iamMvRE9NVXRpbGl0eS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Jp
bmRpbmdzL29iamMvRE9NVXRpbGl0eS5tbQkocmV2aXNpb24gMjE4NTUpCisrKyBXZWJDb3JlL2Jp
bmRpbmdzL29iamMvRE9NVXRpbGl0eS5tbQkod29ya2luZyBjb3B5KQpAQCAtMzYsNiArMzYsNyBA
QAogI2ltcG9ydCAiSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb24uaCIKICNpbXBvcnQgIkpTTm9kZUl0
ZXJhdG9yLmgiCiAjaW1wb3J0ICJKU1JhbmdlLmgiCisjaW1wb3J0ICJKU1N0eWxlU2hlZXQuaCIK
ICNpbXBvcnQgIkpTVHJlZVdhbGtlci5oIgogI2ltcG9ydCAiSlNYUGF0aEV4cHJlc3Npb24uaCIK
ICNpbXBvcnQgIkpTWFBhdGhSZXN1bHQuaCIKQEAgLTcwLDYgKzcxLDcgQEAgc3RhdGljIGlubGlu
ZSBpZCBjcmVhdGVET01XcmFwcGVyKEtKUzo6SgogICAgIFdSQVAoQ291bnRlcikKICAgICBXUkFQ
KEhUTUxPcHRpb25zQ29sbGVjdGlvbikKICAgICBXUkFQKFJhbmdlKQorICAgIFdSQVAoU3R5bGVT
aGVldCkKICAgICBXUkFQKFhQYXRoRXhwcmVzc2lvbikKICAgICBXUkFQKFhQYXRoUmVzdWx0KQog
CkBAIC04OCw3ICs5MCw2IEBAIHN0YXRpYyBpbmxpbmUgaWQgY3JlYXRlRE9NV3JhcHBlcihLSlM6
OkoKICAgICBXUkFQKE5vZGVMaXN0KQogICAgIFdSQVAoUkdCQ29sb3IpCiAgICAgV1JBUChSZWN0
KQotICAgIFdSQVAoU3R5bGVTaGVldCkKICAgICBXUkFQKFN0eWxlU2hlZXRMaXN0KQogCiAgICAg
I3VuZGVmIFdSQVAKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3JKUy5wbQkocmV2aXNpb24gMjE4NTUpCisrKyBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvckpTLnBtCSh3b3JraW5nIGNvcHkpCkBAIC0xNjIsNyArMTYyLDcgQEAgc3ViIFVz
ZXNNYW51YWxUb0pTSW1wbGVtZW50YXRpb24KIHsKICAgICBteSAkdHlwZSA9IHNoaWZ0OwogCi0g
ICAgcmV0dXJuIDEgaWYgJHR5cGUgZXEgIlNWR1BhdGhTZWciOworICAgIHJldHVybiAxIGlmICR0
eXBlIGVxICJTVkdQYXRoU2VnIiBvciAkdHlwZSBlcSAiU3R5bGVTaGVldCI7CiAgICAgcmV0dXJu
IDA7CiB9CiAKQEAgLTM1Nyw2ICszNTcsMTEgQEAgc3ViIEdlbmVyYXRlSGVhZGVyCiAgICAgICAg
IHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAgdmlydHVhbCBLSlM6OlVTdHJpbmcgdG9TdHJpbmco
S0pTOjpFeGVjU3RhdGUqKSBjb25zdDtcblxuIik7CiAgICAgfQogCisgICAgIyBDdXN0b20gdG9C
b29sZWFuIGZ1bmN0aW9uCisgICAgaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57
IkN1c3RvbVRvQm9vbGVhbiJ9KSB7CisgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAg
dmlydHVhbCBib29sIHRvQm9vbGVhbihLSlM6OkV4ZWNTdGF0ZSopIGNvbnN0O1xuXG4iKTsKKyAg
ICB9CisKICAgICAjIEN1c3RvbSBwdXNoRXZlbnRIYW5kbGVyU2NvcGUgZnVuY3Rpb24KICAgICBp
ZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tUHVzaEV2ZW50SGFuZGxl
clNjb3BlIn0pIHsKICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiAgICB2aXJ0dWFsIHZv
aWQgcHVzaEV2ZW50SGFuZGxlclNjb3BlKEtKUzo6RXhlY1N0YXRlKiwgS0pTOjpTY29wZUNoYWlu
JikgY29uc3Q7XG5cbiIpOwpJbmRleDogV2ViQ29yZS9jc3MvU3R5bGVTaGVldC5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9jc3MvU3R5bGVTaGVldC5pZGwJKHJldmlzaW9uIDIxODU1KQorKysg
V2ViQ29yZS9jc3MvU3R5bGVTaGVldC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBA
CiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMDYsIDIwMDcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICog
Q29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgog
ICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKQEAgLTIxLDEzICsyMSwxMyBAQAogbW9kdWxlIHN0eWxlc2hlZXRzIHsKIAog
ICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVsIDI6Ci0gICAgaW50ZXJmYWNlIFtPYmpDQ3Vz
dG9tSW50ZXJuYWxJbXBsXSBTdHlsZVNoZWV0IHsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IERPTVN0cmluZyAgICAgICAgdHlwZTsKKyAgICBpbnRlcmZhY2UgW0dlbmVyYXRlQ29uc3RydWN0
b3IsIEN1c3RvbVRvQm9vbGVhbiwgT2JqQ0N1c3RvbUludGVybmFsSW1wbF0gU3R5bGVTaGVldCB7
CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbQ29udmVydE51bGxTdHJpbmdUbz1OdWxsXSBE
T01TdHJpbmcgICAgICAgIHR5cGU7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBib29sZWFu
ICAgICAgICAgIGRpc2FibGVkOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgTm9kZSAgICAg
ICAgICAgICBvd25lck5vZGU7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTdHlsZVNoZWV0
ICAgICAgIHBhcmVudFN0eWxlU2hlZXQ7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01T
dHJpbmcgICAgICAgIGhyZWY7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcg
ICAgICAgIHRpdGxlOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsU3Ry
aW5nVG89TnVsbF0gRE9NU3RyaW5nICAgICAgICBocmVmOworICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgW0NvbnZlcnROdWxsU3RyaW5nVG89TnVsbF0gRE9NU3RyaW5nICAgICAgICB0aXRsZTsK
ICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhTGlzdCAgICAgICAgbWVkaWE7CiAgICAg
fTsKIApJbmRleDogV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5pZGwJKHJldmlzaW9uIDIxODU1KQorKysgV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDkgKzQ2LDggQEAgbW9kdWxlIHdp
bmRvdyB7CiAgICAgICAgIGF0dHJpYnV0ZSBDU1NSdWxlQ29uc3RydWN0b3IgQ1NTUnVsZTsKICAg
ICAgICAgYXR0cmlidXRlIENTU1N0eWxlRGVjbGFyYXRpb25Db25zdHJ1Y3RvciBDU1NTdHlsZURl
Y2xhcmF0aW9uOwogICAgICAgICBhdHRyaWJ1dGUgQ1NTVmFsdWVDb25zdHJ1Y3RvciBDU1NWYWx1
ZTsKLSAgICAgICAgYXR0cmlidXRlIERPTVBhcnNlckNvbnN0cnVjdG9yIERPTVBhcnNlcjsKLSAg
ICAgICAgYXR0cmlidXRlIEV2ZW50Q29uc3RydWN0b3IgRXZlbnQ7Ci0gICAgICAgIAorICAgICAg
ICBhdHRyaWJ1dGUgU3R5bGVTaGVldENvbnN0cnVjdG9yIFN0eWxlU2hlZXQ7CisKICAgICAgICAg
Ly8gRklYTUU6IEltcGxlbWVudCB0aGUgY29tbWVudGVkLW91dCBnbG9iYWwgY29uc3RydWN0b3Jz
IGZvciBpbnRlcmZhY2VzIGxpc3RlZCBpbiBET00gTGV2ZWwgMyBDb3JlIHNwZWNpZmljYXRpb24u
CiAvLyAgICAgICAgYXR0cmlidXRlIERPTUV4Y2VwdGlvbkNvbnN0cnVjdG9yIERPTUV4Y2VwdGlv
bjsKIC8vICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nTGlzdENvbnN0cnVjdG9yIERPTVN0cmlu
Z0xpc3Q7CkBAIC05MSw5ICs5MCwxMSBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgYXR0cmli
dXRlIEhUTUxCbG9ja3F1b3RlRWxlbWVudENvbnN0cnVjdG9yIEhUTUxCbG9ja3F1b3RlRWxlbWVu
dDsKICAgICAgICAgYXR0cmlidXRlIEhUTUxCb2R5RWxlbWVudENvbnN0cnVjdG9yIEhUTUxCb2R5
RWxlbWVudDsKICAgICAgICAgYXR0cmlidXRlIEhUTUxCdXR0b25FbGVtZW50Q29uc3RydWN0b3Ig
SFRNTEJ1dHRvbkVsZW1lbnQ7CisgICAgICAgIGF0dHJpYnV0ZSBIVE1MQ2FudmFzRWxlbWVudENv
bnN0cnVjdG9yIEhUTUxDYW52YXNFbGVtZW50OwogICAgICAgICBhdHRyaWJ1dGUgSFRNTERMaXN0
RWxlbWVudENvbnN0cnVjdG9yIEhUTUxETGlzdEVsZW1lbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBI
VE1MRGlyZWN0b3J5RWxlbWVudENvbnN0cnVjdG9yIEhUTUxEaXJlY3RvcnlFbGVtZW50OwogICAg
ICAgICBhdHRyaWJ1dGUgSFRNTERpdkVsZW1lbnRDb25zdHJ1Y3RvciBIVE1MRGl2RWxlbWVudDsK
KyAgICAgICAgYXR0cmlidXRlIEhUTUxFbWJlZEVsZW1lbnRDb25zdHJ1Y3RvciBIVE1MRW1iZWRF
bGVtZW50OwogICAgICAgICBhdHRyaWJ1dGUgSFRNTEZpZWxkU2V0RWxlbWVudENvbnN0cnVjdG9y
IEhUTUxGaWVsZFNldEVsZW1lbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBIVE1MRm9udEVsZW1lbnRD
b25zdHJ1Y3RvciBIVE1MRm9udEVsZW1lbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBIVE1MRm9ybUVs
ZW1lbnRDb25zdHJ1Y3RvciBIVE1MRm9ybUVsZW1lbnQ7CkBAIC0xMTIsNiArMTEzLDcgQEAgbW9k
dWxlIHdpbmRvdyB7CiAgICAgICAgIGF0dHJpYnV0ZSBIVE1MTGVnZW5kRWxlbWVudENvbnN0cnVj
dG9yIEhUTUxMZWdlbmRFbGVtZW50OwogICAgICAgICBhdHRyaWJ1dGUgSFRNTExpbmtFbGVtZW50
Q29uc3RydWN0b3IgSFRNTExpbmtFbGVtZW50OwogICAgICAgICBhdHRyaWJ1dGUgSFRNTE1hcEVs
ZW1lbnRDb25zdHJ1Y3RvciBIVE1MTWFwRWxlbWVudDsKKyAgICAgICAgYXR0cmlidXRlIEhUTUxN
YXJxdWVlRWxlbWVudENvbnN0cnVjdG9yIEhUTUxNYXJxdWVlRWxlbWVudDsKICAgICAgICAgYXR0
cmlidXRlIEhUTUxNZW51RWxlbWVudENvbnN0cnVjdG9yIEhUTUxNZW51RWxlbWVudDsKICAgICAg
ICAgYXR0cmlidXRlIEhUTUxNZXRhRWxlbWVudENvbnN0cnVjdG9yIEhUTUxNZXRhRWxlbWVudDsK
ICAgICAgICAgYXR0cmlidXRlIEhUTUxNb2RFbGVtZW50Q29uc3RydWN0b3IgSFRNTE1vZEVsZW1l
bnQ7CkBAIC0xMzUsMTEgKzEzNywxMCBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgYXR0cmli
dXRlIEhUTUxUZXh0QXJlYUVsZW1lbnRDb25zdHJ1Y3RvciBIVE1MVGV4dEFyZWFFbGVtZW50Owog
ICAgICAgICBhdHRyaWJ1dGUgSFRNTFRpdGxlRWxlbWVudENvbnN0cnVjdG9yIEhUTUxUaXRsZUVs
ZW1lbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBIVE1MVUxpc3RFbGVtZW50Q29uc3RydWN0b3IgSFRN
TFVMaXN0RWxlbWVudDsKLSAgICAgICAgYXR0cmlidXRlIEhUTUxDYW52YXNFbGVtZW50Q29uc3Ry
dWN0b3IgSFRNTENhbnZhc0VsZW1lbnQ7Ci0gICAgICAgIGF0dHJpYnV0ZSBIVE1MRW1iZWRFbGVt
ZW50Q29uc3RydWN0b3IgSFRNTEVtYmVkRWxlbWVudDsKLSAgICAgICAgYXR0cmlidXRlIEhUTUxN
YXJxdWVlRWxlbWVudENvbnN0cnVjdG9yIEhUTUxNYXJxdWVlRWxlbWVudDsKIAorICAgICAgICBh
dHRyaWJ1dGUgRXZlbnRDb25zdHJ1Y3RvciBFdmVudDsKICAgICAgICAgYXR0cmlidXRlIE11dGF0
aW9uRXZlbnRDb25zdHJ1Y3RvciBNdXRhdGlvbkV2ZW50OworCiAgICAgICAgIGF0dHJpYnV0ZSBO
b2RlRmlsdGVyQ29uc3RydWN0b3IgTm9kZUZpbHRlcjsKICAgICAgICAgYXR0cmlidXRlIFJhbmdl
Q29uc3RydWN0b3IgUmFuZ2U7CiAgICAgICAgIGF0dHJpYnV0ZSBSYW5nZUV4Y2VwdGlvbkNvbnN0
cnVjdG9yIFJhbmdlRXhjZXB0aW9uOwpAQCAtMTQ4LDYgKzE0OSw3IEBAIG1vZHVsZSB3aW5kb3cg
ewogICAgICAgICAvLyBXZSBqdXN0IHVzZSBEb2N1bWVudCBmb3IgdGhpcy4KICAgICAgICAgYXR0
cmlidXRlIERvY3VtZW50Q29uc3RydWN0b3IgWE1MRG9jdW1lbnQ7CiAKKyAgICAgICAgYXR0cmli
dXRlIERPTVBhcnNlckNvbnN0cnVjdG9yIERPTVBhcnNlcjsKICAgICAgICAgYXR0cmlidXRlIFhN
TFNlcmlhbGl6ZXJDb25zdHJ1Y3RvciBYTUxTZXJpYWxpemVyOwogCiAjaWYgRU5BQkxFX1hQQVRI
CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCShyZXZpc2lvbiAyMTg2MSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDA3LTA1LTI5ICBTYW0gV2VpbmlnICA8c2Ft
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVXBkYXRlIHJlc3VsdHMgYWZ0ZXIgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTM5MDgKKyAgICAgICAgQXV0b2dlbmVyYXRlIHRoZSBKUyBiaW5kaW5ncyBmb3Ig
dGhlIFN0eWxlU2hlZXQKKworICAgICAgICAqIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVy
dGllcy1leHBlY3RlZC50eHQ6IEFkZHMgU3R5bGVTaGVldCBjb25zdHJ1Y3RvcgorCiAyMDA3LTA1
LTI5ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBNYWNpZWouCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3Bl
cnRpZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL1dp
bmRvdy93aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxODU1KQorKysg
TGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtNzQzLDYgKzc0Myw4IEBAIHdpbmRvdy5SYW5nZUV4Y2VwdGlv
bi5wcm90b3R5cGUgW29iamVjdCAKIHdpbmRvdy5SYW5nZUV4Y2VwdGlvbi5wcm90b3R5cGUuQkFE
X0JPVU5EQVJZUE9JTlRTX0VSUiBbbnVtYmVyXQogd2luZG93LlJhbmdlRXhjZXB0aW9uLnByb3Rv
dHlwZS5JTlZBTElEX05PREVfVFlQRV9FUlIgW251bWJlcl0KIHdpbmRvdy5SZWZlcmVuY2VFcnJv
ciBbZnVuY3Rpb25dCit3aW5kb3cuU3R5bGVTaGVldCBbb2JqZWN0IFN0eWxlU2hlZXRDb25zdHJ1
Y3Rvcl0KK3dpbmRvdy5TdHlsZVNoZWV0LnByb3RvdHlwZSBbb2JqZWN0IFN0eWxlU2hlZXRQcm90
b3R5cGVdCiB3aW5kb3cuU3ludGF4RXJyb3IgW2Z1bmN0aW9uXQogd2luZG93LlRleHQgW29iamVj
dCBUZXh0Q29uc3RydWN0b3JdCiB3aW5kb3cuVGV4dC5wcm90b3R5cGUgW3ByaW50ZWQgYWJvdmUg
YXMgd2luZG93LkNoYXJhY3RlckRhdGEucHJvdG90eXBlXQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>14776</attachid>
            <date>2007-05-29 14:07:58 -0700</date>
            <delta_ts>2007-05-29 21:46:04 -0700</delta_ts>
            <desc>actually the new patch</desc>
            <filename>stylesheetfinal2.diff</filename>
            <type>text/plain</type>
            <size>25524</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMTg2MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMDctMDUtMjkgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXRjaCBm
b3IgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5MDgKKyAgICAgICAg
QXV0b2dlbmVyYXRlIHRoZSBKUyBiaW5kaW5ncyBmb3IgdGhlIFN0eWxlU2hlZXQKKworICAgICAg
ICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTU3R5bGVTaGVldEN1c3RvbS5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAgIChXZWJDb3JlOjpK
U1N0eWxlU2hlZXQ6OnRvQm9vbGVhbik6CisgICAgICAgICogYmluZGluZ3MvanMva2pzX2Nzcy5j
cHA6CisgICAgICAgIChLSlM6Oik6CisgICAgICAgIChLSlM6OkRPTUNTU1N0eWxlU2hlZXQ6OkRP
TUNTU1N0eWxlU2hlZXQpOgorICAgICAgICAoS0pTOjpET01DU1NTdHlsZVNoZWV0OjpnZXRPd25Q
cm9wZXJ0eVNsb3QpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL2tqc19jc3MuaDoKKyAgICAgICAg
KiBiaW5kaW5ncy9vYmpjL0RPTVV0aWxpdHkubW06CisgICAgICAgIChLSlM6OmNyZWF0ZURPTVdy
YXBwZXIpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgor
ICAgICAgICAqIGNzcy9TdHlsZVNoZWV0LmlkbDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5p
ZGw6IEFkZCBuZXcgY29uc3RydWN0b3IuCisKIDIwMDctMDUtMjkgIE1pdHogUGV0dGVsICA8bWl0
ekB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1hY2llai4KSW5kZXg6IFdlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UJKHJldmlzaW9uIDIxODU1KQorKysgV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CSh3b3JraW5nIGNvcHkpCkBAIC01MTYsNiArNTE2LDcgQEAgYWxsIDogXAogICAgIEpTU1ZHTWFz
a0VsZW1lbnQuaCBcCiAgICAgSlNTVkdNYXJrZXJFbGVtZW50LmggXAogICAgIEpTU1ZHVHJhbnNm
b3JtLmggXAorICAgIEpTU3R5bGVTaGVldC5oIFwKICAgICBKU1RleHQuaCBcCiAgICAgSlNUZXh0
RXZlbnQuaCBcCiAgICAgSlNUcmVlV2Fsa2VyLmggXApJbmRleDogV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIxODU1KQorKysgV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTI4MDEsNiAr
MjgwMSw3IEBACiAJCUJDN0Y0NEE4MEI5RTMyNEUwMEE5RDA4MSAvKiBJbWFnZU9ic2VydmVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzdGNDRBNzBC
OUUzMjRFMDBBOUQwODEgLyogSW1hZ2VPYnNlcnZlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDOTI2RjgwMEMwNTUyNDcwMDgyNzc2QiAvKiBK
U0hUTUxGcmFtZVNldEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkM5MjZGN0UwQzA1NTI0NzAwODI3NzZCIC8qIEpTSFRNTEZyYW1lU2V0
RWxlbWVudC5jcHAgKi87IH07CiAJCUJDOTI2RjgxMEMwNTUyNDcwMDgyNzc2QiAvKiBKU0hUTUxG
cmFtZVNldEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDOTI2RjdGMEMwNTUyNDcwMDgyNzc2QiAvKiBKU0hUTUxGcmFtZVNldEVsZW1lbnQu
aCAqLzsgfTsKKwkJQkM5OEEyN0QwQzBDOTk1MDAwNEJFQkY3IC8qIEpTU3R5bGVTaGVldEN1c3Rv
bS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzk4
QTI3QzBDMEM5OTUwMDA0QkVCRjcgLyogSlNTdHlsZVNoZWV0Q3VzdG9tLmNwcCAqLzsgfTsKIAkJ
QkNBMTY5QTIwQkZENTVCNDAwMTlDQTc2IC8qIEpTSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBMTY5QTAw
QkZENTVCNDAwMTlDQTc2IC8qIEpTSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQuY3BwICovOyB9Owog
CQlCQ0ExNjlBMzBCRkQ1NUI0MDAxOUNBNzYgLyogSlNIVE1MVGFibGVDYXB0aW9uRWxlbWVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBMTY5QTEw
QkZENTVCNDAwMTlDQTc2IC8qIEpTSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQuaCAqLzsgfTsKIAkJ
QkNBQTkwQzMwQTdFQkE2MDAwOEIxMjI5IC8qIFNjcm9sbEJhci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0FBOTBDMjBBN0VCQTYwMDA4QjEyMjkg
LyogU2Nyb2xsQmFyLmNwcCAqLzsgfTsKQEAgLTI4NDEsNiArMjg0Miw4IEBACiAJCUJDQ0Q3NEU1
MEE0QzhEREYwMDVGREE2RCAvKiBIVE1MVmlld1NvdXJjZURvY3VtZW50LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQ0Q3NEU0MEE0QzhEREYwMDVG
REE2RCAvKiBIVE1MVmlld1NvdXJjZURvY3VtZW50LmNwcCAqLzsgfTsKIAkJQkNDRkJBRTgwQjUx
NTJFRDAwMDFGMUQ3IC8qIFRva2VuaXplci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkNDRkJBRTcwQjUxNTJFRDAwMDFGMUQ3IC8qIFRva2VuaXplci5o
ICovOyB9OwogCQlCQ0Q0MUFCQjBDMDYwREU4MDBDMEU0NDYgLyogSlNIVE1MRnJhbWVTZXRFbGVt
ZW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEJDRDQxQUJBMEMwNjBERTgwMEMwRTQ0NiAvKiBKU0hUTUxGcmFtZVNldEVsZW1lbnRDdXN0
b20uY3BwICovOyB9OworCQlCQ0UwMTM5QTBDMEJFRjE4MDA0Mzg2MEEgLyogSlNTdHlsZVNoZWV0
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRTAx
Mzk4MEMwQkVGMTgwMDQzODYwQSAvKiBKU1N0eWxlU2hlZXQuY3BwICovOyB9OworCQlCQ0UwMTM5
QjBDMEJFRjE4MDA0Mzg2MEEgLyogSlNTdHlsZVNoZWV0LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0UwMTM5OTBDMEJFRjE4MDA0Mzg2MEEgLyogSlNT
dHlsZVNoZWV0LmggKi87IH07CiAJCUJDRUE0NzhGMDk3Q0FBQzgwMDk0QzlFNCAvKiBDU1NDb21w
dXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkNFQTQ3N0MwOTdDQUFDODAwOTRDOUU0IC8qIENTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbi5jcHAgKi87IH07CiAJCUJDRUE0NzkwMDk3Q0FBQzgwMDk0QzlFNCAvKiBD
U1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEJDRUE0NzdEMDk3Q0FBQzgwMDk0QzlFNCAvKiBDU1NDb21wdXRl
ZFN0eWxlRGVjbGFyYXRpb24uaCAqLzsgfTsKIAkJQkNFQTQ3OTgwOTdDQUFDODAwOTRDOUU0IC8q
IGNzc2hlbHBlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCQ0VBNDc4NTA5N0NBQUM4MDA5NEM5RTQgLyogY3NzaGVscGVyLmNwcCAqLzsgfTsKQEAg
LTYwNTYsNiArNjA1OSw3IEBACiAJCUJDN0Y0NEE3MEI5RTMyNEUwMEE5RDA4MSAvKiBJbWFnZU9i
c2VydmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbWFnZU9ic2VydmVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDOTI2RjdFMEMwNTUyNDcwMDgyNzc2
QiAvKiBKU0hUTUxGcmFtZVNldEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTSFRNTEZyYW1lU2V0RWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUJDOTI2RjdGMEMwNTUyNDcwMDgyNzc2QiAvKiBKU0hUTUxGcmFtZVNldEVs
ZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSFRNTEZyYW1lU2V0
RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzk4QTI3QzBDMEM5OTUw
MDA0QkVCRjcgLyogSlNTdHlsZVNoZWV0Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTU3R5bGVTaGVldEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUJDQTE2OUEwMEJGRDU1QjQwMDE5Q0E3NiAvKiBKU0hUTUxUYWJsZUNhcHRp
b25FbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0hU
TUxUYWJsZUNhcHRpb25FbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QkNBMTY5QTEwQkZENTVCNDAwMTlDQTc2IC8qIEpTSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSFRNTFRhYmxlQ2FwdGlvbkVsZW1l
bnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNBQTkwQzIwQTdFQkE2MDAwOEIx
MjI5IC8qIFNjcm9sbEJhci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gU2Nyb2xsQmFyLmNwcDsgcGF0aCA9IHBsYXRmb3JtL1Njcm9sbEJhci5jcHA7IHNvdXJjZVRy
ZWUgPSBTT1VSQ0VfUk9PVDsgfTsKQEAgLTYwOTcsNiArNjEwMSw4IEBACiAJCUJDQ0Q3NEU0MEE0
QzhEREYwMDVGREE2RCAvKiBIVE1MVmlld1NvdXJjZURvY3VtZW50LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIVE1MVmlld1NvdXJjZURvY3VtZW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNDRkJBRTcwQjUxNTJFRDAwMDFGMUQ3IC8qIFRv
a2VuaXplci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVG9rZW5pemVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRDQxQUJBMEMwNjBERTgwMEMwRTQ0NiAv
KiBKU0hUTUxGcmFtZVNldEVsZW1lbnRDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTSFRNTEZyYW1lU2V0RWxlbWVudEN1c3RvbS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDRTAxMzk4MEMwQkVGMTgwMDQzODYwQSAvKiBKU1N0eWxl
U2hlZXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU3R5bGVT
aGVldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDRTAxMzk5MEMwQkVGMTgw
MDQzODYwQSAvKiBKU1N0eWxlU2hlZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEpTU3R5bGVTaGVldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0VBNDc3
QzA5N0NBQUM4MDA5NEM5RTQgLyogQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0VBNDc3RDA5N0NBQUM4
MDA5NEM5RTQgLyogQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNFQTQ3N0UwOTdDQUFDODAwOTRDOUU0IC8qIENTU0dy
YW1tYXIueSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLnlhY2M7IHBhdGggPSBDU1NHcmFtbWFyLnk7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02MzkyLDYgKzYzOTgsOCBAQAogCQkxNERG
QjMzRjBBN0RGNzYzMDAxOEY3NjkgLyogRGVyaXZlZCBTb3VyY2VzICovID0gewogCQkJaXNhID0g
UEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlCQ0UwMTM5ODBDMEJFRjE4MDA0Mzg2MEEg
LyogSlNTdHlsZVNoZWV0LmNwcCAqLywKKwkJCQlCQ0UwMTM5OTBDMEJFRjE4MDA0Mzg2MEEgLyog
SlNTdHlsZVNoZWV0LmggKi8sCiAJCQkJNjVERjMxRDgwOUQxQzEyMjAwMEJFMzI1IC8qIEpTQXR0
ci5jcHAgKi8sCiAJCQkJNjVERjMxRDkwOUQxQzEyMzAwMEJFMzI1IC8qIEpTQXR0ci5oICovLAog
CQkJCTY1REYzMjMzMDlEMURFNjUwMDBCRTMyNSAvKiBKU0NhbnZhc0dyYWRpZW50LmNwcCAqLywK
QEAgLTkxOTgsNiArOTIwNiw3IEBACiAJCQkJQkMxN0Y5NjUwQjY0RUJCODAwNEE2NUNCIC8qIEpT
SFRNTFNlbGVjdEVsZW1lbnRDdXN0b20uY3BwICovLAogCQkJCUFCNENCNEVBMEI4QkRBM0QwMDlG
NDBCMCAvKiBKU0hUTUxTZWxlY3RFbGVtZW50Q3VzdG9tLmggKi8sCiAJCQkJMUE3NTBERDMwQTkw
RTcyOTAwMEZGMjE1IC8qIEpTTm9kZUl0ZXJhdG9yQ3VzdG9tLmNwcCAqLywKKwkJCQlCQzk4QTI3
QzBDMEM5OTUwMDA0QkVCRjcgLyogSlNTdHlsZVNoZWV0Q3VzdG9tLmNwcCAqLywKIAkJCQlCMjVE
RkFBRTBCMkUyOTI5MDAwRTY1MTAgLyogSlNTVkdNYXRyaXhDdXN0b20uY3BwICovLAogCQkJCUIy
Qzk2RDhDMEIzQUYyQjcwMDVFODBFQyAvKiBKU1NWR1BhdGhTZWdDdXN0b20uY3BwICovLAogCQkJ
CUIyOTdCQzZGMEIzQzE0Q0YwMDQ1QTU5MCAvKiBKU1NWR1BhdGhTZWdMaXN0Q3VzdG9tLmNwcCAq
LywKQEAgLTExNDI3LDYgKzExNDM2LDcgQEAKIAkJCQlCQzkyNkY4MTBDMDU1MjQ3MDA4Mjc3NkIg
LyogSlNIVE1MRnJhbWVTZXRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzMwNUM3QTBD
MDc2QkIzMDBDRDIwRjAgLyogSlNIVE1MT2JqZWN0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQkM2RDQ0RUQwQzA3RjJFRDAwNzJEMkM5IC8qIEpTSFRNTEVtYmVkRWxlbWVudC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQkNFMDEzOUIwQzBCRUYxODAwNDM4NjBBIC8qIEpTU3R5bGVTaGVldC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vz
c2luZyA9IDA7CiAJCX07CkBAIC0xMjgyNyw2ICsxMjgzNyw4IEBACiAJCQkJQkM0RURFRjQwQzA4
RjNGQjAwN0VERDQ5IC8qIEpTSFRNTEFwcGxldEVsZW1lbnRDdXN0b20uY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQkM1ODIzRjUwQzBBOThERjAwNTNGMUI1IC8qIEpTSFRNTEVsZW1lbnRDdXN0b20u
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1ODI1RjMwQzBCODkzODAwNTNGMUI1IC8qIEpTQ1NT
U3R5bGVEZWNsYXJhdGlvbkN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCQ0UwMTM5QTBD
MEJFRjE4MDA0Mzg2MEEgLyogSlNTdHlsZVNoZWV0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUJD
OThBMjdEMEMwQzk5NTAwMDRCRUJGNyAvKiBKU1N0eWxlU2hlZXRDdXN0b20uY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7
CiAJCX07CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTU3R5bGVTaGVldEN1c3RvbS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1N0eWxlU2hlZXRDdXN0b20uY3Bw
CShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1N0eWxlU2hlZXRDdXN0b20u
Y3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDA3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIkpTU3R5bGVTaGVldC5oIgorCisjaW5jbHVkZSAiQ1NTU3R5bGVT
aGVldC5oIgorI2luY2x1ZGUgImtqc19jc3MuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitL
SlM6OkpTVmFsdWUqIHRvSlMoS0pTOjpFeGVjU3RhdGUqIGV4ZWMsIFN0eWxlU2hlZXQqIHN0eWxl
U2hlZXQpCit7CisgICAgaWYgKCFzdHlsZVNoZWV0KQorICAgICAgICByZXR1cm4gS0pTOjpqc051
bGwoKTsKKworICAgIEtKUzo6U2NyaXB0SW50ZXJwcmV0ZXIqIGludGVycCA9IHN0YXRpY19jYXN0
PEtKUzo6U2NyaXB0SW50ZXJwcmV0ZXIqPihleGVjLT5keW5hbWljSW50ZXJwcmV0ZXIoKSk7Cisg
ICAgS0pTOjpET01PYmplY3QqIHJldCA9IGludGVycC0+Z2V0RE9NT2JqZWN0KHN0eWxlU2hlZXQp
OworICAgIGlmIChyZXQpCisgICAgICAgIHJldHVybiByZXQ7CisKKyAgICBpZiAoc3R5bGVTaGVl
dC0+aXNDU1NTdHlsZVNoZWV0KCkpCisgICAgICAgIHJldCA9IG5ldyBLSlM6OkRPTUNTU1N0eWxl
U2hlZXQoZXhlYywgc3RhdGljX2Nhc3Q8Q1NTU3R5bGVTaGVldCo+KHN0eWxlU2hlZXQpKTsKKyAg
ICBlbHNlCisgICAgICAgIHJldCA9IG5ldyBKU1N0eWxlU2hlZXQoZXhlYywgc3R5bGVTaGVldCk7
CisgICAgaW50ZXJwLT5wdXRET01PYmplY3Qoc3R5bGVTaGVldCwgcmV0KTsKKyAgICByZXR1cm4g
cmV0OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdz
L2pzL2tqc19jc3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvanMva2pzX2Nz
cy5jcHAJKHJldmlzaW9uIDIxODU1KQorKysgV2ViQ29yZS9iaW5kaW5ncy9qcy9ranNfY3NzLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKICAqICBUaGlzIGZpbGUgaXMgcGFydCBv
ZiB0aGUgS0RFIGxpYnJhcmllcwogICogIENvcHlyaWdodCAoQykgMjAwMCBIYXJyaSBQb3J0ZW4g
KHBvcnRlbkBrZGUub3JnKQogICogIENvcHlyaWdodCAoQykgMjAwMSBQZXRlciBLZWxseSAocG1r
QHBvc3QuY29tKQotICogIENvcHlyaWdodCAoQykgMjAwNC0yMDA2IEFwcGxlIENvbXB1dGVyLCBJ
bmMuCisgKiAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqICBDb3B5cmlnaHQgKEMpIDIwMDYgSmFtZXMgRy4gU3Bl
dGggKHNwZXRoQGVuZC5jb20pCiAgKiAgQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcg
KHNhbUB3ZWJraXQub3JnKQogICoKQEAgLTM5LDkgKzM5LDEwIEBACiAjaW5jbHVkZSAiSFRNTFN0
eWxlRWxlbWVudC5oIgogI2luY2x1ZGUgIkpTQ1NTUHJpbWl0aXZlVmFsdWUuaCIKICNpbmNsdWRl
ICJKU0NTU1J1bGUuaCIKLSNpbmNsdWRlICJKU0NTU1N0eWxlRGVjbGFyYXRpb24uaCIKICNpbmNs
dWRlICJKU0NTU1J1bGVMaXN0LmgiCisjaW5jbHVkZSAiSlNDU1NTdHlsZURlY2xhcmF0aW9uLmgi
CiAjaW5jbHVkZSAiSlNDU1NWYWx1ZUxpc3QuaCIKKyNpbmNsdWRlICJKU1N0eWxlU2hlZXQuaCIK
ICNpbmNsdWRlICJNZWRpYUxpc3QuaCIKICNpbmNsdWRlICJTdHlsZVNoZWV0TGlzdC5oIgogI2lu
Y2x1ZGUgImtqc19kb20uaCIKQEAgLTYyLDkxICs2Myw2IEBAIHVzaW5nIG5hbWVzcGFjZSBIVE1M
TmFtZXM7CiAKIG5hbWVzcGFjZSBLSlMgewogCi1jb25zdCBDbGFzc0luZm8gRE9NU3R5bGVTaGVl
dDo6aW5mbyA9IHsgIlN0eWxlU2hlZXQiLCAwLCAmRE9NU3R5bGVTaGVldFRhYmxlLCAwIH07Ci0v
KgotQGJlZ2luIERPTVN0eWxlU2hlZXRUYWJsZSA3Ci0gIHR5cGUgICAgICAgICAgRE9NU3R5bGVT
aGVldDo6VHlwZSAgICAgICAgICAgICBEb250RGVsZXRlfFJlYWRPbmx5Ci0gIGRpc2FibGVkICAg
ICAgRE9NU3R5bGVTaGVldDo6RGlzYWJsZWQgICAgICAgICBEb250RGVsZXRlCi0gIG93bmVyTm9k
ZSAgICAgRE9NU3R5bGVTaGVldDo6T3duZXJOb2RlICAgICAgICBEb250RGVsZXRlfFJlYWRPbmx5
Ci0gIHBhcmVudFN0eWxlU2hlZXQgRE9NU3R5bGVTaGVldDo6UGFyZW50U3R5bGVTaGVldCAgICAg
IERvbnREZWxldGV8UmVhZE9ubHkKLSAgaHJlZiAgICAgICAgICBET01TdHlsZVNoZWV0OjpIcmVm
ICAgICAgICAgICAgIERvbnREZWxldGV8UmVhZE9ubHkKLSAgdGl0bGUgICAgICAgICBET01TdHls
ZVNoZWV0OjpUaXRsZSAgICAgICAgICAgIERvbnREZWxldGV8UmVhZE9ubHkKLSAgbWVkaWEgICAg
ICAgICBET01TdHlsZVNoZWV0OjpNZWRpYSAgICAgICAgICAgIERvbnREZWxldGV8UmVhZE9ubHkK
LUBlbmQKLSovCi0KLURPTVN0eWxlU2hlZXQ6OkRPTVN0eWxlU2hlZXQoRXhlY1N0YXRlKiBleGVj
LCBTdHlsZVNoZWV0KiBzcykgCi0gIDogbV9pbXBsKHNzKSAKLXsKLSAgICBzZXRQcm90b3R5cGUo
ZXhlYy0+bGV4aWNhbEludGVycHJldGVyKCktPmJ1aWx0aW5PYmplY3RQcm90b3R5cGUoKSk7Ci19
Ci0KLURPTVN0eWxlU2hlZXQ6OkRPTVN0eWxlU2hlZXQoU3R5bGVTaGVldCAqc3MpIAotICA6IG1f
aW1wbChzcykgCi17Ci19Ci0KLURPTVN0eWxlU2hlZXQ6On5ET01TdHlsZVNoZWV0KCkKLXsKLSAg
U2NyaXB0SW50ZXJwcmV0ZXI6OmZvcmdldERPTU9iamVjdChtX2ltcGwuZ2V0KCkpOwotfQotCi1i
b29sIERPTVN0eWxlU2hlZXQ6OmdldE93blByb3BlcnR5U2xvdChFeGVjU3RhdGUqIGV4ZWMsIGNv
bnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQotewotICBy
ZXR1cm4gZ2V0U3RhdGljVmFsdWVTbG90PERPTVN0eWxlU2hlZXQsIERPTU9iamVjdD4oZXhlYywg
JkRPTVN0eWxlU2hlZXRUYWJsZSwgdGhpcywgcHJvcGVydHlOYW1lLCBzbG90KTsKLX0KLQotSlNW
YWx1ZSogRE9NU3R5bGVTaGVldDo6Z2V0VmFsdWVQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIGlu
dCB0b2tlbikgY29uc3QKLXsKLSAgU3R5bGVTaGVldCYgc3R5bGVTaGVldCA9ICptX2ltcGw7Ci0g
IHN3aXRjaCAodG9rZW4pIHsKLSAgY2FzZSBUeXBlOgotICAgIHJldHVybiBqc1N0cmluZ09yTnVs
bChzdHlsZVNoZWV0LnR5cGUoKSk7Ci0gIGNhc2UgRGlzYWJsZWQ6Ci0gICAgcmV0dXJuIGpzQm9v
bGVhbihzdHlsZVNoZWV0LmRpc2FibGVkKCkpOwotICBjYXNlIE93bmVyTm9kZToKLSAgICByZXR1
cm4gdG9KUyhleGVjLHN0eWxlU2hlZXQub3duZXJOb2RlKCkpOwotICBjYXNlIFBhcmVudFN0eWxl
U2hlZXQ6Ci0gICAgcmV0dXJuIHRvSlMoZXhlYyxzdHlsZVNoZWV0LnBhcmVudFN0eWxlU2hlZXQo
KSk7Ci0gIGNhc2UgSHJlZjoKLSAgICByZXR1cm4ganNTdHJpbmdPck51bGwoc3R5bGVTaGVldC5o
cmVmKCkpOwotICBjYXNlIFRpdGxlOgotICAgIHJldHVybiBqc1N0cmluZ09yTnVsbChzdHlsZVNo
ZWV0LnRpdGxlKCkpOwotICBjYXNlIE1lZGlhOgotICAgIHJldHVybiB0b0pTKGV4ZWMsIHN0eWxl
U2hlZXQubWVkaWEoKSk7Ci0gIH0KLSAgcmV0dXJuIE5VTEw7Ci19Ci0KLXZvaWQgRE9NU3R5bGVT
aGVldDo6cHV0KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciAmcHJvcGVydHlOYW1l
LCBKU1ZhbHVlKiB2YWx1ZSwgaW50IGF0dHIpCi17Ci0gIGlmIChwcm9wZXJ0eU5hbWUgPT0gImRp
c2FibGVkIikgewotICAgIG1faW1wbC0+c2V0RGlzYWJsZWQodmFsdWUtPnRvQm9vbGVhbihleGVj
KSk7Ci0gIH0KLSAgZWxzZQotICAgIERPTU9iamVjdDo6cHV0KGV4ZWMsIHByb3BlcnR5TmFtZSwg
dmFsdWUsIGF0dHIpOwotfQotCi1KU1ZhbHVlKiB0b0pTKEV4ZWNTdGF0ZSogZXhlYywgUGFzc1Jl
ZlB0cjxTdHlsZVNoZWV0PiBzcykKLXsKLSAgRE9NT2JqZWN0ICpyZXQ7Ci0gIGlmICghc3MpCi0g
ICAgcmV0dXJuIGpzTnVsbCgpOwotICBTY3JpcHRJbnRlcnByZXRlciAqaW50ZXJwID0gc3RhdGlj
X2Nhc3Q8U2NyaXB0SW50ZXJwcmV0ZXIqPihleGVjLT5keW5hbWljSW50ZXJwcmV0ZXIoKSk7Ci0g
IGlmICgocmV0ID0gaW50ZXJwLT5nZXRET01PYmplY3Qoc3MuZ2V0KCkpKSkKLSAgICByZXR1cm4g
cmV0OwotICBlbHNlIHsKLSAgICBpZiAoc3MtPmlzQ1NTU3R5bGVTaGVldCgpKQotICAgICAgcmV0
ID0gbmV3IERPTUNTU1N0eWxlU2hlZXQoZXhlYywgc3RhdGljX2Nhc3Q8Q1NTU3R5bGVTaGVldCo+
KHNzLmdldCgpKSk7Ci0gICAgZWxzZQotICAgICAgcmV0ID0gbmV3IERPTVN0eWxlU2hlZXQoZXhl
Yywgc3MuZ2V0KCkpOwotICAgIGludGVycC0+cHV0RE9NT2JqZWN0KHNzLmdldCgpLCByZXQpOwot
ICAgIHJldHVybiByZXQ7Ci0gIH0KLX0KLQotLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCiBjb25zdCBD
bGFzc0luZm8gRE9NU3R5bGVTaGVldExpc3Q6OmluZm8gPSB7ICJTdHlsZVNoZWV0TGlzdCIsIDAs
ICZET01TdHlsZVNoZWV0TGlzdFRhYmxlLCAwIH07CiAKIC8qCkBAIC0zNjIsNyArMjc4LDcgQEAg
SlNWYWx1ZSogS0pTOjpET01NZWRpYUxpc3RQcm90b3R5cGVGdW5jdAogCiAvLyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCiAKLWNvbnN0IENsYXNzSW5mbyBET01DU1NTdHlsZVNoZWV0OjppbmZvID0geyAiQ1NT
U3R5bGVTaGVldCIsICZET01TdHlsZVNoZWV0OjppbmZvLCAmRE9NQ1NTU3R5bGVTaGVldFRhYmxl
LCAwIH07Citjb25zdCBDbGFzc0luZm8gRE9NQ1NTU3R5bGVTaGVldDo6aW5mbyA9IHsgIkNTU1N0
eWxlU2hlZXQiLCAmV2ViQ29yZTo6SlNTdHlsZVNoZWV0OjppbmZvLCAmRE9NQ1NTU3R5bGVTaGVl
dFRhYmxlLCAwIH07CiAKIC8qCiBAYmVnaW4gRE9NQ1NTU3R5bGVTaGVldFRhYmxlIDUKQEAgLTM4
NCw3ICszMDAsNyBAQCBLSlNfSU1QTEVNRU5UX1BST1RPVFlQRV9GVU5DVElPTihET01DU1NTCiBL
SlNfSU1QTEVNRU5UX1BST1RPVFlQRSgiRE9NQ1NTU3R5bGVTaGVldCIsRE9NQ1NTU3R5bGVTaGVl
dFByb3RvdHlwZSxET01DU1NTdHlsZVNoZWV0UHJvdG90eXBlRnVuY3Rpb24pIC8vIHdhcm5pbmcs
IHVzZSBfV0lUSF9QQVJFTlQgaWYgRE9NU3R5bGVTaGVldCBnZXRzIGEgcHJvdG90eXBlCiAKIERP
TUNTU1N0eWxlU2hlZXQ6OkRPTUNTU1N0eWxlU2hlZXQoRXhlY1N0YXRlKiBleGVjLCBDU1NTdHls
ZVNoZWV0ICpzcykKLSAgOiBET01TdHlsZVNoZWV0KHNzKSAKKyAgOiBKU1N0eWxlU2hlZXQoZXhl
Yywgc3MpIAogewogICBzZXRQcm90b3R5cGUoRE9NQ1NTU3R5bGVTaGVldFByb3RvdHlwZTo6c2Vs
ZihleGVjKSk7CiB9CkBAIC00MTAsNyArMzI2LDcgQEAgSlNWYWx1ZSogRE9NQ1NTU3R5bGVTaGVl
dDo6Z2V0VmFsdWVQcm9wZQogCiBib29sIERPTUNTU1N0eWxlU2hlZXQ6OmdldE93blByb3BlcnR5
U2xvdChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgUHJv
cGVydHlTbG90JiBzbG90KQogewotICByZXR1cm4gZ2V0U3RhdGljVmFsdWVTbG90PERPTUNTU1N0
eWxlU2hlZXQsIERPTVN0eWxlU2hlZXQ+KGV4ZWMsICZET01DU1NTdHlsZVNoZWV0VGFibGUsIHRo
aXMsIHByb3BlcnR5TmFtZSwgc2xvdCk7CisgIHJldHVybiBnZXRTdGF0aWNWYWx1ZVNsb3Q8RE9N
Q1NTU3R5bGVTaGVldCwgSlNTdHlsZVNoZWV0PihleGVjLCAmRE9NQ1NTU3R5bGVTaGVldFRhYmxl
LCB0aGlzLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOwogfQogCiBKU1ZhbHVlKiBET01DU1NTdHlsZVNo
ZWV0UHJvdG90eXBlRnVuY3Rpb246OmNhbGxBc0Z1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNP
YmplY3QqIHRoaXNPYmosIGNvbnN0IExpc3QgJmFyZ3MpCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdz
L2pzL2tqc19jc3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pzL2tqc19jc3Mu
aAkocmV2aXNpb24gMjE4NTUpCisrKyBXZWJDb3JlL2JpbmRpbmdzL2pzL2tqc19jc3MuaAkod29y
a2luZyBjb3B5KQpAQCAtMyw3ICszLDcgQEAKICAqICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUg
S0RFIGxpYnJhcmllcwogICogIENvcHlyaWdodCAoQykgMjAwMCBIYXJyaSBQb3J0ZW4gKHBvcnRl
bkBrZGUub3JnKQogICogIENvcHlyaWdodCAoQykgMjAwMSBQZXRlciBLZWxseSAocG1rQHBvc3Qu
Y29tKQotICogIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLgor
ICogIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNiwgMjAwNyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCkBAIC0yNCw4ICsyNCw5IEBACiAjZGVmaW5l
IGtqc19jc3NfaAogCiAjaW5jbHVkZSAiQ29sb3IuaCIKLSNpbmNsdWRlICJranNfYmluZGluZy5o
IgogI2luY2x1ZGUgIlJlY3RJbXBsLmgiCisjaW5jbHVkZSAiSlNTdHlsZVNoZWV0LmgiCisjaW5j
bHVkZSAia2pzX2JpbmRpbmcuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIENv
dW50ZXI7CkBAIC00NSwyNyArNDYsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIG5hbWVzcGFj
ZSBLSlMgewogCi0gIGNsYXNzIERPTVN0eWxlU2hlZXQgOiBwdWJsaWMgRE9NT2JqZWN0IHsKLSAg
cHVibGljOgotICAgIERPTVN0eWxlU2hlZXQoRXhlY1N0YXRlKiwgV2ViQ29yZTo6U3R5bGVTaGVl
dCopOwotICAgIHZpcnR1YWwgfkRPTVN0eWxlU2hlZXQoKTsKLSAgICB2aXJ0dWFsIGJvb2wgZ2V0
T3duUHJvcGVydHlTbG90KEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBQcm9wZXJ0eVNs
b3QmKTsKLSAgICBKU1ZhbHVlKiBnZXRWYWx1ZVByb3BlcnR5KEV4ZWNTdGF0ZSosIGludCB0b2tl
bikgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIHB1dChFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlm
aWVyJiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUqLCBpbnQgYXR0ciA9IE5vbmUpOwotICAgIHZpcnR1
YWwgYm9vbCB0b0Jvb2xlYW4oRXhlY1N0YXRlKikgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQotICAg
IHZpcnR1YWwgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8oKSBjb25zdCB7IHJldHVybiAmaW5m
bzsgfQotICAgIHN0YXRpYyBjb25zdCBDbGFzc0luZm8gaW5mbzsKLSAgICBlbnVtIHsgVHlwZSwg
RGlzYWJsZWQsIE93bmVyTm9kZSwgUGFyZW50U3R5bGVTaGVldCwgSHJlZiwgVGl0bGUsIE1lZGlh
IH07Ci0gICAgV2ViQ29yZTo6U3R5bGVTaGVldCogaW1wbCgpIGNvbnN0IHsgcmV0dXJuIG1faW1w
bC5nZXQoKTsgfQotICBwcm90ZWN0ZWQ6Ci0gICAgLy8gQ29uc3RydWN0b3IgZm9yIGRlcml2ZWQg
Y2xhc3NlczsgZG9lc24ndCBzZXQgdXAgYSBwcm90b3R5cGUuCi0gICAgRE9NU3R5bGVTaGVldChX
ZWJDb3JlOjpTdHlsZVNoZWV0Kik7Ci0gIHByaXZhdGU6Ci0gICAgUmVmUHRyPFdlYkNvcmU6OlN0
eWxlU2hlZXQ+IG1faW1wbDsKLSAgfTsKLQotICBKU1ZhbHVlKiB0b0pTKEV4ZWNTdGF0ZSosIFBh
c3NSZWZQdHI8V2ViQ29yZTo6U3R5bGVTaGVldD4pOwotCiAgIGNsYXNzIERPTVN0eWxlU2hlZXRM
aXN0IDogcHVibGljIERPTU9iamVjdCB7CiAgIHB1YmxpYzoKICAgICBET01TdHlsZVNoZWV0TGlz
dChFeGVjU3RhdGUqLCBXZWJDb3JlOjpTdHlsZVNoZWV0TGlzdCosIFdlYkNvcmU6OkRvY3VtZW50
Kik7CkBAIC0xMDksNyArODksNyBAQCBuYW1lc3BhY2UgS0pTIHsKIAogICBKU1ZhbHVlKiB0b0pT
KEV4ZWNTdGF0ZSosIFdlYkNvcmU6Ok1lZGlhTGlzdCopOwogCi0gIGNsYXNzIERPTUNTU1N0eWxl
U2hlZXQgOiBwdWJsaWMgRE9NU3R5bGVTaGVldCB7CisgIGNsYXNzIERPTUNTU1N0eWxlU2hlZXQg
OiBwdWJsaWMgV2ViQ29yZTo6SlNTdHlsZVNoZWV0IHsKICAgcHVibGljOgogICAgIERPTUNTU1N0
eWxlU2hlZXQoRXhlY1N0YXRlKiwgV2ViQ29yZTo6Q1NTU3R5bGVTaGVldCopOwogICAgIHZpcnR1
YWwgfkRPTUNTU1N0eWxlU2hlZXQoKTsKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01V
dGlsaXR5Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01VdGlsaXR5
Lm1tCShyZXZpc2lvbiAyMTg1NSkKKysrIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01VdGlsaXR5
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3IEBACiAjaW1wb3J0ICJKU0hUTUxPcHRp
b25zQ29sbGVjdGlvbi5oIgogI2ltcG9ydCAiSlNOb2RlSXRlcmF0b3IuaCIKICNpbXBvcnQgIkpT
UmFuZ2UuaCIKKyNpbXBvcnQgIkpTU3R5bGVTaGVldC5oIgogI2ltcG9ydCAiSlNUcmVlV2Fsa2Vy
LmgiCiAjaW1wb3J0ICJKU1hQYXRoRXhwcmVzc2lvbi5oIgogI2ltcG9ydCAiSlNYUGF0aFJlc3Vs
dC5oIgpAQCAtNzAsNiArNzEsNyBAQCBzdGF0aWMgaW5saW5lIGlkIGNyZWF0ZURPTVdyYXBwZXIo
S0pTOjpKCiAgICAgV1JBUChDb3VudGVyKQogICAgIFdSQVAoSFRNTE9wdGlvbnNDb2xsZWN0aW9u
KQogICAgIFdSQVAoUmFuZ2UpCisgICAgV1JBUChTdHlsZVNoZWV0KQogICAgIFdSQVAoWFBhdGhF
eHByZXNzaW9uKQogICAgIFdSQVAoWFBhdGhSZXN1bHQpCiAKQEAgLTg4LDcgKzkwLDYgQEAgc3Rh
dGljIGlubGluZSBpZCBjcmVhdGVET01XcmFwcGVyKEtKUzo6SgogICAgIFdSQVAoTm9kZUxpc3Qp
CiAgICAgV1JBUChSR0JDb2xvcikKICAgICBXUkFQKFJlY3QpCi0gICAgV1JBUChTdHlsZVNoZWV0
KQogICAgIFdSQVAoU3R5bGVTaGVldExpc3QpCiAKICAgICAjdW5kZWYgV1JBUApJbmRleDogV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCShyZXZpc2lvbiAyMTg1
NSkKKysrIFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0JKHdvcmtp
bmcgY29weSkKQEAgLTE2Miw3ICsxNjIsNyBAQCBzdWIgVXNlc01hbnVhbFRvSlNJbXBsZW1lbnRh
dGlvbgogewogICAgIG15ICR0eXBlID0gc2hpZnQ7CiAKLSAgICByZXR1cm4gMSBpZiAkdHlwZSBl
cSAiU1ZHUGF0aFNlZyI7CisgICAgcmV0dXJuIDEgaWYgJHR5cGUgZXEgIlNWR1BhdGhTZWciIG9y
ICR0eXBlIGVxICJTdHlsZVNoZWV0IjsKICAgICByZXR1cm4gMDsKIH0KIApJbmRleDogV2ViQ29y
ZS9jc3MvU3R5bGVTaGVldC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvU3R5bGVTaGVl
dC5pZGwJKHJldmlzaW9uIDIxODU1KQorKysgV2ViQ29yZS9jc3MvU3R5bGVTaGVldC5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2IEFw
cGxlIENvbXB1dGVyLCBJbmMuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWlu
aWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTIxLDEzICsyMSwxMyBA
QAogbW9kdWxlIHN0eWxlc2hlZXRzIHsKIAogICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVs
IDI6Ci0gICAgaW50ZXJmYWNlIFtPYmpDQ3VzdG9tSW50ZXJuYWxJbXBsXSBTdHlsZVNoZWV0IHsK
LSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyAgICAgICAgdHlwZTsKKyAgICBp
bnRlcmZhY2UgW0dlbmVyYXRlQ29uc3RydWN0b3IsIE9iakNDdXN0b21JbnRlcm5hbEltcGxdIFN0
eWxlU2hlZXQgeworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsU3RyaW5n
VG89TnVsbF0gRE9NU3RyaW5nICAgICAgICB0eXBlOwogICAgICAgICAgICAgICAgICBhdHRyaWJ1
dGUgYm9vbGVhbiAgICAgICAgICBkaXNhYmxlZDsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IE5vZGUgICAgICAgICAgICAgb3duZXJOb2RlOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
U3R5bGVTaGVldCAgICAgICBwYXJlbnRTdHlsZVNoZWV0OwotICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgRE9NU3RyaW5nICAgICAgICBocmVmOwotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
RE9NU3RyaW5nICAgICAgICB0aXRsZTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtDb252
ZXJ0TnVsbFN0cmluZ1RvPU51bGxdIERPTVN0cmluZyAgICAgICAgaHJlZjsKKyAgICAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFN0cmluZ1RvPU51bGxdIERPTVN0cmluZyAgICAg
ICAgdGl0bGU7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBNZWRpYUxpc3QgICAgICAgIG1l
ZGlhOwogICAgIH07CiAKSW5kZXg6IFdlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCShyZXZpc2lvbiAyMTg1NSkKKysrIFdl
YkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00Niw5ICs0Niw4IEBA
IG1vZHVsZSB3aW5kb3cgewogICAgICAgICBhdHRyaWJ1dGUgQ1NTUnVsZUNvbnN0cnVjdG9yIENT
U1J1bGU7CiAgICAgICAgIGF0dHJpYnV0ZSBDU1NTdHlsZURlY2xhcmF0aW9uQ29uc3RydWN0b3Ig
Q1NTU3R5bGVEZWNsYXJhdGlvbjsKICAgICAgICAgYXR0cmlidXRlIENTU1ZhbHVlQ29uc3RydWN0
b3IgQ1NTVmFsdWU7Ci0gICAgICAgIGF0dHJpYnV0ZSBET01QYXJzZXJDb25zdHJ1Y3RvciBET01Q
YXJzZXI7Ci0gICAgICAgIGF0dHJpYnV0ZSBFdmVudENvbnN0cnVjdG9yIEV2ZW50OwotICAgICAg
ICAKKyAgICAgICAgYXR0cmlidXRlIFN0eWxlU2hlZXRDb25zdHJ1Y3RvciBTdHlsZVNoZWV0Owor
CiAgICAgICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhlIGNvbW1lbnRlZC1vdXQgZ2xvYmFsIGNv
bnN0cnVjdG9ycyBmb3IgaW50ZXJmYWNlcyBsaXN0ZWQgaW4gRE9NIExldmVsIDMgQ29yZSBzcGVj
aWZpY2F0aW9uLgogLy8gICAgICAgIGF0dHJpYnV0ZSBET01FeGNlcHRpb25Db25zdHJ1Y3RvciBE
T01FeGNlcHRpb247CiAvLyAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZ0xpc3RDb25zdHJ1Y3Rv
ciBET01TdHJpbmdMaXN0OwpAQCAtOTEsOSArOTAsMTEgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAg
ICAgIGF0dHJpYnV0ZSBIVE1MQmxvY2txdW90ZUVsZW1lbnRDb25zdHJ1Y3RvciBIVE1MQmxvY2tx
dW90ZUVsZW1lbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBIVE1MQm9keUVsZW1lbnRDb25zdHJ1Y3Rv
ciBIVE1MQm9keUVsZW1lbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBIVE1MQnV0dG9uRWxlbWVudENv
bnN0cnVjdG9yIEhUTUxCdXR0b25FbGVtZW50OworICAgICAgICBhdHRyaWJ1dGUgSFRNTENhbnZh
c0VsZW1lbnRDb25zdHJ1Y3RvciBIVE1MQ2FudmFzRWxlbWVudDsKICAgICAgICAgYXR0cmlidXRl
IEhUTUxETGlzdEVsZW1lbnRDb25zdHJ1Y3RvciBIVE1MRExpc3RFbGVtZW50OwogICAgICAgICBh
dHRyaWJ1dGUgSFRNTERpcmVjdG9yeUVsZW1lbnRDb25zdHJ1Y3RvciBIVE1MRGlyZWN0b3J5RWxl
bWVudDsKICAgICAgICAgYXR0cmlidXRlIEhUTUxEaXZFbGVtZW50Q29uc3RydWN0b3IgSFRNTERp
dkVsZW1lbnQ7CisgICAgICAgIGF0dHJpYnV0ZSBIVE1MRW1iZWRFbGVtZW50Q29uc3RydWN0b3Ig
SFRNTEVtYmVkRWxlbWVudDsKICAgICAgICAgYXR0cmlidXRlIEhUTUxGaWVsZFNldEVsZW1lbnRD
b25zdHJ1Y3RvciBIVE1MRmllbGRTZXRFbGVtZW50OwogICAgICAgICBhdHRyaWJ1dGUgSFRNTEZv
bnRFbGVtZW50Q29uc3RydWN0b3IgSFRNTEZvbnRFbGVtZW50OwogICAgICAgICBhdHRyaWJ1dGUg
SFRNTEZvcm1FbGVtZW50Q29uc3RydWN0b3IgSFRNTEZvcm1FbGVtZW50OwpAQCAtMTEyLDYgKzEx
Myw3IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBhdHRyaWJ1dGUgSFRNTExlZ2VuZEVsZW1l
bnRDb25zdHJ1Y3RvciBIVE1MTGVnZW5kRWxlbWVudDsKICAgICAgICAgYXR0cmlidXRlIEhUTUxM
aW5rRWxlbWVudENvbnN0cnVjdG9yIEhUTUxMaW5rRWxlbWVudDsKICAgICAgICAgYXR0cmlidXRl
IEhUTUxNYXBFbGVtZW50Q29uc3RydWN0b3IgSFRNTE1hcEVsZW1lbnQ7CisgICAgICAgIGF0dHJp
YnV0ZSBIVE1MTWFycXVlZUVsZW1lbnRDb25zdHJ1Y3RvciBIVE1MTWFycXVlZUVsZW1lbnQ7CiAg
ICAgICAgIGF0dHJpYnV0ZSBIVE1MTWVudUVsZW1lbnRDb25zdHJ1Y3RvciBIVE1MTWVudUVsZW1l
bnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBIVE1MTWV0YUVsZW1lbnRDb25zdHJ1Y3RvciBIVE1MTWV0
YUVsZW1lbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBIVE1MTW9kRWxlbWVudENvbnN0cnVjdG9yIEhU
TUxNb2RFbGVtZW50OwpAQCAtMTM1LDExICsxMzcsMTAgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAg
ICAgIGF0dHJpYnV0ZSBIVE1MVGV4dEFyZWFFbGVtZW50Q29uc3RydWN0b3IgSFRNTFRleHRBcmVh
RWxlbWVudDsKICAgICAgICAgYXR0cmlidXRlIEhUTUxUaXRsZUVsZW1lbnRDb25zdHJ1Y3RvciBI
VE1MVGl0bGVFbGVtZW50OwogICAgICAgICBhdHRyaWJ1dGUgSFRNTFVMaXN0RWxlbWVudENvbnN0
cnVjdG9yIEhUTUxVTGlzdEVsZW1lbnQ7Ci0gICAgICAgIGF0dHJpYnV0ZSBIVE1MQ2FudmFzRWxl
bWVudENvbnN0cnVjdG9yIEhUTUxDYW52YXNFbGVtZW50OwotICAgICAgICBhdHRyaWJ1dGUgSFRN
TEVtYmVkRWxlbWVudENvbnN0cnVjdG9yIEhUTUxFbWJlZEVsZW1lbnQ7Ci0gICAgICAgIGF0dHJp
YnV0ZSBIVE1MTWFycXVlZUVsZW1lbnRDb25zdHJ1Y3RvciBIVE1MTWFycXVlZUVsZW1lbnQ7CiAK
KyAgICAgICAgYXR0cmlidXRlIEV2ZW50Q29uc3RydWN0b3IgRXZlbnQ7CiAgICAgICAgIGF0dHJp
YnV0ZSBNdXRhdGlvbkV2ZW50Q29uc3RydWN0b3IgTXV0YXRpb25FdmVudDsKKwogICAgICAgICBh
dHRyaWJ1dGUgTm9kZUZpbHRlckNvbnN0cnVjdG9yIE5vZGVGaWx0ZXI7CiAgICAgICAgIGF0dHJp
YnV0ZSBSYW5nZUNvbnN0cnVjdG9yIFJhbmdlOwogICAgICAgICBhdHRyaWJ1dGUgUmFuZ2VFeGNl
cHRpb25Db25zdHJ1Y3RvciBSYW5nZUV4Y2VwdGlvbjsKQEAgLTE0OCw2ICsxNDksNyBAQCBtb2R1
bGUgd2luZG93IHsKICAgICAgICAgLy8gV2UganVzdCB1c2UgRG9jdW1lbnQgZm9yIHRoaXMuCiAg
ICAgICAgIGF0dHJpYnV0ZSBEb2N1bWVudENvbnN0cnVjdG9yIFhNTERvY3VtZW50OwogCisgICAg
ICAgIGF0dHJpYnV0ZSBET01QYXJzZXJDb25zdHJ1Y3RvciBET01QYXJzZXI7CiAgICAgICAgIGF0
dHJpYnV0ZSBYTUxTZXJpYWxpemVyQ29uc3RydWN0b3IgWE1MU2VyaWFsaXplcjsKIAogI2lmIEVO
QUJMRV9YUEFUSApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjE4NjIpCisrKyBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMiBAQAorMjAwNy0wNS0yOSAgU2FtIFdl
aW5pZyAgPHNhbUB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFVwZGF0ZSByZXN1bHRzIGFmdGVyIGh0dHA6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEzOTA4CisgICAgICAgIEF1dG9nZW5lcmF0ZSB0aGUgSlMgYmlu
ZGluZ3MgZm9yIHRoZSBTdHlsZVNoZWV0CisKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2lu
ZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0OiBBZGRzIFN0eWxlU2hlZXQgY29uc3RydWN0b3IK
KwogMjAwNy0wNS0yOSAgTWl0eiBQZXR0ZWwgIDxtaXR6QHdlYmtpdC5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgTWFjaWVqLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dp
bmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAy
MTg1NSkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTc0Myw2ICs3NDMsOCBAQCB3aW5kb3cuUmFu
Z2VFeGNlcHRpb24ucHJvdG90eXBlIFtvYmplY3QgCiB3aW5kb3cuUmFuZ2VFeGNlcHRpb24ucHJv
dG90eXBlLkJBRF9CT1VOREFSWVBPSU5UU19FUlIgW251bWJlcl0KIHdpbmRvdy5SYW5nZUV4Y2Vw
dGlvbi5wcm90b3R5cGUuSU5WQUxJRF9OT0RFX1RZUEVfRVJSIFtudW1iZXJdCiB3aW5kb3cuUmVm
ZXJlbmNlRXJyb3IgW2Z1bmN0aW9uXQord2luZG93LlN0eWxlU2hlZXQgW29iamVjdCBTdHlsZVNo
ZWV0Q29uc3RydWN0b3JdCit3aW5kb3cuU3R5bGVTaGVldC5wcm90b3R5cGUgW29iamVjdCBTdHls
ZVNoZWV0UHJvdG90eXBlXQogd2luZG93LlN5bnRheEVycm9yIFtmdW5jdGlvbl0KIHdpbmRvdy5U
ZXh0IFtvYmplY3QgVGV4dENvbnN0cnVjdG9yXQogd2luZG93LlRleHQucHJvdG90eXBlIFtwcmlu
dGVkIGFib3ZlIGFzIHdpbmRvdy5DaGFyYWN0ZXJEYXRhLnByb3RvdHlwZV0K
</data>
<flag name="review"
          id="6093"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>