<?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>122047</bug_id>
          
          <creation_ts>2013-09-27 18:16:13 -0700</creation_ts>
          <short_desc>Get rid of SetMyScope/SetCallee; use normal variables for the scope and callee of inlined call frames of closures</short_desc>
          <delta_ts>2013-09-27 21:08:36 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>122024</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>934171</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-09-27 18:16:13 -0700</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>934173</commentid>
    <comment_count>1</comment_count>
      <attachid>212862</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-09-27 18:27:48 -0700</bug_when>
    <thetext>Created attachment 212862
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>934206</commentid>
    <comment_count>2</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-09-27 21:08:36 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/156594</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212862</attachid>
            <date>2013-09-27 18:27:48 -0700</date>
            <delta_ts>2013-09-27 19:40:57 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>20700</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU2NTkzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU0IEBA
CisyMDEzLTA5LTI3ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
R2V0IHJpZCBvZiBTZXRNeVNjb3BlL1NldENhbGxlZTsgdXNlIG5vcm1hbCB2YXJpYWJsZXMgZm9y
IHRoZSBzY29wZSBhbmQgY2FsbGVlIG9mIGlubGluZWQgY2FsbCBmcmFtZXMgb2YgY2xvc3VyZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMjA0Nwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAg
Q3VycmVudGx5IHdlIGhhdmUgdGhlIERGRyByZXNlcnZlIHNwYWNlIGZvciBpbmxpbmUgY2FsbCBm
cmFtZXMgYXQgZXhhY3RseSB0aGUgc2FtZSBzdGFjaworICAgICAgICBvZmZzZXRzIHRoYXQgeW91
IHdvdWxkIGhhdmUgZ290dGVuIGlmIHRoZSBiYXNlbGluZSBpbnRlcnByZXRlci9KSVQgaGFkIG1h
ZGUgdGhlIGNhbGxzLgorICAgICAgICBXZSBuZWVkIHRvIGdldCByaWQgb2YgdGhhdC4gT25lIG9m
IHRoZSB3ZWlyZGVyIHBhcnRzIG9mIHRoaXMgaXMgdGhhdCB3ZSBoYXZlIHNwZWNpYWwgREZHCisg
ICAgICAgIG9wZXJhdGlvbnMgZm9yIGFjY2Vzc2luZyB0aGVzZSBpbmxpbmVkIGNhbGwgZnJhbWUg
aGVhZGVycy4gSXQncyByZWFsbHkgaGFyZCBmb3IgYW55CisgICAgICAgIGFuYWx5c2lzIG9mIERG
RyBJUiB0byBzZWUgd2hhdCB0aGUgbGl2ZW5lc3Mgb2YgYW55IG9mIHRob3NlIGZyYW1lIGhlYWRl
ciAidmFyaWFibGVzIiBpczsKKyAgICAgICAgdGhlIGxpdmVuZXNzIGJlaGF2ZXMgbGlrZSBmbHVz
aGVkIGFyZ3VtZW50cyAoaXQncyBhbGwgbGl2ZSB1bnRpbCBlbmQgb2YgdGhlIGlubGluZWUpIGJ1
dAorICAgICAgICB3ZSBkb24ndCBoYXZlIGFueXRoaW5nIGxpa2UgYSBGbHVzaCBub2RlIGZvciB0
aG9zZSBzcGVjaWFsIHZhcmlhYmxlcy4KKyAgICAgICAgCisgICAgICAgIFRoaXMgcGF0Y2ggZ2V0
cyByaWQgb2YgdGhlIHNwZWNpYWwgb3BlcmF0aW9ucyBmb3IgYWNjZXNzaW5nIGlubGluZSBjYWxs
IGZyYW1lIGhlYWRlcnMuCisgICAgICAgIEdldE15U2NvcGUgYW5kIEdldENhbGxlZSBzdGlsbCBy
ZW1haW4sIGFuZCBhcmUgb25seSBmb3IgYWNjZXNzaW5nIHRoZSBtYWNoaW5lIGNhbGwKKyAgICAg
ICAgZnJhbWUncyBzY29wZS9jYWxsZWUgZW50cmllcy4gVGhlIGlubGluZSBjYWxsIGZyYW1lJ3Mg
c2NvcGUvY2FsbGVlIG5vdyBiZWhhdmUgbGlrZQorICAgICAgICBub3JtYWwgdmFyaWFibGVzLCBh
bmQgaGF2ZSBGbHVzaCBiZWhhdmlvciBqdXN0IGxpa2UgaW5saW5lIGFyZ3VtZW50cy4KKworICAg
ICAgICAqIGRmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oOgorICAgICAgICAoSlND
OjpERkc6Ojo6ZXhlY3V0ZUVmZmVjdHMpOgorICAgICAgICAqIGRmZy9ERkdCeXRlQ29kZVBhcnNl
ci5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OmdldERpcmVjdCk6Cisg
ICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OmdldCk6CisgICAgICAgIChKU0M6OkRG
Rzo6Qnl0ZUNvZGVQYXJzZXI6OnNldERpcmVjdCk6CisgICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNv
ZGVQYXJzZXI6OnNldCk6CisgICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OnNldExv
Y2FsKToKKyAgICAgICAgKEpTQzo6REZHOjpCeXRlQ29kZVBhcnNlcjo6c2V0QXJndW1lbnQpOgor
ICAgICAgICAoSlNDOjpERkc6OkJ5dGVDb2RlUGFyc2VyOjpmbHVzaCk6CisgICAgICAgIChKU0M6
OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OklubGluZVN0YWNrRW50cnk6OnJlbWFwT3BlcmFuZCk6Cisg
ICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OmhhbmRsZUlubGluaW5nKToKKyAgICAg
ICAgKEpTQzo6REZHOjpCeXRlQ29kZVBhcnNlcjo6Z2V0U2NvcGUpOgorICAgICAgICAqIGRmZy9E
RkdDU0VQaGFzZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Q1NFUGhhc2U6OmdldENhbGxlZUxv
YWRFbGltaW5hdGlvbik6CisgICAgICAgIChKU0M6OkRGRzo6Q1NFUGhhc2U6OmdldE15U2NvcGVM
b2FkRWxpbWluYXRpb24pOgorICAgICAgICAoSlNDOjpERkc6OkNTRVBoYXNlOjpwZXJmb3JtTm9k
ZUNTRSk6CisgICAgICAgICogZGZnL0RGR0Nsb2JiZXJpemUuaDoKKyAgICAgICAgKEpTQzo6REZH
OjpjbG9iYmVyaXplKToKKyAgICAgICAgKiBkZmcvREZHRml4dXBQaGFzZS5jcHA6CisgICAgICAg
IChKU0M6OkRGRzo6Rml4dXBQaGFzZTo6Zml4dXBOb2RlKToKKyAgICAgICAgKiBkZmcvREZHTm9k
ZVR5cGUuaDoKKyAgICAgICAgKiBkZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3Bw
OgorICAgICAgICAoSlNDOjpERkc6OlByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlOjpwcm9wYWdh
dGUpOgorICAgICAgICAqIGRmZy9ERkdTYWZlVG9FeGVjdXRlLmg6CisgICAgICAgIChKU0M6OkRG
Rzo6c2FmZVRvRXhlY3V0ZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQu
Y3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAg
ICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3Bl
Y3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorCiAyMDEzLTA5LTI3ICBGaWxpcCBQaXpsbyAgPGZwaXps
b0BhcHBsZS5jb20+CiAKICAgICAgICAgRGVvcHRpbWl6ZSAzMi1iaXQgZGVvcHRpbWl6YXRpb24K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklu
bGluZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3Ry
YWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgJKHJldmlzaW9uIDE1NjU1MSkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaAkod29ya2luZyBj
b3B5KQpAQCAtMTIwNCwxMCArMTIwNCw2IEBAIGJvb2wgQWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0
cmFjdFN0YXRlVHkKICAgICAgICAgZm9yTm9kZShub2RlKS5zZXRUeXBlKFNwZWNGdW5jdGlvbik7
CiAgICAgICAgIGJyZWFrOwogICAgICAgICAKLSAgICBjYXNlIFNldENhbGxlZToKLSAgICBjYXNl
IFNldE15U2NvcGU6Ci0gICAgICAgIGJyZWFrOwotICAgICAgICAgICAgCiAgICAgY2FzZSBHZXRT
Y29wZTogLy8gRklYTUU6IFdlIGNvdWxkIGdldCByaWQgb2YgdGhlc2UgaWYgd2Uga25vdyB0aGF0
IHRoZSBKU0Z1bmN0aW9uIGlzIGEgY29uc3RhbnQuIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDYyMDIKICAgICBjYXNlIEdldE15U2NvcGU6CiAgICAgY2FzZSBTa2lw
VG9wU2NvcGU6CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFy
c2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVD
b2RlUGFyc2VyLmNwcAkocmV2aXNpb24gMTU2NTUxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwOSw4ICsyMDks
NiBAQCBwcml2YXRlOgogICAgICAgICAgICAgcmV0dXJuIGdldEpTQ29uc3RhbnQoY29uc3RhbnQp
OwogICAgICAgICB9CiAKLSAgICAgICAgQVNTRVJUKG9wZXJhbmQub2Zmc2V0KCkgIT0gSlNTdGFj
azo6Q2FsbGVlKTsKLSAgICAgICAgCiAgICAgICAgIC8vIElzIHRoaXMgYW4gYXJndW1lbnQ/CiAg
ICAgICAgIGlmIChvcGVyYW5kLmlzQXJndW1lbnQoKSkKICAgICAgICAgICAgIHJldHVybiBnZXRB
cmd1bWVudChvcGVyYW5kKTsKQEAgLTIyMSwzMiArMjE5LDM1IEBAIHByaXZhdGU6CiAKICAgICBO
b2RlKiBnZXQoVmlydHVhbFJlZ2lzdGVyIG9wZXJhbmQpCiAgICAgewotICAgICAgICBpZiAob3Bl
cmFuZC5vZmZzZXQoKSA9PSBKU1N0YWNrOjpDYWxsZWUpIHsKLSAgICAgICAgICAgIGlmIChpbmxp
bmVDYWxsRnJhbWUoKSAmJiBpbmxpbmVDYWxsRnJhbWUoKS0+Y2FsbGVlKQotICAgICAgICAgICAg
ICAgIHJldHVybiBjZWxsQ29uc3RhbnQoaW5saW5lQ2FsbEZyYW1lKCktPmNhbGxlZS5nZXQoKSk7
Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHJldHVybiBnZXRDYWxsZWUoKTsKLSAgICAgICAg
fQorICAgICAgICBpZiAoaW5saW5lQ2FsbEZyYW1lKCkpIHsKKyAgICAgICAgICAgIGlmIChKU0Z1
bmN0aW9uKiBjYWxsZWUgPSBpbmxpbmVDYWxsRnJhbWUoKS0+Y2FsbGVlLmdldCgpKSB7CisgICAg
ICAgICAgICAgICAgaWYgKG9wZXJhbmQub2Zmc2V0KCkgPT0gSlNTdGFjazo6Q2FsbGVlKQorICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gY2VsbENvbnN0YW50KGNhbGxlZSk7CisgICAgICAgICAg
ICAgICAgaWYgKG9wZXJhbmQub2Zmc2V0KCkgPT0gSlNTdGFjazo6U2NvcGVDaGFpbikKKyAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIGNlbGxDb25zdGFudChjYWxsZWUtPnNjb3BlKCkpOworICAg
ICAgICAgICAgfQorICAgICAgICB9IGVsc2UgaWYgKG9wZXJhbmQub2Zmc2V0KCkgPT0gSlNTdGFj
azo6Q2FsbGVlKQorICAgICAgICAgICAgcmV0dXJuIGFkZFRvR3JhcGgoR2V0Q2FsbGVlKTsKKyAg
ICAgICAgZWxzZSBpZiAob3BlcmFuZC5vZmZzZXQoKSA9PSBKU1N0YWNrOjpTY29wZUNoYWluKQor
ICAgICAgICAgICAgcmV0dXJuIGFkZFRvR3JhcGgoR2V0TXlTY29wZSk7CiAgICAgICAgIAogICAg
ICAgICByZXR1cm4gZ2V0RGlyZWN0KG1faW5saW5lU3RhY2tUb3AtPnJlbWFwT3BlcmFuZChvcGVy
YW5kKSk7CiAgICAgfQogICAgIAogICAgIGVudW0gU2V0TW9kZSB7IE5vcm1hbFNldCwgU2V0T25F
bnRyeSB9OwotICAgIHZvaWQgc2V0RGlyZWN0KFZpcnR1YWxSZWdpc3RlciBvcGVyYW5kLCBOb2Rl
KiB2YWx1ZSwgU2V0TW9kZSBzZXRNb2RlID0gTm9ybWFsU2V0KQorICAgIE5vZGUqIHNldERpcmVj
dChWaXJ0dWFsUmVnaXN0ZXIgb3BlcmFuZCwgTm9kZSogdmFsdWUsIFNldE1vZGUgc2V0TW9kZSA9
IE5vcm1hbFNldCkKICAgICB7CiAgICAgICAgIC8vIElzIHRoaXMgYW4gYXJndW1lbnQ/Ci0gICAg
ICAgIGlmIChvcGVyYW5kLmlzQXJndW1lbnQoKSkgewotICAgICAgICAgICAgc2V0QXJndW1lbnQo
b3BlcmFuZCwgdmFsdWUsIHNldE1vZGUpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9
CisgICAgICAgIGlmIChvcGVyYW5kLmlzQXJndW1lbnQoKSkKKyAgICAgICAgICAgIHJldHVybiBz
ZXRBcmd1bWVudChvcGVyYW5kLCB2YWx1ZSwgc2V0TW9kZSk7CiAKICAgICAgICAgLy8gTXVzdCBi
ZSBhIGxvY2FsLgotICAgICAgICBzZXRMb2NhbChvcGVyYW5kLCB2YWx1ZSwgc2V0TW9kZSk7Cisg
ICAgICAgIHJldHVybiBzZXRMb2NhbChvcGVyYW5kLCB2YWx1ZSwgc2V0TW9kZSk7CiAgICAgfQog
Ci0gICAgdm9pZCBzZXQoVmlydHVhbFJlZ2lzdGVyIG9wZXJhbmQsIE5vZGUqIHZhbHVlLCBTZXRN
b2RlIHNldE1vZGUgPSBOb3JtYWxTZXQpCisgICAgTm9kZSogc2V0KFZpcnR1YWxSZWdpc3RlciBv
cGVyYW5kLCBOb2RlKiB2YWx1ZSwgU2V0TW9kZSBzZXRNb2RlID0gTm9ybWFsU2V0KQogICAgIHsK
LSAgICAgICAgc2V0RGlyZWN0KG1faW5saW5lU3RhY2tUb3AtPnJlbWFwT3BlcmFuZChvcGVyYW5k
KSwgdmFsdWUsIHNldE1vZGUpOworICAgICAgICByZXR1cm4gc2V0RGlyZWN0KG1faW5saW5lU3Rh
Y2tUb3AtPnJlbWFwT3BlcmFuZChvcGVyYW5kKSwgdmFsdWUsIHNldE1vZGUpOwogICAgIH0KICAg
ICAKICAgICBOb2RlKiBpbmplY3RMYXp5T3BlcmFuZFNwZWN1bGF0aW9uKE5vZGUqIG5vZGUpCkBA
IC0zMDIsNyArMzAzLDcgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIG5vZGU7CiAgICAgfQog
Ci0gICAgdm9pZCBzZXRMb2NhbChWaXJ0dWFsUmVnaXN0ZXIgb3BlcmFuZCwgTm9kZSogdmFsdWUs
IFNldE1vZGUgc2V0TW9kZSA9IE5vcm1hbFNldCkKKyAgICBOb2RlKiBzZXRMb2NhbChWaXJ0dWFs
UmVnaXN0ZXIgb3BlcmFuZCwgTm9kZSogdmFsdWUsIFNldE1vZGUgc2V0TW9kZSA9IE5vcm1hbFNl
dCkKICAgICB7CiAgICAgICAgIHVuc2lnbmVkIGxvY2FsID0gb3BlcmFuZC50b0xvY2FsKCk7CiAg
ICAgICAgIGJvb2wgaXNDYXB0dXJlZCA9IG1fY29kZUJsb2NrLT5pc0NhcHR1cmVkKG9wZXJhbmQs
IGlubGluZUNhbGxGcmFtZSgpKTsKQEAgLTMyMCw2ICszMjEsNyBAQCBwcml2YXRlOgogICAgICAg
ICAgICAgbV9pbmxpbmVTdGFja1RvcC0+bV9leGl0UHJvZmlsZS5oYXNFeGl0U2l0ZShtX2N1cnJl
bnRJbmRleCwgQmFkSW5kZXhpbmdUeXBlKSk7CiAgICAgICAgIE5vZGUqIG5vZGUgPSBhZGRUb0dy
YXBoKFNldExvY2FsLCBPcEluZm8odmFyaWFibGVBY2Nlc3NEYXRhKSwgdmFsdWUpOwogICAgICAg
ICBtX2N1cnJlbnRCbG9jay0+dmFyaWFibGVzQXRUYWlsLmxvY2FsKGxvY2FsKSA9IG5vZGU7Cisg
ICAgICAgIHJldHVybiBub2RlOwogICAgIH0KIAogICAgIC8vIFVzZWQgaW4gaW1wbGVtZW50aW5n
IGdldC9zZXQsIGFib3ZlLCB3aGVyZSB0aGUgb3BlcmFuZCBpcyBhbiBhcmd1bWVudC4KQEAgLTM1
Miw3ICszNTQsNyBAQCBwcml2YXRlOgogICAgICAgICBtX2N1cnJlbnRCbG9jay0+dmFyaWFibGVz
QXRUYWlsLmFyZ3VtZW50KGFyZ3VtZW50KSA9IG5vZGU7CiAgICAgICAgIHJldHVybiBub2RlOwog
ICAgIH0KLSAgICB2b2lkIHNldEFyZ3VtZW50KFZpcnR1YWxSZWdpc3RlciBvcGVyYW5kLCBOb2Rl
KiB2YWx1ZSwgU2V0TW9kZSBzZXRNb2RlID0gTm9ybWFsU2V0KQorICAgIE5vZGUqIHNldEFyZ3Vt
ZW50KFZpcnR1YWxSZWdpc3RlciBvcGVyYW5kLCBOb2RlKiB2YWx1ZSwgU2V0TW9kZSBzZXRNb2Rl
ID0gTm9ybWFsU2V0KQogICAgIHsKICAgICAgICAgdW5zaWduZWQgYXJndW1lbnQgPSBvcGVyYW5k
LnRvQXJndW1lbnQoKTsKICAgICAgICAgQVNTRVJUKGFyZ3VtZW50IDwgbV9udW1Bcmd1bWVudHMp
OwpAQCAtMzc1LDYgKzM3Nyw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBtX2lubGluZVN0YWNr
VG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBCYWRJbmRleGlu
Z1R5cGUpKTsKICAgICAgICAgTm9kZSogbm9kZSA9IGFkZFRvR3JhcGgoU2V0TG9jYWwsIE9wSW5m
byh2YXJpYWJsZUFjY2Vzc0RhdGEpLCB2YWx1ZSk7CiAgICAgICAgIG1fY3VycmVudEJsb2NrLT52
YXJpYWJsZXNBdFRhaWwuYXJndW1lbnQoYXJndW1lbnQpID0gbm9kZTsKKyAgICAgICAgcmV0dXJu
IG5vZGU7CiAgICAgfQogICAgIAogICAgIEFyZ3VtZW50UG9zaXRpb24qIGZpbmRBcmd1bWVudFBv
c2l0aW9uRm9yQXJndW1lbnQoaW50IGFyZ3VtZW50KQpAQCAtNDYwLDkgKzQ2MywxMyBAQCBwcml2
YXRlOgogICAgIHZvaWQgZmx1c2goSW5saW5lU3RhY2tFbnRyeSogaW5saW5lU3RhY2tFbnRyeSkK
ICAgICB7CiAgICAgICAgIGludCBudW1Bcmd1bWVudHM7Ci0gICAgICAgIGlmIChJbmxpbmVDYWxs
RnJhbWUqIGlubGluZUNhbGxGcmFtZSA9IGlubGluZVN0YWNrRW50cnktPm1faW5saW5lQ2FsbEZy
YW1lKQorICAgICAgICBpZiAoSW5saW5lQ2FsbEZyYW1lKiBpbmxpbmVDYWxsRnJhbWUgPSBpbmxp
bmVTdGFja0VudHJ5LT5tX2lubGluZUNhbGxGcmFtZSkgewogICAgICAgICAgICAgbnVtQXJndW1l
bnRzID0gaW5saW5lQ2FsbEZyYW1lLT5hcmd1bWVudHMuc2l6ZSgpOwotICAgICAgICBlbHNlCisg
ICAgICAgICAgICBpZiAoIWlubGluZUNhbGxGcmFtZS0+Y2FsbGVlKSB7CisgICAgICAgICAgICAg
ICAgZmx1c2hEaXJlY3QoaW5saW5lU3RhY2tFbnRyeS0+cmVtYXBPcGVyYW5kKFZpcnR1YWxSZWdp
c3RlcihKU1N0YWNrOjpDYWxsZWUpKSk7CisgICAgICAgICAgICAgICAgZmx1c2hEaXJlY3QoaW5s
aW5lU3RhY2tFbnRyeS0+cmVtYXBPcGVyYW5kKFZpcnR1YWxSZWdpc3RlcihKU1N0YWNrOjpTY29w
ZUNoYWluKSkpOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIG51
bUFyZ3VtZW50cyA9IGlubGluZVN0YWNrRW50cnktPm1fY29kZUJsb2NrLT5udW1QYXJhbWV0ZXJz
KCk7CiAgICAgICAgIGZvciAodW5zaWduZWQgYXJndW1lbnQgPSBudW1Bcmd1bWVudHM7IGFyZ3Vt
ZW50LS0gPiAxOykKICAgICAgICAgICAgIGZsdXNoRGlyZWN0KGlubGluZVN0YWNrRW50cnktPnJl
bWFwT3BlcmFuZCh2aXJ0dWFsUmVnaXN0ZXJGb3JBcmd1bWVudChhcmd1bWVudCkpKTsKQEAgLTUz
OSwxMSArNTQ2LDYgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAK
LSAgICBOb2RlKiBnZXRDYWxsZWUoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkZFRvR3JhcGgo
R2V0Q2FsbGVlKTsKLSAgICB9Ci0KICAgICAvLyBIZWxwZXIgZnVuY3Rpb25zIHRvIGdldC9zZXQg
dGhlIHRoaXMgdmFsdWUuCiAgICAgTm9kZSogZ2V0VGhpcygpCiAgICAgewpAQCAtMTEwNyw4ICsx
MTA5LDYgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICAg
ICAgICAgfQogCi0gICAgICAgICAgICBBU1NFUlQob3BlcmFuZC5vZmZzZXQoKSAhPSBKU1N0YWNr
OjpDYWxsZWUpOwotCiAgICAgICAgICAgICByZXR1cm4gVmlydHVhbFJlZ2lzdGVyKG9wZXJhbmQu
b2Zmc2V0KCkgKyBtX2lubGluZUNhbGxGcmFtZS0+c3RhY2tPZmZzZXQpOwogICAgICAgICB9CiAg
ICAgfTsKQEAgLTEzMjAsOCArMTMyMCwxMyBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVJ
bmxpbmluZyhOb2RlCiAKICAgICBhZGRUb0dyYXBoKElubGluZVN0YXJ0LCBPcEluZm8oYXJndW1l
bnRQb3NpdGlvblN0YXJ0KSk7CiAgICAgaWYgKGNhbGxMaW5rU3RhdHVzLmlzQ2xvc3VyZUNhbGwo
KSkgewotICAgICAgICBhZGRUb0dyYXBoKFNldENhbGxlZSwgY2FsbFRhcmdldE5vZGUpOwotICAg
ICAgICBhZGRUb0dyYXBoKFNldE15U2NvcGUsIGFkZFRvR3JhcGgoR2V0U2NvcGUsIGNhbGxUYXJn
ZXROb2RlKSk7CisgICAgICAgIFZhcmlhYmxlQWNjZXNzRGF0YSogY2FsbGVlVmFyaWFibGUgPQor
ICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihKU1N0YWNrOjpDYWxsZWUpLCBjYWxsVGFy
Z2V0Tm9kZSktPnZhcmlhYmxlQWNjZXNzRGF0YSgpOworICAgICAgICBWYXJpYWJsZUFjY2Vzc0Rh
dGEqIHNjb3BlVmFyaWFibGUgPQorICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihKU1N0
YWNrOjpTY29wZUNoYWluKSwgYWRkVG9HcmFwaChHZXRTY29wZSwgY2FsbFRhcmdldE5vZGUpKS0+
dmFyaWFibGVBY2Nlc3NEYXRhKCk7CisgICAgICAgIAorICAgICAgICBjYWxsZWVWYXJpYWJsZS0+
bWVyZ2VTaG91bGROZXZlclVuYm94KHRydWUpOworICAgICAgICBzY29wZVZhcmlhYmxlLT5tZXJn
ZVNob3VsZE5ldmVyVW5ib3godHJ1ZSk7CiAgICAgfQogICAgIAogICAgIHBhcnNlQ29kZUJsb2Nr
KCk7CkBAIC0xODIxLDEyICsxODI2LDcgQEAgdm9pZCBCeXRlQ29kZVBhcnNlcjo6cHJlcGFyZVRv
UGFyc2VCbG9jawogCiBOb2RlKiBCeXRlQ29kZVBhcnNlcjo6Z2V0U2NvcGUoYm9vbCBza2lwVG9w
LCB1bnNpZ25lZCBza2lwQ291bnQpCiB7Ci0gICAgTm9kZSogbG9jYWxCYXNlOwotICAgIGlmIChp
bmxpbmVDYWxsRnJhbWUoKSAmJiAhaW5saW5lQ2FsbEZyYW1lKCktPmlzQ2xvc3VyZUNhbGwoKSkg
ewotICAgICAgICBBU1NFUlQoaW5saW5lQ2FsbEZyYW1lKCktPmNhbGxlZSk7Ci0gICAgICAgIGxv
Y2FsQmFzZSA9IGNlbGxDb25zdGFudChpbmxpbmVDYWxsRnJhbWUoKS0+Y2FsbGVlLT5zY29wZSgp
KTsKLSAgICB9IGVsc2UKLSAgICAgICAgbG9jYWxCYXNlID0gYWRkVG9HcmFwaChHZXRNeVNjb3Bl
KTsKKyAgICBOb2RlKiBsb2NhbEJhc2UgPSBnZXQoVmlydHVhbFJlZ2lzdGVyKEpTU3RhY2s6OlNj
b3BlQ2hhaW4pKTsKICAgICBpZiAoc2tpcFRvcCkgewogICAgICAgICBBU1NFUlQoIWlubGluZUNh
bGxGcmFtZSgpKTsKICAgICAgICAgbG9jYWxCYXNlID0gYWRkVG9HcmFwaChTa2lwVG9wU2NvcGUs
IGxvY2FsQmFzZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NTRVBoYXNl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NTRVBoYXNl
LmNwcAkocmV2aXNpb24gMTU2NTUxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdD
U0VQaGFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2NSwxNyArMTY1LDEzIEBAIHByaXZhdGU6
CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KICAgICAKLSAgICBOb2RlKiBnZXRDYWxsZWVMb2Fk
RWxpbWluYXRpb24oSW5saW5lQ2FsbEZyYW1lKiBpbmxpbmVDYWxsRnJhbWUpCisgICAgTm9kZSog
Z2V0Q2FsbGVlTG9hZEVsaW1pbmF0aW9uKCkKICAgICB7CiAgICAgICAgIGZvciAodW5zaWduZWQg
aSA9IG1faW5kZXhJbkJsb2NrOyBpLS07KSB7CiAgICAgICAgICAgICBOb2RlKiBub2RlID0gbV9j
dXJyZW50QmxvY2stPmF0KGkpOwotICAgICAgICAgICAgaWYgKG5vZGUtPmNvZGVPcmlnaW4uaW5s
aW5lQ2FsbEZyYW1lICE9IGlubGluZUNhbGxGcmFtZSkKLSAgICAgICAgICAgICAgICBjb250aW51
ZTsKICAgICAgICAgICAgIHN3aXRjaCAobm9kZS0+b3AoKSkgewogICAgICAgICAgICAgY2FzZSBH
ZXRDYWxsZWU6CiAgICAgICAgICAgICAgICAgcmV0dXJuIG5vZGU7Ci0gICAgICAgICAgICBjYXNl
IFNldENhbGxlZToKLSAgICAgICAgICAgICAgICByZXR1cm4gbm9kZS0+Y2hpbGQxKCkubm9kZSgp
OwogICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
ICAgIH0KQEAgLTgwMiwyMCArNzk4LDE2IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiAwOwog
ICAgIH0KICAgICAKLSAgICBOb2RlKiBnZXRNeVNjb3BlTG9hZEVsaW1pbmF0aW9uKElubGluZUNh
bGxGcmFtZSogaW5saW5lQ2FsbEZyYW1lKQorICAgIE5vZGUqIGdldE15U2NvcGVMb2FkRWxpbWlu
YXRpb24oKQogICAgIHsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gbV9pbmRleEluQmxvY2s7
IGktLTspIHsKICAgICAgICAgICAgIE5vZGUqIG5vZGUgPSBtX2N1cnJlbnRCbG9jay0+YXQoaSk7
Ci0gICAgICAgICAgICBpZiAobm9kZS0+Y29kZU9yaWdpbi5pbmxpbmVDYWxsRnJhbWUgIT0gaW5s
aW5lQ2FsbEZyYW1lKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgc3dp
dGNoIChub2RlLT5vcCgpKSB7CiAgICAgICAgICAgICBjYXNlIENyZWF0ZUFjdGl2YXRpb246CiAg
ICAgICAgICAgICAgICAgLy8gVGhpcyBtYXkgY2F1c2UgdXMgdG8gcmV0dXJuIGEgZGlmZmVyZW50
IHNjb3BlLgogICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICAgY2FzZSBHZXRN
eVNjb3BlOgogICAgICAgICAgICAgICAgIHJldHVybiBub2RlOwotICAgICAgICAgICAgY2FzZSBT
ZXRNeVNjb3BlOgotICAgICAgICAgICAgICAgIHJldHVybiBub2RlLT5jaGlsZDEoKS5ub2RlKCk7
CiAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg
ICAgfQpAQCAtMTA5MSw3ICsxMDgzLDcgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBHZXRDYWxs
ZWU6CiAgICAgICAgICAgICBpZiAoY3NlTW9kZSA9PSBTdG9yZUVsaW1pbmF0aW9uKQogICAgICAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgc2V0UmVwbGFjZW1lbnQoZ2V0Q2FsbGVlTG9h
ZEVsaW1pbmF0aW9uKG5vZGUtPmNvZGVPcmlnaW4uaW5saW5lQ2FsbEZyYW1lKSk7CisgICAgICAg
ICAgICBzZXRSZXBsYWNlbWVudChnZXRDYWxsZWVMb2FkRWxpbWluYXRpb24oKSk7CiAgICAgICAg
ICAgICBicmVhazsKIAogICAgICAgICBjYXNlIEdldExvY2FsOiB7CkBAIC0xMTg5LDcgKzExODEs
NyBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIEdldE15U2NvcGU6CiAgICAgICAgICAgICBpZiAo
Y3NlTW9kZSA9PSBTdG9yZUVsaW1pbmF0aW9uKQogICAgICAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICAgICAgc2V0UmVwbGFjZW1lbnQoZ2V0TXlTY29wZUxvYWRFbGltaW5hdGlvbihub2RlLT5j
b2RlT3JpZ2luLmlubGluZUNhbGxGcmFtZSkpOworICAgICAgICAgICAgc2V0UmVwbGFjZW1lbnQo
Z2V0TXlTY29wZUxvYWRFbGltaW5hdGlvbigpKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICAgICAgCiAgICAgICAgIC8vIEhhbmRsZSBub2RlcyB0aGF0IGFyZSBjb25kaXRpb25hbGx5IHB1
cmU6IHRoZXNlIGFyZSBwdXJlLCBhbmQgY2FuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0Nsb2JiZXJpemUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0Nsb2JiZXJpemUuaAkocmV2aXNpb24gMTU2NTUxKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgJKHdvcmtpbmcgY29weSkKQEAgLTIwNywxMCArMjA3
LDYgQEAgdm9pZCBjbG9iYmVyaXplKEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZQogICAgICAgICBy
ZWFkKEFic3RyYWN0SGVhcChWYXJpYWJsZXMsIEpTU3RhY2s6OkNhbGxlZSkpOwogICAgICAgICBy
ZXR1cm47CiAgICAgICAgIAotICAgIGNhc2UgU2V0Q2FsbGVlOgotICAgICAgICB3cml0ZShBYnN0
cmFjdEhlYXAoVmFyaWFibGVzLCBKU1N0YWNrOjpDYWxsZWUpKTsKLSAgICAgICAgcmV0dXJuOwot
ICAgICAgICAKICAgICBjYXNlIEdldExvY2FsOgogICAgIGNhc2UgR2V0QXJndW1lbnQ6CiAgICAg
ICAgIHJlYWQoQWJzdHJhY3RIZWFwKFZhcmlhYmxlcywgbm9kZS0+bG9jYWwoKSkpOwpAQCAtNTAw
LDEwICs0OTYsNiBAQCB2b2lkIGNsb2JiZXJpemUoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlCiAg
ICAgICAgIHJlYWQoQWJzdHJhY3RIZWFwKFZhcmlhYmxlcywgSlNTdGFjazo6U2NvcGVDaGFpbikp
OwogICAgICAgICByZXR1cm47CiAgICAgICAgIAotICAgIGNhc2UgU2V0TXlTY29wZToKLSAgICAg
ICAgd3JpdGUoQWJzdHJhY3RIZWFwKFZhcmlhYmxlcywgSlNTdGFjazo6U2NvcGVDaGFpbikpOwot
ICAgICAgICByZXR1cm47Ci0gICAgICAgIAogICAgIGNhc2UgU2tpcFRvcFNjb3BlOgogICAgICAg
ICByZWFkKEFic3RyYWN0SGVhcChWYXJpYWJsZXMsIGdyYXBoLm1fY29kZUJsb2NrLT5hY3RpdmF0
aW9uUmVnaXN0ZXIoKSkpOwogICAgICAgICByZXR1cm47CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAJKHJldmlzaW9uIDE1NjU1MSkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTc1OSw4ICs3NTksNiBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIFB1dENsb3N1cmVWYXI6CiAg
ICAgICAgIGNhc2UgU2tpcFRvcFNjb3BlOgogICAgICAgICBjYXNlIFNraXBTY29wZToKLSAgICAg
ICAgY2FzZSBTZXRDYWxsZWU6Ci0gICAgICAgIGNhc2UgU2V0TXlTY29wZToKICAgICAgICAgY2Fz
ZSBQdXRTdHJ1Y3R1cmU6CiAgICAgICAgIGNhc2UgQWxsb2NhdGVQcm9wZXJ0eVN0b3JhZ2U6CiAg
ICAgICAgIGNhc2UgUmVhbGxvY2F0ZVByb3BlcnR5U3RvcmFnZToKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgJKHJldmlzaW9uIDE1NjU1MSkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaAkod29ya2luZyBjb3B5KQpAQCAtNTIsNyAr
NTIsNiBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7CiAgICAgbWFjcm8oVG9UaGlz
LCBOb2RlUmVzdWx0SlMpIFwKICAgICBtYWNybyhDcmVhdGVUaGlzLCBOb2RlUmVzdWx0SlMpIC8q
IE5vdGUgdGhpcyBpcyBub3QgTXVzdEdlbmVyYXRlIHNpbmNlIHdlJ3JlIHJldHVybmluZyBpdCBh
bnl3YXkuICovIFwKICAgICBtYWNybyhHZXRDYWxsZWUsIE5vZGVSZXN1bHRKUykgXAotICAgIG1h
Y3JvKFNldENhbGxlZSwgTm9kZU11c3RHZW5lcmF0ZSkgXAogICAgIFwKICAgICAvKiBOb2RlcyBm
b3IgbG9jYWwgdmFyaWFibGUgYWNjZXNzLiBUaGVzZSBub2RlcyBhcmUgbGlua2VkIHRvZ2V0aGVy
IHVzaW5nIFBoaSBub2Rlcy4gKi9cCiAgICAgLyogQW55IHR3byBub2RlcyB0aGF0IGFyZSBwYXJ0
IG9mIHRoZSBzYW1lIFBoaSBncmFwaCB3aWxsIHNoYXJlIHRoZSBzYW1lICovXApAQCAtMTc2LDcg
KzE3NSw2IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsKICAgICBtYWNybyhHZXRU
eXBlZEFycmF5Qnl0ZU9mZnNldCwgTm9kZVJlc3VsdEludDMyKSBcCiAgICAgbWFjcm8oR2V0U2Nv
cGUsIE5vZGVSZXN1bHRKUykgXAogICAgIG1hY3JvKEdldE15U2NvcGUsIE5vZGVSZXN1bHRKUykg
XAotICAgIG1hY3JvKFNldE15U2NvcGUsIE5vZGVNdXN0R2VuZXJhdGUpIFwKICAgICBtYWNybyhT
a2lwVG9wU2NvcGUsIE5vZGVSZXN1bHRKUykgXAogICAgIG1hY3JvKFNraXBTY29wZSwgTm9kZVJl
c3VsdEpTKSBcCiAgICAgbWFjcm8oR2V0Q2xvc3VyZVJlZ2lzdGVycywgTm9kZVJlc3VsdFN0b3Jh
Z2UpIFwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3Bh
Z2F0aW9uUGhhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCShyZXZpc2lvbiAxNTY1NTEpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNTUyLDggKzU1Miw2IEBAIHByaXZhdGU6CiAgICAgICAgIGNh
c2UgUHV0QnlJZDoKICAgICAgICAgY2FzZSBQdXRCeUlkRGlyZWN0OgogICAgICAgICBjYXNlIFB1
dEJ5T2Zmc2V0OgotICAgICAgICBjYXNlIFNldENhbGxlZToKLSAgICAgICAgY2FzZSBTZXRNeVNj
b3BlOgogICAgICAgICBjYXNlIERGRzo6SnVtcDoKICAgICAgICAgY2FzZSBCcmFuY2g6CiAgICAg
ICAgIGNhc2UgU3dpdGNoOgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZl
VG9FeGVjdXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
YWZlVG9FeGVjdXRlLmgJKHJldmlzaW9uIDE1NjU1MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTYsNyArMTE2LDYg
QEAgYm9vbCBzYWZlVG9FeGVjdXRlKEFic3RyYWN0U3RhdGVUeXBlJiBzdAogICAgIGNhc2UgVG9U
aGlzOgogICAgIGNhc2UgQ3JlYXRlVGhpczoKICAgICBjYXNlIEdldENhbGxlZToKLSAgICBjYXNl
IFNldENhbGxlZToKICAgICBjYXNlIEdldExvY2FsOgogICAgIGNhc2UgU2V0TG9jYWw6CiAgICAg
Y2FzZSBNb3ZIaW50QW5kQ2hlY2s6CkBAIC0xNjUsNyArMTY0LDYgQEAgYm9vbCBzYWZlVG9FeGVj
dXRlKEFic3RyYWN0U3RhdGVUeXBlJiBzdAogICAgIGNhc2UgQXJyYXlpZnlUb1N0cnVjdHVyZToK
ICAgICBjYXNlIEdldFNjb3BlOgogICAgIGNhc2UgR2V0TXlTY29wZToKLSAgICBjYXNlIFNldE15
U2NvcGU6CiAgICAgY2FzZSBTa2lwVG9wU2NvcGU6CiAgICAgY2FzZSBTa2lwU2NvcGU6CiAgICAg
Y2FzZSBHZXRDbG9zdXJlUmVnaXN0ZXJzOgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCShyZXZpc2lvbiAxNTY1NTEp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zNjg3LDE5ICszNjg3LDExIEBAIHZvaWQgU3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKIAogICAgIGNhc2UgR2V0Q2FsbGVlOiB7CiAgICAgICAg
IEdQUlRlbXBvcmFyeSByZXN1bHQodGhpcyk7Ci0gICAgICAgIG1faml0LmxvYWRQdHIoSklUQ29t
cGlsZXI6OnBheWxvYWRGb3Ioc3RhdGljX2Nhc3Q8VmlydHVhbFJlZ2lzdGVyPihub2RlLT5jb2Rl
T3JpZ2luLnN0YWNrT2Zmc2V0KCkgKyBzdGF0aWNfY2FzdDxpbnQ+KEpTU3RhY2s6OkNhbGxlZSkp
KSwgcmVzdWx0LmdwcigpKTsKKyAgICAgICAgbV9qaXQubG9hZFB0cihKSVRDb21waWxlcjo6cGF5
bG9hZEZvcihzdGF0aWNfY2FzdDxpbnQ+KEpTU3RhY2s6OkNhbGxlZSksIHJlc3VsdC5ncHIoKSk7
CiAgICAgICAgIGNlbGxSZXN1bHQocmVzdWx0LmdwcigpLCBub2RlKTsKICAgICAgICAgYnJlYWs7
CiAgICAgfQogICAgICAgICAKLSAgICBjYXNlIFNldENhbGxlZTogewotICAgICAgICBTcGVjdWxh
dGVDZWxsT3BlcmFuZCBjYWxsZWUodGhpcywgbm9kZS0+Y2hpbGQxKCkpOwotICAgICAgICBtX2pp
dC5zdG9yZVB0cihjYWxsZWUuZ3ByKCksIEpJVENvbXBpbGVyOjpwYXlsb2FkRm9yKHN0YXRpY19j
YXN0PFZpcnR1YWxSZWdpc3Rlcj4obm9kZS0+Y29kZU9yaWdpbi5zdGFja09mZnNldCgpICsgc3Rh
dGljX2Nhc3Q8aW50PihKU1N0YWNrOjpDYWxsZWUpKSkpOwotICAgICAgICBtX2ppdC5zdG9yZTMy
KE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIoSlNWYWx1ZTo6Q2VsbFRhZyksIEpJVENvbXBp
bGVyOjp0YWdGb3Ioc3RhdGljX2Nhc3Q8VmlydHVhbFJlZ2lzdGVyPihub2RlLT5jb2RlT3JpZ2lu
LnN0YWNrT2Zmc2V0KCkgKyBzdGF0aWNfY2FzdDxpbnQ+KEpTU3RhY2s6OkNhbGxlZSkpKSk7Ci0g
ICAgICAgIG5vUmVzdWx0KG5vZGUpOwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgICAgIAog
ICAgIGNhc2UgR2V0U2NvcGU6IHsKICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgZnVuY3Rp
b24odGhpcywgbm9kZS0+Y2hpbGQxKCkpOwogICAgICAgICBHUFJUZW1wb3JhcnkgcmVzdWx0KHRo
aXMsIFJldXNlLCBmdW5jdGlvbik7CkBAIC0zNzEyLDE4ICszNzA0LDExIEBAIHZvaWQgU3BlY3Vs
YXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgR1BSVGVtcG9yYXJ5IHJlc3Vs
dCh0aGlzKTsKICAgICAgICAgR1BSUmVnIHJlc3VsdEdQUiA9IHJlc3VsdC5ncHIoKTsKIAotICAg
ICAgICBtX2ppdC5sb2FkUHRyKEpJVENvbXBpbGVyOjpwYXlsb2FkRm9yKHN0YXRpY19jYXN0PFZp
cnR1YWxSZWdpc3Rlcj4obm9kZS0+Y29kZU9yaWdpbi5zdGFja09mZnNldCgpICsgc3RhdGljX2Nh
c3Q8aW50PihKU1N0YWNrOjpTY29wZUNoYWluKSkpLCByZXN1bHRHUFIpOworICAgICAgICBtX2pp
dC5sb2FkUHRyKEpJVENvbXBpbGVyOjpwYXlsb2FkRm9yKEpTU3RhY2s6OlNjb3BlQ2hhaW4pLCBy
ZXN1bHRHUFIpOwogICAgICAgICBjZWxsUmVzdWx0KHJlc3VsdEdQUiwgbm9kZSk7CiAgICAgICAg
IGJyZWFrOwogICAgIH0KICAgICAgICAgCi0gICAgY2FzZSBTZXRNeVNjb3BlOiB7Ci0gICAgICAg
IFNwZWN1bGF0ZUNlbGxPcGVyYW5kIGNhbGxlZSh0aGlzLCBub2RlLT5jaGlsZDEoKSk7Ci0gICAg
ICAgIG1faml0LnN0b3JlUHRyKGNhbGxlZS5ncHIoKSwgSklUQ29tcGlsZXI6OnBheWxvYWRGb3Io
c3RhdGljX2Nhc3Q8VmlydHVhbFJlZ2lzdGVyPihub2RlLT5jb2RlT3JpZ2luLnN0YWNrT2Zmc2V0
KCkgKyBzdGF0aWNfY2FzdDxpbnQ+KEpTU3RhY2s6OlNjb3BlQ2hhaW4pKSkpOwotICAgICAgICBu
b1Jlc3VsdChub2RlKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgICAgICAKICAgICBjYXNl
IFNraXBUb3BTY29wZTogewogICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBzY29wZSh0aGlz
LCBub2RlLT5jaGlsZDEoKSk7CiAgICAgICAgIEdQUlRlbXBvcmFyeSByZXN1bHQodGhpcywgUmV1
c2UsIHNjb3BlKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQ2NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVDY0LmNwcAkocmV2aXNpb24gMTU2NTUxKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzk4
MSwxOCArMzk4MSwxMSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUp
CiAKICAgICBjYXNlIEdldENhbGxlZTogewogICAgICAgICBHUFJUZW1wb3JhcnkgcmVzdWx0KHRo
aXMpOwotICAgICAgICBtX2ppdC5sb2FkUHRyKEpJVENvbXBpbGVyOjphZGRyZXNzRm9yKHN0YXRp
Y19jYXN0PFZpcnR1YWxSZWdpc3Rlcj4obm9kZS0+Y29kZU9yaWdpbi5zdGFja09mZnNldCgpICsg
c3RhdGljX2Nhc3Q8aW50PihKU1N0YWNrOjpDYWxsZWUpKSksIHJlc3VsdC5ncHIoKSk7CisgICAg
ICAgIG1faml0LmxvYWRQdHIoSklUQ29tcGlsZXI6OmFkZHJlc3NGb3IoSlNTdGFjazo6Q2FsbGVl
KSwgcmVzdWx0LmdwcigpKTsKICAgICAgICAgY2VsbFJlc3VsdChyZXN1bHQuZ3ByKCksIG5vZGUp
OwogICAgICAgICBicmVhazsKICAgICB9CiAgICAgICAgIAotICAgIGNhc2UgU2V0Q2FsbGVlOiB7
Ci0gICAgICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5kIGNhbGxlZSh0aGlzLCBub2RlLT5jaGlsZDEo
KSk7Ci0gICAgICAgIG1faml0LnN0b3JlUHRyKGNhbGxlZS5ncHIoKSwgSklUQ29tcGlsZXI6OmFk
ZHJlc3NGb3Ioc3RhdGljX2Nhc3Q8VmlydHVhbFJlZ2lzdGVyPihub2RlLT5jb2RlT3JpZ2luLnN0
YWNrT2Zmc2V0KCkgKyBzdGF0aWNfY2FzdDxpbnQ+KEpTU3RhY2s6OkNhbGxlZSkpKSk7Ci0gICAg
ICAgIG5vUmVzdWx0KG5vZGUpOwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgICAgIAogICAg
IGNhc2UgR2V0U2NvcGU6IHsKICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgZnVuY3Rpb24o
dGhpcywgbm9kZS0+Y2hpbGQxKCkpOwogICAgICAgICBHUFJUZW1wb3JhcnkgcmVzdWx0KHRoaXMs
IFJldXNlLCBmdW5jdGlvbik7CkBAIC00MDA1LDE4ICszOTk4LDExIEBAIHZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgR1BSVGVtcG9yYXJ5IHJlc3VsdCh0
aGlzKTsKICAgICAgICAgR1BSUmVnIHJlc3VsdEdQUiA9IHJlc3VsdC5ncHIoKTsKIAotICAgICAg
ICBtX2ppdC5sb2FkUHRyKEpJVENvbXBpbGVyOjphZGRyZXNzRm9yKHN0YXRpY19jYXN0PFZpcnR1
YWxSZWdpc3Rlcj4obm9kZS0+Y29kZU9yaWdpbi5zdGFja09mZnNldCgpICsgc3RhdGljX2Nhc3Q8
aW50PihKU1N0YWNrOjpTY29wZUNoYWluKSkpLCByZXN1bHRHUFIpOworICAgICAgICBtX2ppdC5s
b2FkUHRyKEpJVENvbXBpbGVyOjphZGRyZXNzRm9yKEpTU3RhY2s6OlNjb3BlQ2hhaW4pLCByZXN1
bHRHUFIpOwogICAgICAgICBjZWxsUmVzdWx0KHJlc3VsdEdQUiwgbm9kZSk7CiAgICAgICAgIGJy
ZWFrOwogICAgIH0KICAgICAgICAgCi0gICAgY2FzZSBTZXRNeVNjb3BlOiB7Ci0gICAgICAgIFNw
ZWN1bGF0ZUNlbGxPcGVyYW5kIGNhbGxlZSh0aGlzLCBub2RlLT5jaGlsZDEoKSk7Ci0gICAgICAg
IG1faml0LnN0b3JlUHRyKGNhbGxlZS5ncHIoKSwgSklUQ29tcGlsZXI6OmFkZHJlc3NGb3Ioc3Rh
dGljX2Nhc3Q8VmlydHVhbFJlZ2lzdGVyPihub2RlLT5jb2RlT3JpZ2luLnN0YWNrT2Zmc2V0KCkg
KyBzdGF0aWNfY2FzdDxpbnQ+KEpTU3RhY2s6OlNjb3BlQ2hhaW4pKSkpOwotICAgICAgICBub1Jl
c3VsdChub2RlKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgICAgICAKICAgICBjYXNlIFNr
aXBUb3BTY29wZTogewogICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBzY29wZSh0aGlzLCBu
b2RlLT5jaGlsZDEoKSk7CiAgICAgICAgIEdQUlRlbXBvcmFyeSByZXN1bHQodGhpcywgUmV1c2Us
IHNjb3BlKTsK
</data>
<flag name="review"
          id="235132"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>