<?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>18192</bug_id>
          
          <creation_ts>2008-03-28 14:40:05 -0700</creation_ts>
          <short_desc>Squirrelfish needs support for break and continue</short_desc>
          <delta_ts>2008-03-28 15:40:42 -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>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Oliver Hunt">oliver</reporter>
          <assigned_to name="Oliver Hunt">oliver</assigned_to>
          <cc>ggaren</cc>
    
    <cc>mjs</cc>
    
    <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>75675</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2008-03-28 14:40:05 -0700</bug_when>
    <thetext>Task tracking bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75676</commentid>
    <comment_count>1</comment_count>
      <attachid>20165</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2008-03-28 14:47:12 -0700</bug_when>
    <thetext>Created attachment 20165
Implementate support for continue and goto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75679</commentid>
    <comment_count>2</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2008-03-28 15:00:53 -0700</bug_when>
    <thetext>+        Vector&lt;LoopContext&gt; m_loopsContextStack;

How about calling this &quot;m_loopContextStack&quot;?

+CodeGenerator::LoopContext* CodeGenerator::scopeForIdentifier(const Identifier&amp; label)

&quot;Scope&quot; is very specifically tied to variable resolution in JavaScript. How about naming this function &quot;loopContextForIdentifier&quot;?

+    LoopContext* scope = scopeForIdentifier(label);

And calling this variable &quot;loopContext&quot;?

+LabelID* CodeGenerator::getLabelForContinue(const Identifier&amp; label)
+{
+    LoopContext* scope = scopeForIdentifier(label);
+    return scope ? scope-&gt;continueTarget : 0;
+}
+
+LabelID* CodeGenerator::getLabelForBreak(const Identifier&amp; label)

Our style is to omit the &quot;get&quot; from these function names.

Looks good. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75680</commentid>
    <comment_count>3</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2008-03-28 15:01:34 -0700</bug_when>
    <thetext>I think you can change this:

+    LoopContext scope = { labels, continueTarget, breakTarget };
+    m_loopsContextStack.append(scope);

to this:

m_loopsContextStack.append({ labels, continueTarget, breakTarget });
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75685</commentid>
    <comment_count>4</comment_count>
      <attachid>20165</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2008-03-28 15:38:37 -0700</bug_when>
    <thetext>Comment on attachment 20165
Implementate support for continue and goto

reviewed by Geoff</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75686</commentid>
    <comment_count>5</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2008-03-28 15:40:42 -0700</bug_when>
    <thetext>Landed r31411</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>20165</attachid>
            <date>2008-03-28 14:47:12 -0700</date>
            <delta_ts>2008-03-28 15:38:37 -0700</delta_ts>
            <desc>Implementate support for continue and goto</desc>
            <filename>continueandbreak.patch</filename>
            <type>text/plain</type>
            <size>9897</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCA5NjhlMmNhLi4zYWMxYmUzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIg
QEAKKzIwMDgtMDMtMjggIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCdWcgMTgxOTI6IFNxdWly
cmVsZmlzaCBuZWVkcyBzdXBwb3J0IGZvciBicmVhayBhbmQgY29udGludWUKKyAgICAgICAgPGh0
dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MTkyPgorCisgICAgICAgIEFk
ZGVkIGEgbG9vcCBjb250ZXh0IHN0YWNrIHRvIHRoZSBjb2RlIGdlbmVyYXRvciB0byBwcm92aWRl
IHRoZQorICAgICAgICBjb3JyZWN0IGp1bXAgbGFiZWxzIGZvciBjb250aW51ZSBhbmQgZ290by4g
IEFkZGVkIGxvZ2ljIHRvIHRoZQorICAgICAgICBjdXJyZW50bHkgaW1wbGVtZW50ZWQgbG9vcCBj
b25zdHJ1Y3RzIHRvIG1hbmFnZSBlbnRyeSBhbmQgZXhpdAorICAgICAgICBmcm9tIHRoZSBsb29w
IGNvbnRleHRzLiAgRmluYWxseSwgaW1wbGVtZW50ZWQgY29kZWdlbiBmb3IgYnJlYWsKKyAgICAg
ICAgYW5kIGNvbnRpbnVlIChhbmQgYSBwYXNzIHRocm91Z2ggZm9yIExhYmVsTm9kZSkKKworICAg
ICAgICAqIFZNL0NvZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAoS0pTOjpDb2RlR2VuZXJhdG9y
OjpwdXNoTG9vcENvbnRleHQpOgorICAgICAgICAoS0pTOjpDb2RlR2VuZXJhdG9yOjpwb3BMb29w
Q29udGV4dCk6CisgICAgICAgIChLSlM6OkNvZGVHZW5lcmF0b3I6OnNjb3BlRm9ySWRlbnRpZmll
cik6CisgICAgICAgIChLSlM6OkNvZGVHZW5lcmF0b3I6OmdldExhYmVsRm9yQ29udGludWUpOgor
ICAgICAgICAoS0pTOjpDb2RlR2VuZXJhdG9yOjpnZXRMYWJlbEZvckJyZWFrKToKKyAgICAgICAg
KiBWTS9Db2RlR2VuZXJhdG9yLmg6CisgICAgICAgICoga2pzL25vZGVzLmNwcDoKKyAgICAgICAg
KEtKUzo6RG9XaGlsZU5vZGU6OmVtaXRDb2RlKToKKyAgICAgICAgKEtKUzo6V2hpbGVOb2RlOjpl
bWl0Q29kZSk6CisgICAgICAgIChLSlM6OkZvck5vZGU6OmVtaXRDb2RlKToKKyAgICAgICAgKEtK
Uzo6Q29udGludWVOb2RlOjplbWl0Q29kZSk6CisgICAgICAgIChLSlM6OkJyZWFrTm9kZTo6ZW1p
dENvZGUpOgorICAgICAgICAoS0pTOjpMYWJlbE5vZGU6OmVtaXRDb2RlKToKKyAgICAgICAgKiBr
anMvbm9kZXMuaDoKKwogMjAwOC0wMy0yNyAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVuLgpkaWZmIC0tZ2l0IGEvSmF2YVNj
cmlwdENvcmUvVk0vQ29kZUdlbmVyYXRvci5jcHAgYi9KYXZhU2NyaXB0Q29yZS9WTS9Db2RlR2Vu
ZXJhdG9yLmNwcAppbmRleCBkZjg2YjYyLi40NTkxNTk2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS9WTS9Db2RlR2VuZXJhdG9yLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9WTS9Db2RlR2Vu
ZXJhdG9yLmNwcApAQCAtNTg0LDQgKzU4NCw0MSBAQCB2b2lkIENvZGVHZW5lcmF0b3I6OmVtaXRQ
b3BTY29wZSgpCiAgICAgbV9zY29wZURlcHRoLS07CiB9CiAKK3ZvaWQgQ29kZUdlbmVyYXRvcjo6
cHVzaExvb3BDb250ZXh0KExhYmVsU3RhY2sqIGxhYmVscywgTGFiZWxJRCogY29udGludWVUYXJn
ZXQsIExhYmVsSUQqIGJyZWFrVGFyZ2V0KQoreworICAgIExvb3BDb250ZXh0IHNjb3BlID0geyBs
YWJlbHMsIGNvbnRpbnVlVGFyZ2V0LCBicmVha1RhcmdldCB9OworICAgIG1fbG9vcHNDb250ZXh0
U3RhY2suYXBwZW5kKHNjb3BlKTsKK30KKwordm9pZCBDb2RlR2VuZXJhdG9yOjpwb3BMb29wQ29u
dGV4dCgpCit7CisgICAgQVNTRVJUKG1fbG9vcHNDb250ZXh0U3RhY2suc2l6ZSgpKTsKKyAgICBt
X2xvb3BzQ29udGV4dFN0YWNrLnJlbW92ZUxhc3QoKTsKK30KKworQ29kZUdlbmVyYXRvcjo6TG9v
cENvbnRleHQqIENvZGVHZW5lcmF0b3I6OnNjb3BlRm9ySWRlbnRpZmllcihjb25zdCBJZGVudGlm
aWVyJiBsYWJlbCkKK3sKKyAgICBBU1NFUlQobV9sb29wc0NvbnRleHRTdGFjay5zaXplKCkpOwor
ICAgIGlmIChsYWJlbC5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiAmbV9sb29wc0NvbnRleHRT
dGFjay5sYXN0KCk7CisgICAgZm9yIChpbnQgaSA9IG1fbG9vcHNDb250ZXh0U3RhY2suc2l6ZSgp
IC0gMTsgaSA+PSAwOyBpLS0pIHsKKyAgICAgICAgTG9vcENvbnRleHQqIHNjb3BlID0gJm1fbG9v
cHNDb250ZXh0U3RhY2tbaV07CisgICAgICAgIGlmIChzY29wZS0+bGFiZWxzLT5jb250YWlucyhs
YWJlbCkpCisgICAgICAgICAgICByZXR1cm4gc2NvcGU7CisgICAgfQorICAgIHJldHVybiAwOwor
fQorCitMYWJlbElEKiBDb2RlR2VuZXJhdG9yOjpnZXRMYWJlbEZvckNvbnRpbnVlKGNvbnN0IElk
ZW50aWZpZXImIGxhYmVsKQoreworICAgIExvb3BDb250ZXh0KiBzY29wZSA9IHNjb3BlRm9ySWRl
bnRpZmllcihsYWJlbCk7CisgICAgcmV0dXJuIHNjb3BlID8gc2NvcGUtPmNvbnRpbnVlVGFyZ2V0
IDogMDsKK30KKworTGFiZWxJRCogQ29kZUdlbmVyYXRvcjo6Z2V0TGFiZWxGb3JCcmVhayhjb25z
dCBJZGVudGlmaWVyJiBsYWJlbCkKK3sKKyAgICBMb29wQ29udGV4dCogc2NvcGUgPSBzY29wZUZv
cklkZW50aWZpZXIobGFiZWwpOworICAgIHJldHVybiBzY29wZSA/IHNjb3BlLT5icmVha1Rhcmdl
dCA6IDA7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEtKUwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvVk0vQ29kZUdlbmVyYXRvci5oIGIvSmF2YVNjcmlwdENvcmUvVk0vQ29kZUdlbmVyYXRvci5o
CmluZGV4IGIyYzhlZjkuLjgzZDBjOGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL1ZNL0Nv
ZGVHZW5lcmF0b3IuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9WTS9Db2RlR2VuZXJhdG9yLmgKQEAg
LTE0MCw2ICsxNDAsMTEgQEAgbmFtZXNwYWNlIEtKUyB7CiAgICAgICAgIFBhc3NSZWZQdHI8TGFi
ZWxJRD4gZW1pdEp1bXAoTGFiZWxJRCopOwogICAgICAgICBQYXNzUmVmUHRyPExhYmVsSUQ+IGVt
aXRKdW1wSWZUcnVlKFJlZ2lzdGVySUQqLCBMYWJlbElEKik7CiAgICAgICAgIFBhc3NSZWZQdHI8
TGFiZWxJRD4gZW1pdEp1bXBJZkZhbHNlKFJlZ2lzdGVySUQqLCBMYWJlbElEKik7CisgICAgICAg
IAorICAgICAgICB2b2lkIHB1c2hMb29wQ29udGV4dChMYWJlbFN0YWNrKiwgTGFiZWxJRCogY29u
dGludWVUYXJnZXQsIExhYmVsSUQqIGJyZWFrVGFyZ2V0KTsKKyAgICAgICAgdm9pZCBwb3BMb29w
Q29udGV4dCgpOworICAgICAgICBMYWJlbElEKiBnZXRMYWJlbEZvckNvbnRpbnVlKGNvbnN0IElk
ZW50aWZpZXImKTsKKyAgICAgICAgTGFiZWxJRCogZ2V0TGFiZWxGb3JCcmVhayhjb25zdCBJZGVu
dGlmaWVyJik7CiAKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdFB1c2hTY29wZShSZWdpc3RlcklE
Kik7CiAgICAgICAgIHZvaWQgZW1pdFBvcFNjb3BlKCk7CkBAIC0xNjYsNyArMTcxLDE2IEBAIG5h
bWVzcGFjZSBLSlMgewogICAgICAgICBpbnQgbV9zY29wZURlcHRoOwogICAgICAgICAKICAgICAg
ICAgSGFzaE1hcDxpbnQsIGludCwgRGVmYXVsdEhhc2g8aW50Pjo6SGFzaCwgTG9jYWxzSGFzaFRy
YWl0cz4gbV9sb2NhbHNNYXA7IC8vIE1hcHMgcmVnaXN0ZXIgaW5kZXggdG8gaW5kZXggaW4gbV9s
b2NhbHMuCi0gICAgICAgIAorCisgICAgICAgIC8vIExvb3BDb250ZXh0cyBhcmUgdXNlZCB0byB0
cmFjayBlbnRyeSBhbmQgZXhpdCBwb2ludHMgZm9yIGphdmFzY3JpcHQgbG9vcHMKKyAgICAgICAg
c3RydWN0IExvb3BDb250ZXh0IHsKKyAgICAgICAgICAgIExhYmVsU3RhY2sqIGxhYmVsczsKKyAg
ICAgICAgICAgIExhYmVsSUQqIGNvbnRpbnVlVGFyZ2V0OworICAgICAgICAgICAgTGFiZWxJRCog
YnJlYWtUYXJnZXQ7CisgICAgICAgIH07CisgICAgICAgIFZlY3RvcjxMb29wQ29udGV4dD4gbV9s
b29wc0NvbnRleHRTdGFjazsKKyAgICAgICAgTG9vcENvbnRleHQqIHNjb3BlRm9ySWRlbnRpZmll
cihjb25zdCBJZGVudGlmaWVyJik7CisKICAgICAgICAgaW50IG1fbmV4dExvY2FsOwogICAgICAg
ICBpbnQgbV9uZXh0UGFyYW1ldGVyOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ranMv
bm9kZXMuY3BwIGIvSmF2YVNjcmlwdENvcmUva2pzL25vZGVzLmNwcAppbmRleCBmZjllNjEyLi5m
ZTJjZTVjIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ranMvbm9kZXMuY3BwCisrKyBiL0ph
dmFTY3JpcHRDb3JlL2tqcy9ub2Rlcy5jcHAKQEAgLTQ0MDcsMTAgKzQ0MDcsMTcgQEAgUmVnaXN0
ZXJJRCogRG9XaGlsZU5vZGU6OmVtaXRDb2RlKENvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVn
aXN0ZXJJRCogZHN0KQogICAgIFJlZlB0cjxMYWJlbElEPiBsMCA9IGdlbmVyYXRvci5uZXdMYWJl
bCgpOwogICAgIGdlbmVyYXRvci5lbWl0TGFiZWwobDAuZ2V0KCkpOwogCisgICAgUmVmUHRyPExh
YmVsSUQ+IGNvbmRpdGlvblRhcmdldCA9IGdlbmVyYXRvci5uZXdMYWJlbCgpOworICAgIFJlZlB0
cjxMYWJlbElEPiBicmVha1RhcmdldCA9IGdlbmVyYXRvci5uZXdMYWJlbCgpOworICAgIAorICAg
IGdlbmVyYXRvci5wdXNoTG9vcENvbnRleHQoJm1fbGFiZWxTdGFjaywgY29uZGl0aW9uVGFyZ2V0
LmdldCgpLCBicmVha1RhcmdldC5nZXQoKSk7CiAgICAgUmVmUHRyPFJlZ2lzdGVySUQ+IHIwID0g
Z2VuZXJhdG9yLmVtaXROb2RlKGRzdCwgbV9zdGF0ZW1lbnQuZ2V0KCkpOwotCisgICAgZ2VuZXJh
dG9yLnBvcExvb3BDb250ZXh0KCk7CisgICAgCisgICAgZ2VuZXJhdG9yLmVtaXRMYWJlbChjb25k
aXRpb25UYXJnZXQuZ2V0KCkpOwogICAgIFJlZ2lzdGVySUQqIHIxID0gZ2VuZXJhdG9yLmVtaXRO
b2RlKG1fZXhwci5nZXQoKSk7CiAgICAgZ2VuZXJhdG9yLmVtaXRKdW1wSWZUcnVlKHIxLCBsMC5n
ZXQoKSk7CisgICAgZ2VuZXJhdG9yLmVtaXRMYWJlbChicmVha1RhcmdldC5nZXQoKSk7CiAgICAg
cmV0dXJuIHIwLmdldCgpOwogfQogCkBAIC00NDU5LDE3ICs0NDY2LDIzIEBAIEpTVmFsdWUqIERv
V2hpbGVOb2RlOjpleGVjdXRlKEV4ZWNTdGF0ZSogZXhlYykKIFJlZ2lzdGVySUQqIFdoaWxlTm9k
ZTo6ZW1pdENvZGUoQ29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpc3RlcklEKiBkc3QpCiB7
CiAgICAgUmVmUHRyPExhYmVsSUQ+IGwwID0gZ2VuZXJhdG9yLm5ld0xhYmVsKCk7Ci0gICAgUmVm
UHRyPExhYmVsSUQ+IGwxID0gZ2VuZXJhdG9yLm5ld0xhYmVsKCk7IAotICAgIGdlbmVyYXRvci5l
bWl0SnVtcChsMS5nZXQoKSk7CisgICAgUmVmUHRyPExhYmVsSUQ+IGNvbmRpdGlvblRhcmdldCA9
IGdlbmVyYXRvci5uZXdMYWJlbCgpOworICAgIFJlZlB0cjxMYWJlbElEPiBicmVha1RhcmdldCA9
IGdlbmVyYXRvci5uZXdMYWJlbCgpOwogCisgICAgZ2VuZXJhdG9yLmVtaXRKdW1wKGNvbmRpdGlv
blRhcmdldC5nZXQoKSk7CiAgICAgZ2VuZXJhdG9yLmVtaXRMYWJlbChsMC5nZXQoKSk7CisgICAg
CisgICAgZ2VuZXJhdG9yLnB1c2hMb29wQ29udGV4dCgmbV9sYWJlbFN0YWNrLCBjb25kaXRpb25U
YXJnZXQuZ2V0KCksIGJyZWFrVGFyZ2V0LmdldCgpKTsKICAgICBnZW5lcmF0b3IuZW1pdE5vZGUo
ZHN0LCBtX3N0YXRlbWVudC5nZXQoKSk7CisgICAgZ2VuZXJhdG9yLnBvcExvb3BDb250ZXh0KCk7
CiAKLSAgICBnZW5lcmF0b3IuZW1pdExhYmVsKGwxLmdldCgpKTsKKyAgICBnZW5lcmF0b3IuZW1p
dExhYmVsKGNvbmRpdGlvblRhcmdldC5nZXQoKSk7CiAgICAgUmVnaXN0ZXJJRCogcjEgPSBnZW5l
cmF0b3IuZW1pdE5vZGUobV9leHByLmdldCgpKTsKICAgICBnZW5lcmF0b3IuZW1pdEp1bXBJZlRy
dWUocjEsIGwwLmdldCgpKTsKIAotICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCByZXR1cm4gdGhl
IGxhc3Qgc3RhdGVtZW50IGV4ZWN0dXRlZCBzbyB0aGF0IGl0IGNhbiBiZSByZXR1cm5lZCBhcyBh
IENvbXBsZXRpb24KKyAgICBnZW5lcmF0b3IuZW1pdExhYmVsKGJyZWFrVGFyZ2V0LmdldCgpKTsK
KyAgICAKKyAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgcmV0dXJuIHRoZSBsYXN0IHN0YXRlbWVu
dCBleGVjdXRlZCBzbyB0aGF0IGl0IGNhbiBiZSByZXR1cm5lZCBhcyBhIENvbXBsZXRpb24KICAg
ICByZXR1cm4gMDsKIH0KIApAQCAtNDUxNywxOCArNDUzMCwyNCBAQCBKU1ZhbHVlKiBXaGlsZU5v
ZGU6OmV4ZWN1dGUoRXhlY1N0YXRlKiBleGVjKQogUmVnaXN0ZXJJRCogRm9yTm9kZTo6ZW1pdENv
ZGUoQ29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpc3RlcklEKiBkc3QpCiB7CiAgICAgZ2Vu
ZXJhdG9yLmVtaXROb2RlKG1fZXhwcjEuZ2V0KCkpOwotCisgICAgCiAgICAgUmVmUHRyPExhYmVs
SUQ+IGwwID0gZ2VuZXJhdG9yLm5ld0xhYmVsKCk7Ci0gICAgUmVmUHRyPExhYmVsSUQ+IGwxID0g
Z2VuZXJhdG9yLm5ld0xhYmVsKCk7IAorICAgIFJlZlB0cjxMYWJlbElEPiBsMSA9IGdlbmVyYXRv
ci5uZXdMYWJlbCgpOworICAgIFJlZlB0cjxMYWJlbElEPiBjb25kaXRpb25UYXJnZXQgPSBnZW5l
cmF0b3IubmV3TGFiZWwoKTsgCisgICAgUmVmUHRyPExhYmVsSUQ+IGJyZWFrVGFyZ2V0ID0gZ2Vu
ZXJhdG9yLm5ld0xhYmVsKCk7IAogICAgIGdlbmVyYXRvci5lbWl0SnVtcChsMS5nZXQoKSk7CiAK
ICAgICBnZW5lcmF0b3IuZW1pdExhYmVsKGwwLmdldCgpKTsKKyAgICBnZW5lcmF0b3IucHVzaExv
b3BDb250ZXh0KCZtX2xhYmVsU3RhY2ssIGNvbmRpdGlvblRhcmdldC5nZXQoKSwgYnJlYWtUYXJn
ZXQuZ2V0KCkpOwogICAgIFJlZlB0cjxSZWdpc3RlcklEPiByMCA9IGdlbmVyYXRvci5lbWl0Tm9k
ZShkc3QsIG1fc3RhdGVtZW50LmdldCgpKTsKKyAgICBnZW5lcmF0b3IucG9wTG9vcENvbnRleHQo
KTsKKyAgICBnZW5lcmF0b3IuZW1pdExhYmVsKGNvbmRpdGlvblRhcmdldC5nZXQoKSk7ICAKICAg
ICBnZW5lcmF0b3IuZW1pdE5vZGUobV9leHByMy5nZXQoKSk7CiAKICAgICBnZW5lcmF0b3IuZW1p
dExhYmVsKGwxLmdldCgpKTsKICAgICBSZWdpc3RlcklEKiByMSA9IGdlbmVyYXRvci5lbWl0Tm9k
ZShtX2V4cHIyLmdldCgpKTsKICAgICBnZW5lcmF0b3IuZW1pdEp1bXBJZlRydWUocjEsIGwwLmdl
dCgpKTsKKyAgICBnZW5lcmF0b3IuZW1pdExhYmVsKGJyZWFrVGFyZ2V0LmdldCgpKTsKICAgICBy
ZXR1cm4gcjAuZ2V0KCk7CiB9CiAKQEAgLTQ3MTEsNiArNDczMCwxNiBAQCBKU1ZhbHVlKiBGb3JJ
bk5vZGU6OmV4ZWN1dGUoRXhlY1N0YXRlKiBleGVjKQogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tIENvbnRpbnVlTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
IAogLy8gRUNNQSAxMi43CitSZWdpc3RlcklEKiBDb250aW51ZU5vZGU6OmVtaXRDb2RlKENvZGVH
ZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0KQoreworICAgIExhYmVsSUQqIHRh
cmdldCA9IGdlbmVyYXRvci5nZXRMYWJlbEZvckNvbnRpbnVlKG1faWRlbnQpOworICAgIEFTU0VS
VCh0YXJnZXQpOworICAgIAorICAgIGdlbmVyYXRvci5lbWl0SnVtcCh0YXJnZXQpOworICAgIAor
ICAgIHJldHVybiBkc3Q7Cit9CisKIEpTVmFsdWUqIENvbnRpbnVlTm9kZTo6ZXhlY3V0ZShFeGVj
U3RhdGUqIGV4ZWMpCiB7CiAgICAgaWYgKG1faWRlbnQuaXNFbXB0eSgpICYmICFleGVjLT5pbkl0
ZXJhdGlvbigpKQpAQCAtNDcyMyw2ICs0NzUyLDE2IEBAIEpTVmFsdWUqIENvbnRpbnVlTm9kZTo6
ZXhlY3V0ZShFeGVjU3RhdGUqIGV4ZWMpCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0gQnJlYWtOb2RlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiAvLyBF
Q01BIDEyLjgKK1JlZ2lzdGVySUQqIEJyZWFrTm9kZTo6ZW1pdENvZGUoQ29kZUdlbmVyYXRvciYg
Z2VuZXJhdG9yLCBSZWdpc3RlcklEKiBkc3QpCit7CisgICAgTGFiZWxJRCogdGFyZ2V0ID0gZ2Vu
ZXJhdG9yLmdldExhYmVsRm9yQnJlYWsobV9pZGVudCk7CisgICAgQVNTRVJUKHRhcmdldCk7Cisg
ICAgCisgICAgZ2VuZXJhdG9yLmVtaXRKdW1wKHRhcmdldCk7CisgICAgCisgICAgcmV0dXJuIGRz
dDsKK30KKwogSlNWYWx1ZSogQnJlYWtOb2RlOjpleGVjdXRlKEV4ZWNTdGF0ZSogZXhlYykKIHsK
ICAgICBpZiAobV9pZGVudC5pc0VtcHR5KCkgJiYgIWV4ZWMtPmluSXRlcmF0aW9uKCkgJiYgIWV4
ZWMtPmluU3dpdGNoKCkpCkBAIC00OTI5LDYgKzQ5NjgsMTAgQEAgSlNWYWx1ZSogU3dpdGNoTm9k
ZTo6ZXhlY3V0ZShFeGVjU3RhdGUqIGV4ZWMpCiB9CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLSBMYWJlbE5vZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CitSZWdpc3RlcklEKiBMYWJlbE5vZGU6OmVtaXRDb2RlKENvZGVHZW5lcmF0b3ImIGdlbmVyYXRv
ciwgUmVnaXN0ZXJJRCogZHN0KQoreworICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdE5vZGUoZHN0
LCBtX3N0YXRlbWVudC5nZXQoKSk7Cit9CiAKIHZvaWQgTGFiZWxOb2RlOjpvcHRpbWl6ZVZhcmlh
YmxlQWNjZXNzKEV4ZWNTdGF0ZSosIGNvbnN0IFN5bWJvbFRhYmxlJiwgY29uc3QgTG9jYWxTdG9y
YWdlJiwgTm9kZVN0YWNrJiBub2RlU3RhY2spCiB7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29y
ZS9ranMvbm9kZXMuaCBiL0phdmFTY3JpcHRDb3JlL2tqcy9ub2Rlcy5oCmluZGV4IGZlYmQwZTUu
LjdmYTg2ODMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2tqcy9ub2Rlcy5oCisrKyBiL0ph
dmFTY3JpcHRDb3JlL2tqcy9ub2Rlcy5oCkBAIC0yNzAxLDcgKzI3MDEsOCBAQCBuYW1lc3BhY2Ug
S0pTIHsKICAgICAgICAgICAgIDogbV9pZGVudChpZGVudCkKICAgICAgICAgewogICAgICAgICB9
Ci0KKyAgICAgICAgCisgICAgICAgIHZpcnR1YWwgUmVnaXN0ZXJJRCogZW1pdENvZGUoQ29kZUdl
bmVyYXRvciYsIFJlZ2lzdGVySUQqID0gMCkgS0pTX0ZBU1RfQ0FMTDsKICAgICAgICAgdmlydHVh
bCBKU1ZhbHVlKiBleGVjdXRlKEV4ZWNTdGF0ZSopIEtKU19GQVNUX0NBTEw7CiAgICAgICAgIHZp
cnR1YWwgdm9pZCBzdHJlYW1UbyhTb3VyY2VTdHJlYW0mKSBjb25zdCBLSlNfRkFTVF9DQUxMOwog
CkBAIC0yNzE5LDcgKzI3MjAsOCBAQCBuYW1lc3BhY2UgS0pTIHsKICAgICAgICAgICAgIDogbV9p
ZGVudChpZGVudCkKICAgICAgICAgewogICAgICAgICB9Ci0KKyAgICAgICAgCisgICAgICAgIHZp
cnR1YWwgUmVnaXN0ZXJJRCogZW1pdENvZGUoQ29kZUdlbmVyYXRvciYsIFJlZ2lzdGVySUQqID0g
MCkgS0pTX0ZBU1RfQ0FMTDsKICAgICAgICAgdmlydHVhbCBKU1ZhbHVlKiBleGVjdXRlKEV4ZWNT
dGF0ZSopIEtKU19GQVNUX0NBTEw7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBzdHJlYW1UbyhTb3Vy
Y2VTdHJlYW0mKSBjb25zdCBLSlNfRkFTVF9DQUxMOwogCkBAIC0yNzcwLDYgKzI3NzIsNyBAQCBu
YW1lc3BhY2UgS0pTIHsKICAgICAgICAgewogICAgICAgICB9CiAKKyAgICAgICAgdmlydHVhbCBS
ZWdpc3RlcklEKiBlbWl0Q29kZShDb2RlR2VuZXJhdG9yJiwgUmVnaXN0ZXJJRCogPSAwKSBLSlNf
RkFTVF9DQUxMOwogICAgICAgICB2aXJ0dWFsIHZvaWQgb3B0aW1pemVWYXJpYWJsZUFjY2VzcyhF
eGVjU3RhdGUqLCBjb25zdCBTeW1ib2xUYWJsZSYsIGNvbnN0IExvY2FsU3RvcmFnZSYsIE5vZGVT
dGFjayYpIEtKU19GQVNUX0NBTEw7CiAgICAgICAgIHZpcnR1YWwgSlNWYWx1ZSogZXhlY3V0ZShF
eGVjU3RhdGUqKSBLSlNfRkFTVF9DQUxMOwogICAgICAgICB2aXJ0dWFsIHZvaWQgc3RyZWFtVG8o
U291cmNlU3RyZWFtJikgY29uc3QgS0pTX0ZBU1RfQ0FMTDsK
</data>
<flag name="review"
          id="8799"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>