<?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>151945</bug_id>
          
          <creation_ts>2015-12-07 09:19:15 -0800</creation_ts>
          <short_desc>Rename JITBitwiseBinaryOpGenerator to JITBitBinaryOpGenerator.</short_desc>
          <delta_ts>2015-12-07 09:32: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>JavaScriptCore</component>
          <version>WebKit Local 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="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1146868</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-12-07 09:19:15 -0800</bug_when>
    <thetext>The lshift operator also need to inherit from JITBitBinaryOpGenerator.  Calling it &quot;BitBinaryOp&quot; makes more sense than &quot;BitwiseBinaryOp&quot; in that case, and still makes sense for the bitand, bitor, and bitxor operators.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146871</commentid>
    <comment_count>1</comment_count>
      <attachid>266781</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-12-07 09:27:36 -0800</bug_when>
    <thetext>Created attachment 266781
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146874</commentid>
    <comment_count>2</comment_count>
      <attachid>266781</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-12-07 09:29:26 -0800</bug_when>
    <thetext>Comment on attachment 266781
proposed patch.

LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146875</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-07 09:30:03 -0800</bug_when>
    <thetext>Attachment 266781 did not pass style-queue:


ERROR: Source/JavaScriptCore/jit/JITBitOrGenerator.h:39:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/jit/JITBitAndGenerator.h:39:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/jit/JITBitBinaryOpGenerator.h:40:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/jit/JITBitBinaryOpGenerator.h:41:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/jit/JITBitBinaryOpGenerator.h:42:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/jit/JITBitBinaryOpGenerator.h:43:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/jit/JITBitBinaryOpGenerator.h:44:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/jit/JITBitBinaryOpGenerator.h:45:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/jit/JITBitXorGenerator.h:39:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
Total errors found: 9 in 10 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>1146880</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-12-07 09:32:55 -0800</bug_when>
    <thetext>Thanks for the review.  Landed in r193633: &lt;http://trac.webkit.org/r193633&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266781</attachid>
            <date>2015-12-07 09:27:36 -0800</date>
            <delta_ts>2015-12-07 09:29:26 -0800</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-151945.patch</filename>
            <type>text/plain</type>
            <size>20718</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTkzNjMwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBA
