<?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>127321</bug_id>
          
          <creation_ts>2014-01-20 16:27:47 -0800</creation_ts>
          <short_desc>Removing CodeBlock::opDebugBytecodeOffsetForLineAndColumn() and friends.</short_desc>
          <delta_ts>2014-01-20 16:41:20 -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>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>122836</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>970072</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-01-20 16:27:47 -0800</bug_when>
    <thetext>We&apos;re changing plans and will be going with CodeBlock level breakpoints instead of bytecode level breakpoints.  As a result, we no longer need the services of CodeBlock::opDebugBytecodeOffsetForLineAndColumn() (and friends).  This patch will remove that unused code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970076</commentid>
    <comment_count>1</comment_count>
      <attachid>221704</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-01-20 16:31:12 -0800</bug_when>
    <thetext>Created attachment 221704
the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970077</commentid>
    <comment_count>2</comment_count>
      <attachid>221704</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-01-20 16:33:57 -0800</bug_when>
    <thetext>Comment on attachment 221704
the patch.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970079</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-01-20 16:41:20 -0800</bug_when>
    <thetext>Thanks for the review.  Landed in r162389: &lt;http://trac.webkit.org/r162389&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221704</attachid>
            <date>2014-01-20 16:31:12 -0800</date>
            <delta_ts>2014-01-20 16:33:57 -0800</delta_ts>
            <desc>the patch.</desc>
            <filename>bug-127321.patch</filename>
            <type>text/plain</type>
            <size>18530</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTYyMzg2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBA
