<?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>165271</bug_id>
          
          <creation_ts>2016-12-01 13:44:10 -0800</creation_ts>
          <short_desc>Renamed EvalCodeCache =&gt; DirectEvalCodeCache</short_desc>
          <delta_ts>2016-12-01 13:47:55 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1255426</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2016-12-01 13:44:10 -0800</bug_when>
    <thetext>Renamed EvalCodeCache =&gt; DirectEvalCodeCache</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1255427</commentid>
    <comment_count>1</comment_count>
      <attachid>295886</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2016-12-01 13:45:09 -0800</bug_when>
    <thetext>Created attachment 295886
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1255430</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-01 13:46:48 -0800</bug_when>
    <thetext>Attachment 295886 did not pass style-queue:


ERROR: Source/JavaScriptCore/bytecode/DirectEvalCodeCache.h:38:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1255431</commentid>
    <comment_count>3</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2016-12-01 13:47:55 -0800</bug_when>
    <thetext>Committed r209201: &lt;http://trac.webkit.org/changeset/209201&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>295886</attachid>
            <date>2016-12-01 13:45:09 -0800</date>
            <delta_ts>2016-12-01 13:46:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165271-20161201134439.patch</filename>
            <type>text/plain</type>
            <size>21573</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjA5MTk5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBA
