<?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>35839</bug_id>
          
          <creation_ts>2010-03-06 19:10:44 -0800</creation_ts>
          <short_desc>Move debug only JS wrapper-set tracking code into its own file</short_desc>
          <delta_ts>2010-03-06 19:42:52 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>196964</commentid>
    <comment_count>0</comment_count>
      <attachid>50163</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-03-06 19:10:44 -0800</bug_when>
    <thetext>Created attachment 50163
patch

Move debug only JS wrapper-set tracking code into its own file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196968</commentid>
    <comment_count>1</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-03-06 19:42:52 -0800</bug_when>
    <thetext>Landed in r55632.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50163</attachid>
            <date>2010-03-06 19:10:44 -0800</date>
            <delta_ts>2010-03-06 19:27:00 -0800</delta_ts>
            <desc>patch</desc>
            <filename>wrapperset.diff</filename>
            <type>text/plain</type>
            <size>27337</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NTYzMSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzQgQEAKKzIwMTAtMDMtMDYgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3ZlIGRl
YnVnIG9ubHkgSlMgd3JhcHBlci1zZXQgdHJhY2tpbmcgY29kZSBpbnRvIGl0cyBvd24gZmlsZS4K
KworICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAg
ICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNh
Y2hlRE9NT2JqZWN0V3JhcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpmb3JnZXRET01PYmplY3Qp
OgorICAgICAgICAoV2ViQ29yZTo6Zm9yZ2V0RE9NTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpj
YWNoZURPTU5vZGVXcmFwcGVyKToKKyAgICAgICAgKFdlYkNvcmU6OnRha2VXcmFwcGVycyk6Cisg
ICAgICAgIChXZWJDb3JlOjp1cGRhdGVET01Ob2RlRG9jdW1lbnQpOgorICAgICAgICAqIGJpbmRp
bmdzL2pzL0pTRE9NV3JhcHBlci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RE9NT2Jq
ZWN0Ojp+RE9NT2JqZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTU9iamVjdDo6ZGVmaW5lT3du
UHJvcGVydHkpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmNwcDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpKU0RlYnVnV3JhcHBlclNldDo6c2hhcmVkKToKKyAg
ICAgICAgKFdlYkNvcmU6OkpTRGVidWdXcmFwcGVyU2V0OjpKU0RlYnVnV3JhcHBlclNldCk6Cisg
ICAgICAgICogYmluZGluZ3MvanMvSlNEZWJ1Z1dyYXBwZXJTZXQuaDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlOjpKU0RlYnVnV3JhcHBlclNldDo6YWRkKToKKyAgICAgICAgKFdlYkNvcmU6OkpT
RGVidWdXcmFwcGVyU2V0OjpyZW1vdmUpOgorICAgICAgICAoV2ViQ29yZTo6SlNEZWJ1Z1dyYXBw
ZXJTZXQ6OmNvbnRhaW5zKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRGVidWdXcmFwcGVyU2V0Ojp3
aWxsQ2FjaGVXcmFwcGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRGVidWdXcmFwcGVyU2V0Ojpk
aWRVbmNhY2hlV3JhcHBlcik6CisKIDIwMTAtMDMtMDYgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0
Lm9yZz4KIAogICAgICAgICBSdWJiZXItc3RhbXBlZCBieSBEYW4gQmVybnN0ZWluLgpJbmRleDog
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0dOVW1ha2VmaWxl
LmFtCShyZXZpc2lvbiA1NTYzMSkKKysrIFdlYkNvcmUvR05VbWFrZWZpbGUuYW0JKHdvcmtpbmcg
Y29weSkKQEAgLTM1NSw2ICszNTUsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUv
YmluZGluZ3MvanMvSlNEYXRhR3JpZENvbHVtbkxpc3RDdXN0b20uY3BwIFwKIAlXZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRGF0YUdyaWREYXRhU291cmNlLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RhdGFHcmlkRGF0YVNvdXJjZS5oIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVidWdX
cmFwcGVyU2V0LmNwcCBcCisJV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RlYnVnV3JhcHBlclNldC5o
IFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ1NTUnVsZUN1c3RvbS5jcHAgXAogCVdlYkNvcmUv
YmluZGluZ3MvanMvSlNDU1NSdWxlTGlzdEN1c3RvbS5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3Mv
anMvSlNDU1NTdHlsZURlY2xhcmF0aW9uQ3VzdG9tLmNwcCBcCkBAIC0zODUsNiArMzg3LDcgQEAg
d2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3Vz
dG9tLmggXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHAgXAogCVdl
YkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5oIFwKKwlXZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NV3JhcHBlci5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVy
LmggXAogCVdlYkNvcmUvYmluZGluZ3MvanMvSlNEb2N1bWVudEN1c3RvbS5jcHAgXAogCVdlYkNv
cmUvYmluZGluZ3MvanMvSlNEb2N1bWVudEZyYWdtZW50Q3VzdG9tLmNwcCBcCkluZGV4OiBXZWJD
b3JlL1dlYkNvcmUuZ3lwaQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUuZ3lwaQkocmV2
aXNpb24gNTU2MzEpCisrKyBXZWJDb3JlL1dlYkNvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAt
NTA1LDYgKzUwNSw4IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNEYXRhR3JpZERhdGFT
b3VyY2UuY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0RhdGFHcmlkRGF0YVNvdXJj
ZS5oJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0RlZGljYXRlZFdvcmtlckNvbnRleHRD
dXN0b20uY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0RlYnVnV3JhcHBlclNldC5j
cHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmgnLAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwJywKICAgICAgICAgICAg
ICdiaW5kaW5ncy9qcy9KU0RvY3VtZW50RnJhZ21lbnRDdXN0b20uY3BwJywKICAgICAgICAgICAg
ICdiaW5kaW5ncy9qcy9KU0RPTUFwcGxpY2F0aW9uQ2FjaGVDdXN0b20uY3BwJywKQEAgLTUxOCw2
ICs1MjAsNyBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmgn
LAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwJywKICAgICAg
ICAgICAgICdiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmgnLAorICAgICAgICAgICAgJ2Jp
bmRpbmdzL2pzL0pTRE9NV3JhcHBlci5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pT
RE9NV3JhcHBlci5oJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0VsZW1lbnRDdXN0b20u
Y3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcCcsCkluZGV4
OiBXZWJDb3JlL1dlYkNvcmUucHJvCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5wcm8J
KHJldmlzaW9uIDU1NjMxKQorKysgV2ViQ29yZS9XZWJDb3JlLnBybwkod29ya2luZyBjb3B5KQpA
QCAtMjg2LDEyICsyODYsMTQgQEAgU09VUkNFUyArPSBcCiAgICAgYmluZGluZ3MvanMvSlNDdXN0
b21YUGF0aE5TUmVzb2x2ZXIuY3BwIFwKICAgICBiaW5kaW5ncy9qcy9KU0RhdGFHcmlkQ29sdW1u
TGlzdEN1c3RvbS5jcHAgXAogICAgIGJpbmRpbmdzL2pzL0pTRGF0YUdyaWREYXRhU291cmNlLmNw
cCBcCisgICAgYmluZGluZ3MvanMvSlNEZWJ1Z1dyYXBwZXJTZXQuY3BwIFwKICAgICBiaW5kaW5n
cy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNwcCBcCiAgICAgYmluZGluZ3MvanMvSlNEb2N1bWVudEZy
YWdtZW50Q3VzdG9tLmNwcCBcCiAgICAgYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3Bw
IFwKICAgICBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwIFwKICAgICBiaW5kaW5ncy9q
cy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAgXAogICAgIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hl
bGwuY3BwIFwKKyAgICBiaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXIuY3BwIFwKICAgICBiaW5kaW5n
cy9qcy9KU0VsZW1lbnRDdXN0b20uY3BwIFwKICAgICBiaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9t
LmNwcCBcCiAgICAgYmluZGluZ3MvanMvSlNFdmVudFNvdXJjZUNvbnN0cnVjdG9yLmNwcCBcCkBA
IC0xMDE4LDYgKzEwMjAsNyBAQCBIRUFERVJTICs9IFwKICAgICBiaW5kaW5ncy9qcy9KU0N1c3Rv
bVhQYXRoTlNSZXNvbHZlci5oIFwKICAgICBiaW5kaW5ncy9qcy9KU0RhdGFiYXNlQ2FsbGJhY2su
aCBcCiAgICAgYmluZGluZ3MvanMvSlNEYXRhR3JpZERhdGFTb3VyY2UuaCBcCisgICAgYmluZGlu
Z3MvanMvSlNEZWJ1Z1dyYXBwZXJTZXQuaCBcCiAgICAgYmluZGluZ3MvanMvSlNET01CaW5kaW5n
LmggXAogICAgIGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmggXAogICAgIGJpbmRpbmdz
L2pzL0pTRE9NV2luZG93QmFzZS5oIFwKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvagkocmV2aXNpb24gNTU2MzEpCisrKyBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0zNTgwOCw2ICszNTgwOCwxNCBAQAogCQkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPg0KIAkJCQk8L0ZpbGU+DQogCQkJCTxGaWxlDQorCQkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTRGVidWdXcmFwcGVyU2V0LmNwcCINCisJCQkJCT4N
CisJCQkJPC9GaWxlPg0KKwkJCQk8RmlsZQ0KKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5n
c1xqc1xKU0RlYnVnV3JhcHBlclNldC5oIg0KKwkJCQkJPg0KKwkJCQk8L0ZpbGU+DQorCQkJCTxG
aWxlDQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTRE9NQmluZGluZy5jcHAi
DQogCQkJCQk+DQogCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBAIC0zNjAzMiw2ICszNjA0MCwx
MCBAQAogCQkJCQk+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCisJCQkJCVJlbGF0aXZlUGF0
aD0iLi5cYmluZGluZ3NcanNcSlNET01XcmFwcGVyLmNwcCINCisJCQkJCT4NCisJCQkJPC9GaWxl
Pg0KKwkJCQk8RmlsZQ0KIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU0RPTVdy
YXBwZXIuaCINCiAJCQkJCT4NCiAJCQkJPC9GaWxlPg0KSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiA1NTYzMSkKKysrIFdlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00MjYzLDYg
KzQyNjMsOSBAQAogCQlCQzUzREE0ODExNDMxMzREMDAwRDgxN0UgLyogRE9NV3JhcHBlcldvcmxk
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNTNE
QTQ3MTE0MzEzNEQwMDBEODE3RSAvKiBET01XcmFwcGVyV29ybGQuY3BwICovOyB9OwogCQlCQzUz
REE2MDExNDMxNDFBMDAwRDgxN0UgLyogRE9NT2JqZWN0SGFzaFRhYmxlTWFwLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzUzREE1RjExNDMxNDFBMDAw
RDgxN0UgLyogRE9NT2JqZWN0SGFzaFRhYmxlTWFwLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkM1M0RBNjIxMTQzMTRCRDAwMEQ4MTdFIC8qIERP
TU9iamVjdEhhc2hUYWJsZU1hcC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCQzUzREE2MTExNDMxNEJEMDAwRDgxN0UgLyogRE9NT2JqZWN0SGFzaFRh
YmxlTWFwLmNwcCAqLzsgfTsKKwkJQkM1M0RBQzIxMTQzMkVFRTAwMEQ4MTdFIC8qIEpTRGVidWdX
cmFwcGVyU2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCQzUzREFDMTExNDMyRUVFMDAwRDgxN0UgLyogSlNEZWJ1Z1dyYXBwZXJTZXQuaCAqLzsgfTsK
KwkJQkM1M0RBQzUxMTQzMkZEOTAwMEQ4MTdFIC8qIEpTRGVidWdXcmFwcGVyU2V0LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNTNEQUM0MTE0MzJG
RDkwMDBEODE3RSAvKiBKU0RlYnVnV3JhcHBlclNldC5jcHAgKi87IH07CisJCUJDNTNEQUM3MTE0
MzMwNjQwMDBEODE3RSAvKiBKU0RPTVdyYXBwZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM1M0RBQzYxMTQzMzA2NDAwMEQ4MTdFIC8qIEpTRE9N
V3JhcHBlci5jcHAgKi87IH07CiAJCUJDNTZDQjIxMTBENUFDODAwMEE3N0M2NCAvKiBHZW9sb2Nh
dGlvbkNvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQkM1NkNCMUMxMEQ1QUM4MDAwQTc3QzY0IC8qIEdlb2xvY2F0aW9uQ29udHJvbGxl
ci5jcHAgKi87IH07CiAJCUJDNTZDQjIyMTBENUFDODAwMEE3N0M2NCAvKiBHZW9sb2NhdGlvbkNv
bnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEJDNTZDQjFEMTBENUFDODAwMEE3N0M2NCAvKiBHZW9sb2NhdGlvbkNvbnRyb2xsZXIuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzU2Q0IyMzEw
RDVBQzgwMDBBNzdDNjQgLyogR2VvbG9jYXRpb25Db250cm9sbGVyQ2xpZW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzU2Q0IxRTEwRDVBQzgwMDBB
NzdDNjQgLyogR2VvbG9jYXRpb25Db250cm9sbGVyQ2xpZW50LmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTk1NDcsNiArOTU1MCw5IEBACiAJCUJD
NTNEQTQ3MTE0MzEzNEQwMDBEODE3RSAvKiBET01XcmFwcGVyV29ybGQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRE9NV3JhcHBlcldvcmxkLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM1M0RBNUYxMTQzMTQxQTAwMEQ4MTdFIC8qIERPTU9iamVj
dEhhc2hUYWJsZU1hcC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01PYmpl
Y3RIYXNoVGFibGVNYXAuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM1M0RBNjEx
MTQzMTRCRDAwMEQ4MTdFIC8qIERPTU9iamVjdEhhc2hUYWJsZU1hcC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01PYmplY3RIYXNoVGFibGVNYXAuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzUzREFDMTExNDMyRUVFMDAwRDgxN0UgLyogSlNE
ZWJ1Z1dyYXBwZXJTZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNEZWJ1
Z1dyYXBwZXJTZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkM1M0RBQzQxMTQz
MkZEOTAwMEQ4MTdFIC8qIEpTRGVidWdXcmFwcGVyU2V0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEpTRGVidWdXcmFwcGVyU2V0LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQkM1M0RBQzYxMTQzMzA2NDAwMEQ4MTdFIC8qIEpTRE9NV3JhcHBlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RPTVdyYXBwZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzU2Q0IxQzEwRDVBQzgwMDBBNzdDNjQg
LyogR2VvbG9jYXRpb25Db250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEdlb2xvY2F0aW9uQ29udHJvbGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUJDNTZDQjFEMTBENUFDODAwMEE3N0M2NCAvKiBHZW9sb2NhdGlvbkNvbnRyb2xs
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR2VvbG9jYXRpb25Db250cm9s
bGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDNTZDQjFFMTBENUFDODAwMEE3
N0M2NCAvKiBHZW9sb2NhdGlvbkNvbnRyb2xsZXJDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gR2VvbG9jYXRpb25Db250cm9sbGVyQ2xpZW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0xNDY5Niw4ICsxNDcwMiw4IEBACiAJCQkJQkM1M0RBMkQxMTQz
MTIxRTAwMEQ4MTdFIC8qIERPTVdyYXBwZXJXb3JsZC5oICovLAogCQkJCTE0MzJFODQ4MEM1MTQ5
M0YwMEIxNTAwRiAvKiBHQ0NvbnRyb2xsZXIuY3BwICovLAogCQkJCTE0MzJFODQ2MEM1MTQ5Mzgw
MEIxNTAwRiAvKiBHQ0NvbnRyb2xsZXIuaCAqLywKLQkJCQlCNUQzNjAxRTExMkY4QkE4MDA0OERF
QTggLyogSlNEYXRhYmFzZUNhbGxiYWNrLmNwcCAqLywKLQkJCQlCNUQzNjAxQzExMkY4QkEwMDA0
OERFQTggLyogSlNEYXRhYmFzZUNhbGxiYWNrLmggKi8sCisJCQkJQkM1M0RBQzQxMTQzMkZEOTAw
MEQ4MTdFIC8qIEpTRGVidWdXcmFwcGVyU2V0LmNwcCAqLywKKwkJCQlCQzUzREFDMTExNDMyRUVF
MDAwRDgxN0UgLyogSlNEZWJ1Z1dyYXBwZXJTZXQuaCAqLywKIAkJCQk5M0I3MEQ0NzA5RUIwQzdD
MDA5RDg0NjggLyogSlNET01CaW5kaW5nLmNwcCAqLywKIAkJCQk5M0I3MEQ0ODA5RUIwQzdDMDA5
RDg0NjggLyogSlNET01CaW5kaW5nLmggKi8sCiAJCQkJRTFDMzZDQkMwRUIwODA2MjAwNzQxMEJD
IC8qIEpTRE9NR2xvYmFsT2JqZWN0LmNwcCAqLywKQEAgLTE0NzA2LDYgKzE0NzEyLDcgQEAKIAkJ
CQlCQzY5MzI3MjBEN0UyOTM5MDBBRTQ0RDEgLyogSlNET01XaW5kb3dCYXNlLmggKi8sCiAJCQkJ
QkNCRkI1M0EwRENEMjlDRjAwMTlCM0U1IC8qIEpTRE9NV2luZG93U2hlbGwuY3BwICovLAogCQkJ
CUJDQkZCNTNCMERDRDI5Q0YwMDE5QjNFNSAvKiBKU0RPTVdpbmRvd1NoZWxsLmggKi8sCisJCQkJ
QkM1M0RBQzYxMTQzMzA2NDAwMEQ4MTdFIC8qIEpTRE9NV3JhcHBlci5jcHAgKi8sCiAJCQkJNjVF
MEU5NDMxMTMzQzg5RjAwQjRDQjEwIC8qIEpTRE9NV3JhcHBlci5oICovLAogCQkJCUJDNjA5MDFF
MEU5MUI4RUMwMDBDNjhCNSAvKiBKU0V2ZW50VGFyZ2V0LmNwcCAqLywKIAkJCQlCQzYwOTAxRDBF
OTFCOEVDMDAwQzY4QjUgLyogSlNFdmVudFRhcmdldC5oICovLApAQCAtMTQ4MzUsMjAgKzE0ODQy
LDYgQEAKIAkJCQlCQzU4MjVGMjBDMEI4OTM4MDA1M0YxQjUgLyogSlNDU1NTdHlsZURlY2xhcmF0
aW9uQ3VzdG9tLmNwcCAqLywKIAkJCQlCQzIwRkI3RTBDMEU4RTZDMDBEMTQ0N0YgLyogSlNDU1NW
YWx1ZUN1c3RvbS5jcHAgKi8sCiAJCQkJQkMyMEZCN0UwQzBFOEU2QzAwRDE0NDdGIC8qIEpTQ1NT
VmFsdWVDdXN0b20uY3BwICovLAotCQkJCUZFODBEN0EyMEU5QzFFRDIwMDBENkY3NSAvKiBKU0N1
c3RvbVBvc2l0aW9uQ2FsbGJhY2suY3BwICovLAotCQkJCUZFODBEN0EzMEU5QzFFRDIwMDBENkY3
NSAvKiBKU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2suaCAqLywKLQkJCQlGRTgwRDdBNDBFOUMxRUQy
MDAwRDZGNzUgLyogSlNDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2suY3BwICovLAotCQkJCUZF
ODBEN0E1MEU5QzFFRDIwMDBENkY3NSAvKiBKU0N1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjay5o
ICovLAotCQkJCTUxRUM5MjVCMENFOTBERDQwMEY5MDMwOCAvKiBKU0N1c3RvbVNRTFN0YXRlbWVu
dENhbGxiYWNrLmNwcCAqLywKLQkJCQk1MUVDOTI1QzBDRTkwREQ0MDBGOTAzMDggLyogSlNDdXN0
b21TUUxTdGF0ZW1lbnRDYWxsYmFjay5oICovLAotCQkJCTUxRUM5MjVEMENFOTBERDQwMEY5MDMw
OCAvKiBKU0N1c3RvbVNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suY3BwICovLAotCQkJCTUxRUM5
MjVFMENFOTBERDQwMEY5MDMwOCAvKiBKU0N1c3RvbVNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2su
aCAqLywKLQkJCQk1MUVDOTI1RjBDRTkwREQ0MDBGOTAzMDggLyogSlNDdXN0b21TUUxUcmFuc2Fj
dGlvbkNhbGxiYWNrLmNwcCAqLywKLQkJCQk1MUVDOTI2MDBDRTkwREQ0MDBGOTAzMDggLyogSlND
dXN0b21TUUxUcmFuc2FjdGlvbkNhbGxiYWNrLmggKi8sCi0JCQkJNTFFQzkyNjEwQ0U5MERENDAw
RjkwMzA4IC8qIEpTQ3VzdG9tU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrLmNwcCAqLywKLQkJ
CQk1MUVDOTI2MjBDRTkwREQ0MDBGOTAzMDggLyogSlNDdXN0b21TUUxUcmFuc2FjdGlvbkVycm9y
Q2FsbGJhY2suaCAqLywKLQkJCQkxQTM0MTdDODBDRUNGRjI1MDA0OUNCREUgLyogSlNDdXN0b21W
b2lkQ2FsbGJhY2suY3BwICovLAotCQkJCTFBMzQxN0M3MENFQ0ZGMjUwMDQ5Q0JERSAvKiBKU0N1
c3RvbVZvaWRDYWxsYmFjay5oICovLAogCQkJCUJDQ0U1OEFCMTA2MUU4Q0YwMDhGQjM1QSAvKiBK
U0RhdGFiYXNlQ3VzdG9tLmNwcCAqLywKIAkJCQlCQzc3RDE1MTBGRjE5QzczMDA3MDg4N0IgLyog
SlNEYXRhR3JpZENvbHVtbkxpc3RDdXN0b20uY3BwICovLAogCQkJCTQxNjJBNDUzMTAxMTQ1RTMw
MERGRjNFRCAvKiBKU0RlZGljYXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3BwICovLApAQCAtMTUx
NzUsNiArMTUxNjgsOCBAQAogCQkJCTFBMzQxN0M3MENFQ0ZGMjUwMDQ5Q0JERSAvKiBKU0N1c3Rv
bVZvaWRDYWxsYmFjay5oICovLAogCQkJCUUxMEI5M0MyMEI3M0MyOTEwMDNFRDg5MCAvKiBKU0N1
c3RvbVhQYXRoTlNSZXNvbHZlci5jcHAgKi8sCiAJCQkJRTEwQjkzN0IwQjczQzAwQTAwM0VEODkw
IC8qIEpTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyLmggKi8sCisJCQkJQjVEMzYwMUUxMTJGOEJBODAw
NDhERUE4IC8qIEpTRGF0YWJhc2VDYWxsYmFjay5jcHAgKi8sCisJCQkJQjVEMzYwMUMxMTJGOEJB
MDAwNDhERUE4IC8qIEpTRGF0YWJhc2VDYWxsYmFjay5oICovLAogCQkJCUJDQkNBRTNBMEZGMTkz
OTkwMDA3NjJBRSAvKiBKU0RhdGFHcmlkRGF0YVNvdXJjZS5jcHAgKi8sCiAJCQkJQkNCQ0FFM0Iw
RkYxOTM5OTAwMDc2MkFFIC8qIEpTRGF0YUdyaWREYXRhU291cmNlLmggKi8sCiAJCQkJOTNCNzBE
NEQwOUVCMEM3QzAwOUQ4NDY4IC8qIEpTRXZlbnRMaXN0ZW5lci5jcHAgKi8sCkBAIC0xNTE4Myw2
ICsxNTE3OCwyMCBAQAogCQkJCTkzNUY0NTQxMEY3QzNCNUYwMEQ3QzFGQiAvKiBKU0xhenlFdmVu
dExpc3RlbmVyLmggKi8sCiAJCQkJQkNCNzczNUUwQzE3ODUzRDAwMTMyQkE0IC8qIEpTTm9kZUZp
bHRlckNvbmRpdGlvbi5jcHAgKi8sCiAJCQkJQkNCNzczNUYwQzE3ODUzRDAwMTMyQkE0IC8qIEpT
Tm9kZUZpbHRlckNvbmRpdGlvbi5oICovLAorCQkJCUZFODBEN0EyMEU5QzFFRDIwMDBENkY3NSAv
KiBKU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2suY3BwICovLAorCQkJCUZFODBEN0EzMEU5QzFFRDIw
MDBENkY3NSAvKiBKU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2suaCAqLywKKwkJCQlGRTgwRDdBNDBF
OUMxRUQyMDAwRDZGNzUgLyogSlNDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2suY3BwICovLAor
CQkJCUZFODBEN0E1MEU5QzFFRDIwMDBENkY3NSAvKiBKU0N1c3RvbVBvc2l0aW9uRXJyb3JDYWxs
YmFjay5oICovLAorCQkJCTUxRUM5MjVCMENFOTBERDQwMEY5MDMwOCAvKiBKU0N1c3RvbVNRTFN0
YXRlbWVudENhbGxiYWNrLmNwcCAqLywKKwkJCQk1MUVDOTI1QzBDRTkwREQ0MDBGOTAzMDggLyog
SlNDdXN0b21TUUxTdGF0ZW1lbnRDYWxsYmFjay5oICovLAorCQkJCTUxRUM5MjVEMENFOTBERDQw
MEY5MDMwOCAvKiBKU0N1c3RvbVNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suY3BwICovLAorCQkJ
CTUxRUM5MjVFMENFOTBERDQwMEY5MDMwOCAvKiBKU0N1c3RvbVNRTFN0YXRlbWVudEVycm9yQ2Fs
bGJhY2suaCAqLywKKwkJCQk1MUVDOTI1RjBDRTkwREQ0MDBGOTAzMDggLyogSlNDdXN0b21TUUxU
cmFuc2FjdGlvbkNhbGxiYWNrLmNwcCAqLywKKwkJCQk1MUVDOTI2MDBDRTkwREQ0MDBGOTAzMDgg
LyogSlNDdXN0b21TUUxUcmFuc2FjdGlvbkNhbGxiYWNrLmggKi8sCisJCQkJNTFFQzkyNjEwQ0U5
MERENDAwRjkwMzA4IC8qIEpTQ3VzdG9tU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrLmNwcCAq
LywKKwkJCQk1MUVDOTI2MjBDRTkwREQ0MDBGOTAzMDggLyogSlNDdXN0b21TUUxUcmFuc2FjdGlv
bkVycm9yQ2FsbGJhY2suaCAqLywKKwkJCQkxQTM0MTdDODBDRUNGRjI1MDA0OUNCREUgLyogSlND
dXN0b21Wb2lkQ2FsbGJhY2suY3BwICovLAorCQkJCTFBMzQxN0M3MENFQ0ZGMjUwMDQ5Q0JERSAv
KiBKU0N1c3RvbVZvaWRDYWxsYmFjay5oICovLAogCQkJKTsKIAkJCW5hbWUgPSAiQ2FsbGJhY2sg
T2JqZWN0cyI7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMTg2NjIsNiArMTg2NzEs
NyBAQAogCQkJCUJDNTNEOTExMTE0MzEwQ0MwMDBEODE3RSAvKiBXZWJDb3JlSlNDbGllbnREYXRh
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzUzREEyRTExNDMxMjFFMDAwRDgxN0UgLyogRE9NV3Jh
cHBlcldvcmxkLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzUzREE2MDExNDMxNDFBMDAwRDgxN0Ug
LyogRE9NT2JqZWN0SGFzaFRhYmxlTWFwLmggaW4gSGVhZGVycyAqLywKKwkJCQlCQzUzREFDMjEx
NDMyRUVFMDAwRDgxN0UgLyogSlNEZWJ1Z1dyYXBwZXJTZXQuaCBpbiBIZWFkZXJzICovLAogCQkJ
KTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAt
MjA4NTksNiArMjA4NjksOCBAQAogCQkJCUI1RDM2MDFGMTEyRjhCQTgwMDQ4REVBOCAvKiBKU0Rh
dGFiYXNlQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1M0RBNDgxMTQzMTM0RDAw
MEQ4MTdFIC8qIERPTVdyYXBwZXJXb3JsZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzUzREE2
MjExNDMxNEJEMDAwRDgxN0UgLyogRE9NT2JqZWN0SGFzaFRhYmxlTWFwLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCUJDNTNEQUM1MTE0MzJGRDkwMDBEODE3RSAvKiBKU0RlYnVnV3JhcHBlclNldC5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQlCQzUzREFDNzExNDMzMDY0MDAwRDgxN0UgLyogSlNET01X
cmFwcGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50
UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RP
TUJpbmRpbmcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5k
aW5nLmNwcAkocmV2aXNpb24gNTU2MzEpCisrKyBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmlu
ZGluZy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDE0ICszNCwxNCBAQAogI2luY2x1ZGUgIkhU
TUxBdWRpb0VsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MQ2FudmFzRWxlbWVudC5oIgogI2luY2x1
ZGUgIkhUTUxJbWFnZUVsZW1lbnQuaCIKLSNpbmNsdWRlICJIVE1MU2NyaXB0RWxlbWVudC5oIgog
I2luY2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIkhUTUxTY3JpcHRFbGVtZW50LmgiCiAj
aW5jbHVkZSAiSlNET01Db3JlRXhjZXB0aW9uLmgiCiAjaW5jbHVkZSAiSlNET01XaW5kb3dDdXN0
b20uaCIKKyNpbmNsdWRlICJKU0RlYnVnV3JhcHBlclNldC5oIgogI2luY2x1ZGUgIkpTRXZlbnRF
eGNlcHRpb24uaCIKICNpbmNsdWRlICJKU0V4Y2VwdGlvbkJhc2UuaCIKICNpbmNsdWRlICJKU05v
ZGUuaCIKLSNpbmNsdWRlICJXZWJDb3JlSlNDbGllbnREYXRhLmgiCiAjaW5jbHVkZSAiSlNSYW5n
ZUV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIkpTWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uaCIKICNp
bmNsdWRlICJLVVJMLmgiCkBAIC01MCw2ICs1MCw3IEBACiAjaW5jbHVkZSAiU2NyaXB0Q2FjaGVk
RnJhbWVEYXRhLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlNl
dHRpbmdzLmgiCisjaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5oIgogI2luY2x1ZGUgIlhN
TEh0dHBSZXF1ZXN0RXhjZXB0aW9uLmgiCiAjaW5jbHVkZSA8cnVudGltZS9EYXRlSW5zdGFuY2Uu
aD4KICNpbmNsdWRlIDxydW50aW1lL0Vycm9yLmg+CkBAIC02OCwxMSArNjksNiBAQAogI2luY2x1
ZGUgIlhQYXRoRXhjZXB0aW9uLmgiCiAjZW5kaWYKIAotI2lmIEVOQUJMRShXT1JLRVJTKQotI2lu
Y2x1ZGUgPHd0Zi9UaHJlYWRTcGVjaWZpYy5oPgotdXNpbmcgbmFtZXNwYWNlIFdURjsKLSNlbmRp
ZgotCiB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC04Miw1
OCArNzgsNiBAQCB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogdHlwZWRlZiBEb2N1bWVudDo6
SlNXcmFwcGVyQ2FjaGUgSlNXcmFwcGVyQ2FjaGU7CiB0eXBlZGVmIERvY3VtZW50OjpKU1dyYXBw
ZXJDYWNoZU1hcCBKU1dyYXBwZXJDYWNoZU1hcDsKIAotLy8gRm9yIGRlYnVnZ2luZywga2VlcCBh
IHNldCBvZiB3cmFwcGVycyBjdXJyZW50bHkgY2FjaGVkLCBhbmQgY2hlY2sgdGhhdAotLy8gYWxs
IGFyZSB1bmNhY2hlZCBiZWZvcmUgdGhleSBhcmUgZGVzdHJveWVkLiBUaGlzIGhlbHBzIHVzIGNh
dGNoIGJ1Z3MgbGlrZToKLS8vICAgICAtIHdyYXBwZXJzIGJlaW5nIGRlbGV0ZWQgd2l0aG91dCBi
ZWluZyByZW1vdmVkIGZyb20gdGhlIGNhY2hlCi0vLyAgICAgLSB3cmFwcGVycyBiZWluZyBjYWNo
ZWQgdHdpY2UKLQotc3RhdGljIHZvaWQgd2lsbENhY2hlV3JhcHBlcihET01PYmplY3QqIHdyYXBw
ZXIpOwotc3RhdGljIHZvaWQgZGlkVW5jYWNoZVdyYXBwZXIoRE9NT2JqZWN0KiB3cmFwcGVyKTsK
LQotI2lmZGVmIE5ERUJVRwotCi1zdGF0aWMgaW5saW5lIHZvaWQgd2lsbENhY2hlV3JhcHBlcihE
T01PYmplY3QqKQotewotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgZGlkVW5jYWNoZVdyYXBwZXIo
RE9NT2JqZWN0KikKLXsKLX0KLQotI2Vsc2UKLQotc3RhdGljIEhhc2hTZXQ8RE9NT2JqZWN0Kj4m
IHdyYXBwZXJTZXQoKQotewotI2lmIEVOQUJMRShXT1JLRVJTKQotICAgIERFRklORV9TVEFUSUNf
TE9DQUwoVGhyZWFkU3BlY2lmaWM8SGFzaFNldDxET01PYmplY3QqPiA+LCBzdGF0aWNXcmFwcGVy
U2V0LCAoKSk7Ci0gICAgcmV0dXJuICpzdGF0aWNXcmFwcGVyU2V0OwotI2Vsc2UKLSAgICBERUZJ
TkVfU1RBVElDX0xPQ0FMKEhhc2hTZXQ8RE9NT2JqZWN0Kj4sIHN0YXRpY1dyYXBwZXJTZXQsICgp
KTsKLSAgICByZXR1cm4gc3RhdGljV3JhcHBlclNldDsKLSNlbmRpZgotfQotCi1zdGF0aWMgdm9p
ZCB3aWxsQ2FjaGVXcmFwcGVyKERPTU9iamVjdCogd3JhcHBlcikKLXsKLSAgICBBU1NFUlQoIXdy
YXBwZXJTZXQoKS5jb250YWlucyh3cmFwcGVyKSk7Ci0gICAgd3JhcHBlclNldCgpLmFkZCh3cmFw
cGVyKTsKLX0KLQotc3RhdGljIHZvaWQgZGlkVW5jYWNoZVdyYXBwZXIoRE9NT2JqZWN0KiB3cmFw
cGVyKQotewotICAgIGlmICghd3JhcHBlcikKLSAgICAgICAgcmV0dXJuOwotICAgIEFTU0VSVCh3
cmFwcGVyU2V0KCkuY29udGFpbnMod3JhcHBlcikpOwotICAgIHdyYXBwZXJTZXQoKS5yZW1vdmUo
d3JhcHBlcik7Ci19Ci0KLURPTU9iamVjdDo6fkRPTU9iamVjdCgpCi17Ci0gICAgQVNTRVJUKCF3
cmFwcGVyU2V0KCkuY29udGFpbnModGhpcykpOwotfQotCi0jZW5kaWYKLQogY2xhc3MgSlNHbG9i
YWxEYXRhV29ybGRJdGVyYXRvciB7CiBwdWJsaWM6CiAgICAgSlNHbG9iYWxEYXRhV29ybGRJdGVy
YXRvcihKU0dsb2JhbERhdGEqIGdsb2JhbERhdGEpCkBAIC0yMDAsNyArMTQ0LDcgQEAgRE9NT2Jq
ZWN0KiBnZXRDYWNoZWRET01PYmplY3RXcmFwcGVyKEpTQwogCiB2b2lkIGNhY2hlRE9NT2JqZWN0
V3JhcHBlcihKU0M6OkV4ZWNTdGF0ZSogZXhlYywgdm9pZCogb2JqZWN0SGFuZGxlLCBET01PYmpl
Y3QqIHdyYXBwZXIpIAogewotICAgIHdpbGxDYWNoZVdyYXBwZXIod3JhcHBlcik7CisgICAgSlNE
ZWJ1Z1dyYXBwZXJTZXQ6OndpbGxDYWNoZVdyYXBwZXIod3JhcHBlcik7CiAgICAgZG9tT2JqZWN0
V3JhcHBlck1hcEZvcihleGVjKS5zZXQob2JqZWN0SGFuZGxlLCB3cmFwcGVyKTsKIH0KIApAQCAt
MjI2LDcgKzE3MCw3IEBAIHZvaWQgZm9yZ2V0RE9NT2JqZWN0KERPTU9iamVjdCogd3JhcHBlciwK
ICAgICBBU1NFUlQoY2xpZW50RGF0YSk7CiAgICAgRE9NT2JqZWN0V3JhcHBlck1hcCYgd3JhcHBl
cnMgPSBzdGF0aWNfY2FzdDxXZWJDb3JlSlNDbGllbnREYXRhKj4oY2xpZW50RGF0YSktPm5vcm1h
bFdvcmxkKCktPm1fd3JhcHBlcnM7CiAgICAgaWYgKHdyYXBwZXJzLnVuY2hlY2tlZFJlbW92ZShv
YmplY3RIYW5kbGUsIHdyYXBwZXIpKSB7Ci0gICAgICAgIGRpZFVuY2FjaGVXcmFwcGVyKHdyYXBw
ZXIpOworICAgICAgICBKU0RlYnVnV3JhcHBlclNldDo6ZGlkVW5jYWNoZVdyYXBwZXIod3JhcHBl
cik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTIzNiw3ICsxODAsNyBAQCB2b2lkIGZv
cmdldERPTU9iamVjdChET01PYmplY3QqIHdyYXBwZXIsCiAgICAgICAgIGlmICh3b3JsZEl0ZXIt
Pm1fd3JhcHBlcnMudW5jaGVja2VkUmVtb3ZlKG9iamVjdEhhbmRsZSwgd3JhcHBlcikpCiAgICAg
ICAgICAgICBicmVhazsKICAgICB9Ci0gICAgZGlkVW5jYWNoZVdyYXBwZXIod3JhcHBlcik7Cisg
ICAgSlNEZWJ1Z1dyYXBwZXJTZXQ6OmRpZFVuY2FjaGVXcmFwcGVyKHdyYXBwZXIpOwogfQogCiB2
b2lkIGZvcmdldERPTU5vZGUoSlNOb2RlKiB3cmFwcGVyLCBOb2RlKiBub2RlLCBEb2N1bWVudCog
ZG9jdW1lbnQpCkBAIC0yNTUsMTIgKzE5OSwxMiBAQCB2b2lkIGZvcmdldERPTU5vZGUoSlNOb2Rl
KiB3cmFwcGVyLCBOb2RlCiAgICAgICAgIGlmICh3cmFwcGVyc0l0ZXItPnNlY29uZC0+dW5jaGVj
a2VkUmVtb3ZlKG5vZGUsIHdyYXBwZXIpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgfQotICAg
IGRpZFVuY2FjaGVXcmFwcGVyKHdyYXBwZXIpOworICAgIEpTRGVidWdXcmFwcGVyU2V0OjpkaWRV
bmNhY2hlV3JhcHBlcih3cmFwcGVyKTsKIH0KIAogdm9pZCBjYWNoZURPTU5vZGVXcmFwcGVyKEpT
Qzo6RXhlY1N0YXRlKiBleGVjLCBEb2N1bWVudCogZG9jdW1lbnQsIE5vZGUqIG5vZGUsIEpTTm9k
ZSogd3JhcHBlcikKIHsKLSAgICB3aWxsQ2FjaGVXcmFwcGVyKHdyYXBwZXIpOworICAgIEpTRGVi
dWdXcmFwcGVyU2V0Ojp3aWxsQ2FjaGVXcmFwcGVyKHdyYXBwZXIpOwogCiAgICAgaWYgKCFkb2N1
bWVudCkKICAgICAgICAgZG9tT2JqZWN0V3JhcHBlck1hcEZvcihleGVjKS5zZXQobm9kZSwgd3Jh
cHBlcik7CkBAIC00MDMsNyArMzQ3LDcgQEAgc3RhdGljIGlubGluZSB2b2lkIHRha2VXcmFwcGVy
cyhOb2RlKiBubwogICAgICAgICBKU1dyYXBwZXJDYWNoZU1hcCYgd3JhcHBlckNhY2hlTWFwID0g
ZG9jdW1lbnQtPndyYXBwZXJDYWNoZU1hcCgpOwogICAgICAgICBmb3IgKEpTV3JhcHBlckNhY2hl
TWFwOjppdGVyYXRvciBpdGVyID0gd3JhcHBlckNhY2hlTWFwLmJlZ2luKCk7IGl0ZXIgIT0gd3Jh
cHBlckNhY2hlTWFwLmVuZCgpOyArK2l0ZXIpIHsKICAgICAgICAgICAgIGlmIChKU05vZGUqIHdy
YXBwZXIgPSBpdGVyLT5zZWNvbmQtPnRha2Uobm9kZSkpIHsKLSAgICAgICAgICAgICAgICBkaWRV
bmNhY2hlV3JhcHBlcih3cmFwcGVyKTsKKyAgICAgICAgICAgICAgICBKU0RlYnVnV3JhcHBlclNl
dDo6ZGlkVW5jYWNoZVdyYXBwZXIod3JhcHBlcik7CiAgICAgICAgICAgICAgICAgd3JhcHBlclNl
dC5hcHBlbmQoV3JhcHBlckFuZFdvcmxkKHdyYXBwZXIsIGl0ZXItPmZpcnN0KSk7CiAgICAgICAg
ICAgICB9CiAgICAgICAgIH0KQEAgLTQxMSw3ICszNTUsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQg
dGFrZVdyYXBwZXJzKE5vZGUqIG5vCiAgICAgICAgIGZvciAoSlNHbG9iYWxEYXRhV29ybGRJdGVy
YXRvciB3b3JsZEl0ZXIoSlNET01XaW5kb3c6OmNvbW1vbkpTR2xvYmFsRGF0YSgpKTsgd29ybGRJ
dGVyOyArK3dvcmxkSXRlcikgewogICAgICAgICAgICAgRE9NV3JhcHBlcldvcmxkKiB3b3JsZCA9
ICp3b3JsZEl0ZXI7CiAgICAgICAgICAgICBpZiAoSlNOb2RlKiB3cmFwcGVyID0gc3RhdGljX2Nh
c3Q8SlNOb2RlKj4od29ybGQtPm1fd3JhcHBlcnMudGFrZShub2RlKSkpIHsKLSAgICAgICAgICAg
ICAgICBkaWRVbmNhY2hlV3JhcHBlcih3cmFwcGVyKTsKKyAgICAgICAgICAgICAgICBKU0RlYnVn
V3JhcHBlclNldDo6ZGlkVW5jYWNoZVdyYXBwZXIod3JhcHBlcik7CiAgICAgICAgICAgICAgICAg
d3JhcHBlclNldC5hcHBlbmQoV3JhcHBlckFuZFdvcmxkKHdyYXBwZXIsIHdvcmxkKSk7CiAgICAg
ICAgICAgICB9CiAgICAgICAgIH0KQEAgLTQyNyw3ICszNzEsNyBAQCB2b2lkIHVwZGF0ZURPTU5v
ZGVEb2N1bWVudChOb2RlKiBub2RlLCBECiAKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwg
d3JhcHBlclNldC5zaXplKCk7ICsraSkgewogICAgICAgICBKU05vZGUqIHdyYXBwZXIgPSB3cmFw
cGVyU2V0W2ldLmZpcnN0OwotICAgICAgICB3aWxsQ2FjaGVXcmFwcGVyKHdyYXBwZXIpOworICAg
ICAgICBKU0RlYnVnV3JhcHBlclNldDo6d2lsbENhY2hlV3JhcHBlcih3cmFwcGVyKTsKICAgICAg
ICAgaWYgKG5ld0RvY3VtZW50KQogICAgICAgICAgICAgbmV3RG9jdW1lbnQtPmdldFdyYXBwZXJD
YWNoZSh3cmFwcGVyU2V0W2ldLnNlY29uZCktPnNldChub2RlLCB3cmFwcGVyKTsKICAgICAgICAg
ZWxzZQpAQCAtNzkxLDEwICs3MzUsNCBAQCBKU0M6OkpTT2JqZWN0KiB0b0pTU2VxdWVuY2UoRXhl
Y1N0YXRlKiBlCiAgICAgcmV0dXJuIG9iamVjdDsKIH0KIAotYm9vbCBET01PYmplY3Q6OmRlZmlu
ZU93blByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYsIFByb3BlcnR5
RGVzY3JpcHRvciYsIGJvb2wpCi17Ci0gICAgdGhyb3dFcnJvcihleGVjLCBUeXBlRXJyb3IsICJk
ZWZpbmVQcm9wZXJ0eSBpcyBub3Qgc3VwcG9ydGVkIG9uIERPTSBPYmplY3RzIik7Ci0gICAgcmV0
dXJuIGZhbHNlOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NV3JhcHBlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTVdyYXBwZXIuY3BwCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTVdyYXBwZXIuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUxIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkpTRE9NV3JhcHBlci5oIgorCisj
aW5jbHVkZSAiSlNEZWJ1Z1dyYXBwZXJTZXQuaCIKKyNpbmNsdWRlIDxydW50aW1lL0Vycm9yLmg+
CisKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworI2lmbmRl
ZiBOREVCVUcKKworRE9NT2JqZWN0Ojp+RE9NT2JqZWN0KCkKK3sKKyAgICBBU1NFUlQoIUpTRGVi
dWdXcmFwcGVyU2V0OjpzaGFyZWQoKS5jb250YWlucyh0aGlzKSk7Cit9CisKKyNlbmRpZgorCiti
b29sIERPTU9iamVjdDo6ZGVmaW5lT3duUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJ
ZGVudGlmaWVyJiwgUHJvcGVydHlEZXNjcmlwdG9yJiwgYm9vbCkKK3sKKyAgICB0aHJvd0Vycm9y
KGV4ZWMsIFR5cGVFcnJvciwgImRlZmluZVByb3BlcnR5IGlzIG5vdCBzdXBwb3J0ZWQgb24gRE9N
IE9iamVjdHMiKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvanMvSlNEZWJ1Z1dyYXBwZXJTZXQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvanMvSlNEZWJ1Z1dyYXBwZXJTZXQuY3BwCShyZXZp
c2lvbiAwKQorKysgV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RlYnVnV3JhcHBlclNldC5jcHAJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiSlNEZWJ1Z1dyYXBwZXJTZXQuaCIKKworI2luY2x1ZGUgPHd0Zi9TdGRM
aWJFeHRyYXMuaD4KKworI2lmIEVOQUJMRShXT1JLRVJTKQorI2luY2x1ZGUgPHd0Zi9UaHJlYWRT
cGVjaWZpYy5oPgorI2VuZGlmCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworSlNEZWJ1Z1dyYXBw
ZXJTZXQmIEpTRGVidWdXcmFwcGVyU2V0OjpzaGFyZWQoKQoreworI2lmIEVOQUJMRShXT1JLRVJT
KQorICAgIERFRklORV9TVEFUSUNfTE9DQUwoV1RGOjpUaHJlYWRTcGVjaWZpYzxKU0RlYnVnV3Jh
cHBlclNldD4sIHN0YXRpY1dyYXBwZXJTZXQsICgpKTsKKyAgICByZXR1cm4gKnN0YXRpY1dyYXBw
ZXJTZXQ7CisjZWxzZQorICAgIERFRklORV9TVEFUSUNfTE9DQUwoSlNEZWJ1Z1dyYXBwZXJTZXQs
IHN0YXRpY1dyYXBwZXJTZXQsICgpKTsKKyAgICByZXR1cm4gc3RhdGljV3JhcHBlclNldDsKKyNl
bmRpZgorfQorCitKU0RlYnVnV3JhcHBlclNldDo6SlNEZWJ1Z1dyYXBwZXJTZXQoKQoreworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVi
dWdXcmFwcGVyU2V0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RlYnVn
V3JhcHBlclNldC5oCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RlYnVn
V3JhcHBlclNldC5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDg4IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2lmbmRlZiBKU0RlYnVnV3JhcHBlclNldF9oCisjZGVmaW5lIEpTRGVidWdXcmFwcGVyU2V0X2gK
KworI2luY2x1ZGUgIkpTRE9NV3JhcHBlci5oIgorI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Cisj
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworLy8g
Rm9yIGRlYnVnZ2luZywga2VlcCBhIHNldCBvZiB3cmFwcGVycyBjdXJyZW50bHkgY2FjaGVkLCBh
bmQgY2hlY2sgdGhhdAorLy8gYWxsIGFyZSB1bmNhY2hlZCBiZWZvcmUgdGhleSBhcmUgZGVzdHJv
eWVkLiBUaGlzIGhlbHBzIHVzIGNhdGNoIGJ1Z3MgbGlrZToKKy8vICAgICAtIHdyYXBwZXJzIGJl
aW5nIGRlbGV0ZWQgd2l0aG91dCBiZWluZyByZW1vdmVkIGZyb20gdGhlIGNhY2hlCisvLyAgICAg
LSB3cmFwcGVycyBiZWluZyBjYWNoZWQgdHdpY2UKKworY2xhc3MgSlNEZWJ1Z1dyYXBwZXJTZXQg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGZyaWVuZCBjbGFzcyBXVEY6OlRocmVhZFNwZWNp
ZmljPEpTRGVidWdXcmFwcGVyU2V0PjsKK3B1YmxpYzoKKyAgICBzdGF0aWMgSlNEZWJ1Z1dyYXBw
ZXJTZXQmIHNoYXJlZCgpOworCisgICAgdm9pZCBhZGQoRE9NT2JqZWN0KiBvYmplY3QpIHsgbV93
cmFwcGVyU2V0LmFkZChvYmplY3QpOyB9CisgICAgdm9pZCByZW1vdmUoRE9NT2JqZWN0KiBvYmpl
Y3QpIHsgbV93cmFwcGVyU2V0LnJlbW92ZShvYmplY3QpOyB9CisgICAgYm9vbCBjb250YWlucyhE
T01PYmplY3QqIG9iamVjdCkgY29uc3QgeyByZXR1cm4gbV93cmFwcGVyU2V0LmNvbnRhaW5zKG9i
amVjdCk7IH0KKworICAgIHN0YXRpYyB2b2lkIHdpbGxDYWNoZVdyYXBwZXIoRE9NT2JqZWN0Kik7
CisgICAgc3RhdGljIHZvaWQgZGlkVW5jYWNoZVdyYXBwZXIoRE9NT2JqZWN0Kik7CisKK3ByaXZh
dGU6CisgICAgSlNEZWJ1Z1dyYXBwZXJTZXQoKTsKKworICAgIEhhc2hTZXQ8RE9NT2JqZWN0Kj4g
bV93cmFwcGVyU2V0OworfTsKKworI2lmZGVmIE5ERUJVRworCitpbmxpbmUgdm9pZCBKU0RlYnVn
V3JhcHBlclNldDo6d2lsbENhY2hlV3JhcHBlcihET01PYmplY3QqKQoreworfQorCitpbmxpbmUg
dm9pZCBKU0RlYnVnV3JhcHBlclNldDo6ZGlkVW5jYWNoZVdyYXBwZXIoRE9NT2JqZWN0KikKK3sK
K30KKworI2Vsc2UKKworaW5saW5lIHZvaWQgSlNEZWJ1Z1dyYXBwZXJTZXQ6OndpbGxDYWNoZVdy
YXBwZXIoRE9NT2JqZWN0KiB3cmFwcGVyKQoreworICAgIEFTU0VSVCghSlNEZWJ1Z1dyYXBwZXJT
ZXQ6OnNoYXJlZCgpLmNvbnRhaW5zKHdyYXBwZXIpKTsKKyAgICBKU0RlYnVnV3JhcHBlclNldDo6
c2hhcmVkKCkuYWRkKHdyYXBwZXIpOworfQorCitpbmxpbmUgdm9pZCBKU0RlYnVnV3JhcHBlclNl
dDo6ZGlkVW5jYWNoZVdyYXBwZXIoRE9NT2JqZWN0KiB3cmFwcGVyKQoreworICAgIGlmICghd3Jh
cHBlcikKKyAgICAgICAgcmV0dXJuOworICAgIEFTU0VSVChKU0RlYnVnV3JhcHBlclNldDo6c2hh
cmVkKCkuY29udGFpbnMod3JhcHBlcikpOworICAgIEpTRGVidWdXcmFwcGVyU2V0OjpzaGFyZWQo
KS5yZW1vdmUod3JhcHBlcik7Cit9CisKKyNlbmRpZgorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZiAvLyBKU0RlYnVnV3JhcHBlclNldF9oCg==
</data>
<flag name="review"
          id="33232"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>