CisyMDE0LTAxLTIwICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZW1vdmluZyBDb2RlQmxvY2s6Om9wRGVidWdCeXRlY29kZU9mZnNldEZvckxpbmVBbmRDb2x1bW4o
KSBhbmQgZnJpZW5kcy4KKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEyNzMyMT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSdyZSBjaGFu
Z2luZyBwbGFucyBhbmQgd2lsbCBiZSBnb2luZyB3aXRoIENvZGVCbG9jayBsZXZlbCBicmVha3Bv
aW50cworICAgICAgICBpbnN0ZWFkIG9mIGJ5dGVjb2RlIGxldmVsIGJyZWFrcG9pbnRzLiBBcyBh
IHJlc3VsdCwgd2Ugbm8gbG9uZ2VyIG5lZWQKKyAgICAgICAgdGhlIHNlcnZpY2VzIG9mIENvZGVC
bG9jazo6b3BEZWJ1Z0J5dGVjb2RlT2Zmc2V0Rm9yTGluZUFuZENvbHVtbigpIChhbmQKKyAgICAg
ICAgZnJpZW5kcykuIFRoaXMgcGF0Y2ggd2lsbCByZW1vdmUgdGhhdCB1bnVzZWQgY29kZS4KKwor
ICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogSmF2YVNjcmlwdENvcmUu
dmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qOgorICAgICAgICAqIEphdmFTY3JpcHRDb3Jl
LnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvai5maWx0ZXJzOgorICAgICAgICAqIEphdmFT
Y3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYnl0ZWNvZGUv
Q29kZUJsb2NrLmNwcDoKKyAgICAgICAgKiBieXRlY29kZS9Db2RlQmxvY2suaDoKKyAgICAgICAg
KiBieXRlY29kZS9MaW5lQ29sdW1uSW5mby5oOiBSZW1vdmVkLgorICAgICAgICAqIGJ5dGVjb2Rl
L1VubGlua2VkQ29kZUJsb2NrLmNwcDoKKyAgICAgICAgKEpTQzo6VW5saW5rZWRDb2RlQmxvY2s6
OmR1bXBFeHByZXNzaW9uUmFuZ2VJbmZvKToKKyAgICAgICAgKiBieXRlY29kZS9VbmxpbmtlZENv
ZGVCbG9jay5oOgorCiAyMDE0LTAxLTIwICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0Bh
cHBsZS5jb20+CiAKICAgICAgICAgQ29kZUJsb2NrU2V0Ojp0cmFjZU1hcmtlZCBkb2Vzbid0IG5l
ZWQgdG8gdmlzaXQgdGhlIG93bmVyRXhlY3V0YWJsZQpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHJldmlzaW9uIDE2MjM4MCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCSh3b3JraW5nIGNvcHkpCkBAIC0xNTIsNyAr
MTUyLDYgQEAgamF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0xMSW50Q2FsbExpbmtJbmZvLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9MYXp5T3BlcmFuZFZhbHVlUHJvZmlsZS5jcHAgXAogCVNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9MYXp5T3BlcmFuZFZhbHVlUHJvZmlsZS5oIFwKLQlTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvTGluZUNvbHVtbkluZm8uaCBcCiAJU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL01ldGhvZE9mR2V0dGluZ0FWYWx1ZVByb2ZpbGUuY3BwIFwKIAlTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTWV0aG9kT2ZHZXR0aW5nQVZhbHVlUHJvZmlsZS5o
IFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2Zp
bGUuaCBcCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJv
ai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oJKHJldmlz
aW9uIDE2MjM4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hw
cm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTgxNiw3ICs4MTYs
NiBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYnl0ZWNvZGVcSW5zdHJ1Y3Rpb24uaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJ5dGVjb2RlXEp1bXBUYWJsZS5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYnl0ZWNvZGVcTGF6eU9wZXJhbmRWYWx1ZVByb2Zp
bGUuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJ5dGVjb2RlXExpbmVDb2x1bW5J
bmZvLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxieXRlY29kZVxMTEludENhbGxM
aW5rSW5mby5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYnl0ZWNvZGVcTWV0aG9k
T2ZHZXR0aW5nQVZhbHVlUHJvZmlsZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
Ynl0ZWNvZGVcT3Bjb2RlLmgiIC8+CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qLmZpbHRlcnMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNj
cmlwdENvcmUudmN4cHJvai5maWx0ZXJzCShyZXZpc2lvbiAxNjIzODApCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9q
LmZpbHRlcnMJKHdvcmtpbmcgY29weSkKQEAgLTE1MDIsOSArMTUwMiw2IEBACiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxieXRlY29kZVxMYXp5T3BlcmFuZFZhbHVlUHJvZmlsZS5oIj4KICAg
ICAgIDxGaWx0ZXI+Ynl0ZWNvZGU8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXGJ5dGVjb2RlXExpbmVDb2x1bW5JbmZvLmgiPgotICAgICAgPEZp
bHRlcj5ieXRlY29kZTwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cYnl0ZWNvZGVcTExJbnRDYWxsTGlua0luZm8uaCI+CiAgICAgICA8RmlsdGVy
PmJ5dGVjb2RlPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkocmV2aXNpb24gMTYyMzgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkK
QEAgLTEzMTIsNyArMTMxMiw2IEBACiAJCUU0OURDMTZEMTJFRjI5NTMwMDE4NEExRiAvKiBTb3Vy
Y2VQcm92aWRlckNhY2hlSXRlbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTQ5REMxNDkxMkVGMjYxQTAwMTg0QTFGIC8qIFNvdXJjZVByb3ZpZGVyQ2Fj
aGVJdGVtLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJRkUyMENFOUQxNUYwNEE5NTAwREYzNDMwIC8qIExMSW50Q0xvb3AuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkUyMENFOUIxNUYwNEE5NTAwREYz
NDMwIC8qIExMSW50Q0xvb3AuY3BwICovOyB9OwogCQlGRTIwQ0U5RTE1RjA0QTk1MDBERjM0MzAg
LyogTExJbnRDTG9vcC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRkUyMENFOUMxNUYwNEE5NTAwREYzNDMwIC8qIExMSW50Q0xvb3AuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlGRTM3REQ1NjE4M0MxRTg4
MDAxOEIyRjAgLyogTGluZUNvbHVtbkluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEZFMzdERDU1MTgzQzFFODgwMDE4QjJGMCAvKiBMaW5lQ29sdW1u
SW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUZFNEEzMzFGMTVCRDJFMDcwMDZGNTRGMyAvKiBWTUluc3BlY3Rvci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRTRBMzMxRDE1QkQyRTA3MDA2RjU0
RjMgLyogVk1JbnNwZWN0b3IuY3BwICovOyB9OwogCQlGRTRBMzMyMDE1QkQyRTA3MDA2RjU0RjMg
LyogVk1JbnNwZWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEZFNEEzMzFFMTVCRDJFMDcwMDZGNTRGMyAvKiBWTUluc3BlY3Rvci5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUZFNTkzMkE3MTgzQzVB
MjYwMEExRUNDQyAvKiBWTUVudHJ5U2NvcGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRkU1OTMyQTUxODNDNUEyNjAwQTFFQ0NDIC8qIFZNRW50cnlT
Y29wZS5jcHAgKi87IH07CkBAIC0yNzIyLDcgKzI3MjEsNiBAQAogCQlGNjkyQTg4NzAyNTU1OTdE
MDFGRjYwRjcgLyogSlNDSlNWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NKU1ZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9OwogCQlGRTIwQ0U5QjE1RjA0QTk1MDBERjM0MzAgLyog
TExJbnRDTG9vcC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBMTElu
dENMb29wLmNwcDsgcGF0aCA9IGxsaW50L0xMSW50Q0xvb3AuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlGRTIwQ0U5QzE1RjA0QTk1MDBERjM0MzAgLyogTExJbnRDTG9vcC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMTEludENMb29wLmg7IHBhdGggPSBsbGlu
dC9MTEludENMb29wLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUZFMzdERDU1MTgz
QzFFODgwMDE4QjJGMCAvKiBMaW5lQ29sdW1uSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBMaW5lQ29sdW1uSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlGRTRBMzMxRDE1QkQyRTA3MDA2RjU0RjMgLyogVk1JbnNwZWN0b3IuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVk1JbnNwZWN0b3IuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlGRTRBMzMxRTE1QkQyRTA3MDA2RjU0RjMgLyogVk1JbnNwZWN0b3Iu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVk1JbnNwZWN0b3IuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkU1OTMyQTUxODNDNUEyNjAwQTFFQ0NDIC8qIFZNRW50
cnlTY29wZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBWTUVudHJ5
U2NvcGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDIzMCw3ICs0MjI4LDYg
QEAKIAkJOTY5QTA3OEYwRUQxRDNBRTAwRjFGNjgxIC8qIGJ5dGVjb2RlICovID0gewogCQkJaXNh
ID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJCQlGRTM3REQ1NTE4M0MxRTg4MDAxOEIy
RjAgLyogTGluZUNvbHVtbkluZm8uaCAqLywKIAkJCQkwRjgzMzVCNDE2MzlDMUUzMDAxNDQzQjUg
LyogQXJyYXlBbGxvY2F0aW9uUHJvZmlsZS5jcHAgKi8sCiAJCQkJMEY4MzM1QjUxNjM5QzFFMzAw
MTQ0M0I1IC8qIEFycmF5QWxsb2NhdGlvblByb2ZpbGUuaCAqLywKIAkJCQkwRjYzOTQ1MTE1RDA3
MDUxMDA2QTU5N0MgLyogQXJyYXlQcm9maWxlLmNwcCAqLywKQEAgLTQ0NzEsNyArNDQ2OCw2IEBA
CiAJCQkJQzJGQ0FFMTExN0E5QzI0RTAwMzRDNzM1IC8qIEJ5dGVjb2RlQmFzaWNCbG9jay5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQTUzMjQzOTQxODU2OTcwOTAwMkVENjkyIC8qIGdlbmVyYXRlLWNv
bWJpbmVkLWluc3BlY3Rvci1qc29uLnB5IGluIEhlYWRlcnMgKi8sCiAJCQkJQzJGQ0FFMTMxN0E5
QzI0RTAwMzRDNzM1IC8qIEJ5dGVjb2RlTGl2ZW5lc3NBbmFseXNpcy5oIGluIEhlYWRlcnMgKi8s
Ci0JCQkJRkUzN0RENTYxODNDMUU4ODAwMThCMkYwIC8qIExpbmVDb2x1bW5JbmZvLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkwRjgzMzVCODE2MzlDMUVBMDAxNDQzQjUgLyogQXJyYXlBbGxvY2F0aW9u
UHJvZmlsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU4NDBFMjkxODdDQTVFNjAwODQzQjEwIC8q
IGlubGluZS1hbmQtbWluaWZ5LXN0eWxlc2hlZXRzLWFuZC1zY3JpcHRzLnB5IGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTU4NDBFMkIxODdDQTc1QjAwODQzQjEwIC8qIGpzbWluLnB5IGluIEhlYWRlcnMg
Ki8sCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNw
cAkocmV2aXNpb24gMTYyMzgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0Nv
ZGVCbG9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1NjQsMjMgKzI1NjQsNiBAQCB2b2lkIENv
ZGVCbG9jazo6ZXhwcmVzc2lvblJhbmdlRm9yQnl0ZWNvCiAgICAgbGluZSArPSBtX293bmVyRXhl
Y3V0YWJsZS0+bGluZU5vKCk7CiB9CiAKLXVuc2lnbmVkIENvZGVCbG9jazo6b3BEZWJ1Z0J5dGVj
b2RlT2Zmc2V0Rm9yTGluZUFuZENvbHVtbih1bnNpZ25lZCYgbGluZSwgdW5zaWduZWQmIGNvbHVt
bikKLXsKLSAgICB1bnNpZ25lZCBsaW5lQWRqdXN0bWVudCA9IG1fb3duZXJFeGVjdXRhYmxlLT5s
aW5lTm8oKTsKLSAgICBBU1NFUlQobGluZSA+PSBsaW5lQWRqdXN0bWVudCk7Ci0gICAgdW5zaWdu
ZWQgdW5saW5rZWRMaW5lID0gbGluZSAtIGxpbmVBZGp1c3RtZW50OwotICAgIHVuc2lnbmVkIGNv
bHVtbkFkanVzdG1lbnQgPSB1bmxpbmtlZExpbmUgPyAxIDogZmlyc3RMaW5lQ29sdW1uT2Zmc2V0
KCk7Ci0gICAgQVNTRVJUKGNvbHVtbiA+PSBjb2x1bW5BZGp1c3RtZW50KTsKLSAgICB1bnNpZ25l
ZCB1bmxpbmtlZENvbHVtbiA9IGNvbHVtbiAtIGNvbHVtbkFkanVzdG1lbnQ7Ci0KLSAgICB1bnNp
Z25lZCBieXRlY29kZU9mZnNldCA9IG1fdW5saW5rZWRDb2RlLT5vcERlYnVnQnl0ZWNvZGVPZmZz
ZXRGb3JMaW5lQW5kQ29sdW1uKHVubGlua2VkTGluZSwgdW5saW5rZWRDb2x1bW4pOwotICAgIGlm
IChieXRlY29kZU9mZnNldCAhPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oV1RGOjpub3RGb3VuZCkp
IHsKLSAgICAgICAgbGluZSA9IHVubGlua2VkTGluZSArIGxpbmVBZGp1c3RtZW50OwotICAgICAg
ICBjb2x1bW4gPSB1bmxpbmtlZENvbHVtbiArICh1bmxpbmtlZExpbmUgPyAxIDogZmlyc3RMaW5l
Q29sdW1uT2Zmc2V0KCkpOwotICAgIH0KLSAgICByZXR1cm4gYnl0ZWNvZGVPZmZzZXQ7Ci19Ci0K
IHZvaWQgQ29kZUJsb2NrOjpzaHJpbmtUb0ZpdChTaHJpbmtNb2RlIHNocmlua01vZGUpCiB7CiAg
ICAgbV9yYXJlQ2FzZVByb2ZpbGVzLnNocmlua1RvRml0KCk7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCShyZXZpc2lvbiAxNjIzODApCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgJKHdvcmtpbmcgY29weSkKQEAg
LTE3NCw3ICsxNzQsNiBAQCBwdWJsaWM6CiAgICAgdW5zaWduZWQgY29sdW1uTnVtYmVyRm9yQnl0
ZWNvZGVPZmZzZXQodW5zaWduZWQgYnl0ZWNvZGVPZmZzZXQpOwogICAgIHZvaWQgZXhwcmVzc2lv
blJhbmdlRm9yQnl0ZWNvZGVPZmZzZXQodW5zaWduZWQgYnl0ZWNvZGVPZmZzZXQsIGludCYgZGl2
b3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQmIHN0YXJ0
T2Zmc2V0LCBpbnQmIGVuZE9mZnNldCwgdW5zaWduZWQmIGxpbmUsIHVuc2lnbmVkJiBjb2x1bW4p
OwotICAgIHVuc2lnbmVkIG9wRGVidWdCeXRlY29kZU9mZnNldEZvckxpbmVBbmRDb2x1bW4odW5z
aWduZWQmIGxpbmUsIHVuc2lnbmVkJiBjb2x1bW4pOwogCiAjaWYgRU5BQkxFKEpJVCkKICAgICBT
dHJ1Y3R1cmVTdHViSW5mbyogYWRkU3R1YkluZm8oKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9MaW5lQ29sdW1uSW5mby5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9MaW5lQ29sdW1uSW5mby5oCShyZXZpc2lvbiAxNjIzODApCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTGluZUNvbHVtbkluZm8uaAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw5NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
Ci0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAotICovCi0KLSNpZm5kZWYgTGluZUNvbHVtbkluZm9faAotI2RlZmluZSBMaW5lQ29s
dW1uSW5mb19oCi0KLW5hbWVzcGFjZSBKU0MgewotCi1zdHJ1Y3QgTGluZUNvbHVtbkluZm8gewot
ICAgIHVuc2lnbmVkIGluc3RydWN0aW9uT2Zmc2V0OwotICAgIHVuc2lnbmVkIGxpbmU7Ci0gICAg
dW5zaWduZWQgY29sdW1uOwotCi0gICAgYm9vbCBvcGVyYXRvciA8KGNvbnN0IExpbmVDb2x1bW5J
bmZvJiBvdGhlcikgY29uc3QKLSAgICB7Ci0gICAgICAgIGlmIChsaW5lID09IG90aGVyLmxpbmUp
IHsKLSAgICAgICAgICAgIGlmIChjb2x1bW4gPT0gb3RoZXIuY29sdW1uKQotICAgICAgICAgICAg
ICAgIHJldHVybiBpbnN0cnVjdGlvbk9mZnNldCA8IG90aGVyLmluc3RydWN0aW9uT2Zmc2V0Owot
ICAgICAgICAgICAgcmV0dXJuIGNvbHVtbiA8IG90aGVyLmNvbHVtbjsKLSAgICAgICAgfQotICAg
ICAgICByZXR1cm4gbGluZSA8IG90aGVyLmxpbmU7Ci0gICAgfQotCi0gICAgc3RydWN0IExpbmVD
b2x1bW5QYWlyIHsKLSAgICAgICAgTGluZUNvbHVtblBhaXIodW5zaWduZWQgbGluZSwgdW5zaWdu
ZWQgY29sdW1uKQotICAgICAgICAgICAgOiBsaW5lKGxpbmUpLCBjb2x1bW4oY29sdW1uKQotICAg
ICAgICB7Ci0gICAgICAgIH0KLQotICAgICAgICB1bnNpZ25lZCBsaW5lOwotICAgICAgICB1bnNp
Z25lZCBjb2x1bW47Ci0gICAgfTsKLQotICAgIGJvb2wgb3BlcmF0b3IgPT0oY29uc3QgTGluZUNv
bHVtblBhaXImIHBhaXIpIGNvbnN0Ci0gICAgewotICAgICAgICByZXR1cm4gIChsaW5lID09IHBh
aXIubGluZSkgJiYgKGNvbHVtbiA9PSBwYWlyLmNvbHVtbik7Ci0gICAgfQotCi0gICAgYm9vbCBv
cGVyYXRvciAhPShjb25zdCBMaW5lQ29sdW1uUGFpciYgcGFpcikgY29uc3QKLSAgICB7Ci0gICAg
ICAgIHJldHVybiAgKGxpbmUgIT0gcGFpci5saW5lKSB8fCAoY29sdW1uICE9IHBhaXIuY29sdW1u
KTsKLSAgICB9Ci0KLSAgICBib29sIG9wZXJhdG9yIDwoY29uc3QgTGluZUNvbHVtblBhaXImIHBh
aXIpIGNvbnN0Ci0gICAgewotICAgICAgICBpZiAobGluZSA9PSBwYWlyLmxpbmUpCi0gICAgICAg
ICAgICByZXR1cm4gY29sdW1uIDwgcGFpci5jb2x1bW47Ci0gICAgICAgIHJldHVybiBsaW5lIDwg
cGFpci5saW5lOwotICAgIH0KLQotICAgIGJvb2wgb3BlcmF0b3IgPD0oY29uc3QgTGluZUNvbHVt
blBhaXImIHBhaXIpIGNvbnN0Ci0gICAgewotICAgICAgICBpZiAobGluZSA9PSBwYWlyLmxpbmUp
Ci0gICAgICAgICAgICByZXR1cm4gY29sdW1uIDw9IHBhaXIuY29sdW1uOwotICAgICAgICByZXR1
cm4gbGluZSA8IHBhaXIubGluZTsKLSAgICB9Ci0KLSAgICBib29sIG9wZXJhdG9yID4oY29uc3Qg
TGluZUNvbHVtblBhaXImIHBhaXIpIGNvbnN0Ci0gICAgewotICAgICAgICBpZiAobGluZSA9PSBw
YWlyLmxpbmUpCi0gICAgICAgICAgICByZXR1cm4gY29sdW1uID4gcGFpci5jb2x1bW47Ci0gICAg
ICAgIHJldHVybiBsaW5lID4gcGFpci5saW5lOwotICAgIH0KLQotICAgIGJvb2wgb3BlcmF0b3Ig
Pj0oY29uc3QgTGluZUNvbHVtblBhaXImIHBhaXIpIGNvbnN0Ci0gICAgewotICAgICAgICBpZiAo
bGluZSA9PSBwYWlyLmxpbmUpCi0gICAgICAgICAgICByZXR1cm4gY29sdW1uID49IHBhaXIuY29s
dW1uOwotICAgICAgICByZXR1cm4gbGluZSA+IHBhaXIubGluZTsKLSAgICB9Ci19OwotCi19IC8v
IG5hbWVzcGFjZSBKU0MKLQotI2VuZGlmIC8vIExpbmVDb2x1bW5JbmZvX2gKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZENvZGVCbG9jay5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1VubGlua2VkQ29kZUJsb2NrLmNw
cAkocmV2aXNpb24gMTYyMzgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Vu
bGlua2VkQ29kZUJsb2NrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEwLDE5ICszMTAsNiBAQCB2
b2lkIFVubGlua2VkQ29kZUJsb2NrOjpkdW1wRXhwcmVzc2lvblJhCiAgICAgfQogICAgIGRhdGFM
b2coIn1cbiIpOwogfQotCi12b2lkIFVubGlua2VkQ29kZUJsb2NrOjpkdW1wT3BEZWJ1Z0xpbmVD
b2x1bW5JbmZvTGlzdCgpCi17Ci0gICAgTGluZUNvbHVtbkluZm9MaXN0JiBpbmZvTGlzdCA9IHRo
aXMtPm9wRGVidWdMaW5lQ29sdW1uSW5mb0xpc3QoKTsKLSAgICBzaXplX3Qgc2l6ZSA9IGluZm9M
aXN0LnNpemUoKTsKLQotICAgIGRhdGFMb2dGKCJVbmxpbmtlZENvZGVCbG9jayAlcCBvcERlYnVn
TGluZUNvbHVtbkluZm9MaXN0WyV6dV0ge1xuIiwgdGhpcywgc2l6ZSk7Ci0gICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBzaXplOyBpKyspIHsKLSAgICAgICAgTGluZUNvbHVtbkluZm8mIGluZm8g
PSBpbmZvTGlzdFtpXTsKLSAgICAgICAgZHVtcExpbmVDb2x1bW5FbnRyeShpLCBpbnN0cnVjdGlv
bnMoKSwgaW5mby5pbnN0cnVjdGlvbk9mZnNldCwgaW5mby5saW5lLCBpbmZvLmNvbHVtbik7Ci0g
ICAgfQotICAgIGRhdGFMb2coIn1cbiIpOwotfQogI2VuZGlmCiAKIHZvaWQgVW5saW5rZWRDb2Rl
QmxvY2s6OmV4cHJlc3Npb25SYW5nZUZvckJ5dGVjb2RlT2Zmc2V0KHVuc2lnbmVkIGJ5dGVjb2Rl
T2Zmc2V0LApAQCAtMzYxLDc3ICszNDgsNiBAQCB2b2lkIFVubGlua2VkQ29kZUJsb2NrOjpleHBy
ZXNzaW9uUmFuZ2VGCiAgICAgZ2V0TGluZUFuZENvbHVtbihpbmZvLCBsaW5lLCBjb2x1bW4pOwog
fQogCi11bnNpZ25lZCBVbmxpbmtlZENvZGVCbG9jazo6b3BEZWJ1Z0J5dGVjb2RlT2Zmc2V0Rm9y
TGluZUFuZENvbHVtbih1bnNpZ25lZCYgbGluZSwgdW5zaWduZWQmIGNvbHVtbikKLXsKLSAgICBp
ZiAoIW1fZXhwcmVzc2lvbkluZm8uc2l6ZSgpKQotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KFdURjo6bm90Rm91bmQpOwotCi0gICAgTGluZUNvbHVtbkluZm86OkxpbmVDb2x1
bW5QYWlyIHRhcmdldChsaW5lLCBjb2x1bW4pOwotICAgIExpbmVDb2x1bW5JbmZvTGlzdCYgbGlz
dCA9IG9wRGVidWdMaW5lQ29sdW1uSW5mb0xpc3QoKTsKLQotICAgIC8vIEZpbmQgdGhlIGVhcmxp
ZXN0IG9wX2RlYnVnIGJ5dGVjb2RlIHdob3NlIGxpbmUgYW5kIGNvbHVtbiBtYXRjaGVzIHRoZQot
ICAgIC8vIHRhcmdldCBsaW5lIGFuZCBjb2x1bW4gdmFsdWVzLiBJZiBhbiBleGFjdCBtYXRjaCBp
cyBub3QgZm91bmQsIHRoZW4KLSAgICAvLyBmaW5kIHRoZSBuZWFyZXN0IG9wX2RlYnVnIGJ5dGVj
b2RlIHRoYXQgcHJlY2VkZXMgdGhlIHRhcmdldCBsaW5lIGFuZAotICAgIC8vIGNvbHVtbiB2YWx1
ZXMuIElmIHRoZXJlIGFyZSBtb3JlIHRoYW4gb25lIG9wX2RlYnVnIGF0IHRoYXQgcHJlY2VkaW5n
Ci0gICAgLy8gbGluZSBhbmQgY29sdW1uIHZhbHVlLCB0aGVuIHNlbGVjdCB0aGUgZWFybGllc3Qg
b2YgdGhvc2UuCi0gICAgLy8KLSAgICAvLyBXZSB3YW50IHRoZSBlYXJsaWVzdCBvbmUgYmVjYXVz
ZSB3aGVuIHdlIGhhdmUgbXVsdGlwbGUgb3BfZGVidWcgYnl0ZWNvZGVzCi0gICAgLy8gdGhhdCBt
YXAgdG8gYSBnaXZlbiBsaW5lIGFuZCBjb2x1bW4sIGEgZGVidWdnZXIgdXNlciB3b3VsZCBleHBl
Y3QgdG8gYnJlYWsKLSAgICAvLyBvbiB0aGUgZmlyc3Qgb25lIGFuZCBzdGVwIHRocm91Z2ggdGhl
IHJlc3QgdGhlcmVhZnRlciBpZiBuZWVkZWQuCi0KLSAgICBMaW5lQ29sdW1uSW5mb0xpc3Q6Oml0
ZXJhdG9yIGl0ID0gc3RkOjpsb3dlcl9ib3VuZChsaXN0LmJlZ2luKCksIGxpc3QuZW5kKCksIHRh
cmdldCk7Ci0gICAgaWYgKGl0ID09IGxpc3QuZW5kKCkgfHwgKml0ID4gdGFyZ2V0KQotICAgICAg
ICAtLWl0OwotICAgIEFTU0VSVChpdCA+PSBsaXN0LmJlZ2luKCkgJiYgaXQgPCBsaXN0LmVuZCgp
ICYmICppdCA8PSB0YXJnZXQpOwotICAgIEFTU0VSVChpdCA9PSBsaXN0LmJlZ2luKCkgfHwgKihp
dCAtIDEpIDwgKml0KTsKLQotICAgIGxpbmUgPSBpdC0+bGluZTsKLSAgICBjb2x1bW4gPSBpdC0+
Y29sdW1uOwotCi0gICAgdW5zaWduZWQgb2Zmc2V0ID0gaXQtPmluc3RydWN0aW9uT2Zmc2V0Owot
ICAgIEFTU0VSVChpbnN0cnVjdGlvbnMoKVtvZmZzZXRdLnUub3Bjb2RlID09IG9wX2RlYnVnKTsK
LQotICAgIHJldHVybiBvZmZzZXQ7Ci19Ci0KLXN0YXRpYyBib29sIGNvbXBhcmVMaW5lQ29sdW1u
SW5mbyhjb25zdCBMaW5lQ29sdW1uSW5mbyYgZmlyc3QsIGNvbnN0IExpbmVDb2x1bW5JbmZvJiBz
ZWNvbmQpCi17Ci0gICAgcmV0dXJuIGZpcnN0IDwgc2Vjb25kOwotfQotCi1VbmxpbmtlZENvZGVC
bG9jazo6TGluZUNvbHVtbkluZm9MaXN0JiBVbmxpbmtlZENvZGVCbG9jazo6b3BEZWJ1Z0xpbmVD
b2x1bW5JbmZvTGlzdCgpCi17Ci0gICAgY3JlYXRlUmFyZURhdGFJZk5lY2Vzc2FyeSgpOwotCi0g
ICAgaWYgKG1fcmFyZURhdGEtPm1fb3BEZWJ1Z0xpbmVDb2x1bW5JbmZvTGlzdCkgewotICAgICAg
ICBBU1NFUlQobV9yYXJlRGF0YS0+bV9vcERlYnVnTGluZUNvbHVtbkluZm9MaXN0LT5zaXplKCkg
PD0gbV9leHByZXNzaW9uSW5mby5zaXplKCkpOwotICAgICAgICByZXR1cm4gKm1fcmFyZURhdGEt
Pm1fb3BEZWJ1Z0xpbmVDb2x1bW5JbmZvTGlzdDsKLSAgICB9Ci0KLSAgICBWZWN0b3I8RXhwcmVz
c2lvblJhbmdlSW5mbz4mIGV4cHJlc3Npb25JbmZvID0gbV9leHByZXNzaW9uSW5mbzsKLSAgICBz
aXplX3Qgc2l6ZSA9IG1fZXhwcmVzc2lvbkluZm8uc2l6ZSgpOwotCi0gICAgbV9yYXJlRGF0YS0+
bV9vcERlYnVnTGluZUNvbHVtbkluZm9MaXN0ID0gc3RkOjptYWtlX3VuaXF1ZTxMaW5lQ29sdW1u
SW5mb0xpc3Q+KCk7Ci0gICAgTGluZUNvbHVtbkluZm9MaXN0JiBpbmZvTGlzdCA9ICptX3JhcmVE
YXRhLT5tX29wRGVidWdMaW5lQ29sdW1uSW5mb0xpc3Q7Ci0KLSAgICBmb3IgKHNpemVfdCBzcmMg
PSAwOyBzcmMgPCBzaXplOyBzcmMrKykgewotICAgICAgICBFeHByZXNzaW9uUmFuZ2VJbmZvJiBl
eHBySW5mbyA9IGV4cHJlc3Npb25JbmZvW3NyY107Ci0gICAgICAgIHVuc2lnbmVkIGluc3RydWN0
aW9uT2Zmc2V0ID0gZXhwckluZm8uaW5zdHJ1Y3Rpb25PZmZzZXQ7Ci0gICAgICAgIE9wY29kZUlE
IG9wY29kZSA9IGluc3RydWN0aW9ucygpW2luc3RydWN0aW9uT2Zmc2V0XS51Lm9wY29kZTsKLSAg
ICAgICAgaWYgKG9wY29kZSA9PSBvcF9kZWJ1ZykgewotICAgICAgICAgICAgTGluZUNvbHVtbklu
Zm8gaW5mbzsKLSAgICAgICAgICAgIGluZm8uaW5zdHJ1Y3Rpb25PZmZzZXQgPSBpbnN0cnVjdGlv
bk9mZnNldDsKLSAgICAgICAgICAgIGdldExpbmVBbmRDb2x1bW4oZXhwckluZm8sIGluZm8ubGlu
ZSwgaW5mby5jb2x1bW4pOwotICAgICAgICAgICAgaW5mb0xpc3QuYXBwZW5kKGluZm8pOwotICAg
ICAgICB9Ci0gICAgfQotICAgIGluZm9MaXN0LnNocmlua1RvRml0KCk7Ci0KLSAgICBzdGQ6OnNv
cnQoaW5mb0xpc3QuYmVnaW4oKSwgaW5mb0xpc3QuZW5kKCksIGNvbXBhcmVMaW5lQ29sdW1uSW5m
byk7Ci0KLSAgICByZXR1cm4gKm1fcmFyZURhdGEtPm1fb3BEZWJ1Z0xpbmVDb2x1bW5JbmZvTGlz
dC5nZXQoKTsKLX0KLQogdm9pZCBVbmxpbmtlZENvZGVCbG9jazo6YWRkRXhwcmVzc2lvbkluZm8o
dW5zaWduZWQgaW5zdHJ1Y3Rpb25PZmZzZXQsCiAgICAgaW50IGRpdm90LCBpbnQgc3RhcnRPZmZz
ZXQsIGludCBlbmRPZmZzZXQsIHVuc2lnbmVkIGxpbmUsIHVuc2lnbmVkIGNvbHVtbikKIHsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZENvZGVCbG9jay5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9VbmxpbmtlZENvZGVC
bG9jay5oCShyZXZpc2lvbiAxNjIzODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvVW5saW5rZWRDb2RlQmxvY2suaAkod29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMsNiBAQAog
I2luY2x1ZGUgIklkZW50aWZpZXIuaCIKICNpbmNsdWRlICJKU0NlbGwuaCIKICNpbmNsdWRlICJK
U1N0cmluZy5oIgotI2luY2x1ZGUgIkxpbmVDb2x1bW5JbmZvLmgiCiAjaW5jbHVkZSAiUGFyc2Vy
TW9kZXMuaCIKICNpbmNsdWRlICJSZWdFeHAuaCIKICNpbmNsdWRlICJTcGVjaWFsUG9pbnRlci5o
IgpAQCAtNDIsNyArNDEsNiBAQAogCiAjaW5jbHVkZSA8d3RmL0NvbXByZXNzaW9uLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWRBcnJheS5oPgotI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMu
aD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtNDQ1LDcg
KzQ0Myw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZXhwcmVzc2lvblJhbmdlRm9yQnl0ZWNvZGVP
ZmZzZXQodW5zaWduZWQgYnl0ZWNvZGVPZmZzZXQsIGludCYgZGl2b3QsCiAgICAgICAgIGludCYg
c3RhcnRPZmZzZXQsIGludCYgZW5kT2Zmc2V0LCB1bnNpZ25lZCYgbGluZSwgdW5zaWduZWQmIGNv
bHVtbik7Ci0gICAgdW5zaWduZWQgb3BEZWJ1Z0J5dGVjb2RlT2Zmc2V0Rm9yTGluZUFuZENvbHVt
bih1bnNpZ25lZCYgbGluZSwgdW5zaWduZWQmIGNvbHVtbik7CiAKICAgICB2b2lkIHJlY29yZFBh
cnNlKENvZGVGZWF0dXJlcyBmZWF0dXJlcywgYm9vbCBoYXNDYXB0dXJlZFZhcmlhYmxlcywgdW5z
aWduZWQgZmlyc3RMaW5lLCB1bnNpZ25lZCBsaW5lQ291bnQsIHVuc2lnbmVkIGVuZENvbHVtbikK
ICAgICB7CkBAIC00NjUsNyArNDYyLDYgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIGVuZENvbHVt
bigpIGNvbnN0IHsgcmV0dXJuIG1fZW5kQ29sdW1uOyB9CiAKICAgICB2b2lkIGR1bXBFeHByZXNz
aW9uUmFuZ2VJbmZvKCk7IC8vIEZvciBkZWJ1Z2dpbmcgcHVycG9zZSBvbmx5LgotICAgIHZvaWQg
ZHVtcE9wRGVidWdMaW5lQ29sdW1uSW5mb0xpc3QoKTsgLy8gRm9yIGRlYnVnZ2luZyBwdXJwb3Nl
IG9ubHkuCiAKIHByb3RlY3RlZDoKICAgICBVbmxpbmtlZENvZGVCbG9jayhWTSosIFN0cnVjdHVy
ZSosIENvZGVUeXBlLCBjb25zdCBFeGVjdXRhYmxlSW5mbyYpOwpAQCAtNDg5LDkgKzQ4NSw2IEBA
IHByaXZhdGU6CiAKICAgICB2b2lkIGdldExpbmVBbmRDb2x1bW4oRXhwcmVzc2lvblJhbmdlSW5m
byYsIHVuc2lnbmVkJiBsaW5lLCB1bnNpZ25lZCYgY29sdW1uKTsKIAotICAgIHR5cGVkZWYgVmVj
dG9yPExpbmVDb2x1bW5JbmZvPiBMaW5lQ29sdW1uSW5mb0xpc3Q7Ci0gICAgTGluZUNvbHVtbklu
Zm9MaXN0JiBvcERlYnVnTGluZUNvbHVtbkluZm9MaXN0KCk7Ci0KICAgICBSZWZDb3VudGVkQXJy
YXk8VW5saW5rZWRJbnN0cnVjdGlvbj4gbV91bmxpbmtlZEluc3RydWN0aW9uczsKIAogICAgIGlu
dCBtX251bVBhcmFtZXRlcnM7CkBAIC01NTYsNyArNTQ5LDYgQEAgcHVibGljOgogICAgICAgICBW
ZWN0b3I8VW5saW5rZWRTdHJpbmdKdW1wVGFibGU+IG1fc3RyaW5nU3dpdGNoSnVtcFRhYmxlczsK
IAogICAgICAgICBWZWN0b3I8RXhwcmVzc2lvblJhbmdlSW5mbzo6RmF0UG9zaXRpb24+IG1fZXhw
cmVzc2lvbkluZm9GYXRQb3NpdGlvbnM7Ci0gICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxMaW5lQ29s
dW1uSW5mb0xpc3Q+IG1fb3BEZWJ1Z0xpbmVDb2x1bW5JbmZvTGlzdDsKICAgICB9OwogCiBwcml2
YXRlOgo=
</data>
<flag name="review"
          id="245657"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>