CisyMDE1LTEyLTA3ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZW5hbWUgSklUQml0d2lzZUJpbmFyeU9wR2VuZXJhdG9yIHRvIEpJVEJpdEJpbmFyeU9wR2VuZXJh
dG9yLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUx
OTQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhl
IGxzaGlmdCBvcGVyYXRvciBhbHNvIG5lZWQgdG8gaW5oZXJpdCBmcm9tIEpJVEJpdEJpbmFyeU9w
R2VuZXJhdG9yLiAgQ2FsbGluZworICAgICAgICBpdCAiQml0QmluYXJ5T3AiIG1ha2VzIG1vcmUg
c2Vuc2UgdGhhbiAiQml0d2lzZUJpbmFyeU9wIiBpbiB0aGF0IGNhc2UsIGFuZCBzdGlsbAorICAg
ICAgICBtYWtlcyBzZW5zZSBmb3IgdGhlIGJpdGFuZCwgYml0b3IsIGFuZCBiaXR4b3Igb3BlcmF0
b3JzLgorCisgICAgICAgICogSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52
Y3hwcm9qOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUu
dmN4cHJvai5maWx0ZXJzOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgICogaml0L0pJVC5oOgorICAgICAgICAqIGppdC9KSVRBcml0
aG1ldGljLmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0Qml0QmluYXJ5T3BGYXN0UGF0aCk6
CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9iaXRhbmQpOgorICAgICAgICAoSlNDOjpKSVQ6
OmVtaXRTbG93X29wX2JpdGFuZCk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9iaXRvcik6
CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdFNsb3dfb3BfYml0b3IpOgorICAgICAgICAoSlNDOjpK
SVQ6OmVtaXRfb3BfYml0eG9yKToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0U2xvd19vcF9iaXR4
b3IpOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRCaXR3aXNlQmluYXJ5T3BGYXN0UGF0aCk6IERl
bGV0ZWQuCisgICAgICAgICogaml0L0pJVEJpdEFuZEdlbmVyYXRvci5oOgorICAgICAgICAoSlND
OjpKSVRCaXRBbmRHZW5lcmF0b3I6OkpJVEJpdEFuZEdlbmVyYXRvcik6CisgICAgICAgICogaml0
L0pJVEJpdEJpbmFyeU9wR2VuZXJhdG9yLmg6IENvcGllZCBmcm9tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUQml0d2lzZUJpbmFyeU9wR2VuZXJhdG9yLmguCisgICAgICAgIChKU0M6OkpJ
VEJpdEJpbmFyeU9wR2VuZXJhdG9yOjpKSVRCaXRCaW5hcnlPcEdlbmVyYXRvcik6CisgICAgICAg
IChKU0M6OkpJVEJpdHdpc2VCaW5hcnlPcEdlbmVyYXRvcjo6SklUQml0d2lzZUJpbmFyeU9wR2Vu
ZXJhdG9yKTogRGVsZXRlZC4KKyAgICAgICAgKiBqaXQvSklUQml0T3JHZW5lcmF0b3IuaDoKKyAg
ICAgICAgKEpTQzo6SklUQml0T3JHZW5lcmF0b3I6OkpJVEJpdE9yR2VuZXJhdG9yKToKKyAgICAg
ICAgKiBqaXQvSklUQml0WG9yR2VuZXJhdG9yLmg6CisgICAgICAgIChKU0M6OkpJVEJpdFhvckdl
bmVyYXRvcjo6SklUQml0WG9yR2VuZXJhdG9yKToKKyAgICAgICAgKiBqaXQvSklUQml0d2lzZUJp
bmFyeU9wR2VuZXJhdG9yLmg6IFJlbW92ZWQuCisKIDIwMTUtMTItMDcgIEd5dXlvdW5nIEtpbSAg
PGd5dXlvdW5nLmtpbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtFRkxdIEltcGxlbWVudCBzY2hl
ZHVsZVRpbWVyIGFuZCBjYW5jZWxUaW1lciBpbiBJbmNyZW1lbnRhbFN3ZWVwZXIgY2xhc3MKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3Jp
cHRDb3JlLnZjeHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagkocmV2aXNpb24gMTkzNjI4
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNj
cmlwdENvcmUudmN4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTQ3Niw5ICsxNDc2LDkgQEAKICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGppdFxKSVQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXGppdFxKSVRBZGRHZW5lcmF0b3IuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGppdFxKSVRCaXRBbmRHZW5lcmF0b3IuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGppdFxKSVRCaXRCaW5hcnlPcEdlbmVyYXRvci5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5caml0XEpJVEJpdE9yR2VuZXJhdG9yLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxqaXRcSklUQml0WG9yR2VuZXJhdG9yLmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxqaXRcSklUQml0d2lzZUJpbmFyeU9wR2VuZXJhdG9yLmgiIC8+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxqaXRcSklUQ29kZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5caml0XEpJVENvbXBpbGF0aW9uRWZmb3J0LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxqaXRcSklURGlzYXNzZW1ibGVyLmgiIC8+CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qLmZp
bHRlcnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvai5maWx0ZXJzCShyZXZpc2lvbiAxOTM2Mjgp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2Ny
aXB0Q29yZS52Y3hwcm9qLmZpbHRlcnMJKHdvcmtpbmcgY29weSkKQEAgLTI1NDAsMTMgKzI1NDAs
MTMgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGppdFxKSVRCaXRBbmRHZW5lcmF0b3Iu
aCI+CiAgICAgICA8RmlsdGVyPmppdDwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgotICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5caml0XEpJVEJpdE9yR2VuZXJhdG9yLmgiPgorICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5caml0XEpJVEJpdEJpbmFyeU9wR2VuZXJhdG9yLmgiPgogICAgICAg
PEZpbHRlcj5qaXQ8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXGppdFxKSVRCaXRYb3JHZW5lcmF0b3IuaCI+CisgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxqaXRcSklUQml0T3JHZW5lcmF0b3IuaCI+CiAgICAgICA8RmlsdGVyPmppdDwvRmls
dGVyPgogICAgIDwvQ2xJbmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caml0XEpJ
VEJpdHdpc2VCaW5hcnlPcEdlbmVyYXRvci5oIj4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XGppdFxKSVRCaXRYb3JHZW5lcmF0b3IuaCI+CiAgICAgICA8RmlsdGVyPmppdDwvRmlsdGVyPgog
ICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caml0XEpJVENvZGUu
aCI+CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTkzNjI4KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTIwMDgsNyArMjAwOCw3IEBACiAJCUZFMzkxMzU1
MUI3OTRGOEEwMEVEQUY3MSAvKiBMaXZlT2JqZWN0RGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkUzOTEzNTExQjc5NEFDOTAwRURBRjcxIC8qIExp
dmVPYmplY3REYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJRkUzOTEzNTYxQjc5NEY4RjAwRURBRjcxIC8qIExpdmVPYmplY3RMaXN0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRTM5MTM1MzFCNzk0
QUM5MDBFREFGNzEgLyogTGl2ZU9iamVjdExpc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGRTNBMDZBNjFDMTBCNzJEMDAzOTBGREQgLyogSklU
Qml0T3JHZW5lcmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEZFM0EwNkE0MUMxMEI3MDgwMDM5MEZERCAvKiBKSVRCaXRPckdlbmVyYXRvci5oICov
OyBzZXR0aW5ncyA9IHtBU1NFVF9UQUdTID0gKCk7IH07IH07Ci0JCUZFM0EwNkE4MUMxMEJDODEw
MDM5MEZERCAvKiBKSVRCaXR3aXNlQmluYXJ5T3BHZW5lcmF0b3IuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFM0EwNkE3MUMxMEJDNzQwMDM5MEZERCAv
KiBKSVRCaXR3aXNlQmluYXJ5T3BHZW5lcmF0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVNTRVRfVEFH
UyA9ICgpOyB9OyB9OworCQlGRTNBMDZBODFDMTBCQzgxMDAzOTBGREQgLyogSklUQml0QmluYXJ5
T3BHZW5lcmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEZFM0EwNkE3MUMxMEJDNzQwMDM5MEZERCAvKiBKSVRCaXRCaW5hcnlPcEdlbmVyYXRvci5o
ICovOyBzZXR0aW5ncyA9IHtBU1NFVF9UQUdTID0gKCk7IH07IH07CiAJCUZFM0EwNkFDMUMxMEMz
OUUwMDM5MEZERCAvKiBKSVRCaXRPckdlbmVyYXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRTNBMDZBMzFDMTBCNzA4MDAzOTBGREQgLyogSklU
Qml0T3JHZW5lcmF0b3IuY3BwICovOyBzZXR0aW5ncyA9IHtBU1NFVF9UQUdTID0gKCk7IH07IH07
CiAJCUZFM0EwNkIxMUMxMENCODQwMDM5MEZERCAvKiBKSVRCaXRBbmRHZW5lcmF0b3IuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkUzQTA2QUQxQzEw
Q0I2RjAwMzkwRkREIC8qIEpJVEJpdEFuZEdlbmVyYXRvci5jcHAgKi87IHNldHRpbmdzID0ge0FT
U0VUX1RBR1MgPSAoKTsgfTsgfTsKIAkJRkUzQTA2QjIxQzEwQ0I4OTAwMzkwRkREIC8qIEpJVEJp
dEFuZEdlbmVyYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRkUzQTA2QUUxQzEwQ0I2RjAwMzkwRkREIC8qIEpJVEJpdEFuZEdlbmVyYXRvci5oICov
OyBzZXR0aW5ncyA9IHtBU1NFVF9UQUdTID0gKCk7IH07IH07CkBAIC00MTgyLDcgKzQxODIsNyBA
QAogCQlGRTM5MTM1MzFCNzk0QUM5MDBFREFGNzEgLyogTGl2ZU9iamVjdExpc3QuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGl2ZU9iamVjdExpc3QuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRkUzQTA2QTMxQzEwQjcwODAwMzkwRkREIC8qIEpJVEJpdE9yR2Vu
ZXJhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpJVEJpdE9y
R2VuZXJhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkUzQTA2QTQxQzEw
QjcwODAwMzkwRkREIC8qIEpJVEJpdE9yR2VuZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpJVEJpdE9yR2VuZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCUZFM0EwNkE3MUMxMEJDNzQwMDM5MEZERCAvKiBKSVRCaXR3aXNlQmluYXJ5T3BHZW5l
cmF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSklUQml0d2lzZUJpbmFy
eU9wR2VuZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZFM0EwNkE3MUMx
MEJDNzQwMDM5MEZERCAvKiBKSVRCaXRCaW5hcnlPcEdlbmVyYXRvci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKSVRCaXRCaW5hcnlPcEdlbmVyYXRvci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlGRTNBMDZBRDFDMTBDQjZGMDAzOTBGREQgLyogSklUQml0QW5k
R2VuZXJhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpJVEJp
dEFuZEdlbmVyYXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFM0EwNkFF
MUMxMENCNkYwMDM5MEZERCAvKiBKSVRCaXRBbmRHZW5lcmF0b3IuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSklUQml0QW5kR2VuZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUZFM0EwNkFGMUMxMENCNkYwMDM5MEZERCAvKiBKSVRCaXRYb3JHZW5lcmF0
b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSklUQml0WG9yR2Vu
ZXJhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ4NjMsNyArNDg2Myw3
IEBACiAJCQkJRkUzQTA2QTQxQzEwQjcwODAwMzkwRkREIC8qIEpJVEJpdE9yR2VuZXJhdG9yLmgg
Ki8sCiAJCQkJRkUzQTA2QUYxQzEwQ0I2RjAwMzkwRkREIC8qIEpJVEJpdFhvckdlbmVyYXRvci5j
cHAgKi8sCiAJCQkJRkUzQTA2QjAxQzEwQ0I2RjAwMzkwRkREIC8qIEpJVEJpdFhvckdlbmVyYXRv
ci5oICovLAotCQkJCUZFM0EwNkE3MUMxMEJDNzQwMDM5MEZERCAvKiBKSVRCaXR3aXNlQmluYXJ5
T3BHZW5lcmF0b3IuaCAqLywKKwkJCQlGRTNBMDZBNzFDMTBCQzc0MDAzOTBGREQgLyogSklUQml0
QmluYXJ5T3BHZW5lcmF0b3IuaCAqLywKIAkJCQk4NkNDODVBMjBFRTc5Qjc0MDAyODg2ODIgLyog
SklUQ2FsbC5jcHAgKi8sCiAJCQkJMTQ2RkU1MTExMUE3MTA0MzAwODdBRTY2IC8qIEpJVENhbGwz
Ml82NC5jcHAgKi8sCiAJCQkJMEY4Rjk0NDMxNjY3NjM1MjAwRDYxOTcxIC8qIEpJVENvZGUuY3Bw
ICovLApAQCAtNzM5MCw3ICs3MzkwLDcgQEAKIAkJCQk4NkNDRUZERTBGNDEzRjg5MDBGRDdGOUUg
LyogSklUQ29kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYwNzc2QkYxNEZGMDAyQjAwMTAyMzMy
IC8qIEpJVENvbXBpbGF0aW9uRWZmb3J0LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkFGN0VGRTE2
NUJBOTFGMDAwQzg0NTUgLyogSklURGlzYXNzZW1ibGVyLmggaW4gSGVhZGVycyAqLywKLQkJCQlG
RTNBMDZBODFDMTBCQzgxMDAzOTBGREQgLyogSklUQml0d2lzZUJpbmFyeU9wR2VuZXJhdG9yLmgg
aW4gSGVhZGVycyAqLywKKwkJCQlGRTNBMDZBODFDMTBCQzgxMDAzOTBGREQgLyogSklUQml0Qmlu
YXJ5T3BHZW5lcmF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNDY4MDgyMTRCQTU3MkQwMEJG
RTI3MiAvKiBKSVRFeGNlcHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkIxNEUxRjE4MTI0
QUNFMDA5QjZCNEQgLyogSklUSW5saW5lQ2FjaGVHZW5lcmF0b3IuaCBpbiBIZWFkZXJzICovLAog
CQkJCTg2Q0M4NUExMEVFNzlBNDcwMDI4ODY4MiAvKiBKSVRJbmxpbmVzLmggaW4gSGVhZGVycyAq
LywKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAkocmV2aXNpb24gMTkzNjI4KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAkod29ya2luZyBjb3B5KQpAQCAtODI3LDcgKzgy
Nyw3IEBAIG5hbWVzcGFjZSBKU0MgewogI2VuZGlmCiAKICAgICAgICAgdGVtcGxhdGU8dHlwZW5h
bWUgU25pcHBldEdlbmVyYXRvcj4KLSAgICAgICAgdm9pZCBlbWl0Qml0d2lzZUJpbmFyeU9wRmFz
dFBhdGgoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbik7CisgICAgICAgIHZvaWQgZW1p
dEJpdEJpbmFyeU9wRmFzdFBhdGgoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbik7CiAK
ICAgICAgICAgSnVtcCBjaGVja1N0cnVjdHVyZShSZWdpc3RlcklEIHJlZywgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUpOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVEFyaXRobWV0
aWMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQXJpdGht
ZXRpYy5jcHAJKHJldmlzaW9uIDE5MzYyOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUQXJpdGhtZXRpYy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYzMiw3ICs2MzIsNyBAQCB2b2lk
IEpJVDo6ZW1pdFNsb3dfb3BfbW9kKEluc3RydWN0aW9uKiwgCiAjZW5kaWYgLy8gVVNFKEpTVkFM
VUU2NCkKIAogdGVtcGxhdGU8dHlwZW5hbWUgU25pcHBldEdlbmVyYXRvcj4KLXZvaWQgSklUOjpl
bWl0Qml0d2lzZUJpbmFyeU9wRmFzdFBhdGgoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlv
bikKK3ZvaWQgSklUOjplbWl0Qml0QmluYXJ5T3BGYXN0UGF0aChJbnN0cnVjdGlvbiogY3VycmVu
dEluc3RydWN0aW9uKQogewogICAgIGludCByZXN1bHQgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMV0u
dS5vcGVyYW5kOwogICAgIGludCBvcDEgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5k
OwpAQCAtNjg4LDcgKzY4OCw3IEBAIHZvaWQgSklUOjplbWl0Qml0d2lzZUJpbmFyeU9wRmFzdFBh
dGgoSW4KIAogdm9pZCBKSVQ6OmVtaXRfb3BfYml0YW5kKEluc3RydWN0aW9uKiBjdXJyZW50SW5z
dHJ1Y3Rpb24pCiB7Ci0gICAgZW1pdEJpdHdpc2VCaW5hcnlPcEZhc3RQYXRoPEpJVEJpdEFuZEdl
bmVyYXRvcj4oY3VycmVudEluc3RydWN0aW9uKTsKKyAgICBlbWl0Qml0QmluYXJ5T3BGYXN0UGF0
aDxKSVRCaXRBbmRHZW5lcmF0b3I+KGN1cnJlbnRJbnN0cnVjdGlvbik7CiB9CiAKIHZvaWQgSklU
OjplbWl0U2xvd19vcF9iaXRhbmQoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbiwgVmVj
dG9yPFNsb3dDYXNlRW50cnk+OjppdGVyYXRvciYgaXRlcikKQEAgLTcwMSw3ICs3MDEsNyBAQCB2
b2lkIEpJVDo6ZW1pdFNsb3dfb3BfYml0YW5kKEluc3RydWN0aW9uCiAKIHZvaWQgSklUOjplbWl0
X29wX2JpdG9yKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiB7Ci0gICAgZW1pdEJp
dHdpc2VCaW5hcnlPcEZhc3RQYXRoPEpJVEJpdE9yR2VuZXJhdG9yPihjdXJyZW50SW5zdHJ1Y3Rp
b24pOworICAgIGVtaXRCaXRCaW5hcnlPcEZhc3RQYXRoPEpJVEJpdE9yR2VuZXJhdG9yPihjdXJy
ZW50SW5zdHJ1Y3Rpb24pOwogfQogCiB2b2lkIEpJVDo6ZW1pdFNsb3dfb3BfYml0b3IoSW5zdHJ1
Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbiwgVmVjdG9yPFNsb3dDYXNlRW50cnk+OjppdGVyYXRv
ciYgaXRlcikKQEAgLTcxNCw3ICs3MTQsNyBAQCB2b2lkIEpJVDo6ZW1pdFNsb3dfb3BfYml0b3Io
SW5zdHJ1Y3Rpb24qCiAKIHZvaWQgSklUOjplbWl0X29wX2JpdHhvcihJbnN0cnVjdGlvbiogY3Vy
cmVudEluc3RydWN0aW9uKQogewotICAgIGVtaXRCaXR3aXNlQmluYXJ5T3BGYXN0UGF0aDxKSVRC
aXRYb3JHZW5lcmF0b3I+KGN1cnJlbnRJbnN0cnVjdGlvbik7CisgICAgZW1pdEJpdEJpbmFyeU9w
RmFzdFBhdGg8SklUQml0WG9yR2VuZXJhdG9yPihjdXJyZW50SW5zdHJ1Y3Rpb24pOwogfQogCiB2
b2lkIEpJVDo6ZW1pdFNsb3dfb3BfYml0eG9yKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rp
b24sIFZlY3RvcjxTbG93Q2FzZUVudHJ5Pjo6aXRlcmF0b3ImIGl0ZXIpCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVEJpdEFuZEdlbmVyYXRvci5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQml0QW5kR2VuZXJhdG9yLmgJKHJldmlzaW9uIDE5
MzYyOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQml0QW5kR2VuZXJhdG9yLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTI4LDE1ICsyOCwxNSBAQAogCiAjaWYgRU5BQkxFKEpJVCkKIAot
I2luY2x1ZGUgIkpJVEJpdHdpc2VCaW5hcnlPcEdlbmVyYXRvci5oIgorI2luY2x1ZGUgIkpJVEJp
dEJpbmFyeU9wR2VuZXJhdG9yLmgiCiAKIG5hbWVzcGFjZSBKU0MgewogCi1jbGFzcyBKSVRCaXRB
bmRHZW5lcmF0b3IgOiBwdWJsaWMgSklUQml0d2lzZUJpbmFyeU9wR2VuZXJhdG9yIHsKK2NsYXNz
IEpJVEJpdEFuZEdlbmVyYXRvciA6IHB1YmxpYyBKSVRCaXRCaW5hcnlPcEdlbmVyYXRvciB7CiBw
dWJsaWM6CiAgICAgSklUQml0QW5kR2VuZXJhdG9yKGNvbnN0IFNuaXBwZXRPcGVyYW5kJiBsZWZ0
T3BlcmFuZCwgY29uc3QgU25pcHBldE9wZXJhbmQmIHJpZ2h0T3BlcmFuZCwKICAgICAgICAgSlNW
YWx1ZVJlZ3MgcmVzdWx0LCBKU1ZhbHVlUmVncyBsZWZ0LCBKU1ZhbHVlUmVncyByaWdodCwgR1BS
UmVnIHNjcmF0Y2hHUFIpCi0gICAgICAgIDogSklUQml0d2lzZUJpbmFyeU9wR2VuZXJhdG9yKGxl
ZnRPcGVyYW5kLCByaWdodE9wZXJhbmQsIHJlc3VsdCwgbGVmdCwgcmlnaHQsIHNjcmF0Y2hHUFIp
CisgICAgICAgIDogSklUQml0QmluYXJ5T3BHZW5lcmF0b3IobGVmdE9wZXJhbmQsIHJpZ2h0T3Bl
cmFuZCwgcmVzdWx0LCBsZWZ0LCByaWdodCwgc2NyYXRjaEdQUikKICAgICB7IH0KIAogICAgIHZv
aWQgZ2VuZXJhdGVGYXN0UGF0aChDQ2FsbEhlbHBlcnMmKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUQml0QmluYXJ5T3BHZW5lcmF0b3IuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVEJpdEJpbmFyeU9wR2VuZXJhdG9yLmgJKHJldmlzaW9u
IDE5MzYyOCkJKGZyb20gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRCaXR3aXNlQmluYXJ5
T3BHZW5lcmF0b3IuaDoxOTM2MjgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVEJp
dEJpbmFyeU9wR2VuZXJhdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw3MSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSklUQml0
d2lzZUJpbmFyeU9wR2VuZXJhdG9yX2gKKyNkZWZpbmUgSklUQml0d2lzZUJpbmFyeU9wR2VuZXJh
dG9yX2gKKworI2lmIEVOQUJMRShKSVQpCisKKyNpbmNsdWRlICJDQ2FsbEhlbHBlcnMuaCIKKyNp
bmNsdWRlICJTbmlwcGV0T3BlcmFuZC5oIgorCituYW1lc3BhY2UgSlNDIHsKKworY2xhc3MgSklU
Qml0d2lzZUJpbmFyeU9wR2VuZXJhdG9yIHsKK3B1YmxpYzoKKyAgICBKSVRCaXR3aXNlQmluYXJ5
T3BHZW5lcmF0b3IoY29uc3QgU25pcHBldE9wZXJhbmQmIGxlZnRPcGVyYW5kLCBjb25zdCBTbmlw
cGV0T3BlcmFuZCYgcmlnaHRPcGVyYW5kLAorICAgICAgICBKU1ZhbHVlUmVncyByZXN1bHQsIEpT
VmFsdWVSZWdzIGxlZnQsIEpTVmFsdWVSZWdzIHJpZ2h0LCBHUFJSZWcgc2NyYXRjaEdQUikKKyAg
ICAgICAgOiBtX2xlZnRPcGVyYW5kKGxlZnRPcGVyYW5kKQorICAgICAgICAsIG1fcmlnaHRPcGVy
YW5kKHJpZ2h0T3BlcmFuZCkKKyAgICAgICAgLCBtX3Jlc3VsdChyZXN1bHQpCisgICAgICAgICwg
bV9sZWZ0KGxlZnQpCisgICAgICAgICwgbV9yaWdodChyaWdodCkKKyAgICAgICAgLCBtX3NjcmF0
Y2hHUFIoc2NyYXRjaEdQUikKKyAgICB7CisgICAgICAgIEFTU0VSVCghbV9sZWZ0T3BlcmFuZC5p
c0NvbnN0SW50MzIoKSB8fCAhbV9yaWdodE9wZXJhbmQuaXNDb25zdEludDMyKCkpOworICAgIH0K
KworICAgIGJvb2wgZGlkRW1pdEZhc3RQYXRoKCkgY29uc3QgeyByZXR1cm4gbV9kaWRFbWl0RmFz
dFBhdGg7IH0KKyAgICBDQ2FsbEhlbHBlcnM6Okp1bXBMaXN0JiBlbmRKdW1wTGlzdCgpIHsgcmV0
dXJuIG1fZW5kSnVtcExpc3Q7IH0KKyAgICBDQ2FsbEhlbHBlcnM6Okp1bXBMaXN0JiBzbG93UGF0
aEp1bXBMaXN0KCkgeyByZXR1cm4gbV9zbG93UGF0aEp1bXBMaXN0OyB9CisKK3Byb3RlY3RlZDoK
KyAgICBTbmlwcGV0T3BlcmFuZCBtX2xlZnRPcGVyYW5kOworICAgIFNuaXBwZXRPcGVyYW5kIG1f
cmlnaHRPcGVyYW5kOworICAgIEpTVmFsdWVSZWdzIG1fcmVzdWx0OworICAgIEpTVmFsdWVSZWdz
IG1fbGVmdDsKKyAgICBKU1ZhbHVlUmVncyBtX3JpZ2h0OworICAgIEdQUlJlZyBtX3NjcmF0Y2hH
UFI7CisgICAgYm9vbCBtX2RpZEVtaXRGYXN0UGF0aCB7IGZhbHNlIH07CisKKyAgICBDQ2FsbEhl
bHBlcnM6Okp1bXBMaXN0IG1fZW5kSnVtcExpc3Q7CisgICAgQ0NhbGxIZWxwZXJzOjpKdW1wTGlz
dCBtX3Nsb3dQYXRoSnVtcExpc3Q7Cit9OworCit9IC8vIG5hbWVzcGFjZSBKU0MKKworI2VuZGlm
IC8vIEVOQUJMRShKSVQpCisKKyNlbmRpZiAvLyBKSVRCaXR3aXNlQmluYXJ5T3BHZW5lcmF0b3Jf
aApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRCaXRCaW5hcnlPcEdlbmVyYXRv
ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQml0QmluYXJ5
T3BHZW5lcmF0b3IuaAkod29ya2luZyBjb3B5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRCaXRCaW5hcnlPcEdlbmVyYXRvci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMyw4ICsyMyw4
IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZm5kZWYgSklUQml0d2lzZUJpbmFyeU9wR2Vu
ZXJhdG9yX2gKLSNkZWZpbmUgSklUQml0d2lzZUJpbmFyeU9wR2VuZXJhdG9yX2gKKyNpZm5kZWYg
SklUQml0QmluYXJ5T3BHZW5lcmF0b3JfaAorI2RlZmluZSBKSVRCaXRCaW5hcnlPcEdlbmVyYXRv
cl9oCiAKICNpZiBFTkFCTEUoSklUKQogCkBAIC0zMyw5ICszMyw5IEBACiAKIG5hbWVzcGFjZSBK
U0MgewogCi1jbGFzcyBKSVRCaXR3aXNlQmluYXJ5T3BHZW5lcmF0b3IgeworY2xhc3MgSklUQml0
QmluYXJ5T3BHZW5lcmF0b3IgewogcHVibGljOgotICAgIEpJVEJpdHdpc2VCaW5hcnlPcEdlbmVy
YXRvcihjb25zdCBTbmlwcGV0T3BlcmFuZCYgbGVmdE9wZXJhbmQsIGNvbnN0IFNuaXBwZXRPcGVy
YW5kJiByaWdodE9wZXJhbmQsCisgICAgSklUQml0QmluYXJ5T3BHZW5lcmF0b3IoY29uc3QgU25p
cHBldE9wZXJhbmQmIGxlZnRPcGVyYW5kLCBjb25zdCBTbmlwcGV0T3BlcmFuZCYgcmlnaHRPcGVy
YW5kLAogICAgICAgICBKU1ZhbHVlUmVncyByZXN1bHQsIEpTVmFsdWVSZWdzIGxlZnQsIEpTVmFs
dWVSZWdzIHJpZ2h0LCBHUFJSZWcgc2NyYXRjaEdQUikKICAgICAgICAgOiBtX2xlZnRPcGVyYW5k
KGxlZnRPcGVyYW5kKQogICAgICAgICAsIG1fcmlnaHRPcGVyYW5kKHJpZ2h0T3BlcmFuZCkKQEAg
LTY4LDQgKzY4LDQgQEAgcHJvdGVjdGVkOgogCiAjZW5kaWYgLy8gRU5BQkxFKEpJVCkKIAotI2Vu
ZGlmIC8vIEpJVEJpdHdpc2VCaW5hcnlPcEdlbmVyYXRvcl9oCisjZW5kaWYgLy8gSklUQml0Qmlu
YXJ5T3BHZW5lcmF0b3JfaApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRCaXRP
ckdlbmVyYXRvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
Qml0T3JHZW5lcmF0b3IuaAkocmV2aXNpb24gMTkzNjI4KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRCaXRPckdlbmVyYXRvci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCwxNSArMjgs
MTUgQEAKIAogI2lmIEVOQUJMRShKSVQpCiAKLSNpbmNsdWRlICJKSVRCaXR3aXNlQmluYXJ5T3BH
ZW5lcmF0b3IuaCIKKyNpbmNsdWRlICJKSVRCaXRCaW5hcnlPcEdlbmVyYXRvci5oIgogCiBuYW1l
c3BhY2UgSlNDIHsKIAotY2xhc3MgSklUQml0T3JHZW5lcmF0b3IgOiBwdWJsaWMgSklUQml0d2lz
ZUJpbmFyeU9wR2VuZXJhdG9yIHsKK2NsYXNzIEpJVEJpdE9yR2VuZXJhdG9yIDogcHVibGljIEpJ
VEJpdEJpbmFyeU9wR2VuZXJhdG9yIHsKIHB1YmxpYzoKICAgICBKSVRCaXRPckdlbmVyYXRvcihj
b25zdCBTbmlwcGV0T3BlcmFuZCYgbGVmdE9wZXJhbmQsIGNvbnN0IFNuaXBwZXRPcGVyYW5kJiBy
aWdodE9wZXJhbmQsCiAgICAgICAgIEpTVmFsdWVSZWdzIHJlc3VsdCwgSlNWYWx1ZVJlZ3MgbGVm
dCwgSlNWYWx1ZVJlZ3MgcmlnaHQsIEdQUlJlZyB1bnVzZWQgPSBJbnZhbGlkR1BSUmVnKQotICAg
ICAgICA6IEpJVEJpdHdpc2VCaW5hcnlPcEdlbmVyYXRvcihsZWZ0T3BlcmFuZCwgcmlnaHRPcGVy
YW5kLCByZXN1bHQsIGxlZnQsIHJpZ2h0LCB1bnVzZWQpCisgICAgICAgIDogSklUQml0QmluYXJ5
T3BHZW5lcmF0b3IobGVmdE9wZXJhbmQsIHJpZ2h0T3BlcmFuZCwgcmVzdWx0LCBsZWZ0LCByaWdo
dCwgdW51c2VkKQogICAgIHsgfQogCiAgICAgdm9pZCBnZW5lcmF0ZUZhc3RQYXRoKENDYWxsSGVs
cGVycyYpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRCaXRYb3JHZW5lcmF0
b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVEJpdFhvckdl
bmVyYXRvci5oCShyZXZpc2lvbiAxOTM2MjgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVEJpdFhvckdlbmVyYXRvci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCwxNSArMjgsMTUgQEAK
IAogI2lmIEVOQUJMRShKSVQpCiAKLSNpbmNsdWRlICJKSVRCaXR3aXNlQmluYXJ5T3BHZW5lcmF0
b3IuaCIKKyNpbmNsdWRlICJKSVRCaXRCaW5hcnlPcEdlbmVyYXRvci5oIgogCiBuYW1lc3BhY2Ug
SlNDIHsKIAotY2xhc3MgSklUQml0WG9yR2VuZXJhdG9yIDogcHVibGljIEpJVEJpdHdpc2VCaW5h
cnlPcEdlbmVyYXRvciB7CitjbGFzcyBKSVRCaXRYb3JHZW5lcmF0b3IgOiBwdWJsaWMgSklUQml0
QmluYXJ5T3BHZW5lcmF0b3IgewogcHVibGljOgogICAgIEpJVEJpdFhvckdlbmVyYXRvcihjb25z
dCBTbmlwcGV0T3BlcmFuZCYgbGVmdE9wZXJhbmQsIGNvbnN0IFNuaXBwZXRPcGVyYW5kJiByaWdo
dE9wZXJhbmQsCiAgICAgICAgIEpTVmFsdWVSZWdzIHJlc3VsdCwgSlNWYWx1ZVJlZ3MgbGVmdCwg
SlNWYWx1ZVJlZ3MgcmlnaHQsIEdQUlJlZyB1bnVzZWQgPSBJbnZhbGlkR1BSUmVnKQotICAgICAg
ICA6IEpJVEJpdHdpc2VCaW5hcnlPcEdlbmVyYXRvcihsZWZ0T3BlcmFuZCwgcmlnaHRPcGVyYW5k
LCByZXN1bHQsIGxlZnQsIHJpZ2h0LCB1bnVzZWQpCisgICAgICAgIDogSklUQml0QmluYXJ5T3BH
ZW5lcmF0b3IobGVmdE9wZXJhbmQsIHJpZ2h0T3BlcmFuZCwgcmVzdWx0LCBsZWZ0LCByaWdodCwg
dW51c2VkKQogICAgIHsgfQogCiAgICAgdm9pZCBnZW5lcmF0ZUZhc3RQYXRoKENDYWxsSGVscGVy
cyYpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRCaXR3aXNlQmluYXJ5T3BH
ZW5lcmF0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVEJp
dHdpc2VCaW5hcnlPcEdlbmVyYXRvci5oCShyZXZpc2lvbiAxOTM2MjgpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVEJpdHdpc2VCaW5hcnlPcEdlbmVyYXRvci5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDcxICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0g
KiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi0jaWZuZGVmIEpJVEJpdHdpc2VCaW5hcnlPcEdlbmVyYXRvcl9oCi0jZGVmaW5l
IEpJVEJpdHdpc2VCaW5hcnlPcEdlbmVyYXRvcl9oCi0KLSNpZiBFTkFCTEUoSklUKQotCi0jaW5j
bHVkZSAiQ0NhbGxIZWxwZXJzLmgiCi0jaW5jbHVkZSAiU25pcHBldE9wZXJhbmQuaCIKLQotbmFt
ZXNwYWNlIEpTQyB7Ci0KLWNsYXNzIEpJVEJpdHdpc2VCaW5hcnlPcEdlbmVyYXRvciB7Ci1wdWJs
aWM6Ci0gICAgSklUQml0d2lzZUJpbmFyeU9wR2VuZXJhdG9yKGNvbnN0IFNuaXBwZXRPcGVyYW5k
JiBsZWZ0T3BlcmFuZCwgY29uc3QgU25pcHBldE9wZXJhbmQmIHJpZ2h0T3BlcmFuZCwKLSAgICAg
ICAgSlNWYWx1ZVJlZ3MgcmVzdWx0LCBKU1ZhbHVlUmVncyBsZWZ0LCBKU1ZhbHVlUmVncyByaWdo
dCwgR1BSUmVnIHNjcmF0Y2hHUFIpCi0gICAgICAgIDogbV9sZWZ0T3BlcmFuZChsZWZ0T3BlcmFu
ZCkKLSAgICAgICAgLCBtX3JpZ2h0T3BlcmFuZChyaWdodE9wZXJhbmQpCi0gICAgICAgICwgbV9y
ZXN1bHQocmVzdWx0KQotICAgICAgICAsIG1fbGVmdChsZWZ0KQotICAgICAgICAsIG1fcmlnaHQo
cmlnaHQpCi0gICAgICAgICwgbV9zY3JhdGNoR1BSKHNjcmF0Y2hHUFIpCi0gICAgewotICAgICAg
ICBBU1NFUlQoIW1fbGVmdE9wZXJhbmQuaXNDb25zdEludDMyKCkgfHwgIW1fcmlnaHRPcGVyYW5k
LmlzQ29uc3RJbnQzMigpKTsKLSAgICB9Ci0KLSAgICBib29sIGRpZEVtaXRGYXN0UGF0aCgpIGNv
bnN0IHsgcmV0dXJuIG1fZGlkRW1pdEZhc3RQYXRoOyB9Ci0gICAgQ0NhbGxIZWxwZXJzOjpKdW1w
TGlzdCYgZW5kSnVtcExpc3QoKSB7IHJldHVybiBtX2VuZEp1bXBMaXN0OyB9Ci0gICAgQ0NhbGxI
ZWxwZXJzOjpKdW1wTGlzdCYgc2xvd1BhdGhKdW1wTGlzdCgpIHsgcmV0dXJuIG1fc2xvd1BhdGhK
dW1wTGlzdDsgfQotCi1wcm90ZWN0ZWQ6Ci0gICAgU25pcHBldE9wZXJhbmQgbV9sZWZ0T3BlcmFu
ZDsKLSAgICBTbmlwcGV0T3BlcmFuZCBtX3JpZ2h0T3BlcmFuZDsKLSAgICBKU1ZhbHVlUmVncyBt
X3Jlc3VsdDsKLSAgICBKU1ZhbHVlUmVncyBtX2xlZnQ7Ci0gICAgSlNWYWx1ZVJlZ3MgbV9yaWdo
dDsKLSAgICBHUFJSZWcgbV9zY3JhdGNoR1BSOwotICAgIGJvb2wgbV9kaWRFbWl0RmFzdFBhdGgg
eyBmYWxzZSB9OwotCi0gICAgQ0NhbGxIZWxwZXJzOjpKdW1wTGlzdCBtX2VuZEp1bXBMaXN0Owot
ICAgIENDYWxsSGVscGVyczo6SnVtcExpc3QgbV9zbG93UGF0aEp1bXBMaXN0OwotfTsKLQotfSAv
LyBuYW1lc3BhY2UgSlNDCi0KLSNlbmRpZiAvLyBFTkFCTEUoSklUKQotCi0jZW5kaWYgLy8gSklU
Qml0d2lzZUJpbmFyeU9wR2VuZXJhdG9yX2gK
</data>
<flag name="review"
          id="291799"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>