<?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>130707</bug_id>
          
          <creation_ts>2014-03-24 19:17:17 -0700</creation_ts>
          <short_desc>More scaffolding for a stub routine to have a stub recursively embedded inside it</short_desc>
          <delta_ts>2014-03-24 20:45:59 -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>129589</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>commit-queue</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>994060</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-03-24 19:17:17 -0700</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>994063</commentid>
    <comment_count>1</comment_count>
      <attachid>227714</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-03-24 19:22:12 -0700</bug_when>
    <thetext>Created attachment 227714
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>994064</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-24 19:25:12 -0700</bug_when>
    <thetext>Attachment 227714 did not pass style-queue:


ERROR: Source/JavaScriptCore/jit/ClosureCallStubRoutine.cpp:43:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
Total errors found: 1 in 16 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>994076</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-03-24 20:45:59 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/166218</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227714</attachid>
            <date>2014-03-24 19:22:12 -0700</date>
            <delta_ts>2014-03-24 19:25:46 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>22192</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTY2MjE2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQzIEBA
CisyMDE0LTAzLTI0ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
TW9yZSBzY2FmZm9sZGluZyBmb3IgYSBzdHViIHJvdXRpbmUgdG8gaGF2ZSBhIHN0dWIgcmVjdXJz
aXZlbHkgZW1iZWRkZWQgaW5zaWRlIGl0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMzA3NzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIGJ5dGVjb2RlL0NhbGxMaW5rSW5mby5jcHA6CisgICAgICAgIChK
U0M6OkNhbGxMaW5rSW5mbzo6dW5saW5rKTogVk0mIGFyZ3VtZW50IGlzIHN1cGVyZmx1b3VzLgor
ICAgICAgICAoSlNDOjpDYWxsTGlua0luZm86OnZpc2l0V2Vhayk6IEZhY3RvciB0aGlzIG91dCwg
aXQgdXNlZCB0byBiZSBpbiBDb2RlQmxvY2s6OmZpbmFsaXplVW5jb25kaXRpb25hbGx5KCkuCisg
ICAgICAgICogYnl0ZWNvZGUvQ2FsbExpbmtJbmZvLmg6CisgICAgICAgICogYnl0ZWNvZGUvQ29k
ZUJsb2NrLmNwcDoKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpmaW5hbGl6ZVVuY29uZGl0aW9u
YWxseSk6IEZhY3RvciBvdXQgc29tZSBmdW5jdGlvbmFsaXR5IGludG8gQ2FsbExpbmtJbmZvOjp2
aXNpdFdlYWsoKSwgYW5kIG1ha2Ugc3VyZSB3ZSBwYXNzIFJlcGF0Y2hCdWZmZXImIGluIG1vcmUg
cGxhY2VzLgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OnVubGlua0NhbGxzKToKKyAgICAgICAg
KEpTQzo6Q29kZUJsb2NrOjp1bmxpbmtJbmNvbWluZ0NhbGxzKToKKyAgICAgICAgKiBieXRlY29k
ZS9Qb2x5bW9ycGhpY0dldEJ5SWRMaXN0LmNwcDogUGFzcyBSZXBhdGNoQnVmZmVyJiB0aHJvdWdo
IGFuZCBjYWxsIEpJVFN0dWJSb3V0aW5lOjp2aXNpdFdlYWsoKS4KKyAgICAgICAgKEpTQzo6R2V0
QnlJZEFjY2Vzczo6dmlzaXRXZWFrKToKKyAgICAgICAgKEpTQzo6UG9seW1vcnBoaWNHZXRCeUlk
TGlzdDo6dmlzaXRXZWFrKToKKyAgICAgICAgKiBieXRlY29kZS9Qb2x5bW9ycGhpY0dldEJ5SWRM
aXN0Lmg6CisgICAgICAgICogYnl0ZWNvZGUvUG9seW1vcnBoaWNQdXRCeUlkTGlzdC5jcHA6IFBh
c3MgUmVwYXRjaEJ1ZmZlciYgdGhyb3VnaCBhbmQgY2FsbCBKSVRTdHViUm91dGluZTo6dmlzaXRX
ZWFrKCkuCisgICAgICAgIChKU0M6OlB1dEJ5SWRBY2Nlc3M6OnZpc2l0V2Vhayk6CisgICAgICAg
IChKU0M6OlBvbHltb3JwaGljUHV0QnlJZExpc3Q6OnZpc2l0V2Vhayk6CisgICAgICAgICogYnl0
ZWNvZGUvUG9seW1vcnBoaWNQdXRCeUlkTGlzdC5oOgorICAgICAgICAqIGJ5dGVjb2RlL1N0cnVj
dHVyZVN0dWJJbmZvLmNwcDogUGFzcyBSZXBhdGNoQnVmZmVyJiB0aHJvdWdoLgorICAgICAgICAo
SlNDOjpTdHJ1Y3R1cmVTdHViSW5mbzo6dmlzaXRXZWFrUmVmZXJlbmNlcyk6CisgICAgICAgICog
Ynl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uaDoKKyAgICAgICAgKiBqaXQvQ2xvc3VyZUNhbGxT
dHViUm91dGluZS5jcHA6IGlzQ2xvc3VyZUNhbGwgaXMgdW51c2VkLgorICAgICAgICAoSlNDOjpD
bG9zdXJlQ2FsbFN0dWJSb3V0aW5lOjpDbG9zdXJlQ2FsbFN0dWJSb3V0aW5lKToKKyAgICAgICAg
KiBqaXQvR0NBd2FyZUpJVFN0dWJSb3V0aW5lLmNwcDoKKyAgICAgICAgKEpTQzo6R0NBd2FyZUpJ
VFN0dWJSb3V0aW5lOjpHQ0F3YXJlSklUU3R1YlJvdXRpbmUpOgorICAgICAgICAoSlNDOjpjcmVh
dGVKSVRTdHViUm91dGluZSk6CisgICAgICAgICogaml0L0dDQXdhcmVKSVRTdHViUm91dGluZS5o
OiBNYWtlIGl0IGVhc2llciB0byBjb25zdHJ1Y3Qgb25lIG9mIHRoZXNlLgorICAgICAgICAoSlND
OjpHQ0F3YXJlSklUU3R1YlJvdXRpbmU6OmlzQ2xvc3VyZUNhbGwpOiBEZWxldGVkLgorICAgICAg
ICAqIGppdC9KSVRTdHViUm91dGluZS5jcHA6CisgICAgICAgIChKU0M6OkpJVFN0dWJSb3V0aW5l
Ojp2aXNpdFdlYWspOiBUaGlzIHdpbGwgYWxsb3cgZnV0dXJlIEpJVFN0dWJSb3V0aW5lIHN1YmNs
YXNzZXMgdG8gaGF2ZSBzdHVicyByZWN1cnNpdmVseSBlbWJlZGRlZCBpbnNpZGUgdGhlbS4KKyAg
ICAgICAgKiBqaXQvSklUU3R1YlJvdXRpbmUuaDoKKyAgICAgICAgKiBqaXQvUmVwYXRjaC5jcHA6
CisgICAgICAgIChKU0M6OmdlbmVyYXRlR2V0QnlJZFN0dWIpOiBGaXggYSBwb3NzaWJsZSBHQyBi
dWcgd2hlcmUgd2Ugd2VyZW4ndCBtYWtpbmcgdGhlIHN0dWIgcm91dGluZSBHQyBhd2FyZS4KKyAg
ICAgICAgKEpTQzo6ZW1pdEN1c3RvbVNldHRlclN0dWIpOiBDbGVhbiB1cCBzb21lIGNvZGUuCisK
IDIwMTQtMDMtMjQgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBT
dHJpY3QgbW9kZSBkZXN0cnVjdHVyaW5nIGFzc2lnbm1lbnQgY3Jhc2hlcyB0aGUgcGFyc2VyLgpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NhbGxMaW5rSW5mby5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NhbGxMaW5rSW5mby5j
cHAJKHJldmlzaW9uIDE2NjE5OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9D
YWxsTGlua0luZm8uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw3ICszNSw3IEBACiAjaWYgRU5B
QkxFKEpJVCkKIG5hbWVzcGFjZSBKU0MgewogCi12b2lkIENhbGxMaW5rSW5mbzo6dW5saW5rKFZN
JiB2bSwgUmVwYXRjaEJ1ZmZlciYgcmVwYXRjaEJ1ZmZlcikKK3ZvaWQgQ2FsbExpbmtJbmZvOjp1
bmxpbmsoUmVwYXRjaEJ1ZmZlciYgcmVwYXRjaEJ1ZmZlcikKIHsKICAgICBBU1NFUlQoaXNMaW5r
ZWQoKSk7CiAgICAgCkBAIC00NSw3ICs0NSw3IEBAIHZvaWQgQ2FsbExpbmtJbmZvOjp1bmxpbmso
Vk0mIHZtLCBSZXBhdGMKICAgICByZXBhdGNoQnVmZmVyLnJldmVydEp1bXBSZXBsYWNlbWVudFRv
QnJhbmNoUHRyV2l0aFBhdGNoKFJlcGF0Y2hCdWZmZXI6OnN0YXJ0T2ZCcmFuY2hQdHJXaXRoUGF0
Y2hPblJlZ2lzdGVyKGhvdFBhdGhCZWdpbiksIHN0YXRpY19jYXN0PE1hY3JvQXNzZW1ibGVyOjpS
ZWdpc3RlcklEPihjYWxsZWVHUFIpLCAwKTsKICAgICByZXBhdGNoQnVmZmVyLnJlbGluaygKICAg
ICAgICAgY2FsbFJldHVybkxvY2F0aW9uLAotICAgICAgICB2bS5nZXRDVElTdHViKGxpbmtUaHVu
a0dlbmVyYXRvckZvcigKKyAgICAgICAgcmVwYXRjaEJ1ZmZlci5jb2RlQmxvY2soKS0+dm0oKS0+
Z2V0Q1RJU3R1YihsaW5rVGh1bmtHZW5lcmF0b3JGb3IoCiAgICAgICAgICAgICBjYWxsVHlwZSA9
PSBDb25zdHJ1Y3QgPyBDb2RlRm9yQ29uc3RydWN0IDogQ29kZUZvckNhbGwsCiAgICAgICAgICAg
ICBpc0ZUTCA/IE11c3RQcmVzZXJ2ZVJlZ2lzdGVycyA6IFJlZ2lzdGVyUHJlc2VydmF0aW9uTm90
UmVxdWlyZWQpKS5jb2RlKCkpOwogICAgIGhhc1NlZW5TaG91bGRSZXBhdGNoID0gZmFsc2U7CkBA
IC01Nyw2ICs1NywzNSBAQCB2b2lkIENhbGxMaW5rSW5mbzo6dW5saW5rKFZNJiB2bSwgUmVwYXRj
CiAgICAgICAgIHJlbW92ZSgpOwogfQogCit2b2lkIENhbGxMaW5rSW5mbzo6dmlzaXRXZWFrKFJl
cGF0Y2hCdWZmZXImIHJlcGF0Y2hCdWZmZXIpCit7CisgICAgaWYgKGlzTGlua2VkKCkpIHsKKyAg
ICAgICAgaWYgKHN0dWIpIHsKKyAgICAgICAgICAgIGlmICghSGVhcDo6aXNNYXJrZWQoc3R1Yi0+
c3RydWN0dXJlKCkpCisgICAgICAgICAgICAgICAgfHwgIUhlYXA6OmlzTWFya2VkKHN0dWItPmV4
ZWN1dGFibGUoKSkpIHsKKyAgICAgICAgICAgICAgICBpZiAoT3B0aW9uczo6dmVyYm9zZU9TUigp
KSB7CisgICAgICAgICAgICAgICAgICAgIGRhdGFMb2coCisgICAgICAgICAgICAgICAgICAgICAg
ICAiQ2xlYXJpbmcgY2xvc3VyZSBjYWxsIGZyb20gIiwgKnJlcGF0Y2hCdWZmZXIuY29kZUJsb2Nr
KCksICIgdG8gIiwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0dWItPmV4ZWN1dGFibGUoKS0+
aGFzaEZvcihzcGVjaWFsaXphdGlvbktpbmQoKSksCisgICAgICAgICAgICAgICAgICAgICAgICAi
LCBzdHViIHJvdXRpbmUgIiwgUmF3UG9pbnRlcihzdHViLmdldCgpKSwgIi5cbiIpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB1bmxpbmsocmVwYXRjaEJ1ZmZlcik7CisgICAg
ICAgICAgICB9CisgICAgICAgIH0gZWxzZSBpZiAoIUhlYXA6OmlzTWFya2VkKGNhbGxlZS5nZXQo
KSkpIHsKKyAgICAgICAgICAgIGlmIChPcHRpb25zOjp2ZXJib3NlT1NSKCkpIHsKKyAgICAgICAg
ICAgICAgICBkYXRhTG9nKAorICAgICAgICAgICAgICAgICAgICAiQ2xlYXJpbmcgY2FsbCBmcm9t
ICIsICpyZXBhdGNoQnVmZmVyLmNvZGVCbG9jaygpLCAiIHRvICIsCisgICAgICAgICAgICAgICAg
ICAgIFJhd1BvaW50ZXIoY2FsbGVlLmdldCgpKSwgIiAoIiwKKyAgICAgICAgICAgICAgICAgICAg
Y2FsbGVlLmdldCgpLT5leGVjdXRhYmxlKCktPmhhc2hGb3Ioc3BlY2lhbGl6YXRpb25LaW5kKCkp
LAorICAgICAgICAgICAgICAgICAgICAiKS5cbiIpOworICAgICAgICAgICAgfQorICAgICAgICAg
ICAgdW5saW5rKHJlcGF0Y2hCdWZmZXIpOworICAgICAgICB9CisgICAgfQorICAgIGlmICghIWxh
c3RTZWVuQ2FsbGVlICYmICFIZWFwOjppc01hcmtlZChsYXN0U2VlbkNhbGxlZS5nZXQoKSkpCisg
ICAgICAgIGxhc3RTZWVuQ2FsbGVlLmNsZWFyKCk7Cit9CisKIENhbGxMaW5rSW5mbyYgQ2FsbExp
bmtJbmZvOjpkdW1teSgpCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPENhbGxMaW5rSW5m
bz4gZHVtbXk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ2FsbExpbmtJ
bmZvLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NhbGxM
aW5rSW5mby5oCShyZXZpc2lvbiAxNjYxOTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvQ2FsbExpbmtJbmZvLmgJKHdvcmtpbmcgY29weSkKQEAgLTg4LDcgKzg4LDcgQEAgc3Ry
dWN0IENhbGxMaW5rSW5mbyA6IHB1YmxpYyBCYXNpY1Jhd1NlbgogICAgIENvZGVPcmlnaW4gY29k
ZU9yaWdpbjsKIAogICAgIGJvb2wgaXNMaW5rZWQoKSB7IHJldHVybiBzdHViIHx8IGNhbGxlZTsg
fQotICAgIHZvaWQgdW5saW5rKFZNJiwgUmVwYXRjaEJ1ZmZlciYpOworICAgIHZvaWQgdW5saW5r
KFJlcGF0Y2hCdWZmZXImKTsKIAogICAgIGJvb2wgc2Vlbk9uY2UoKQogICAgIHsKQEAgLTEwMCw2
ICsxMDAsOCBAQCBzdHJ1Y3QgQ2FsbExpbmtJbmZvIDogcHVibGljIEJhc2ljUmF3U2VuCiAgICAg
ICAgIGhhc1NlZW5TaG91bGRSZXBhdGNoID0gdHJ1ZTsKICAgICB9CiAgICAgCisgICAgdm9pZCB2
aXNpdFdlYWsoUmVwYXRjaEJ1ZmZlciYpOworICAgIAogICAgIHN0YXRpYyBDYWxsTGlua0luZm8m
IGR1bW15KCk7CiB9OwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29k
ZUJsb2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
Q29kZUJsb2NrLmNwcAkocmV2aXNpb24gMTY2MTk4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIyNDEsMzkgKzIyNDEs
MTQgQEAgdm9pZCBDb2RlQmxvY2s6OmZpbmFsaXplVW5jb25kaXRpb25hbGx5KAogICAgIC8vIEhh
bmRsZSBpbmxpbmUgY2FjaGVzLgogICAgIGlmICghIWppdENvZGUoKSkgewogICAgICAgICBSZXBh
dGNoQnVmZmVyIHJlcGF0Y2hCdWZmZXIodGhpcyk7Ci0gICAgICAgIGZvciAoYXV0byBpdGVyID0g
Y2FsbExpbmtJbmZvc0JlZ2luKCk7ICEhaXRlcjsgKytpdGVyKSB7Ci0gICAgICAgICAgICBDYWxs
TGlua0luZm8mIGluZm8gPSAqKml0ZXI7Ci0gICAgICAgICAgICBpZiAoaW5mby5pc0xpbmtlZCgp
KSB7Ci0gICAgICAgICAgICAgICAgaWYgKENsb3N1cmVDYWxsU3R1YlJvdXRpbmUqIHN0dWIgPSBp
bmZvLnN0dWIuZ2V0KCkpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCFIZWFwOjppc01hcmtl
ZChzdHViLT5zdHJ1Y3R1cmUoKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHx8ICFIZWFwOjpp
c01hcmtlZChzdHViLT5leGVjdXRhYmxlKCkpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoT3B0aW9uczo6dmVyYm9zZU9TUigpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZGF0YUxvZygKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkNsZWFyaW5nIGNsb3N1
cmUgY2FsbCBmcm9tICIsICp0aGlzLCAiIHRvICIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHN0dWItPmV4ZWN1dGFibGUoKS0+aGFzaEZvcihpbmZvLnNwZWNpYWxpemF0aW9uS2lu
ZCgpKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiwgc3R1YiByb3V0aW5lICIs
IFJhd1BvaW50ZXIoc3R1YiksICIuXG4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICAgICAgICAgIGluZm8udW5saW5rKCptX3ZtLCByZXBhdGNoQnVmZmVyKTsK
LSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIUhlYXA6
OmlzTWFya2VkKGluZm8uY2FsbGVlLmdldCgpKSkgewotICAgICAgICAgICAgICAgICAgICBpZiAo
T3B0aW9uczo6dmVyYm9zZU9TUigpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBkYXRhTG9n
KAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDbGVhcmluZyBjYWxsIGZyb20gIiwgKnRo
aXMsICIgdG8gIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBSYXdQb2ludGVyKGluZm8u
Y2FsbGVlLmdldCgpKSwgIiAoIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZvLmNh
bGxlZS5nZXQoKS0+ZXhlY3V0YWJsZSgpLT5oYXNoRm9yKGluZm8uc3BlY2lhbGl6YXRpb25LaW5k
KCkpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICIpLlxuIik7Ci0gICAgICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgaW5mby51bmxpbmsoKm1fdm0sIHJlcGF0Y2hC
dWZmZXIpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlm
ICghIWluZm8ubGFzdFNlZW5DYWxsZWUKLSAgICAgICAgICAgICAgICAmJiAhSGVhcDo6aXNNYXJr
ZWQoaW5mby5sYXN0U2VlbkNhbGxlZS5nZXQoKSkpCi0gICAgICAgICAgICAgICAgaW5mby5sYXN0
U2VlbkNhbGxlZS5jbGVhcigpOwotICAgICAgICB9CisgICAgICAgIAorICAgICAgICBmb3IgKGF1
dG8gaXRlciA9IGNhbGxMaW5rSW5mb3NCZWdpbigpOyAhIWl0ZXI7ICsraXRlcikKKyAgICAgICAg
ICAgICgqaXRlciktPnZpc2l0V2VhayhyZXBhdGNoQnVmZmVyKTsKKwogICAgICAgICBmb3IgKEJh
ZzxTdHJ1Y3R1cmVTdHViSW5mbz46Oml0ZXJhdG9yIGl0ZXIgPSBtX3N0dWJJbmZvcy5iZWdpbigp
OyAhIWl0ZXI7ICsraXRlcikgewogICAgICAgICAgICAgU3RydWN0dXJlU3R1YkluZm8mIHN0dWJJ
bmZvID0gKippdGVyOwogICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAoc3R1YkluZm8udmlz
aXRXZWFrUmVmZXJlbmNlcygpKQorICAgICAgICAgICAgaWYgKHN0dWJJbmZvLnZpc2l0V2Vha1Jl
ZmVyZW5jZXMocmVwYXRjaEJ1ZmZlcikpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAg
ICAgICAgICAKICAgICAgICAgICAgIHJlc2V0U3R1YkR1cmluZ0dDSW50ZXJuYWwocmVwYXRjaEJ1
ZmZlciwgc3R1YkluZm8pOwpAQCAtMjYzOSw3ICsyNjE0LDcgQEAgdm9pZCBDb2RlQmxvY2s6OnVu
bGlua0NhbGxzKCkKICAgICAgICAgQ2FsbExpbmtJbmZvJiBpbmZvID0gKippdGVyOwogICAgICAg
ICBpZiAoIWluZm8uaXNMaW5rZWQoKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICBp
bmZvLnVubGluaygqbV92bSwgcmVwYXRjaEJ1ZmZlcik7CisgICAgICAgIGluZm8udW5saW5rKHJl
cGF0Y2hCdWZmZXIpOwogICAgIH0KIH0KIApAQCAtMjY2MSw3ICsyNjM2LDcgQEAgdm9pZCBDb2Rl
QmxvY2s6OnVubGlua0luY29taW5nQ2FsbHMoKQogICAgICAgICByZXR1cm47CiAgICAgUmVwYXRj
aEJ1ZmZlciByZXBhdGNoQnVmZmVyKHRoaXMpOwogICAgIHdoaWxlIChtX2luY29taW5nQ2FsbHMu
YmVnaW4oKSAhPSBtX2luY29taW5nQ2FsbHMuZW5kKCkpCi0gICAgICAgIG1faW5jb21pbmdDYWxs
cy5iZWdpbigpLT51bmxpbmsoKm1fdm0sIHJlcGF0Y2hCdWZmZXIpOworICAgICAgICBtX2luY29t
aW5nQ2FsbHMuYmVnaW4oKS0+dW5saW5rKHJlcGF0Y2hCdWZmZXIpOwogI2VuZGlmIC8vIEVOQUJM
RShKSVQpCiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9y
cGhpY0dldEJ5SWRMaXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvUG9seW1vcnBoaWNHZXRCeUlkTGlzdC5jcHAJKHJldmlzaW9uIDE2NjE5OCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0dldEJ5SWRMaXN0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtODMsMTIgKzgzLDE0IEBAIEdldEJ5SWRBY2Nlc3MgR2V0QnlJ
ZEFjY2Vzczo6ZnJvbVN0cnVjdHUKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1ib29sIEdldEJ5
SWRBY2Nlc3M6OnZpc2l0V2VhaygpIGNvbnN0Citib29sIEdldEJ5SWRBY2Nlc3M6OnZpc2l0V2Vh
ayhSZXBhdGNoQnVmZmVyJiByZXBhdGNoQnVmZmVyKSBjb25zdAogewogICAgIGlmIChtX3N0cnVj
dHVyZSAmJiAhSGVhcDo6aXNNYXJrZWQobV9zdHJ1Y3R1cmUuZ2V0KCkpKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgaWYgKG1fY2hhaW4gJiYgIUhlYXA6OmlzTWFya2VkKG1fY2hhaW4uZ2V0
KCkpKQogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFtX3N0dWJSb3V0aW5lLT52aXNp
dFdlYWsocmVwYXRjaEJ1ZmZlcikpCisgICAgICAgIHJldHVybiBmYWxzZTsKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIApAQCAtMTU2LDEwICsxNTgsMTAgQEAgYm9vbCBQb2x5bW9ycGhpY0dldEJ5SWRM
aXN0OjpkaWRTZWxmUGF0YwogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBQb2x5bW9ycGhp
Y0dldEJ5SWRMaXN0Ojp2aXNpdFdlYWsoKSBjb25zdAorYm9vbCBQb2x5bW9ycGhpY0dldEJ5SWRM
aXN0Ojp2aXNpdFdlYWsoUmVwYXRjaEJ1ZmZlciYgcmVwYXRjaEJ1ZmZlcikgY29uc3QKIHsKICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSBzaXplKCk7IGktLTspIHsKLSAgICAgICAgaWYgKCFhdChpKS52
aXNpdFdlYWsoKSkKKyAgICAgICAgaWYgKCFhdChpKS52aXNpdFdlYWsocmVwYXRjaEJ1ZmZlcikp
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogICAgIHJldHVybiB0cnVlOwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljR2V0QnlJZExpc3Qu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBo
aWNHZXRCeUlkTGlzdC5oCShyZXZpc2lvbiAxNjYxOTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNHZXRCeUlkTGlzdC5oCSh3b3JraW5nIGNvcHkpCkBAIC00
Niw2ICs0Niw3IEBAIHB1YmxpYzoKICAgICAgICAgU2ltcGxlSW5saW5lLCAvLyBUaGlzIGlzIHRo
ZSBwYXRjaGVkIGlubGluZSBhY2Nlc3MuCiAgICAgICAgIFNpbXBsZVN0dWIsIC8vIFRoaXMgaXMg
YSBzdHViLgogICAgICAgICBHZXR0ZXIsCisgICAgICAgIEN1c3RvbUdldHRlcgogICAgIH07CiAg
ICAgCiAgICAgR2V0QnlJZEFjY2VzcygpCkBAIC04MCw3ICs4MSw3IEBAIHB1YmxpYzoKICAgICAK
ICAgICBib29sIGRvZXNDYWxscygpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBHZXR0ZXI7IH0K
ICAgICAKLSAgICBib29sIHZpc2l0V2VhaygpIGNvbnN0OworICAgIGJvb2wgdmlzaXRXZWFrKFJl
cGF0Y2hCdWZmZXImKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgQ29kZUJs
b2NrOwpAQCAtMTE0LDcgKzExNSw3IEBAIHB1YmxpYzoKICAgICAKICAgICBib29sIGRpZFNlbGZQ
YXRjaGluZygpIGNvbnN0OyAvLyBBcmUgYW55IG9mIHRoZSBhY2Nlc3NlcyBTaW1wbGVJbmxpbmU/
CiAgICAgCi0gICAgYm9vbCB2aXNpdFdlYWsoKSBjb25zdDsKKyAgICBib29sIHZpc2l0V2VhayhS
ZXBhdGNoQnVmZmVyJikgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIENvZGVC
bG9jazsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY1B1
dEJ5SWRMaXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvUG9seW1vcnBoaWNQdXRCeUlkTGlzdC5jcHAJKHJldmlzaW9uIDE2NjE5OCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY1B1dEJ5SWRMaXN0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNjIsNyArNjIsNyBAQCBQdXRCeUlkQWNjZXNzIFB1dEJ5SWRBY2Nlc3M6
OmZyb21TdHJ1Y3R1CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotYm9vbCBQdXRCeUlkQWNjZXNz
Ojp2aXNpdFdlYWsoKSBjb25zdAorYm9vbCBQdXRCeUlkQWNjZXNzOjp2aXNpdFdlYWsoUmVwYXRj
aEJ1ZmZlciYgcmVwYXRjaEJ1ZmZlcikgY29uc3QKIHsKICAgICBzd2l0Y2ggKG1fdHlwZSkgewog
ICAgIGNhc2UgUmVwbGFjZToKQEAgLTg3LDYgKzg3LDggQEAgYm9vbCBQdXRCeUlkQWNjZXNzOjp2
aXNpdFdlYWsoKSBjb25zdAogICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQorICAgIGlmICghbV9zdHViUm91dGluZS0+dmlz
aXRXZWFrKHJlcGF0Y2hCdWZmZXIpKQorICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKQEAgLTEzOSwxMCArMTQxLDEwIEBAIHZvaWQgUG9seW1vcnBoaWNQdXRCeUlk
TGlzdDo6YWRkQWNjZXNzKGMKICAgICBtX2xpc3QubGFzdCgpID0gcHV0QnlJZEFjY2VzczsKIH0K
IAotYm9vbCBQb2x5bW9ycGhpY1B1dEJ5SWRMaXN0Ojp2aXNpdFdlYWsoKSBjb25zdAorYm9vbCBQ
b2x5bW9ycGhpY1B1dEJ5SWRMaXN0Ojp2aXNpdFdlYWsoUmVwYXRjaEJ1ZmZlciYgcmVwYXRjaEJ1
ZmZlcikgY29uc3QKIHsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc2l6ZSgpOyArK2kp
IHsKLSAgICAgICAgaWYgKCFhdChpKS52aXNpdFdlYWsoKSkKKyAgICAgICAgaWYgKCFhdChpKS52
aXNpdFdlYWsocmVwYXRjaEJ1ZmZlcikpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
fQogICAgIHJldHVybiB0cnVlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L1BvbHltb3JwaGljUHV0QnlJZExpc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNQdXRCeUlkTGlzdC5oCShyZXZpc2lvbiAxNjYxOTgp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNQdXRCeUlkTGlz
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNTIsNyArMTUyLDcgQEAgcHVibGljOgogCiAgICAgUHV0
UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmMgY3VzdG9tU2V0dGVyKCkgY29uc3QgeyBBU1NFUlQo
aXNDdXN0b20oKSk7IHJldHVybiBtX2N1c3RvbVNldHRlcjsgfQogCi0gICAgYm9vbCB2aXNpdFdl
YWsoKSBjb25zdDsKKyAgICBib29sIHZpc2l0V2VhayhSZXBhdGNoQnVmZmVyJikgY29uc3Q7CiAg
ICAgCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBDb2RlQmxvY2s7CkBAIC0xOTAsNyArMTkw
LDcgQEAgcHVibGljOgogICAgIAogICAgIFB1dEtpbmQga2luZCgpIGNvbnN0IHsgcmV0dXJuIG1f
a2luZDsgfQogICAgIAotICAgIGJvb2wgdmlzaXRXZWFrKCkgY29uc3Q7CisgICAgYm9vbCB2aXNp
dFdlYWsoUmVwYXRjaEJ1ZmZlciYpIGNvbnN0OwogICAgIAogcHJpdmF0ZToKICAgICBmcmllbmQg
Y2xhc3MgQ29kZUJsb2NrOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0
cnVjdHVyZVN0dWJJbmZvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uY3BwCShyZXZpc2lvbiAxNjYxOTgpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC02MSw3ICs2MSw3IEBAIHZvaWQgU3RydWN0dXJlU3R1YkluZm86OmRlcmVmKCkK
ICAgICB9CiB9CiAKLWJvb2wgU3RydWN0dXJlU3R1YkluZm86OnZpc2l0V2Vha1JlZmVyZW5jZXMo
KQorYm9vbCBTdHJ1Y3R1cmVTdHViSW5mbzo6dmlzaXRXZWFrUmVmZXJlbmNlcyhSZXBhdGNoQnVm
ZmVyJiByZXBhdGNoQnVmZmVyKQogewogICAgIHN3aXRjaCAoYWNjZXNzVHlwZSkgewogICAgIGNh
c2UgYWNjZXNzX2dldF9ieV9pZF9zZWxmOgpAQCAtNzQsNyArNzQsNyBAQCBib29sIFN0cnVjdHVy
ZVN0dWJJbmZvOjp2aXNpdFdlYWtSZWZlcmVuCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgICAgIGJyZWFrOwogICAgIGNhc2UgYWNjZXNzX2dldF9ieV9pZF9saXN0OiB7Ci0gICAgICAg
IGlmICghdS5nZXRCeUlkTGlzdC5saXN0LT52aXNpdFdlYWsoKSkKKyAgICAgICAgaWYgKCF1Lmdl
dEJ5SWRMaXN0Lmxpc3QtPnZpc2l0V2VhayhyZXBhdGNoQnVmZmVyKSkKICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtOTAsNyArOTAsNyBAQCBib29s
IFN0cnVjdHVyZVN0dWJJbmZvOjp2aXNpdFdlYWtSZWZlcmVuCiAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgYWNjZXNzX3B1dF9ieV9pZF9saXN0Ogot
ICAgICAgICBpZiAoIXUucHV0QnlJZExpc3QubGlzdC0+dmlzaXRXZWFrKCkpCisgICAgICAgIGlm
ICghdS5wdXRCeUlkTGlzdC5saXN0LT52aXNpdFdlYWsocmVwYXRjaEJ1ZmZlcikpCiAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgYWNjZXNzX2luX2xp
c3Q6IHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHVi
SW5mby5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1
Y3R1cmVTdHViSW5mby5oCShyZXZpc2lvbiAxNjYxOTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uaAkod29ya2luZyBjb3B5KQpAQCAtMTY3LDcg
KzE2NywxMyBAQCBzdHJ1Y3QgU3RydWN0dXJlU3R1YkluZm8gewogCiAgICAgdm9pZCBkZXJlZigp
OwogCi0gICAgYm9vbCB2aXNpdFdlYWtSZWZlcmVuY2VzKCk7CisgICAgLy8gQ2hlY2sgaWYgdGhl
IHN0dWIgaGFzIHdlYWsgcmVmZXJlbmNlcyB0aGF0IGFyZSBkZWFkLiBJZiB0aGVyZSBhcmUgZGVh
ZCBvbmVzIHRoYXQgaW1wbHkKKyAgICAvLyB0aGF0IHRoZSBzdHViIHNob3VsZCBiZSBlbnRpcmVs
eSByZXNldCwgdGhpcyBzaG91bGQgcmV0dXJuIGZhbHNlLiBJZiB0aGVyZSBhcmUgZGVhZCBvbmVz
CisgICAgLy8gdGhhdCBjYW4gYmUgaGFuZGxlZCBpbnRlcm5hbGx5IGJ5IHRoZSBzdHViIGFuZCBk
b24ndCByZXF1aXJlIGEgZnVsbCByZXNldCwgdGhlbiB0aGlzCisgICAgLy8gc2hvdWxkIHJlc2V0
IHRoZW0gYW5kIHJldHVybiB0cnVlLiBJZiB0aGVyZSBhcmUgbm8gZGVhZCB3ZWFrIHJlZmVyZW5j
ZXMsIHJldHVybiB0cnVlLgorICAgIC8vIFJldHVybmluZyB0cnVlIG1lYW5zIHRoYXQgdGhlIHN0
dWIgc2hvdWxkIGJlIGxlZnQgaW4gYSBzdGF0ZSB3aGVyZSBldmVyeSByZWZlcmVuY2VkCisgICAg
Ly8gb2JqZWN0IGlzIGtub3duIHRvIGJlIG1hcmtlZC4KKyAgICBib29sIHZpc2l0V2Vha1JlZmVy
ZW5jZXMoUmVwYXRjaEJ1ZmZlciYpOwogICAgICAgICAKICAgICBib29sIHNlZW5PbmNlKCkKICAg
ICB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Nsb3N1cmVDYWxsU3R1YlJvdXRp
bmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2xvc3VyZUNh
bGxTdHViUm91dGluZS5jcHAJKHJldmlzaW9uIDE2NjE5OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvQ2xvc3VyZUNhbGxTdHViUm91dGluZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQw
LDcgKzQwLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiBDbG9zdXJlQ2FsbFN0dWJSb3V0aW5lOjpDbG9z
dXJlQ2FsbFN0dWJSb3V0aW5lKAogICAgIGNvbnN0IE1hY3JvQXNzZW1ibGVyQ29kZVJlZiYgY29k
ZSwgVk0mIHZtLCBjb25zdCBKU0NlbGwqIG93bmVyLAogICAgIFN0cnVjdHVyZSogc3RydWN0dXJl
LCBFeGVjdXRhYmxlQmFzZSogZXhlY3V0YWJsZSwgY29uc3QgQ29kZU9yaWdpbiYgY29kZU9yaWdp
bikKLSAgICA6IEdDQXdhcmVKSVRTdHViUm91dGluZShjb2RlLCB2bSwgdHJ1ZSkKKyAgICA6IEdD
QXdhcmVKSVRTdHViUm91dGluZShjb2RlLCB2bSkKICAgICAsIG1fc3RydWN0dXJlKHZtLCBvd25l
ciwgc3RydWN0dXJlKQogICAgICwgbV9leGVjdXRhYmxlKHZtLCBvd25lciwgZXhlY3V0YWJsZSkK
ICAgICAsIG1fY29kZU9yaWdpbihjb2RlT3JpZ2luKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9HQ0F3YXJlSklUU3R1YlJvdXRpbmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvR0NBd2FyZUpJVFN0dWJSb3V0aW5lLmNwcAkocmV2aXNpb24gMTY2
MTk4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9HQ0F3YXJlSklUU3R1YlJvdXRpbmUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNywxMSArMzcsMTAgQEAKIG5hbWVzcGFjZSBKU0Mgewog
CiBHQ0F3YXJlSklUU3R1YlJvdXRpbmU6OkdDQXdhcmVKSVRTdHViUm91dGluZSgKLSAgICBjb25z
dCBNYWNyb0Fzc2VtYmxlckNvZGVSZWYmIGNvZGUsIFZNJiB2bSwgYm9vbCBpc0Nsb3N1cmVDYWxs
KQorICAgIGNvbnN0IE1hY3JvQXNzZW1ibGVyQ29kZVJlZiYgY29kZSwgVk0mIHZtKQogICAgIDog
SklUU3R1YlJvdXRpbmUoY29kZSkKICAgICAsIG1fbWF5QmVFeGVjdXRpbmcoZmFsc2UpCiAgICAg
LCBtX2lzSmV0dGlzb25lZChmYWxzZSkKLSAgICAsIG1faXNDbG9zdXJlQ2FsbChpc0Nsb3N1cmVD
YWxsKQogewogICAgIHZtLmhlYXAubV9qaXRTdHViUm91dGluZXMuYWRkKHRoaXMpOwogfQpAQCAt
OTgsMTkgKzk3LDYgQEAgdm9pZCBNYXJraW5nR0NBd2FyZUpJVFN0dWJSb3V0aW5lV2l0aE9uZQog
UGFzc1JlZlB0cjxKSVRTdHViUm91dGluZT4gY3JlYXRlSklUU3R1YlJvdXRpbmUoCiAgICAgY29u
c3QgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmJiBjb2RlLAogICAgIFZNJiB2bSwKLSAgICBjb25zdCBK
U0NlbGwqLAotICAgIGJvb2wgbWFrZXNDYWxscykKLXsKLSAgICBpZiAoIW1ha2VzQ2FsbHMpCi0g
ICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgSklUU3R1YlJvdXRpbmUoY29kZSkpOwotCi0gICAg
cmV0dXJuIHN0YXRpY19wb2ludGVyX2Nhc3Q8SklUU3R1YlJvdXRpbmU+KAotICAgICAgICBhZG9w
dFJlZihuZXcgR0NBd2FyZUpJVFN0dWJSb3V0aW5lKGNvZGUsIHZtKSkpOwotfQotCi1QYXNzUmVm
UHRyPEpJVFN0dWJSb3V0aW5lPiBjcmVhdGVKSVRTdHViUm91dGluZSgKLSAgICBjb25zdCBNYWNy
b0Fzc2VtYmxlckNvZGVSZWYmIGNvZGUsCi0gICAgVk0mIHZtLAogICAgIGNvbnN0IEpTQ2VsbCog
b3duZXIsCiAgICAgYm9vbCBtYWtlc0NhbGxzLAogICAgIEpTQ2VsbCogb2JqZWN0KQpAQCAtMTE4
LDYgKzEwNCwxMSBAQCBQYXNzUmVmUHRyPEpJVFN0dWJSb3V0aW5lPiBjcmVhdGVKSVRTdHViCiAg
ICAgaWYgKCFtYWtlc0NhbGxzKQogICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEpJVFN0dWJS
b3V0aW5lKGNvZGUpKTsKICAgICAKKyAgICBpZiAoIW9iamVjdCkgeworICAgICAgICByZXR1cm4g
c3RhdGljX3BvaW50ZXJfY2FzdDxKSVRTdHViUm91dGluZT4oCisgICAgICAgICAgICBhZG9wdFJl
ZihuZXcgR0NBd2FyZUpJVFN0dWJSb3V0aW5lKGNvZGUsIHZtKSkpOworICAgIH0KKyAgICAKICAg
ICByZXR1cm4gc3RhdGljX3BvaW50ZXJfY2FzdDxKSVRTdHViUm91dGluZT4oCiAgICAgICAgIGFk
b3B0UmVmKG5ldyBNYXJraW5nR0NBd2FyZUpJVFN0dWJSb3V0aW5lV2l0aE9uZU9iamVjdChjb2Rl
LCB2bSwgb3duZXIsIG9iamVjdCkpKTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvR0NBd2FyZUpJVFN0dWJSb3V0aW5lLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9HQ0F3YXJlSklUU3R1YlJvdXRpbmUuaAkocmV2aXNpb24gMTY2MTk4KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9HQ0F3YXJlSklUU3R1YlJvdXRpbmUuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEyLCAyMDE0IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwpAQCAtNTIsNyArNTIsNyBAQCBjbGFzcyBKSVRTdHViUm91dGluZVNldDsKIC8vIGxpc3Qg
d2hpY2ggZG9lcyBub3QgZ2V0IHJlY2xhaW1lZCBhbGwgYXQgb25jZSkuCiBjbGFzcyBHQ0F3YXJl
SklUU3R1YlJvdXRpbmUgOiBwdWJsaWMgSklUU3R1YlJvdXRpbmUgewogcHVibGljOgotICAgIEdD
QXdhcmVKSVRTdHViUm91dGluZShjb25zdCBNYWNyb0Fzc2VtYmxlckNvZGVSZWYmLCBWTSYsIGJv
b2wgaXNDbG9zdXJlQ2FsbCA9IGZhbHNlKTsKKyAgICBHQ0F3YXJlSklUU3R1YlJvdXRpbmUoY29u
c3QgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmJiwgVk0mKTsKICAgICB2aXJ0dWFsIH5HQ0F3YXJlSklU
U3R1YlJvdXRpbmUoKTsKICAgICAKICAgICB2b2lkIG1hcmtSZXF1aXJlZE9iamVjdHMoU2xvdFZp
c2l0b3ImIHZpc2l0b3IpCkBAIC02Miw4ICs2Miw2IEBAIHB1YmxpYzoKICAgICAKICAgICB2b2lk
IGRlbGV0ZUZyb21HQygpOwogICAgIAotICAgIGJvb2wgaXNDbG9zdXJlQ2FsbCgpIGNvbnN0IHsg
cmV0dXJuIG1faXNDbG9zdXJlQ2FsbDsgfQotICAgIAogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwg
dm9pZCBvYnNlcnZlWmVyb1JlZkNvdW50KCkgb3ZlcnJpZGU7CiAgICAgCkBAIC03NCw3ICs3Miw2
IEBAIHByaXZhdGU6CiAKICAgICBib29sIG1fbWF5QmVFeGVjdXRpbmc7CiAgICAgYm9vbCBtX2lz
SmV0dGlzb25lZDsKLSAgICBib29sIG1faXNDbG9zdXJlQ2FsbDsKIH07CiAKIC8vIFVzZSB0aGlz
IGlmIHlvdSB3YW50IHRvIG1hcmsgb25lIGFkZGl0aW9uYWwgb2JqZWN0IGR1cmluZyBHQyBpZiB5
b3VyIHN0dWIKQEAgLTExMiwxMCArMTA5LDEzIEBAIHByaXZhdGU6CiAvLyB3YXkuCiAKIFBhc3NS
ZWZQdHI8SklUU3R1YlJvdXRpbmU+IGNyZWF0ZUpJVFN0dWJSb3V0aW5lKAotICAgIGNvbnN0IE1h
Y3JvQXNzZW1ibGVyQ29kZVJlZiYsIFZNJiwgY29uc3QgSlNDZWxsKiBvd25lciwgYm9vbCBtYWtl
c0NhbGxzKTsKLVBhc3NSZWZQdHI8SklUU3R1YlJvdXRpbmU+IGNyZWF0ZUpJVFN0dWJSb3V0aW5l
KAogICAgIGNvbnN0IE1hY3JvQXNzZW1ibGVyQ29kZVJlZiYsIFZNJiwgY29uc3QgSlNDZWxsKiBv
d25lciwgYm9vbCBtYWtlc0NhbGxzLAotICAgIEpTQ2VsbCopOworICAgIEpTQ2VsbCogPSAwKTsK
KworLy8gSGVscGVyIGZvciB0aGUgY3JlYXRpb24gb2Ygc2ltcGxlIHN0dWIgcm91dGluZXMgdGhh
dCBuZWVkIG5vIGhlbHAgZnJvbSB0aGUgR0MuIE5vdGUKKy8vIHRoYXQgY29kZUJsb2NrIGdldHMg
ImV4ZWN1dGVkIiBtb3JlIHRoYW4gb25jZS4KKyNkZWZpbmUgRklOQUxJWkVfQ09ERV9GT1JfR0Nf
QVdBUkVfU1RVQihjb2RlQmxvY2ssIHBhdGNoQnVmZmVyLCBtYWtlc0NhbGxzLCBjZWxsLCBkYXRh
TG9nRkFyZ3VtZW50cykgXAorICAgIChjcmVhdGVKSVRTdHViUm91dGluZShGSU5BTElaRV9DT0RF
X0ZPUigoY29kZUJsb2NrKSwgKHBhdGNoQnVmZmVyKSwgZGF0YUxvZ0ZBcmd1bWVudHMpLCAqKGNv
ZGVCbG9jayktPnZtKCksIChjb2RlQmxvY2spLT5vd25lckV4ZWN1dGFibGUoKSwgKG1ha2VzQ2Fs
bHMpLCAoY2VsbCkpKQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRTdHViUm91dGluZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRTdHViUm91dGluZS5jcHAJKHJldmlzaW9uIDE2NjE5OCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YlJvdXRpbmUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIsIDIwMTQgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0zNiw2ICszNiwxMSBAQCBuYW1lc3BhY2UgSlNDIHsKIAogSklUU3R1YlJvdXRpbmU6On5K
SVRTdHViUm91dGluZSgpIHsgfQogCitib29sIEpJVFN0dWJSb3V0aW5lOjp2aXNpdFdlYWsoUmVw
YXRjaEJ1ZmZlciYpCit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIHZvaWQgSklUU3R1YlJvdXRp
bmU6Om9ic2VydmVaZXJvUmVmQ291bnQoKQogewogICAgIFJFTEVBU0VfQVNTRVJUKCFtX3JlZkNv
dW50KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YlJvdXRpbmUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJSb3V0aW5lLmgJ
KHJldmlzaW9uIDE2NjE5OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YlJv
dXRpbmUuaAkod29ya2luZyBjb3B5KQpAQCAtMzYsNiArMzYsNyBAQAogbmFtZXNwYWNlIEpTQyB7
CiAKIGNsYXNzIEpJVFN0dWJSb3V0aW5lU2V0OworY2xhc3MgUmVwYXRjaEJ1ZmZlcjsKIAogLy8g
VGhpcyBpcyBhIGJhc2UtY2xhc3MgZm9yIEpJVCBzdHViIHJvdXRpbmVzLCBhbmQgYWxzbyB0aGUg
Y2xhc3MgeW91IHdhbnQKIC8vIHRvIGluc3RhbnRpYXRlIGRpcmVjdGx5IGlmIHlvdSBoYXZlIGEg
cm91dGluZSB0aGF0IGRvZXMgbm90IG5lZWQgYW55CkBAIC0xMzksNiArMTQwLDggQEAgcHVibGlj
OgogICAgICAgICAKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQorICAgIAorICAgIHZpcnR1
YWwgYm9vbCB2aXNpdFdlYWsoUmVwYXRjaEJ1ZmZlciYpOwogCiBwcm90ZWN0ZWQ6CiAgICAgdmly
dHVhbCB2b2lkIG9ic2VydmVaZXJvUmVmQ291bnQoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvUmVwYXRjaC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9SZXBhdGNoLmNwcAkocmV2aXNpb24gMTY2MTk4KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9SZXBhdGNoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzU1LDggKzM1NSw4IEBAIHN0
YXRpYyB2b2lkIGdlbmVyYXRlR2V0QnlJZFN0dWIoCiAgICAgICAgIHBhdGNoQnVmZmVyLmxpbmso
aGFuZGxlckNhbGwsIGxvb2t1cEV4Y2VwdGlvbkhhbmRsZXIpOwogICAgIH0KICAgICAKLSAgICBz
dHViUm91dGluZSA9IEZJTkFMSVpFX0NPREVfRk9SX1NUVUIoCi0gICAgICAgIGV4ZWMtPmNvZGVC
bG9jaygpLCBwYXRjaEJ1ZmZlciwKKyAgICBzdHViUm91dGluZSA9IEZJTkFMSVpFX0NPREVfRk9S
X0dDX0FXQVJFX1NUVUIoCisgICAgICAgIGV4ZWMtPmNvZGVCbG9jaygpLCBwYXRjaEJ1ZmZlciwg
dHJ1ZSwgbnVsbHB0ciwKICAgICAgICAgKCJHZXQgYWNjZXNzIHN0dWIgZm9yICVzLCByZXR1cm4g
cG9pbnQgJXAiLAogICAgICAgICAgICAgdG9DU3RyaW5nKCpleGVjLT5jb2RlQmxvY2soKSkuZGF0
YSgpLCBzdWNjZXNzTGFiZWwuZXhlY3V0YWJsZUFkZHJlc3MoKSkpOwogfQpAQCAtOTY2LDkgKzk2
NiwxMSBAQCBzdGF0aWMgdm9pZCBlbWl0Q3VzdG9tU2V0dGVyU3R1YihFeGVjU3RhCiAgICAgcGF0
Y2hCdWZmZXIubGluayhzZXR0ZXJDYWxsLCBGdW5jdGlvblB0cihzbG90LmN1c3RvbVNldHRlcigp
KSk7CiAgICAgcGF0Y2hCdWZmZXIubGluayhoYW5kbGVyQ2FsbCwgbG9va3VwRXhjZXB0aW9uSGFu
ZGxlcik7CiAKLSAgICBzdHViUm91dGluZSA9IGNyZWF0ZUpJVFN0dWJSb3V0aW5lKAotICAgICAg
ICBGSU5BTElaRV9DT0RFX0ZPUihleGVjLT5jb2RlQmxvY2soKSwgcGF0Y2hCdWZmZXIsICgiUHV0
QnlJZCBjdXN0b20gc2V0dGVyIHN0dWIgZm9yICVzLCByZXR1cm4gcG9pbnQgJXAiLAotICAgICAg
ICB0b0NTdHJpbmcoKmV4ZWMtPmNvZGVCbG9jaygpKS5kYXRhKCksIHN0dWJJbmZvLmNhbGxSZXR1
cm5Mb2NhdGlvbi5sYWJlbEF0T2Zmc2V0KHN0dWJJbmZvLnBhdGNoLmRlbHRhQ2FsbFRvRG9uZSku
ZXhlY3V0YWJsZUFkZHJlc3MoKSkpLCAqdm0sIGV4ZWMtPmNvZGVCbG9jaygpLT5vd25lckV4ZWN1
dGFibGUoKSwgc3RydWN0dXJlKTsKKyAgICBzdHViUm91dGluZSA9IEZJTkFMSVpFX0NPREVfRk9S
X0dDX0FXQVJFX1NUVUIoCisgICAgICAgIGV4ZWMtPmNvZGVCbG9jaygpLCBwYXRjaEJ1ZmZlciwg
dHJ1ZSwgbnVsbHB0ciwKKyAgICAgICAgKCJQdXRCeUlkIGN1c3RvbSBzZXR0ZXIgc3R1YiBmb3Ig
JXMsIHJldHVybiBwb2ludCAlcCIsCisgICAgICAgICAgICB0b0NTdHJpbmcoKmV4ZWMtPmNvZGVC
bG9jaygpKS5kYXRhKCksCisgICAgICAgICAgICBzdHViSW5mby5jYWxsUmV0dXJuTG9jYXRpb24u
bGFiZWxBdE9mZnNldChzdHViSW5mby5wYXRjaC5kZWx0YUNhbGxUb0RvbmUpLmV4ZWN1dGFibGVB
ZGRyZXNzKCkpKTsKIH0KIAogCg==
</data>
<flag name="review"
          id="251960"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>