<?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>127020</bug_id>
          
          <creation_ts>2014-01-14 16:36:42 -0800</creation_ts>
          <short_desc>FTL slow path calls in inline caches should be down with exceptions</short_desc>
          <delta_ts>2014-04-29 14:35:53 -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>113622</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>nrotem</cc>
    
    <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>968093</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-01-14 16:36:42 -0800</bug_when>
    <thetext>Right now they&apos;re totally not down with them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968152</commentid>
    <comment_count>1</comment_count>
      <attachid>221226</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-01-14 20:09:08 -0800</bug_when>
    <thetext>Created attachment 221226
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968173</commentid>
    <comment_count>2</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-01-14 22:18:01 -0800</bug_when>
    <thetext>Landed on branch in http://trac.webkit.org/changeset/162046</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968465</commentid>
    <comment_count>3</comment_count>
      <attachid>221226</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-01-15 14:12:32 -0800</bug_when>
    <thetext>Comment on attachment 221226
the patch

r=me</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221226</attachid>
            <date>2014-01-14 20:09:08 -0800</date>
            <delta_ts>2014-01-15 14:12:31 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>15878</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTYyMDQxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQzIEBA
CisyMDE0LTAxLTE0ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
RlRMIHNsb3cgcGF0aCBjYWxscyBpbiBpbmxpbmUgY2FjaGVzIHNob3VsZCBiZSBkb3duIHdpdGgg
ZXhjZXB0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTI3MDIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAg
IAorICAgICAgICBUaGlzIGp1c3QgYWRkcyB0aGUgcmVsYXRpdmVseSBzdHJhaWdodC1mb3J3YXJk
IGdsdWUgY29kZSBmb3IgZW1pdHRpbmcgYW4gZXhjZXB0aW9uCisgICAgICAgIGNoZWNrIG9uIEZU
TCBJQyBzbG93IHBhdGhzIGFuZCB0aGVuIGp1bXBpbmcgdG8gdGhlIGV4Y2VwdGlvbiBoYW5kbGlu
ZyBwYXRoLgorICAgICAgICAKKyAgICAgICAgTm90ZSB0aGF0IGhhbGYgb2YgdGhlIGF0dGFjaGVk
IHRlc3RzIGZhaWxlZCBiZWZvcmUgdGhpcyBjaGFuZ2UsIG9mdGVuIGluIHZlcnkKKyAgICAgICAg
ZnVubnkgd2F5cywgc2luY2UgdGhlIEZUTCBJQyBzbG93IHBhdGhzIHByZXZpb3VzbHkganVzdCBp
Z25vcmVkIGV4Y2VwdGlvbnMuIFRoZQorICAgICAgICBvdGhlciBoYWxmIG9mIHRoZSB0ZXN0cyB3
ZXJlIHNvbWUgY29tYmluYXRpb24gb2YgYWNjaWRlbnRhbCBwYXNzZXMgKGJlY2F1c2UgaWYgeW91
CisgICAgICAgIGlnbm9yZSB0aGUgZXhjZXB0aW9uIGJ1dCBzb21lb25lIGVsc2UgYWxvbmcgc29t
ZSBwYXRoIGNoZWNrcyBpdCB0aGVuIGl0IHdpbGwgYmUKKyAgICAgICAgdGhyb3duIGFuZCB0aGlu
Z3Mgd2lsbCBzZWVtIE9LKSBhbmQgaW5hZGVxdWF0ZSBGVEwgY292ZXJhZ2UgKHNvIHRoZXkgd291
bGQgaGF2ZQorICAgICAgICBmYWlsZWQgaWYgdGhlIEZUTCBzdXBwb3J0ZWQgR2V0QnlJZEZsdXNo
IGZvciBleGFtcGxlKS4KKworICAgICAgICAqIGZ0bC9GVExDb21waWxlLmNwcDoKKyAgICAgICAg
KEpTQzo6RlRMOjpmaXhGdW5jdGlvbkJhc2VkT25TdGFja01hcHMpOgorICAgICAgICAqIGZ0bC9G
VExTbG93UGF0aENhbGwuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OnN0b3JlQ29kZU9yaWdpbik6
CisgICAgICAgIChKU0M6OkZUTDo6Y2FsbE9wZXJhdGlvbik6CisgICAgICAgICogZnRsL0ZUTFNs
b3dQYXRoQ2FsbC5oOgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9nZXQtYnktaWQtdGhyb3ctZnJv
bS1nZXR0ZXItdGhyb3VnaC1vcHRpbWl6ZWQtY29kZS5qczogQWRkZWQuCisgICAgICAgIChmb28p
OgorICAgICAgICAobWFrZVdpdGhHZXR0ZXIucmV0dXJuKToKKyAgICAgICAgKG1ha2VXaXRoR2V0
dGVyKToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvZ2V0LWJ5LWlkLXRocm93LWZyb20tdW5leHBl
Y3RlZC1nZXR0ZXItdGhyb3VnaC1vcHRpbWl6ZWQtY29kZS10aGF0LWRvZXMtbm90LWV4aXQuanM6
IEFkZGVkLgorICAgICAgICAoZm9vKToKKyAgICAgICAgKG1ha2VXaXRoR2V0dGVyLnJldHVybik6
CisgICAgICAgIChtYWtlV2l0aEdldHRlcik6CisgICAgICAgICogdGVzdHMvc3RyZXNzL2dldC1i
eS1pZC10aHJvdy1mcm9tLXVuZXhwZWN0ZWQtZ2V0dGVyLXRocm91Z2gtb3B0aW1pemVkLWNvZGUu
anM6IEFkZGVkLgorICAgICAgICAoZm9vKToKKyAgICAgICAgKG1ha2VXaXRoR2V0dGVyLnJldHVy
bik6CisgICAgICAgIChtYWtlV2l0aEdldHRlcik6CisgICAgICAgICogdGVzdHMvc3RyZXNzL2lj
LXRocm93LXRocm91Z2gtb3B0aW1pemVkLWNvZGUuanM6IEFkZGVkLgorICAgICAgICAoZm9vKToK
KyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvcHV0LWJ5LWlkLXRocm93LXRocm91Z2gtb3B0aW1pemVk
LWNvZGUuanM6IEFkZGVkLgorICAgICAgICAoZm9vKToKKwogMjAxNC0wMS0xNCAgRmlsaXAgUGl6
bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIEZUTCBzaG91bGQgYmUgY29vbCB3aXRo
IHJ1bnRpbWUgZnVuY3Rpb25zIHRocm93aW5nIGV4Y2VwdGlvbnMKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMQ29tcGlsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExDb21waWxlLmNwcAkocmV2aXNpb24gMTYyMDM1KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDb21waWxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTcw
LDE0ICsxNzAsOCBAQCBzdGF0aWMgdm9pZCBmaXhGdW5jdGlvbkJhc2VkT25TdGFja01hcHMoCiAg
ICAgCiAgICAgLy8gRklYTUU6IE5lZWQgdG8gdXBkYXRlIGFsbCBtYWNoaW5lIHZpcnR1YWwgcmVn
aXN0ZXJzIGluIHJ1bnRpbWUgbWV0YS1kYXRhLgogICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMjU3MjUKLSAgICAKLSAgICBpdGVyID0gcmVjb3JkTWFwLmZp
bmQoc3RhdGUuaGFuZGxlRXhjZXB0aW9uU3RhY2ttYXBJRCk7Ci0gICAgLy8gSXQncyBzb3J0IG9m
IHJlbW90ZWx5IHBvc3NpYmxlIHRoYXQgd2Ugd29uJ3QgaGF2ZSBhbiBleGNlcHRpb24gaGFuZGxp
bmcgcGF0aCwgZm9yCi0gICAgLy8gc29tZSBraW5kcyBvZiBmdW5jdGlvbnMuIFRoYXQncyBub3Qg
YW4gb3B0aW1pemF0aW9uIHBlciBzZTsgaXQganVzdCBmZWxsIG91dCB0aGF0Ci0gICAgLy8gd2F5
LgotICAgIGlmIChpdGVyICE9IHJlY29yZE1hcC5lbmQoKSkgewotICAgICAgICBSRUxFQVNFX0FT
U0VSVCghaXRlci0+dmFsdWUubG9jYXRpb25zLnNpemUoKSk7Ci0gICAgICAgIAorCisgICAgewog
ICAgICAgICBDQ2FsbEhlbHBlcnMgY2hlY2tKSVQoJnZtLCBjb2RlQmxvY2spOwogICAgICAgICAK
ICAgICAgICAgLy8gQXQgdGhpcyBwb2ludCBpdCdzIHBlcmZlY3RseSBmYWlyIHRvIGp1c3QgYmxv
dyBhd2F5IGFsbCBzdGF0ZSBhbmQgcmVzdG9yZSB0aGUKQEAgLTI0Miw2ICsyMzYsOCBAQCBzdGF0
aWMgdm9pZCBmaXhGdW5jdGlvbkJhc2VkT25TdGFja01hcHMoCiAgICAgaWYgKCFzdGF0ZS5nZXRC
eUlkcy5pc0VtcHR5KCkgfHwgIXN0YXRlLnB1dEJ5SWRzLmlzRW1wdHkoKSkgewogICAgICAgICBD
Q2FsbEhlbHBlcnMgc2xvd1BhdGhKSVQoJnZtLCBjb2RlQmxvY2spOwogICAgICAgICAKKyAgICAg
ICAgQ0NhbGxIZWxwZXJzOjpKdW1wTGlzdCBleGNlcHRpb25UYXJnZXQ7CisgICAgICAgIAogICAg
ICAgICBmb3IgKHVuc2lnbmVkIGkgPSBzdGF0ZS5nZXRCeUlkcy5zaXplKCk7IGktLTspIHsKICAg
ICAgICAgICAgIEdldEJ5SWREZXNjcmlwdG9yJiBnZXRCeUlkID0gc3RhdGUuZ2V0QnlJZHNbaV07
CiAgICAgICAgICAgICAKQEAgLTI2OSw4ICsyNjUsOCBAQCBzdGF0aWMgdm9pZCBmaXhGdW5jdGlv
bkJhc2VkT25TdGFja01hcHMoCiAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6TGFiZWwgYmVn
aW4gPSBzbG93UGF0aEpJVC5sYWJlbCgpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBNYWNy
b0Fzc2VtYmxlcjo6Q2FsbCBjYWxsID0gY2FsbE9wZXJhdGlvbigKLSAgICAgICAgICAgICAgICBz
dGF0ZSwgdXNlZFJlZ2lzdGVycywgc2xvd1BhdGhKSVQsIG9wZXJhdGlvbkdldEJ5SWRPcHRpbWl6
ZSwgcmVzdWx0LAotICAgICAgICAgICAgICAgIGdlbi5zdHViSW5mbygpLCBiYXNlLCBnZXRCeUlk
LnVpZCgpKTsKKyAgICAgICAgICAgICAgICBzdGF0ZSwgdXNlZFJlZ2lzdGVycywgc2xvd1BhdGhK
SVQsIGdldEJ5SWQuY29kZU9yaWdpbigpLCAmZXhjZXB0aW9uVGFyZ2V0LAorICAgICAgICAgICAg
ICAgIG9wZXJhdGlvbkdldEJ5SWRPcHRpbWl6ZSwgcmVzdWx0LCBnZW4uc3R1YkluZm8oKSwgYmFz
ZSwgZ2V0QnlJZC51aWQoKSk7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIGdlbi5yZXBvcnRT
bG93UGF0aENhbGwoYmVnaW4sIGNhbGwpOwogICAgICAgICAgICAgCkBAIC0zMDYsOCArMzAyLDgg
QEAgc3RhdGljIHZvaWQgZml4RnVuY3Rpb25CYXNlZE9uU3RhY2tNYXBzKAogICAgICAgICAgICAg
TWFjcm9Bc3NlbWJsZXI6OkxhYmVsIGJlZ2luID0gc2xvd1BhdGhKSVQubGFiZWwoKTsKICAgICAg
ICAgICAgIAogICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbCA9IGNhbGxPcGVy
YXRpb24oCi0gICAgICAgICAgICAgICAgc3RhdGUsIHVzZWRSZWdpc3RlcnMsIHNsb3dQYXRoSklU
LCBnZW4uc2xvd1BhdGhGdW5jdGlvbigpLCBnZW4uc3R1YkluZm8oKSwKLSAgICAgICAgICAgICAg
ICB2YWx1ZSwgYmFzZSwgcHV0QnlJZC51aWQoKSk7CisgICAgICAgICAgICAgICAgc3RhdGUsIHVz
ZWRSZWdpc3RlcnMsIHNsb3dQYXRoSklULCBwdXRCeUlkLmNvZGVPcmlnaW4oKSwgJmV4Y2VwdGlv
blRhcmdldCwKKyAgICAgICAgICAgICAgICBnZW4uc2xvd1BhdGhGdW5jdGlvbigpLCBnZW4uc3R1
YkluZm8oKSwgdmFsdWUsIGJhc2UsIHB1dEJ5SWQudWlkKCkpOwogICAgICAgICAgICAgCiAgICAg
ICAgICAgICBnZW4ucmVwb3J0U2xvd1BhdGhDYWxsKGJlZ2luLCBjYWxsKTsKICAgICAgICAgICAg
IApAQCAtMzE1LDggKzMxMSwxMyBAQCBzdGF0aWMgdm9pZCBmaXhGdW5jdGlvbkJhc2VkT25TdGFj
a01hcHMoCiAgICAgICAgICAgICBwdXRCeUlkLm1fZ2VuZXJhdG9yID0gZ2VuOwogICAgICAgICB9
CiAgICAgICAgIAorICAgICAgICBleGNlcHRpb25UYXJnZXQubGluaygmc2xvd1BhdGhKSVQpOwor
ICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBleGNlcHRpb25KdW1wID0gc2xvd1BhdGhKSVQu
anVtcCgpOworICAgICAgICAKICAgICAgICAgc3RhdGUuZmluYWxpemVyLT5zaWRlQ29kZUxpbmtC
dWZmZXIgPSBhZG9wdFB0cigKICAgICAgICAgICAgIG5ldyBMaW5rQnVmZmVyKHZtLCAmc2xvd1Bh
dGhKSVQsIGNvZGVCbG9jaywgSklUQ29tcGlsYXRpb25NdXN0U3VjY2VlZCkpOworICAgICAgICBz
dGF0ZS5maW5hbGl6ZXItPnNpZGVDb2RlTGlua0J1ZmZlci0+bGluaygKKyAgICAgICAgICAgIGV4
Y2VwdGlvbkp1bXAsIHN0YXRlLmZpbmFsaXplci0+aGFuZGxlRXhjZXB0aW9uc0xpbmtCdWZmZXIt
PmVudHJ5cG9pbnQoKSk7CiAgICAgICAgIAogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBzdGF0
ZS5nZXRCeUlkcy5zaXplKCk7IGktLTspIHsKICAgICAgICAgICAgIGdlbmVyYXRlSUNGYXN0UGF0
aCgKQEAgLTM3MCwxMCArMzcxLDEwIEBAIHN0YXRpYyB2b2lkIGZpeEZ1bmN0aW9uQmFzZWRPblN0
YWNrTWFwcygKICAgICAKICAgICBSZXBhdGNoQnVmZmVyIHJlcGF0Y2hCdWZmZXIoY29kZUJsb2Nr
KTsKICAgICAKLSAgICBpZiAoc3RhdGUuZmluYWxpemVyLT5oYW5kbGVFeGNlcHRpb25zTGlua0J1
ZmZlcikgewotICAgICAgICBpdGVyID0gcmVjb3JkTWFwLmZpbmQoc3RhdGUuaGFuZGxlRXhjZXB0
aW9uU3RhY2ttYXBJRCk7Ci0gICAgICAgIFJFTEVBU0VfQVNTRVJUKGl0ZXIgIT0gcmVjb3JkTWFw
LmVuZCgpKTsKLSAgICAgICAgCisgICAgaXRlciA9IHJlY29yZE1hcC5maW5kKHN0YXRlLmhhbmRs
ZUV4Y2VwdGlvblN0YWNrbWFwSUQpOworICAgIC8vIEl0J3Mgc29ydCBvZiByZW1vdGVseSBwb3Nz
aWJsZSB0aGF0IHdlIHdvbid0IGhhdmUgYW4gaW4tYmFuZCBleGNlcHRpb24gaGFuZGxpbmcKKyAg
ICAvLyBwYXRoLCBmb3Igc29tZSBraW5kcyBvZiBmdW5jdGlvbnMuCisgICAgaWYgKGl0ZXIgIT0g
cmVjb3JkTWFwLmVuZCgpKSB7CiAgICAgICAgIFN0YWNrTWFwczo6UmVjb3JkJiByZWNvcmQgPSBp
dGVyLT52YWx1ZTsKICAgICAgICAgCiAgICAgICAgIENvZGVMb2NhdGlvbkxhYmVsIHNvdXJjZSA9
IENvZGVMb2NhdGlvbkxhYmVsKApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExT
bG93UGF0aENhbGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMU2xvd1BhdGhDYWxsLmNwcAkocmV2aXNpb24gMTYyMDMzKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExTbG93UGF0aENhbGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzQsMTEg
KzEzNCwxMyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBTbG93UGF0aENhbGxLZXkodXNlZFJl
Z2lzdGVycygpLCBjYWxsVGFyZ2V0LCBvZmZzZXQoKSk7CiAgICAgfQogICAgIAotICAgIE1hY3Jv
QXNzZW1ibGVyOjpDYWxsIG1ha2VDYWxsKHZvaWQqIGNhbGxUYXJnZXQpCisgICAgTWFjcm9Bc3Nl
bWJsZXI6OkNhbGwgbWFrZUNhbGwodm9pZCogY2FsbFRhcmdldCwgTWFjcm9Bc3NlbWJsZXI6Okp1
bXBMaXN0KiBleGNlcHRpb25UYXJnZXQpCiAgICAgewogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6
Q2FsbCByZXN1bHQgPSBtX2ppdC5jYWxsKCk7CiAgICAgICAgIG1fc3RhdGUuZmluYWxpemVyLT5z
bG93UGF0aENhbGxzLmFwcGVuZChTbG93UGF0aENhbGwoCiAgICAgICAgICAgICByZXN1bHQsIGtl
eVdpdGhUYXJnZXQoY2FsbFRhcmdldCkpKTsKKyAgICAgICAgaWYgKGV4Y2VwdGlvblRhcmdldCkK
KyAgICAgICAgICAgIGV4Y2VwdGlvblRhcmdldC0+YXBwZW5kKG1faml0LmVtaXRFeGNlcHRpb25D
aGVjaygpKTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAgICAgCkBAIC0xNTcsMzIg
KzE1OSw0NCBAQCBwcml2YXRlOgogCiB9IC8vIGFub255bW91cyBuYW1lc3BhY2UKIAordm9pZCBz
dG9yZUNvZGVPcmlnaW4oU3RhdGUmIHN0YXRlLCBDQ2FsbEhlbHBlcnMmIGppdCwgQ29kZU9yaWdp
biBjb2RlT3JpZ2luKQoreworICAgIGlmICghY29kZU9yaWdpbi5pc1NldCgpKQorICAgICAgICBy
ZXR1cm47CisgICAgCisgICAgdW5zaWduZWQgaW5kZXggPSBzdGF0ZS5qaXRDb2RlLT5jb21tb24u
YWRkQ29kZU9yaWdpbihjb2RlT3JpZ2luKTsKKyAgICB1bnNpZ25lZCBsb2NhdGlvbkJpdHMgPSBD
YWxsRnJhbWU6OkxvY2F0aW9uOjplbmNvZGVBc0NvZGVPcmlnaW5JbmRleChpbmRleCk7CisgICAg
aml0LnN0b3JlMzIoCisgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKGxvY2F0aW9u
Qml0cyksCisgICAgICAgIENDYWxsSGVscGVyczo6dGFnRm9yKHN0YXRpY19jYXN0PFZpcnR1YWxS
ZWdpc3Rlcj4oSlNTdGFjazo6QXJndW1lbnRDb3VudCkpKTsKK30KKwogTWFjcm9Bc3NlbWJsZXI6
OkNhbGwgY2FsbE9wZXJhdGlvbigKICAgICBTdGF0ZSYgc3RhdGUsIGNvbnN0IFJlZ2lzdGVyU2V0
JiB1c2VkUmVnaXN0ZXJzLCBDQ2FsbEhlbHBlcnMmIGppdCwKLSAgICBKX0pJVE9wZXJhdGlvbl9F
U3NpSkkgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1Yklu
Zm8sIEdQUlJlZyBvYmplY3QsCi0gICAgU3RyaW5nSW1wbCogdWlkKQorICAgIENvZGVPcmlnaW4g
Y29kZU9yaWdpbiwgTWFjcm9Bc3NlbWJsZXI6Okp1bXBMaXN0KiBleGNlcHRpb25UYXJnZXQsCisg
ICAgSl9KSVRPcGVyYXRpb25fRVNzaUpJIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgU3RydWN0
dXJlU3R1YkluZm8qIHN0dWJJbmZvLAorICAgIEdQUlJlZyBvYmplY3QsIFN0cmluZ0ltcGwqIHVp
ZCkKIHsKKyAgICBzdG9yZUNvZGVPcmlnaW4oc3RhdGUsIGppdCwgY29kZU9yaWdpbik7CiAgICAg
Q2FsbENvbnRleHQgY29udGV4dChzdGF0ZSwgdXNlZFJlZ2lzdGVycywgaml0LCA0LCByZXN1bHQp
OwogICAgIGppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoCiAgICAgICAgIENDYWxsSGVs
cGVyczo6VHJ1c3RlZEltbVB0cihzdHViSW5mbyksIG9iamVjdCwKICAgICAgICAgQ0NhbGxIZWxw
ZXJzOjpUcnVzdGVkSW1tUHRyKHVpZCkpOwotICAgIHJldHVybiBjb250ZXh0Lm1ha2VDYWxsKGJp
dHdpc2VfY2FzdDx2b2lkKj4ob3BlcmF0aW9uKSk7Ci0gICAgLy8gRklYTUU6IEZUTCBzaG91bGQg
c3VwcG9ydCBleGNlcHRpb25zLgotICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMTM2MjIKKyAgICByZXR1cm4gY29udGV4dC5tYWtlQ2FsbChiaXR3aXNlX2Nh
c3Q8dm9pZCo+KG9wZXJhdGlvbiksIGV4Y2VwdGlvblRhcmdldCk7CiB9CiAKIE1hY3JvQXNzZW1i
bGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oCiAgICAgU3RhdGUmIHN0YXRlLCBjb25zdCBSZWdpc3Rl
clNldCYgdXNlZFJlZ2lzdGVycywgQ0NhbGxIZWxwZXJzJiBqaXQsIAotICAgIFZfSklUT3BlcmF0
aW9uX0VTc2lKSkkgb3BlcmF0aW9uLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEdQUlJl
ZyB2YWx1ZSwgR1BSUmVnIG9iamVjdCwKLSAgICBTdHJpbmdJbXBsKiB1aWQpCisgICAgQ29kZU9y
aWdpbiBjb2RlT3JpZ2luLCBNYWNyb0Fzc2VtYmxlcjo6SnVtcExpc3QqIGV4Y2VwdGlvblRhcmdl
dCwKKyAgICBWX0pJVE9wZXJhdGlvbl9FU3NpSkpJIG9wZXJhdGlvbiwgU3RydWN0dXJlU3R1Yklu
Zm8qIHN0dWJJbmZvLCBHUFJSZWcgdmFsdWUsCisgICAgR1BSUmVnIG9iamVjdCwgU3RyaW5nSW1w
bCogdWlkKQogeworICAgIHN0b3JlQ29kZU9yaWdpbihzdGF0ZSwgaml0LCBjb2RlT3JpZ2luKTsK
ICAgICBDYWxsQ29udGV4dCBjb250ZXh0KHN0YXRlLCB1c2VkUmVnaXN0ZXJzLCBqaXQsIDUsIElu
dmFsaWRHUFJSZWcpOwogICAgIGppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoCiAgICAg
ICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihzdHViSW5mbyksIHZhbHVlLCBvYmplY3Qs
CiAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cih1aWQpKTsKLSAgICByZXR1cm4g
Y29udGV4dC5tYWtlQ2FsbChiaXR3aXNlX2Nhc3Q8dm9pZCo+KG9wZXJhdGlvbikpOwotICAgIC8v
IEZJWE1FOiBGVEwgc2hvdWxkIHN1cHBvcnQgZXhjZXB0aW9ucy4KLSAgICAvLyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEzNjIyCisgICAgcmV0dXJuIGNvbnRleHQu
bWFrZUNhbGwoYml0d2lzZV9jYXN0PHZvaWQqPihvcGVyYXRpb24pLCBleGNlcHRpb25UYXJnZXQp
OwogfQogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6RlRMCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTFNsb3dQYXRoQ2FsbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMU2xvd1BhdGhDYWxsLmgJKHJldmlzaW9uIDE2MjAzMykKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU2xvd1BhdGhDYWxsLmgJKHdvcmtpbmcgY29weSkKQEAg
LTU1LDEyICs1NSwxNiBAQCBwcml2YXRlOgogICAgIFNsb3dQYXRoQ2FsbEtleSBtX2tleTsKIH07
CiAKK3ZvaWQgc3RvcmVDb2RlT3JpZ2luKFN0YXRlJiwgQ0NhbGxIZWxwZXJzJiwgQ29kZU9yaWdp
bik7CisKIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oCi0gICAgU3RhdGUmLCBj
b25zdCBSZWdpc3RlclNldCYsIENDYWxsSGVscGVycyYsIEpfSklUT3BlcmF0aW9uX0VTc2lKSSwK
LSAgICBHUFJSZWcgcmVzdWx0LCBTdHJ1Y3R1cmVTdHViSW5mbyosIEdQUlJlZyBvYmplY3QsIFN0
cmluZ0ltcGwqIHVpZCk7CisgICAgU3RhdGUmLCBjb25zdCBSZWdpc3RlclNldCYsIENDYWxsSGVs
cGVycyYsIENvZGVPcmlnaW4sIENDYWxsSGVscGVyczo6SnVtcExpc3QqLAorICAgIEpfSklUT3Bl
cmF0aW9uX0VTc2lKSSwgR1BSUmVnIHJlc3VsdCwgU3RydWN0dXJlU3R1YkluZm8qLCBHUFJSZWcg
b2JqZWN0LAorICAgIFN0cmluZ0ltcGwqIHVpZCk7CiBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxs
T3BlcmF0aW9uKAotICAgIFN0YXRlJiwgY29uc3QgUmVnaXN0ZXJTZXQmLCBDQ2FsbEhlbHBlcnMm
LCBWX0pJVE9wZXJhdGlvbl9FU3NpSkpJLAotICAgIFN0cnVjdHVyZVN0dWJJbmZvKiwgR1BSUmVn
IHZhbHVlLCBHUFJSZWcgb2JqZWN0LCBTdHJpbmdJbXBsKiB1aWQpOworICAgIFN0YXRlJiwgY29u
c3QgUmVnaXN0ZXJTZXQmLCBDQ2FsbEhlbHBlcnMmLCBDb2RlT3JpZ2luLCBDQ2FsbEhlbHBlcnM6
Okp1bXBMaXN0KiwKKyAgICBWX0pJVE9wZXJhdGlvbl9FU3NpSkpJLCBTdHJ1Y3R1cmVTdHViSW5m
byosIEdQUlJlZyB2YWx1ZSwgR1BSUmVnIG9iamVjdCwKKyAgICBTdHJpbmdJbXBsKiB1aWQpOwog
CiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6RlRMCiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3MvZ2V0LWJ5LWlkLXRocm93LWZyb20tZ2V0dGVyLXRocm91Z2gtb3B0aW1p
emVkLWNvZGUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9nZXQtYnktaWQtdGhyb3ctZnJvbS1nZXR0ZXItdGhyb3VnaC1vcHRpbWl6ZWQtY29kZS5q
cwkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZ2V0
LWJ5LWlkLXRocm93LWZyb20tZ2V0dGVyLXRocm91Z2gtb3B0aW1pemVkLWNvZGUuanMJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwzNyBAQAorZnVuY3Rpb24gZm9vKG8pIHsKKyAgICByZXR1cm4g
by5mICsgMTsKK30KKworbm9JbmxpbmUoZm9vKTsKKwordmFyIHNob3VsZFRocm93ID0gZmFsc2U7
CisKK2Z1bmN0aW9uIG1ha2VXaXRoR2V0dGVyKCkgeworICAgIHZhciBvID0ge307CisgICAgby5f
X2RlZmluZUdldHRlcl9fKCJmIiwgZnVuY3Rpb24oKSB7CisgICAgICAgIGlmIChzaG91bGRUaHJv
dykKKyAgICAgICAgICAgIHRocm93ICJoZWxsbyI7CisgICAgICAgIHJldHVybiA0MjsKKyAgICB9
KTsKKyAgICByZXR1cm4gbzsKK30KKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkg
eworICAgIHZhciByZXN1bHQgPSBmb28oe2Y6MjN9KTsKKyAgICBpZiAocmVzdWx0ICE9IDI0KQor
ICAgICAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAgcmVzdWx0
ID0gZm9vKG1ha2VXaXRoR2V0dGVyKCkpOworICAgIGlmIChyZXN1bHQgIT0gNDMpCisgICAgICAg
IHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsKK30KKwordmFyIGRpZFRocm93
OwordHJ5IHsKKyAgICBzaG91bGRUaHJvdyA9IHRydWU7CisgICAgZm9vKG1ha2VXaXRoR2V0dGVy
KCkpOworfSBjYXRjaCAoZSkgeworICAgIGRpZFRocm93ID0gZTsKK30KKworaWYgKGRpZFRocm93
ICE9ICJoZWxsbyIpCisgICAgdGhyb3cgIkVycm9yOiBkaWRuJ3QgdGhyb3cgb3IgdGhyZXcgd3Jv
bmcgZXhjZXB0aW9uOiAiICsgZGlkVGhyb3c7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2dldC1ieS1pZC10aHJvdy1mcm9tLXVuZXhwZWN0ZWQtZ2V0dGVyLXRocm91
Z2gtb3B0aW1pemVkLWNvZGUtdGhhdC1kb2VzLW5vdC1leGl0LmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZ2V0LWJ5LWlkLXRocm93LWZyb20tdW5l
eHBlY3RlZC1nZXR0ZXItdGhyb3VnaC1vcHRpbWl6ZWQtY29kZS10aGF0LWRvZXMtbm90LWV4aXQu
anMJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2dl
dC1ieS1pZC10aHJvdy1mcm9tLXVuZXhwZWN0ZWQtZ2V0dGVyLXRocm91Z2gtb3B0aW1pemVkLWNv
ZGUtdGhhdC1kb2VzLW5vdC1leGl0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzUgQEAK
K2Z1bmN0aW9uIGZvbyhvKSB7CisgICAgcmV0dXJuIG8uZjsKK30KKworbm9JbmxpbmUoZm9vKTsK
KworZnVuY3Rpb24gbWFrZVdpdGhHZXR0ZXIoKSB7CisgICAgdmFyIG8gPSB7fTsKKyAgICBvLl9f
ZGVmaW5lR2V0dGVyX18oImYiLCBmdW5jdGlvbigpIHsKKyAgICAgICAgdGhyb3cgImhlbGxvIjsK
KyAgICB9KTsKKyAgICByZXR1cm4gbzsKK30KKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDA7
ICsraSkgeworICAgIHZhciByZXN1bHQgPSBmb28oe2Y6MjN9KTsKKyAgICBpZiAocmVzdWx0ICE9
IDIzKQorICAgICAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAg
cmVzdWx0ID0gZm9vKHtnOjEyLCBmOjEzfSk7CisgICAgaWYgKHJlc3VsdCAhPSAxMykKKyAgICAg
ICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0OworICAgIHJlc3VsdCA9IGZv
byh7ZzoxMiwgaDoxMywgZjoxNH0pOworICAgIGlmIChyZXN1bHQgIT0gMTQpCisgICAgICAgIHRo
cm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsKK30KKwordmFyIGRpZFRocm93Owor
dHJ5IHsKKyAgICBmb28obWFrZVdpdGhHZXR0ZXIoKSk7Cit9IGNhdGNoIChlKSB7CisgICAgZGlk
VGhyb3cgPSBlOworfQorCitpZiAoZGlkVGhyb3cgIT0gImhlbGxvIikKKyAgICB0aHJvdyAiRXJy
b3I6IGRpZG4ndCB0aHJvdyBvciB0aHJldyB3cm9uZyBleGNlcHRpb246ICIgKyBkaWRUaHJvdzsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZ2V0LWJ5LWlkLXRocm93
LWZyb20tdW5leHBlY3RlZC1nZXR0ZXItdGhyb3VnaC1vcHRpbWl6ZWQtY29kZS5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2dldC1ieS1pZC10aHJv
dy1mcm9tLXVuZXhwZWN0ZWQtZ2V0dGVyLXRocm91Z2gtb3B0aW1pemVkLWNvZGUuanMJKHJldmlz
aW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2dldC1ieS1pZC10
aHJvdy1mcm9tLXVuZXhwZWN0ZWQtZ2V0dGVyLXRocm91Z2gtb3B0aW1pemVkLWNvZGUuanMJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwzNSBAQAorZnVuY3Rpb24gZm9vKG8pIHsKKyAgICByZXR1
cm4gby5mICsgMTsKK30KKworbm9JbmxpbmUoZm9vKTsKKworZnVuY3Rpb24gbWFrZVdpdGhHZXR0
ZXIoKSB7CisgICAgdmFyIG8gPSB7fTsKKyAgICBvLl9fZGVmaW5lR2V0dGVyX18oImYiLCBmdW5j
dGlvbigpIHsKKyAgICAgICAgdGhyb3cgImhlbGxvIjsKKyAgICB9KTsKKyAgICByZXR1cm4gbzsK
K30KKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgeworICAgIHZhciByZXN1bHQg
PSBmb28oe2Y6MjN9KTsKKyAgICBpZiAocmVzdWx0ICE9IDI0KQorICAgICAgICB0aHJvdyAiRXJy
b3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAgcmVzdWx0ID0gZm9vKHtnOjEyLCBmOjEz
fSk7CisgICAgaWYgKHJlc3VsdCAhPSAxNCkKKyAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVz
dWx0OiAiICsgcmVzdWx0OworICAgIHJlc3VsdCA9IGZvbyh7ZzoxMiwgaDoxMywgZjoxNH0pOwor
ICAgIGlmIChyZXN1bHQgIT0gMTUpCisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDog
IiArIHJlc3VsdDsKK30KKwordmFyIGRpZFRocm93OwordHJ5IHsKKyAgICBmb28obWFrZVdpdGhH
ZXR0ZXIoKSk7Cit9IGNhdGNoIChlKSB7CisgICAgZGlkVGhyb3cgPSBlOworfQorCitpZiAoZGlk
VGhyb3cgIT0gImhlbGxvIikKKyAgICB0aHJvdyAiRXJyb3I6IGRpZG4ndCB0aHJvdyBvciB0aHJl
dyB3cm9uZyBleGNlcHRpb246ICIgKyBkaWRUaHJvdzsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvaWMtdGhyb3ctdGhyb3VnaC1vcHRpbWl6ZWQtY29kZS5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2ljLXRocm93LXRo
cm91Z2gtb3B0aW1pemVkLWNvZGUuanMJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2ljLXRocm93LXRocm91Z2gtb3B0aW1pemVkLWNvZGUuanMJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwyOSBAQAorZnVuY3Rpb24gZm9vKG8pIHsKKyAgICByZXR1
cm4gby5mICsgMTsKK30KKworTnVtYmVyLnByb3RvdHlwZS5mID0gNDI7CisKK25vSW5saW5lKGZv
byk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpIHsKKyAgICB2YXIgcmVzdWx0
ID0gZm9vKDIzKTsKKyAgICBpZiAocmVzdWx0ICE9IDQzKQorICAgICAgICB0aHJvdyAiRXJyb3I6
IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAgcmVzdWx0ID0gZm9vKHtmOjI1fSk7CisgICAg
aWYgKHJlc3VsdCAhPSAyNikKKyAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsg
cmVzdWx0OworICAgIHJlc3VsdCA9IGZvbyh7ZzoxMiwgZjoxM30pOworICAgIGlmIChyZXN1bHQg
IT0gMTQpCisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsKK30K
KwordmFyIGRpZFRocm93OwordHJ5IHsKKyAgICBmb28odm9pZCAwKTsKK30gY2F0Y2ggKGUpIHsK
KyAgICBkaWRUaHJvdyA9IGU7Cit9CisKK2lmICghZGlkVGhyb3cgfHwgZGlkVGhyb3cudG9TdHJp
bmcoKS5pbmRleE9mKCJUeXBlRXJyb3I6IikgIT0gMCkKKyAgICB0aHJvdyAiRXJyb3I6IGRpZG4n
dCB0aHJvdyBvciB0aHJldyB3cm9uZyBleGNlcHRpb246ICIgKyBkaWRUaHJvdzsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvcHV0LWJ5LWlkLXRocm93LXRocm91Z2gt
b3B0aW1pemVkLWNvZGUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3Rl
c3RzL3N0cmVzcy9wdXQtYnktaWQtdGhyb3ctdGhyb3VnaC1vcHRpbWl6ZWQtY29kZS5qcwkocmV2
aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvcHV0LWJ5LWlk
LXRocm93LXRocm91Z2gtb3B0aW1pemVkLWNvZGUuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzMyBAQAorZnVuY3Rpb24gZm9vKG8pIHsKKyAgICAidXNlIHN0cmljdCI7CisgICAgby5mID0g
NDI7Cit9CisKK25vSW5saW5lKGZvbyk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwOyAr
K2kpIHsKKyAgICB2YXIgbyA9IHt9OworICAgIGZvbyhvKTsKKyAgICBpZiAoby5mICE9IDQyKQor
ICAgICAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyBvLmY7CisgICAgbyA9IHtmOjIz
fTsKKyAgICBmb28obyk7CisgICAgaWYgKG8uZiAhPSA0MikKKyAgICAgICAgdGhyb3cgIkVycm9y
OiBiYWQgcmVzdWx0OiAiICsgby5mOworICAgIG8gPSB7ZzoxMn07CisgICAgZm9vKG8pOworICAg
IGlmIChvLmYgIT0gNDIpCisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIG8u
ZjsKK30KKwordmFyIGRpZFRocm93OwordHJ5IHsKKyAgICB2YXIgbyA9IHt9OworICAgIE9iamVj
dC5mcmVlemUobyk7CisgICAgZm9vKG8pOworfSBjYXRjaCAoZSkgeworICAgIGRpZFRocm93ID0g
ZTsKK30KKworaWYgKCFkaWRUaHJvdyB8fCBkaWRUaHJvdy50b1N0cmluZygpLmluZGV4T2YoIlR5
cGVFcnJvcjoiKSAhPSAwKQorICAgIHRocm93ICJFcnJvcjogZGlkbid0IHRocm93IG9yIHRocmV3
IHdyb25nIGV4Y2VwdGlvbjogIiArIGRpZFRocm93Owo=
</data>
<flag name="review"
          id="245095"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>