CisyMDE2LTEyLTAxICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgUmVuYW1lZCBFdmFsQ29kZUNhY2hlID0+IERpcmVjdEV2YWxDb2RlQ2FjaGUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTI3MQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIG9ubHkgdXNlIHRoaXMg
Y2FjaGUgZm9yIERpcmVjdEV2YWwsIG5vdCBJbmRpcmVjdEV2YWwuCisKKyAgICAgICAgKiBKYXZh
U2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJ5dGVjb2Rl
L0NvZGVCbG9jay5jcHA6CisgICAgICAgIChKU0M6OkRpcmVjdEV2YWxDb2RlQ2FjaGU6OnZpc2l0
QWdncmVnYXRlKToKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpzdHJvbmdseVZpc2l0U3Ryb25n
UmVmZXJlbmNlcyk6CisgICAgICAgIChKU0M6OkV2YWxDb2RlQ2FjaGU6OnZpc2l0QWdncmVnYXRl
KTogRGVsZXRlZC4KKyAgICAgICAgKiBieXRlY29kZS9Db2RlQmxvY2suaDoKKyAgICAgICAgKEpT
Qzo6Q29kZUJsb2NrOjpkaXJlY3RFdmFsQ29kZUNhY2hlKToKKyAgICAgICAgKEpTQzo6Q29kZUJs
b2NrOjpldmFsQ29kZUNhY2hlKTogRGVsZXRlZC4KKyAgICAgICAgKiBieXRlY29kZS9EaXJlY3RF
dmFsQ29kZUNhY2hlLmg6IENvcGllZCBmcm9tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9FdmFsQ29kZUNhY2hlLmguCisgICAgICAgIChKU0M6OkV2YWxDb2RlQ2FjaGU6OkNhY2hlS2V5
OjpDYWNoZUtleSk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkV2YWxDb2RlQ2FjaGU6OkNhY2hl
S2V5OjpoYXNoKTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6RXZhbENvZGVDYWNoZTo6Q2FjaGVL
ZXk6OmlzRW1wdHlWYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkV2YWxDb2RlQ2FjaGU6
OkNhY2hlS2V5OjpvcGVyYXRvcj09KTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6RXZhbENvZGVD
YWNoZTo6Q2FjaGVLZXk6OmlzSGFzaFRhYmxlRGVsZXRlZFZhbHVlKTogRGVsZXRlZC4KKyAgICAg
ICAgKEpTQzo6RXZhbENvZGVDYWNoZTo6Q2FjaGVLZXk6Okhhc2g6Omhhc2gpOiBEZWxldGVkLgor
ICAgICAgICAoSlNDOjpFdmFsQ29kZUNhY2hlOjpDYWNoZUtleTo6SGFzaDo6ZXF1YWwpOiBEZWxl
dGVkLgorICAgICAgICAoSlNDOjpFdmFsQ29kZUNhY2hlOjp0cnlHZXQpOiBEZWxldGVkLgorICAg
ICAgICAoSlNDOjpFdmFsQ29kZUNhY2hlOjpzZXQpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpF
dmFsQ29kZUNhY2hlOjppc0VtcHR5KTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6RXZhbENvZGVD
YWNoZTo6Y2xlYXIpOiBEZWxldGVkLgorICAgICAgICAqIGJ5dGVjb2RlL0V2YWxDb2RlQ2FjaGUu
aDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHA6CisgICAg
ICAgIChKU0M6OmV2YWwpOgorICAgICAgICAqIHJ1bnRpbWUvRGlyZWN0RXZhbEV4ZWN1dGFibGUu
Y3BwOgorICAgICAgICAoSlNDOjpEaXJlY3RFdmFsRXhlY3V0YWJsZTo6Y3JlYXRlKToKKwogMjAx
Ni0xMi0wMSAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJl
bW92ZWQgc29tZSB1bm5lY2Vzc2FyeSBpbmRpcmVjdGlvbiBpbiBjb2RlIGdlbmVyYXRpb24KSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMDkxOTIpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agkod29ya2luZyBjb3B5KQpAQCAtMTU1Miw3ICsxNTUyLDcgQEAKIAkJOTY5QTA3MkIwRUQxQ0U2
OTAwRjFGNjgxIC8qIFJlZ2lzdGVySUQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDk2OUEwNzI4MEVEMUNFNjkwMEYxRjY4MSAvKiBSZWdpc3RlcklELmgg
Ki87IH07CiAJCTk2OUEwNzk2MEVEMUQzQUUwMEYxRjY4MSAvKiBDb2RlQmxvY2suY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTY5QTA3OTAwRUQxRDNB
RTAwRjFGNjgxIC8qIENvZGVCbG9jay5jcHAgKi87IHNldHRpbmdzID0ge0NPTVBJTEVSX0ZMQUdT
ID0gIi1mbm8tc3RyaWN0LWFsaWFzaW5nIjsgfTsgfTsKIAkJOTY5QTA3OTcwRUQxRDNBRTAwRjFG
NjgxIC8qIENvZGVCbG9jay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTY5QTA3OTEwRUQxRDNBRTAwRjFGNjgxIC8qIENvZGVCbG9jay5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTk2OUEwNzk4MEVEMUQz
QUUwMEYxRjY4MSAvKiBFdmFsQ29kZUNhY2hlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA5NjlBMDc5MjBFRDFEM0FFMDBGMUY2ODEgLyogRXZhbENvZGVD
YWNoZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CTk2OUEwNzk4MEVEMUQzQUUwMEYxRjY4MSAvKiBEaXJlY3RFdmFsQ29kZUNhY2hlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NjlBMDc5MjBFRDFEM0FF
MDBGMUY2ODEgLyogRGlyZWN0RXZhbENvZGVDYWNoZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTk2OUEwNzk5MEVEMUQzQUUwMEYxRjY4MSAvKiBJ
bnN0cnVjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTY5QTA3OTMwRUQxRDNBRTAwRjFGNjgxIC8qIEluc3RydWN0aW9uLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTY5QTA3OUEwRUQxRDNBRTAw
RjFGNjgxIC8qIE9wY29kZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5NjlBMDc5NDBFRDFEM0FFMDBGMUY2ODEgLyogT3Bjb2RlLmNwcCAqLzsgfTsK
IAkJOTY5QTA3OUIwRUQxRDNBRTAwRjFGNjgxIC8qIE9wY29kZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTY5QTA3OTUwRUQxRDNBRTAwRjFGNjgxIC8q
IE9wY29kZS5oICovOyB9OwpAQCAtNDAxNSw3ICs0MDE1LDcgQEAKIAkJOTY5QTA3MjgwRUQxQ0U2
OTAwRjFGNjgxIC8qIFJlZ2lzdGVySUQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUmVnaXN0ZXJJRC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NjlBMDc5MDBF
RDFEM0FFMDBGMUY2ODEgLyogQ29kZUJsb2NrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IENvZGVCbG9jay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTk2OUEwNzkxMEVEMUQzQUUwMEYxRjY4MSAvKiBDb2RlQmxvY2suaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQ29kZUJsb2NrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCTk2OUEwNzkyMEVEMUQzQUUwMEYxRjY4MSAvKiBFdmFsQ29kZUNhY2hlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV2YWxDb2RlQ2FjaGUuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJOTY5QTA3OTIwRUQxRDNBRTAwRjFGNjgxIC8qIERpcmVjdEV2YWxDb2Rl
Q2FjaGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGlyZWN0RXZhbENvZGVD
YWNoZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NjlBMDc5MzBFRDFEM0FFMDBG
MUY2ODEgLyogSW5zdHJ1Y3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SW5zdHJ1Y3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTY5QTA3OTQwRUQx
RDNBRTAwRjFGNjgxIC8qIE9wY29kZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBPcGNvZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NjlBMDc5
NTBFRDFEM0FFMDBGMUY2ODEgLyogT3Bjb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IE9wY29kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzIwMSw3ICs3
MjAxLDcgQEAKIAkJCQlFM0JGRDBCQTFEQUY4MDdDMDA2NURFQTIgLyogRE9NSklUQWNjZXNzQ2Fz
ZVBhdGNocG9pbnRQYXJhbXMuaCAqLywKIAkJCQkxNEFEOTExMjFEQ0E5N0ZEMDAxNEY5RkUgLyog
RXZhbENvZGVCbG9jay5jcHAgKi8sCiAJCQkJMTRBRDkxMDYxRENBOTI5NDAwMTRGOUZFIC8qIEV2
YWxDb2RlQmxvY2suaCAqLywKLQkJCQk5NjlBMDc5MjBFRDFEM0FFMDBGMUY2ODEgLyogRXZhbENv
ZGVDYWNoZS5oICovLAorCQkJCTk2OUEwNzkyMEVEMUQzQUUwMEYxRjY4MSAvKiBEaXJlY3RFdmFs
Q29kZUNhY2hlLmggKi8sCiAJCQkJMTQxNDJFNTIxQjc5NkVERDAwRjRCRjRCIC8qIEV4ZWN1dGFi
bGVJbmZvLmggKi8sCiAJCQkJMEY1NkExRDQxNTAwMUNGMjAwMjk5MkIxIC8qIEV4ZWN1dGlvbkNv
dW50ZXIuY3BwICovLAogCQkJCTBGNTZBMUQxMTUwMDBGMzEwMDI5OTJCMSAvKiBFeGVjdXRpb25D
b3VudGVyLmggKi8sCkBAIC04MTk3LDcgKzgxOTcsNyBAQAogCQkJCUJDMDJFOThEMEUxODNFMzgw
MDBGOTI5NyAvKiBFcnJvckluc3RhbmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzAyRTkwRjBF
MTgzOURCMDAwRjkyOTcgLyogRXJyb3JQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTk5
NkI3MzFCMUJEQTA4RDEwMDMzMUI4NCAvKiBFcnJvclByb3RvdHlwZS5sdXQuaCBpbiBIZWFkZXJz
ICovLAotCQkJCTk2OUEwNzk4MEVEMUQzQUUwMEYxRjY4MSAvKiBFdmFsQ29kZUNhY2hlLmggaW4g
SGVhZGVycyAqLywKKwkJCQk5NjlBMDc5ODBFRDFEM0FFMDBGMUY2ODEgLyogRGlyZWN0RXZhbENv
ZGVDYWNoZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU0OTgyMDQxODkxRDBCMDAwODFFNUI4IC8q
IEV2ZW50TG9vcC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkUxQzBGRkQxQjE5M0U5ODAwQjUzRkNB
IC8qIEV4Y2VwdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYxMkRFMTAxOTc5RDVGRDAwMDZG
RjRFIC8qIEV4Y2VwdGlvbkZ1enouaCBpbiBIZWFkZXJzICovLApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHJldmlzaW9uIDIwOTE5MikKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xNzk3LDE3ICsxNzk3LDYgQEAgdm9pZCBDb2RlQmxvY2s6OmR1bXBCeXRlY29kZSgK
ICAgICBtYWNybyhmdW5jdGlvbkV4cHJlc3Npb25zKSBcCiAgICAgbWFjcm8oY29uc3RhbnRSZWdp
c3RlcnMpCiAKLSNkZWZpbmUgRk9SX0VBQ0hfTUVNQkVSX1ZFQ1RPUl9SQVJFX0RBVEEobWFjcm8p
IFwKLSAgICBtYWNybyhyZWdleHBzKSBcCi0gICAgbWFjcm8oZnVuY3Rpb25zKSBcCi0gICAgbWFj
cm8oZXhjZXB0aW9uSGFuZGxlcnMpIFwKLSAgICBtYWNybyhzd2l0Y2hKdW1wVGFibGVzKSBcCi0g
ICAgbWFjcm8oc3RyaW5nU3dpdGNoSnVtcFRhYmxlcykgXAotICAgIG1hY3JvKGV2YWxDb2RlQ2Fj
aGUpIFwKLSAgICBtYWNybyhleHByZXNzaW9uSW5mbykgXAotICAgIG1hY3JvKGxpbmVJbmZvKSBc
Ci0gICAgbWFjcm8oY2FsbFJldHVybkluZGV4VmVjdG9yKQotCiB0ZW1wbGF0ZTx0eXBlbmFtZSBU
Pgogc3RhdGljIHNpemVfdCBzaXplSW5CeXRlcyhjb25zdCBWZWN0b3I8VD4mIHZlY3RvcikKIHsK
QEAgLTI0ODcsNyArMjQ3Niw3IEBAIHZvaWQgQ29kZUJsb2NrOjpzZXROdW1QYXJhbWV0ZXJzKGlu
dCBuZXcKICAgICBtX2FyZ3VtZW50VmFsdWVQcm9maWxlcyA9IFJlZkNvdW50ZWRBcnJheTxWYWx1
ZVByb2ZpbGU+KG5ld1ZhbHVlKTsKIH0KIAotdm9pZCBFdmFsQ29kZUNhY2hlOjp2aXNpdEFnZ3Jl
Z2F0ZShTbG90VmlzaXRvciYgdmlzaXRvcikKK3ZvaWQgRGlyZWN0RXZhbENvZGVDYWNoZTo6dmlz
aXRBZ2dyZWdhdGUoU2xvdFZpc2l0b3ImIHZpc2l0b3IpCiB7CiAgICAgRXZhbENhY2hlTWFwOjpp
dGVyYXRvciBlbmQgPSBtX2NhY2hlTWFwLmVuZCgpOwogICAgIGZvciAoRXZhbENhY2hlTWFwOjpp
dGVyYXRvciBwdHIgPSBtX2NhY2hlTWFwLmJlZ2luKCk7IHB0ciAhPSBlbmQ7ICsrcHRyKQpAQCAt
MzEzMiw3ICszMTIxLDcgQEAgdm9pZCBDb2RlQmxvY2s6OnN0cm9uZ2x5VmlzaXRTdHJvbmdSZWZl
cgogICAgIHZpc2l0b3IuYXBwZW5kKCZtX293bmVyRXhlY3V0YWJsZSk7CiAgICAgdmlzaXRvci5h
cHBlbmQoJm1fdW5saW5rZWRDb2RlKTsKICAgICBpZiAobV9yYXJlRGF0YSkKLSAgICAgICAgbV9y
YXJlRGF0YS0+bV9ldmFsQ29kZUNhY2hlLnZpc2l0QWdncmVnYXRlKHZpc2l0b3IpOworICAgICAg
ICBtX3JhcmVEYXRhLT5tX2RpcmVjdEV2YWxDb2RlQ2FjaGUudmlzaXRBZ2dyZWdhdGUodmlzaXRv
cik7CiAgICAgdmlzaXRvci5hcHBlbmRWYWx1ZXMobV9jb25zdGFudFJlZ2lzdGVycy5kYXRhKCks
IG1fY29uc3RhbnRSZWdpc3RlcnMuc2l6ZSgpKTsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8
IG1fZnVuY3Rpb25FeHBycy5zaXplKCk7ICsraSkKICAgICAgICAgdmlzaXRvci5hcHBlbmQoJm1f
ZnVuY3Rpb25FeHByc1tpXSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
Q29kZUJsb2NrLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0NvZGVCbG9jay5oCShyZXZpc2lvbiAyMDkxOTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvQ29kZUJsb2NrLmgJKHdvcmtpbmcgY29weSkKQEAgLTQyLDcgKzQyLDcgQEAKICNp
bmNsdWRlICJERkdDb21tb24uaCIKICNpbmNsdWRlICJERkdFeGl0UHJvZmlsZS5oIgogI2luY2x1
ZGUgIkRlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjay5oIgotI2luY2x1ZGUgIkV2YWxDb2RlQ2Fj
aGUuaCIKKyNpbmNsdWRlICJEaXJlY3RFdmFsQ29kZUNhY2hlLmgiCiAjaW5jbHVkZSAiRXZhbEV4
ZWN1dGFibGUuaCIKICNpbmNsdWRlICJFeGVjdXRpb25Db3VudGVyLmgiCiAjaW5jbHVkZSAiRXhw
cmVzc2lvblJhbmdlSW5mby5oIgpAQCAtNjE2LDcgKzYxNiw3IEBAIHB1YmxpYzoKICAgICBTdHJp
bmdKdW1wVGFibGUmIGFkZFN0cmluZ1N3aXRjaEp1bXBUYWJsZSgpIHsgY3JlYXRlUmFyZURhdGFJ
Zk5lY2Vzc2FyeSgpOyBtX3JhcmVEYXRhLT5tX3N0cmluZ1N3aXRjaEp1bXBUYWJsZXMuYXBwZW5k
KFN0cmluZ0p1bXBUYWJsZSgpKTsgcmV0dXJuIG1fcmFyZURhdGEtPm1fc3RyaW5nU3dpdGNoSnVt
cFRhYmxlcy5sYXN0KCk7IH0KICAgICBTdHJpbmdKdW1wVGFibGUmIHN0cmluZ1N3aXRjaEp1bXBU
YWJsZShpbnQgdGFibGVJbmRleCkgeyBSRUxFQVNFX0FTU0VSVChtX3JhcmVEYXRhKTsgcmV0dXJu
IG1fcmFyZURhdGEtPm1fc3RyaW5nU3dpdGNoSnVtcFRhYmxlc1t0YWJsZUluZGV4XTsgfQogCi0g
ICAgRXZhbENvZGVDYWNoZSYgZXZhbENvZGVDYWNoZSgpIHsgY3JlYXRlUmFyZURhdGFJZk5lY2Vz
c2FyeSgpOyByZXR1cm4gbV9yYXJlRGF0YS0+bV9ldmFsQ29kZUNhY2hlOyB9CisgICAgRGlyZWN0
RXZhbENvZGVDYWNoZSYgZGlyZWN0RXZhbENvZGVDYWNoZSgpIHsgY3JlYXRlUmFyZURhdGFJZk5l
Y2Vzc2FyeSgpOyByZXR1cm4gbV9yYXJlRGF0YS0+bV9kaXJlY3RFdmFsQ29kZUNhY2hlOyB9CiAK
ICAgICBlbnVtIFNocmlua01vZGUgewogICAgICAgICAvLyBTaHJpbmsgcHJpb3IgdG8gZ2VuZXJh
dGluZyBtYWNoaW5lIGNvZGUgdGhhdCBtYXkgcG9pbnQgZGlyZWN0bHkgaW50byB2ZWN0b3JzLgpA
QCAtODcwLDcgKzg3MCw3IEBAIHB1YmxpYzoKICAgICAgICAgVmVjdG9yPFNpbXBsZUp1bXBUYWJs
ZT4gbV9zd2l0Y2hKdW1wVGFibGVzOwogICAgICAgICBWZWN0b3I8U3RyaW5nSnVtcFRhYmxlPiBt
X3N0cmluZ1N3aXRjaEp1bXBUYWJsZXM7CiAKLSAgICAgICAgRXZhbENvZGVDYWNoZSBtX2V2YWxD
b2RlQ2FjaGU7CisgICAgICAgIERpcmVjdEV2YWxDb2RlQ2FjaGUgbV9kaXJlY3RFdmFsQ29kZUNh
Y2hlOwogICAgIH07CiAKICAgICB2b2lkIGNsZWFyRXhjZXB0aW9uSGFuZGxlcnMoKQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0RpcmVjdEV2YWxDb2RlQ2FjaGUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvRGlyZWN0RXZhbENvZGVD
YWNoZS5oCShyZXZpc2lvbiAyMDkxOTIpCShmcm9tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9FdmFsQ29kZUNhY2hlLmg6MjA5MTkyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0RpcmVjdEV2YWxDb2RlQ2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEx
NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBv
ZiBBcHBsZSBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICog
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkRpcmVjdEV2YWxFeGVjdXRhYmxlLmgiCisjaW5j
bHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8
d3RmL3RleHQvU3RyaW5nSGFzaC5oPgorCituYW1lc3BhY2UgSlNDIHsKKworICAgIGNsYXNzIFNs
b3RWaXNpdG9yOworCisgICAgY2xhc3MgRXZhbENvZGVDYWNoZSB7CisgICAgcHVibGljOgorICAg
ICAgICBjbGFzcyBDYWNoZUtleSB7CisgICAgICAgIHB1YmxpYzoKKyAgICAgICAgICAgIENhY2hl
S2V5KGNvbnN0IFN0cmluZyYgc291cmNlLCBDYWxsU2l0ZUluZGV4IGNhbGxTaXRlSW5kZXgpCisg
ICAgICAgICAgICAgICAgOiBtX3NvdXJjZShzb3VyY2UuaW1wbCgpKQorICAgICAgICAgICAgICAg
ICwgbV9jYWxsU2l0ZUluZGV4KGNhbGxTaXRlSW5kZXgpCisgICAgICAgICAgICB7CisgICAgICAg
ICAgICB9CisKKyAgICAgICAgICAgIENhY2hlS2V5KFdURjo6SGFzaFRhYmxlRGVsZXRlZFZhbHVl
VHlwZSkKKyAgICAgICAgICAgICAgICA6IG1fc291cmNlKFdURjo6SGFzaFRhYmxlRGVsZXRlZFZh
bHVlKQorICAgICAgICAgICAgeworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBDYWNoZUtl
eSgpID0gZGVmYXVsdDsKKworICAgICAgICAgICAgdW5zaWduZWQgaGFzaCgpIGNvbnN0IHsgcmV0
dXJuIG1fc291cmNlLT5oYXNoKCkgXiBtX2NhbGxTaXRlSW5kZXguYml0cygpOyB9CisKKyAgICAg
ICAgICAgIGJvb2wgaXNFbXB0eVZhbHVlKCkgY29uc3QgeyByZXR1cm4gIW1fc291cmNlOyB9CisK
KyAgICAgICAgICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBDYWNoZUtleSYgb3RoZXIpIGNvbnN0
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJuIG1fY2FsbFNpdGVJbmRleCA9
PSBvdGhlci5tX2NhbGxTaXRlSW5kZXggJiYgV1RGOjplcXVhbChtX3NvdXJjZS5nZXQoKSwgb3Ro
ZXIubV9zb3VyY2UuZ2V0KCkpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBib29sIGlz
SGFzaFRhYmxlRGVsZXRlZFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9zb3VyY2UuaXNIYXNoVGFi
bGVEZWxldGVkVmFsdWUoKTsgfQorCisgICAgICAgICAgICBzdHJ1Y3QgSGFzaCB7CisgICAgICAg
ICAgICAgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgQ2FjaGVLZXkmIGtleSkKKyAgICAg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBrZXkuaGFzaCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBzdGF0aWMgYm9vbCBlcXVhbChjb25zdCBD
YWNoZUtleSYgbGhzLCBjb25zdCBDYWNoZUtleSYgcmhzKQorICAgICAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIGxocyA9PSByaHM7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIHN0YXRpYyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JE
ZWxldGVkID0gZmFsc2U7CisgICAgICAgICAgICB9OworCisgICAgICAgICAgICB0eXBlZGVmIFNp
bXBsZUNsYXNzSGFzaFRyYWl0czxDYWNoZUtleT4gSGFzaFRyYWl0czsKKworICAgICAgICBwcml2
YXRlOgorICAgICAgICAgICAgUmVmUHRyPFN0cmluZ0ltcGw+IG1fc291cmNlOworICAgICAgICAg
ICAgQ2FsbFNpdGVJbmRleCBtX2NhbGxTaXRlSW5kZXg7CisgICAgICAgIH07CisKKyAgICAgICAg
RGlyZWN0RXZhbEV4ZWN1dGFibGUqIHRyeUdldChjb25zdCBTdHJpbmcmIGV2YWxTb3VyY2UsIENh
bGxTaXRlSW5kZXggY2FsbFNpdGVJbmRleCkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJu
IG1fY2FjaGVNYXAuZmFzdEdldChDYWNoZUtleShldmFsU291cmNlLCBjYWxsU2l0ZUluZGV4KSku
Z2V0KCk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIHZvaWQgc2V0KEV4ZWNTdGF0ZSog
ZXhlYywgSlNDZWxsKiBvd25lciwgY29uc3QgU3RyaW5nJiBldmFsU291cmNlLCBDYWxsU2l0ZUlu
ZGV4IGNhbGxTaXRlSW5kZXgsIERpcmVjdEV2YWxFeGVjdXRhYmxlKiBldmFsRXhlY3V0YWJsZSkK
KyAgICAgICAgeworICAgICAgICAgICAgaWYgKG1fY2FjaGVNYXAuc2l6ZSgpIDwgbWF4Q2FjaGVF
bnRyaWVzKQorICAgICAgICAgICAgICAgIG1fY2FjaGVNYXAuc2V0KENhY2hlS2V5KGV2YWxTb3Vy
Y2UsIGNhbGxTaXRlSW5kZXgpLCBXcml0ZUJhcnJpZXI8RGlyZWN0RXZhbEV4ZWN1dGFibGU+KGV4
ZWMtPnZtKCksIG93bmVyLCBldmFsRXhlY3V0YWJsZSkpOworICAgICAgICB9CisKKyAgICAgICAg
Ym9vbCBpc0VtcHR5KCkgY29uc3QgeyByZXR1cm4gbV9jYWNoZU1hcC5pc0VtcHR5KCk7IH0KKwor
ICAgICAgICB2b2lkIHZpc2l0QWdncmVnYXRlKFNsb3RWaXNpdG9yJik7CisKKyAgICAgICAgdm9p
ZCBjbGVhcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIG1fY2FjaGVNYXAuY2xlYXIoKTsKKyAg
ICAgICAgfQorCisgICAgcHJpdmF0ZToKKyAgICAgICAgc3RhdGljIGNvbnN0IGludCBtYXhDYWNo
ZUVudHJpZXMgPSA2NDsKKworICAgICAgICB0eXBlZGVmIEhhc2hNYXA8Q2FjaGVLZXksIFdyaXRl
QmFycmllcjxEaXJlY3RFdmFsRXhlY3V0YWJsZT4sIENhY2hlS2V5OjpIYXNoLCBDYWNoZUtleTo6
SGFzaFRyYWl0cz4gRXZhbENhY2hlTWFwOworICAgICAgICBFdmFsQ2FjaGVNYXAgbV9jYWNoZU1h
cDsKKyAgICB9OworCit9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9EaXJlY3RFdmFsQ29kZUNhY2hlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0RpcmVjdEV2YWxDb2RlQ2FjaGUuaAkocmV2aXNpb24g
MjA5MTkyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0RpcmVjdEV2YWxDb2Rl
Q2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtMzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgSlNDIHsK
IAogICAgIGNsYXNzIFNsb3RWaXNpdG9yOwogCi0gICAgY2xhc3MgRXZhbENvZGVDYWNoZSB7Cisg
ICAgY2xhc3MgRGlyZWN0RXZhbENvZGVDYWNoZSB7CiAgICAgcHVibGljOgogICAgICAgICBjbGFz
cyBDYWNoZUtleSB7CiAgICAgICAgIHB1YmxpYzoKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9FdmFsQ29kZUNhY2hlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0V2YWxDb2RlQ2FjaGUuaAkocmV2aXNpb24gMjA5MTkyKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0V2YWxDb2RlQ2FjaGUuaAkobm9uZXhpc3RlbnQp
CkBAIC0xLDExNCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqCi0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqIDMuICBOZWl0
aGVyIHRoZSBuYW1lIG9mIEFwcGxlIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKLSAq
ICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0g
KiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5ECi0gKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0gKiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaW5jbHVkZSAiRGlyZWN0RXZhbEV4ZWN1
dGFibGUuaCIKLSNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9SZWZQdHIu
aD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+Ci0KLW5hbWVzcGFjZSBKU0Mgewot
Ci0gICAgY2xhc3MgU2xvdFZpc2l0b3I7Ci0KLSAgICBjbGFzcyBFdmFsQ29kZUNhY2hlIHsKLSAg
ICBwdWJsaWM6Ci0gICAgICAgIGNsYXNzIENhY2hlS2V5IHsKLSAgICAgICAgcHVibGljOgotICAg
ICAgICAgICAgQ2FjaGVLZXkoY29uc3QgU3RyaW5nJiBzb3VyY2UsIENhbGxTaXRlSW5kZXggY2Fs
bFNpdGVJbmRleCkKLSAgICAgICAgICAgICAgICA6IG1fc291cmNlKHNvdXJjZS5pbXBsKCkpCi0g
ICAgICAgICAgICAgICAgLCBtX2NhbGxTaXRlSW5kZXgoY2FsbFNpdGVJbmRleCkKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgQ2FjaGVLZXkoV1RGOjpIYXNoVGFi
bGVEZWxldGVkVmFsdWVUeXBlKQotICAgICAgICAgICAgICAgIDogbV9zb3VyY2UoV1RGOjpIYXNo
VGFibGVEZWxldGVkVmFsdWUpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICB9Ci0KLSAgICAg
ICAgICAgIENhY2hlS2V5KCkgPSBkZWZhdWx0OwotCi0gICAgICAgICAgICB1bnNpZ25lZCBoYXNo
KCkgY29uc3QgeyByZXR1cm4gbV9zb3VyY2UtPmhhc2goKSBeIG1fY2FsbFNpdGVJbmRleC5iaXRz
KCk7IH0KLQotICAgICAgICAgICAgYm9vbCBpc0VtcHR5VmFsdWUoKSBjb25zdCB7IHJldHVybiAh
bV9zb3VyY2U7IH0KLQotICAgICAgICAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IENhY2hlS2V5
JiBvdGhlcikgY29uc3QKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gbV9j
YWxsU2l0ZUluZGV4ID09IG90aGVyLm1fY2FsbFNpdGVJbmRleCAmJiBXVEY6OmVxdWFsKG1fc291
cmNlLmdldCgpLCBvdGhlci5tX3NvdXJjZS5nZXQoKSk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAg
ICAgICAgIGJvb2wgaXNIYXNoVGFibGVEZWxldGVkVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX3Nv
dXJjZS5pc0hhc2hUYWJsZURlbGV0ZWRWYWx1ZSgpOyB9Ci0KLSAgICAgICAgICAgIHN0cnVjdCBI
YXNoIHsKLSAgICAgICAgICAgICAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBDYWNoZUtl
eSYga2V5KQotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGtl
eS5oYXNoKCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHN0YXRpYyBib29s
IGVxdWFsKGNvbnN0IENhY2hlS2V5JiBsaHMsIGNvbnN0IENhY2hlS2V5JiByaHMpCi0gICAgICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICByZXR1cm4gbGhzID09IHJoczsKLSAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wgc2FmZVRvQ29t
cGFyZVRvRW1wdHlPckRlbGV0ZWQgPSBmYWxzZTsKLSAgICAgICAgICAgIH07Ci0KLSAgICAgICAg
ICAgIHR5cGVkZWYgU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPENhY2hlS2V5PiBIYXNoVHJhaXRzOwot
Ci0gICAgICAgIHByaXZhdGU6Ci0gICAgICAgICAgICBSZWZQdHI8U3RyaW5nSW1wbD4gbV9zb3Vy
Y2U7Ci0gICAgICAgICAgICBDYWxsU2l0ZUluZGV4IG1fY2FsbFNpdGVJbmRleDsKLSAgICAgICAg
fTsKLQotICAgICAgICBEaXJlY3RFdmFsRXhlY3V0YWJsZSogdHJ5R2V0KGNvbnN0IFN0cmluZyYg
ZXZhbFNvdXJjZSwgQ2FsbFNpdGVJbmRleCBjYWxsU2l0ZUluZGV4KQotICAgICAgICB7Ci0gICAg
ICAgICAgICByZXR1cm4gbV9jYWNoZU1hcC5mYXN0R2V0KENhY2hlS2V5KGV2YWxTb3VyY2UsIGNh
bGxTaXRlSW5kZXgpKS5nZXQoKTsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgdm9pZCBz
ZXQoRXhlY1N0YXRlKiBleGVjLCBKU0NlbGwqIG93bmVyLCBjb25zdCBTdHJpbmcmIGV2YWxTb3Vy
Y2UsIENhbGxTaXRlSW5kZXggY2FsbFNpdGVJbmRleCwgRGlyZWN0RXZhbEV4ZWN1dGFibGUqIGV2
YWxFeGVjdXRhYmxlKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAobV9jYWNoZU1hcC5zaXpl
KCkgPCBtYXhDYWNoZUVudHJpZXMpCi0gICAgICAgICAgICAgICAgbV9jYWNoZU1hcC5zZXQoQ2Fj
aGVLZXkoZXZhbFNvdXJjZSwgY2FsbFNpdGVJbmRleCksIFdyaXRlQmFycmllcjxEaXJlY3RFdmFs
RXhlY3V0YWJsZT4oZXhlYy0+dm0oKSwgb3duZXIsIGV2YWxFeGVjdXRhYmxlKSk7Ci0gICAgICAg
IH0KLQotICAgICAgICBib29sIGlzRW1wdHkoKSBjb25zdCB7IHJldHVybiBtX2NhY2hlTWFwLmlz
RW1wdHkoKTsgfQotCi0gICAgICAgIHZvaWQgdmlzaXRBZ2dyZWdhdGUoU2xvdFZpc2l0b3ImKTsK
LQotICAgICAgICB2b2lkIGNsZWFyKCkKLSAgICAgICAgewotICAgICAgICAgICAgbV9jYWNoZU1h
cC5jbGVhcigpOwotICAgICAgICB9Ci0KLSAgICBwcml2YXRlOgotICAgICAgICBzdGF0aWMgY29u
c3QgaW50IG1heENhY2hlRW50cmllcyA9IDY0OwotCi0gICAgICAgIHR5cGVkZWYgSGFzaE1hcDxD
YWNoZUtleSwgV3JpdGVCYXJyaWVyPERpcmVjdEV2YWxFeGVjdXRhYmxlPiwgQ2FjaGVLZXk6Okhh
c2gsIENhY2hlS2V5OjpIYXNoVHJhaXRzPiBFdmFsQ2FjaGVNYXA7Ci0gICAgICAgIEV2YWxDYWNo
ZU1hcCBtX2NhY2hlTWFwOwotICAgIH07Ci0KLX0gLy8gbmFtZXNwYWNlIEpTQwoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0V2YWxDb2RlQ2FjaGUu
aApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkRlbGV0ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTEgKzAsMCAjIwotbmF0aXZl
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAkocmV2aXNpb24gMjA5MTky
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzcsOSArMzcsOSBAQAogI2luY2x1ZGUgIkhlYXAuaCIKICNpbmNs
dWRlICJEZWJ1Z2dlci5oIgogI2luY2x1ZGUgIkRlYnVnZ2VyQ2FsbEZyYW1lLmgiCisjaW5jbHVk
ZSAiRGlyZWN0RXZhbENvZGVDYWNoZS5oIgogI2luY2x1ZGUgIkVycm9ySW5zdGFuY2UuaCIKICNp
bmNsdWRlICJFdmFsQ29kZUJsb2NrLmgiCi0jaW5jbHVkZSAiRXZhbENvZGVDYWNoZS5oIgogI2lu
Y2x1ZGUgIkV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkhlbHBlcnMuaCIKICNpbmNs
dWRlICJGdW5jdGlvbkNvZGVCbG9jay5oIgpAQCAtMTMxLDcgKzEzMSw3IEBAIEpTVmFsdWUgZXZh
bChDYWxsRnJhbWUqIGNhbGxGcmFtZSkKICAgICBlbHNlCiAgICAgICAgIGV2YWxDb250ZXh0VHlw
ZSA9IEV2YWxDb250ZXh0VHlwZTo6Tm9uZTsKIAotICAgIERpcmVjdEV2YWxFeGVjdXRhYmxlKiBl
dmFsID0gY2FsbGVyQ29kZUJsb2NrLT5ldmFsQ29kZUNhY2hlKCkudHJ5R2V0KHByb2dyYW1Tb3Vy
Y2UsIGNhbGxlckNhbGxTaXRlSW5kZXgpOworICAgIERpcmVjdEV2YWxFeGVjdXRhYmxlKiBldmFs
ID0gY2FsbGVyQ29kZUJsb2NrLT5kaXJlY3RFdmFsQ29kZUNhY2hlKCkudHJ5R2V0KHByb2dyYW1T
b3VyY2UsIGNhbGxlckNhbGxTaXRlSW5kZXgpOwogICAgIGlmICghZXZhbCkgewogICAgICAgICBp
ZiAoIWNhbGxlckNvZGVCbG9jay0+aXNTdHJpY3RNb2RlKCkpIHsKICAgICAgICAgICAgIGlmIChw
cm9ncmFtU291cmNlLmlzOEJpdCgpKSB7CkBAIC0xNTQsNyArMTU0LDcgQEAgSlNWYWx1ZSBldmFs
KENhbGxGcmFtZSogY2FsbEZyYW1lKQogICAgICAgICBpZiAoIWV2YWwpCiAgICAgICAgICAgICBy
ZXR1cm4ganNVbmRlZmluZWQoKTsKIAotICAgICAgICBjYWxsZXJDb2RlQmxvY2stPmV2YWxDb2Rl
Q2FjaGUoKS5zZXQoY2FsbEZyYW1lLCBjYWxsZXJDb2RlQmxvY2ssIHByb2dyYW1Tb3VyY2UsIGNh
bGxlckNhbGxTaXRlSW5kZXgsIGV2YWwpOworICAgICAgICBjYWxsZXJDb2RlQmxvY2stPmRpcmVj
dEV2YWxDb2RlQ2FjaGUoKS5zZXQoY2FsbEZyYW1lLCBjYWxsZXJDb2RlQmxvY2ssIHByb2dyYW1T
b3VyY2UsIGNhbGxlckNhbGxTaXRlSW5kZXgsIGV2YWwpOwogICAgIH0KIAogICAgIEpTVmFsdWUg
dGhpc1ZhbHVlID0gY2FsbGVyRnJhbWUtPnRoaXNWYWx1ZSgpOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRGlyZWN0RXZhbEV4ZWN1dGFibGUuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RpcmVjdEV2YWxFeGVjdXRhYmxlLmNwcAko
cmV2aXNpb24gMjA5MTk2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGlyZWN0
RXZhbEV4ZWN1dGFibGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Myw3ICs1Myw3IEBAIERpcmVj
dEV2YWxFeGVjdXRhYmxlKiBEaXJlY3RFdmFsRXhlY3V0YWIKICAgICBKU1BhcnNlclN0cmljdE1v
ZGUgc3RyaWN0TW9kZSA9IGV4ZWN1dGFibGUtPmlzU3RyaWN0TW9kZSgpID8gSlNQYXJzZXJTdHJp
Y3RNb2RlOjpTdHJpY3QgOiBKU1BhcnNlclN0cmljdE1vZGU6Ok5vdFN0cmljdDsKICAgICBEZWJ1
Z2dlck1vZGUgZGVidWdnZXJNb2RlID0gZ2xvYmFsT2JqZWN0LT5oYXNJbnRlcmFjdGl2ZURlYnVn
Z2VyKCkgPyBEZWJ1Z2dlck9uIDogRGVidWdnZXJPZmY7CiAKLSAgICAvLyBXZSBkb24ndCBib3Ro
ZXIgd2l0aCBDb2RlQ2FjaGUgaGVyZSBiZWNhdXNlIGRpcmVjdCBldmFsIHVzZXMgYSBzcGVjaWFs
aXplZCBFdmFsQ29kZUNhY2hlLgorICAgIC8vIFdlIGRvbid0IGJvdGhlciB3aXRoIENvZGVDYWNo
ZSBoZXJlIGJlY2F1c2UgZGlyZWN0IGV2YWwgdXNlcyBhIHNwZWNpYWxpemVkIERpcmVjdEV2YWxD
b2RlQ2FjaGUuCiAgICAgVW5saW5rZWRFdmFsQ29kZUJsb2NrKiB1bmxpbmtlZEV2YWxDb2RlID0g
Z2VuZXJhdGVVbmxpbmtlZENvZGVCbG9jazxVbmxpbmtlZEV2YWxDb2RlQmxvY2s+KAogICAgICAg
ICB2bSwgZXhlY3V0YWJsZSwgZXhlY3V0YWJsZS0+c291cmNlKCksIHN0cmljdE1vZGUsIEpTUGFy
c2VyU2NyaXB0TW9kZTo6Q2xhc3NpYywgZGVidWdnZXJNb2RlLCBlcnJvciwgZXZhbENvbnRleHRU
eXBlLCB2YXJpYWJsZXNVbmRlclREWik7CiAK
</data>
<flag name="review"
          id="318410"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>