<?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>37908</bug_id>
          
          <creation_ts>2010-04-20 22:19:10 -0700</creation_ts>
          <short_desc>[ES5] RegExp literals are constants that should be persistent across multiple function calls.</short_desc>
          <delta_ts>2010-04-20 23:42:08 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</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="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>215134</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-04-20 22:19:10 -0700</bug_when>
    <thetext>[ES5] RegExp literals are constants that should be persistent across multiple function calls.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215135</commentid>
    <comment_count>1</comment_count>
      <attachid>53917</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-04-20 22:22:01 -0700</bug_when>
    <thetext>Created attachment 53917
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215168</commentid>
    <comment_count>2</comment_count>
      <attachid>53917</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2010-04-20 23:26:22 -0700</bug_when>
    <thetext>Comment on attachment 53917
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215173</commentid>
    <comment_count>3</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-04-20 23:42:08 -0700</bug_when>
    <thetext>Committed r57955</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53917</attachid>
            <date>2010-04-20 22:22:01 -0700</date>
            <delta_ts>2010-04-20 23:26:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-37908-20100420222159.patch</filename>
            <type>text/plain</type>
            <size>18246</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCBlNGM3ZjY5Li4wNGU1MzMxIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzUg
QEAKIDIwMTAtMDQtMjAgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAorICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbRVM1XSBSZWdFeHAgbGl0
ZXJhbHMgYXJlIGNvbnN0YW50cyB0aGF0IHNob3VsZCBiZSBwZXJzaXN0ZW50IGFjcm9zcyBtdWx0
aXBsZSBmdW5jdGlvbiBjYWxscy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTM3OTA4CisKKyAgICAgICAgRHVtcCB0aGUgc2VwYXJhdGUgUmVnRXhwIGNv
bnN0YW50IHBvb2wsIGFuZCBqdXN0IHVzZSB0aGUgc3RhbmRhcmQgSlMgY29uc3RhbnQgcG9vbAor
ICAgICAgICBpbiBjb2RlYmxvY2suICBUaGlzIGFsbG93cyB1cyB0byBkcm9wIG9wX25ld19yZWdl
eHAgYW5kIGFsbCBhc3NvY2lhdGVkIGNvZGUgYXMgd2VsbC4KKworICAgICAgICAqIGJ5dGVjb2Rl
L0NvZGVCbG9jay5jcHA6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6ZHVtcCk6CisgICAgICAg
IChKU0M6OkNvZGVCbG9jazo6c2hyaW5rVG9GaXQpOgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVC
bG9jay5oOgorICAgICAgICAqIGJ5dGVjb2RlL09wY29kZS5oOgorICAgICAgICAqIGJ5dGVjb21w
aWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHA6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJh
dG9yOjplbWl0TG9hZCk6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9y
Lmg6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHA6CisgICAgICAgIChK
U0M6OlJlZ0V4cE5vZGU6OmVtaXRCeXRlY29kZSk6CisgICAgICAgICogaW50ZXJwcmV0ZXIvSW50
ZXJwcmV0ZXIuY3BwOgorICAgICAgICAoSlNDOjpJbnRlcnByZXRlcjo6cHJpdmF0ZUV4ZWN1dGUp
OgorICAgICAgICAqIGppdC9KSVQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21w
aWxlTWFpblBhc3MpOgorICAgICAgICAqIGppdC9KSVQuaDoKKyAgICAgICAgKiBqaXQvSklUT3Bj
b2Rlcy5jcHA6CisgICAgICAgICogaml0L0pJVFN0dWJzLmNwcDoKKyAgICAgICAgKiBqaXQvSklU
U3R1YnMuaDoKKyAgICAgICAgKEpTQzo6KToKKworMjAxMC0wNC0yMCAgT2xpdmVyIEh1bnQgIDxv
bGl2ZXJAYXBwbGUuY29tPgorCiAgICAgICAgIEZpeCBsaWNlbnNlIG9uIGNyZWF0ZV9yZWdleF90
YWJsZXMKIAogICAgICAgICAqIGNyZWF0ZV9yZWdleF90YWJsZXM6CmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQ29kZUJsb2NrLmNwcAppbmRleCBiNjY5MDM0Li44ZTc3ZTEyIDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0NvZGVCbG9jay5jcHAKQEAgLTg5LDI1ICs4OSw2IEBAIENTdHJpbmcgQ29kZUJsb2Nr
OjpyZWdpc3Rlck5hbWUoRXhlY1N0YXRlKiBleGVjLCBpbnQgcikgY29uc3QKICAgICByZXR1cm4g
bWFrZVN0cmluZygiciIsIFVTdHJpbmc6OmZyb20ocikpLlVURjhTdHJpbmcoKTsKIH0KIAotc3Rh
dGljIFVTdHJpbmcgcmVnZXhwVG9Tb3VyY2VTdHJpbmcoUmVnRXhwKiByZWdFeHApCi17Ci0gICAg
Y2hhciBwb3N0Zml4WzVdID0geyAnLycsIDAsIDAsIDAsIDAgfTsKLSAgICBpbnQgaW5kZXggPSAx
OwotICAgIGlmIChyZWdFeHAtPmdsb2JhbCgpKQotICAgICAgICBwb3N0Zml4W2luZGV4KytdID0g
J2cnOwotICAgIGlmIChyZWdFeHAtPmlnbm9yZUNhc2UoKSkKLSAgICAgICAgcG9zdGZpeFtpbmRl
eCsrXSA9ICdpJzsKLSAgICBpZiAocmVnRXhwLT5tdWx0aWxpbmUoKSkKLSAgICAgICAgcG9zdGZp
eFtpbmRleF0gPSAnbSc7Ci0KLSAgICByZXR1cm4gbWFrZVN0cmluZygiLyIsIHJlZ0V4cC0+cGF0
dGVybigpLCBwb3N0Zml4KTsKLX0KLQotc3RhdGljIENTdHJpbmcgcmVnZXhwTmFtZShpbnQgcmUs
IFJlZ0V4cCogcmVnZXhwKQotewotICAgIHJldHVybiBtYWtlU3RyaW5nKHJlZ2V4cFRvU291cmNl
U3RyaW5nKHJlZ2V4cCksICIoQHJlIiwgVVN0cmluZzo6ZnJvbShyZSksICIpIikuVVRGOFN0cmlu
ZygpOwotfQotCiBzdGF0aWMgVVN0cmluZyBwb2ludGVyVG9Tb3VyY2VTdHJpbmcodm9pZCogcCkK
IHsKICAgICBjaGFyIGJ1ZmZlclsyICsgMiAqIHNpemVvZih2b2lkKikgKyAxXTsgLy8gMHggW3R3
byBjaGFyYWN0ZXJzIHBlciBieXRlXSBcMApAQCAtMzY0LDE1ICszNDUsNiBAQCB2b2lkIENvZGVC
bG9jazo6ZHVtcChFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0CiAgICAgICAgIH0gd2hpbGUgKGkgPCBt
X2NvbnN0YW50UmVnaXN0ZXJzLnNpemUoKSk7CiAgICAgfQogCi0gICAgaWYgKG1fcmFyZURhdGEg
JiYgIW1fcmFyZURhdGEtPm1fcmVnZXhwcy5pc0VtcHR5KCkpIHsKLSAgICAgICAgcHJpbnRmKCJc
bm1fcmVnZXhwczpcbiIpOwotICAgICAgICBzaXplX3QgaSA9IDA7Ci0gICAgICAgIGRvIHsKLSAg
ICAgICAgICAgIHByaW50ZigiICByZSV1ID0gJXNcbiIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihp
KSwgcmVnZXhwVG9Tb3VyY2VTdHJpbmcobV9yYXJlRGF0YS0+bV9yZWdleHBzW2ldLmdldCgpKS5h
c2NpaSgpKTsKLSAgICAgICAgICAgICsraTsKLSAgICAgICAgfSB3aGlsZSAoaSA8IG1fcmFyZURh
dGEtPm1fcmVnZXhwcy5zaXplKCkpOwotICAgIH0KLQogI2lmIEVOQUJMRShKSVQpCiAgICAgaWYg
KCFtX2dsb2JhbFJlc29sdmVJbmZvcy5pc0VtcHR5KCkgfHwgIW1fc3RydWN0dXJlU3R1YkluZm9z
LmlzRW1wdHkoKSkKICAgICAgICAgcHJpbnRmKCJcblN0cnVjdHVyZXM6XG4iKTsKQEAgLTUxMCwx
MiArNDgyLDYgQEAgdm9pZCBDb2RlQmxvY2s6OmR1bXAoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBW
ZWN0b3I8SW5zdHJ1Y3Rpb24+Ojpjb25zdF9pdGVyYXRvciYKICAgICAgICAgICAgIHByaW50Zigi
WyU0ZF0gbmV3X2FycmF5XHQgJXMsICVzLCAlZFxuIiwgbG9jYXRpb24sIHJlZ2lzdGVyTmFtZShl
eGVjLCBkc3QpLmRhdGEoKSwgcmVnaXN0ZXJOYW1lKGV4ZWMsIGFyZ3YpLmRhdGEoKSwgYXJnYyk7
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQotICAgICAgICBjYXNlIG9wX25ld19yZWdl
eHA6IHsKLSAgICAgICAgICAgIGludCByMCA9ICgrK2l0KS0+dS5vcGVyYW5kOwotICAgICAgICAg
ICAgaW50IHJlMCA9ICgrK2l0KS0+dS5vcGVyYW5kOwotICAgICAgICAgICAgcHJpbnRmKCJbJTRk
XSBuZXdfcmVnZXhwXHQgJXMsICVzXG4iLCBsb2NhdGlvbiwgcmVnaXN0ZXJOYW1lKGV4ZWMsIHIw
KS5kYXRhKCksIHJlZ2V4cE5hbWUocmUwLCByZWdleHAocmUwKSkuZGF0YSgpKTsKLSAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICB9CiAgICAgICAgIGNhc2Ugb3BfbW92OiB7CiAgICAgICAgICAg
ICBpbnQgcjAgPSAoKytpdCktPnUub3BlcmFuZDsKICAgICAgICAgICAgIGludCByMSA9ICgrK2l0
KS0+dS5vcGVyYW5kOwpAQCAtMTcwNyw3ICsxNjczLDYgQEAgdm9pZCBDb2RlQmxvY2s6OnNocmlu
a1RvRml0KCkKIAogICAgIGlmIChtX3JhcmVEYXRhKSB7CiAgICAgICAgIG1fcmFyZURhdGEtPm1f
ZXhjZXB0aW9uSGFuZGxlcnMuc2hyaW5rVG9GaXQoKTsKLSAgICAgICAgbV9yYXJlRGF0YS0+bV9y
ZWdleHBzLnNocmlua1RvRml0KCk7CiAgICAgICAgIG1fcmFyZURhdGEtPm1faW1tZWRpYXRlU3dp
dGNoSnVtcFRhYmxlcy5zaHJpbmtUb0ZpdCgpOwogICAgICAgICBtX3JhcmVEYXRhLT5tX2NoYXJh
Y3RlclN3aXRjaEp1bXBUYWJsZXMuc2hyaW5rVG9GaXQoKTsKICAgICAgICAgbV9yYXJlRGF0YS0+
bV9zdHJpbmdTd2l0Y2hKdW1wVGFibGVzLnNocmlua1RvRml0KCk7CmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaCBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0NvZGVCbG9jay5oCmluZGV4IGZiMDZmMzUuLjFiYmIyNjUgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0NvZGVCbG9jay5oCkBAIC00NTgsMTAgKzQ1OCw2IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICB1bnNpZ25lZCBhZGRGdW5jdGlvbkV4cHIoTm9uTnVsbFBhc3NSZWZQdHI8RnVuY3Rpb25FeGVj
dXRhYmxlPiBuKSB7IHVuc2lnbmVkIHNpemUgPSBtX2Z1bmN0aW9uRXhwcnMuc2l6ZSgpOyBtX2Z1
bmN0aW9uRXhwcnMuYXBwZW5kKG4pOyByZXR1cm4gc2l6ZTsgfQogICAgICAgICBGdW5jdGlvbkV4
ZWN1dGFibGUqIGZ1bmN0aW9uRXhwcihpbnQgaW5kZXgpIHsgcmV0dXJuIG1fZnVuY3Rpb25FeHBy
c1tpbmRleF0uZ2V0KCk7IH0KIAotICAgICAgICB1bnNpZ25lZCBhZGRSZWdFeHAoUmVnRXhwKiBy
KSB7IGNyZWF0ZVJhcmVEYXRhSWZOZWNlc3NhcnkoKTsgdW5zaWduZWQgc2l6ZSA9IG1fcmFyZURh
dGEtPm1fcmVnZXhwcy5zaXplKCk7IG1fcmFyZURhdGEtPm1fcmVnZXhwcy5hcHBlbmQocik7IHJl
dHVybiBzaXplOyB9Ci0gICAgICAgIFJlZ0V4cCogcmVnZXhwKGludCBpbmRleCkgY29uc3QgeyBB
U1NFUlQobV9yYXJlRGF0YSk7IHJldHVybiBtX3JhcmVEYXRhLT5tX3JlZ2V4cHNbaW5kZXhdLmdl
dCgpOyB9Ci0KLQogICAgICAgICAvLyBKdW1wIFRhYmxlcwogCiAgICAgICAgIHNpemVfdCBudW1i
ZXJPZkltbWVkaWF0ZVN3aXRjaEp1bXBUYWJsZXMoKSBjb25zdCB7IHJldHVybiBtX3JhcmVEYXRh
ID8gbV9yYXJlRGF0YS0+bV9pbW1lZGlhdGVTd2l0Y2hKdW1wVGFibGVzLnNpemUoKSA6IDA7IH0K
QEAgLTU1Niw5ICs1NTIsNiBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgc3RydWN0IFJhcmVE
YXRhIDogRmFzdEFsbG9jQmFzZSB7CiAgICAgICAgICAgICBWZWN0b3I8SGFuZGxlckluZm8+IG1f
ZXhjZXB0aW9uSGFuZGxlcnM7CiAKLSAgICAgICAgICAgIC8vIFJhcmUgQ29uc3RhbnRzCi0gICAg
ICAgICAgICBWZWN0b3I8UmVmUHRyPFJlZ0V4cD4gPiBtX3JlZ2V4cHM7Ci0KICAgICAgICAgICAg
IC8vIEp1bXAgVGFibGVzCiAgICAgICAgICAgICBWZWN0b3I8U2ltcGxlSnVtcFRhYmxlPiBtX2lt
bWVkaWF0ZVN3aXRjaEp1bXBUYWJsZXM7CiAgICAgICAgICAgICBWZWN0b3I8U2ltcGxlSnVtcFRh
YmxlPiBtX2NoYXJhY3RlclN3aXRjaEp1bXBUYWJsZXM7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9PcGNvZGUuaCBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09wY29kZS5o
CmluZGV4IDUwOWRhZWIuLjBhN2YzZmEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL09wY29kZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09wY29kZS5oCkBAIC00
Niw3ICs0Niw2IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBcCiAgICAgICAgIG1hY3JvKG9w
X25ld19vYmplY3QsIDIpIFwKICAgICAgICAgbWFjcm8ob3BfbmV3X2FycmF5LCA0KSBcCi0gICAg
ICAgIG1hY3JvKG9wX25ld19yZWdleHAsIDMpIFwKICAgICAgICAgbWFjcm8ob3BfbW92LCAzKSBc
CiAgICAgICAgIFwKICAgICAgICAgbWFjcm8ob3Bfbm90LCAzKSBcCmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwIGIvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAppbmRleCBlNDZiYjE1Li5h
YTVjNWY5IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVH
ZW5lcmF0b3IuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdl
bmVyYXRvci5jcHAKQEAgLTM0LDYgKzM0LDggQEAKICNpbmNsdWRlICJQcm90b3R5cGVGdW5jdGlv
bi5oIgogI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKICNpbmNsdWRlICJJbnRlcnByZXRlci5oIgor
I2luY2x1ZGUgIlJlZ0V4cC5oIgorI2luY2x1ZGUgIlJlZ0V4cE9iamVjdC5oIgogI2luY2x1ZGUg
IlVTdHJpbmcuaCIKIAogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKQEAgLTgyNywxMSArODI5LDYgQEAg
UmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmFkZENvbnN0YW50VmFsdWUoSlNWYWx1ZSB2
KQogICAgIHJldHVybiAmbV9jb25zdGFudFBvb2xSZWdpc3RlcnNbaW5kZXhdOwogfQogCi11bnNp
Z25lZCBCeXRlY29kZUdlbmVyYXRvcjo6YWRkUmVnRXhwKFJlZ0V4cCogcikKLXsKLSAgICByZXR1
cm4gbV9jb2RlQmxvY2stPmFkZFJlZ0V4cChyKTsKLX0KLQogUmVnaXN0ZXJJRCogQnl0ZWNvZGVH
ZW5lcmF0b3I6OmVtaXRNb3ZlKFJlZ2lzdGVySUQqIGRzdCwgUmVnaXN0ZXJJRCogc3JjKQogewog
ICAgIGVtaXRPcGNvZGUob3BfbW92KTsKQEAgLTk4Miw2ICs5NzksMTIgQEAgUmVnaXN0ZXJJRCog
Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRMb2FkKFJlZ2lzdGVySUQqIGRzdCwgY29uc3QgSWRlbnRp
ZmllciYgaWRlbnQKICAgICByZXR1cm4gZW1pdExvYWQoZHN0LCBKU1ZhbHVlKHN0cmluZ0luTWFw
KSk7CiB9CiAKK1JlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TG9hZChSZWdpc3Rl
cklEKiBkc3QsIFJlZ0V4cCogcmVnRXhwKQoreworICAgIEpTVmFsdWUganNSZWdFeHAgPSBuZXcg
KGdsb2JhbERhdGEoKSkgUmVnRXhwT2JqZWN0KG1fc2NvcGVDaGFpbi0+Z2xvYmFsT2JqZWN0KCkt
PnJlZ0V4cFN0cnVjdHVyZSgpLCByZWdFeHApOworICAgIHJldHVybiBlbWl0TG9hZChkc3QsIGpz
UmVnRXhwKTsKK30KKwogUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRMb2FkKFJl
Z2lzdGVySUQqIGRzdCwgSlNWYWx1ZSB2KQogewogICAgIFJlZ2lzdGVySUQqIGNvbnN0YW50SUQg
PSBhZGRDb25zdGFudFZhbHVlKHYpOwpAQCAtMTM2MSwxNSArMTM2NCw2IEBAIFJlZ2lzdGVySUQq
IEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3RnVuY3Rpb24oUmVnaXN0ZXJJRCogZHN0LCBGdW5j
dGlvbkJvZHlOb2RlCiAgICAgcmV0dXJuIGRzdDsKIH0KIAotUmVnaXN0ZXJJRCogQnl0ZWNvZGVH
ZW5lcmF0b3I6OmVtaXROZXdSZWdFeHAoUmVnaXN0ZXJJRCogZHN0LCBSZWdFeHAqIHJlZ0V4cCkK
LXsKLSAgICBlbWl0T3Bjb2RlKG9wX25ld19yZWdleHApOwotICAgIGluc3RydWN0aW9ucygpLmFw
cGVuZChkc3QtPmluZGV4KCkpOwotICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChhZGRSZWdFeHAo
cmVnRXhwKSk7Ci0gICAgcmV0dXJuIGRzdDsKLX0KLQotCiBSZWdpc3RlcklEKiBCeXRlY29kZUdl
bmVyYXRvcjo6ZW1pdE5ld0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiByMCwgRnVuY0V4
cHJOb2RlKiBuKQogewogICAgIEZ1bmN0aW9uQm9keU5vZGUqIGZ1bmN0aW9uID0gbi0+Ym9keSgp
OwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJh
dG9yLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaApp
bmRleCA4YjZhNDI1Li45MTkxODNlIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29t
cGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGls
ZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaApAQCAtMjY0LDYgKzI2NCw3IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TG9hZChSZWdpc3RlcklEKiBkc3QsIGJvb2wpOwog
ICAgICAgICBSZWdpc3RlcklEKiBlbWl0TG9hZChSZWdpc3RlcklEKiBkc3QsIGRvdWJsZSk7CiAg
ICAgICAgIFJlZ2lzdGVySUQqIGVtaXRMb2FkKFJlZ2lzdGVySUQqIGRzdCwgY29uc3QgSWRlbnRp
ZmllciYpOworICAgICAgICBSZWdpc3RlcklEKiBlbWl0TG9hZChSZWdpc3RlcklEKiBkc3QsIFJl
Z0V4cCogcmVnRXhwKTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdExvYWQoUmVnaXN0ZXJJRCog
ZHN0LCBKU1ZhbHVlKTsKIAogICAgICAgICBSZWdpc3RlcklEKiBlbWl0VW5hcnlPcChPcGNvZGVJ
RCwgUmVnaXN0ZXJJRCogZHN0LCBSZWdpc3RlcklEKiBzcmMpOwpAQCAtMjc2LDcgKzI3Nyw2IEBA
IG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdGdW5jdGlvbihS
ZWdpc3RlcklEKiBkc3QsIEZ1bmN0aW9uQm9keU5vZGUqIGJvZHkpOwogICAgICAgICBSZWdpc3Rl
cklEKiBlbWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIGRzdCwgRnVuY0V4cHJO
b2RlKiBmdW5jKTsKLSAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld1JlZ0V4cChSZWdpc3RlcklE
KiBkc3QsIFJlZ0V4cCogcmVnRXhwKTsKIAogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TW92ZShS
ZWdpc3RlcklEKiBkc3QsIFJlZ2lzdGVySUQqIHNyYyk7CiAKQEAgLTQ0Niw3ICs0NDYsNiBAQCBu
YW1lc3BhY2UgSlNDIHsKIAogICAgICAgICB1bnNpZ25lZCBhZGRDb25zdGFudChjb25zdCBJZGVu
dGlmaWVyJik7CiAgICAgICAgIFJlZ2lzdGVySUQqIGFkZENvbnN0YW50VmFsdWUoSlNWYWx1ZSk7
Ci0gICAgICAgIHVuc2lnbmVkIGFkZFJlZ0V4cChSZWdFeHAqKTsKIAogICAgICAgICBQYXNzUmVm
UHRyPEZ1bmN0aW9uRXhlY3V0YWJsZT4gbWFrZUZ1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgRnVu
Y3Rpb25Cb2R5Tm9kZSogYm9keSkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29t
cGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAppbmRleCBlNjgyYzczLi5hYWYyZGQxIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAorKysgYi9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAtMTQ5LDcgKzE0OSw3
IEBAIFJlZ2lzdGVySUQqIFJlZ0V4cE5vZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRv
ciYgZ2VuZXJhdG9yLCBSZWdpc3RlcklEKiBkCiAgICAgICAgIHJldHVybiBlbWl0VGhyb3dFcnJv
cihnZW5lcmF0b3IsIFN5bnRheEVycm9yLCAiSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb246ICVz
IiwgcmVnRXhwLT5lcnJvck1lc3NhZ2UoKSk7CiAgICAgaWYgKGRzdCA9PSBnZW5lcmF0b3IuaWdu
b3JlZFJlc3VsdCgpKQogICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gZ2VuZXJhdG9yLmVt
aXROZXdSZWdFeHAoZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRpb24oZHN0KSwgcmVnRXhwLmdldCgp
KTsKKyAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXRMb2FkKGdlbmVyYXRvci5maW5hbERlc3RpbmF0
aW9uKGRzdCksIHJlZ0V4cC5nZXQoKSk7CiB9CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLSBUaGlzTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAgYi9K
YXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKaW5kZXggZmE1ZDcyYy4u
MTczNWFlYSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0
ZXIuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcApA
QCAtMTIzNywyMCArMTIzNyw2IEBAIEpTVmFsdWUgSW50ZXJwcmV0ZXI6OnByaXZhdGVFeGVjdXRl
KEV4ZWN1dGlvbkZsYWcgZmxhZywgUmVnaXN0ZXJGaWxlKiByZWdpc3RlckZpCiAgICAgICAgIHZQ
QyArPSBPUENPREVfTEVOR1RIKG9wX25ld19hcnJheSk7CiAgICAgICAgIE5FWFRfSU5TVFJVQ1RJ
T04oKTsKICAgICB9Ci0gICAgREVGSU5FX09QQ09ERShvcF9uZXdfcmVnZXhwKSB7Ci0gICAgICAg
IC8qIG5ld19yZWdleHAgZHN0KHIpIHJlZ0V4cChyZSkKLQotICAgICAgICAgICBDb25zdHJ1Y3Rz
IGEgbmV3IFJlZ0V4cCBpbnN0YW5jZSB1c2luZyB0aGUgb3JpZ2luYWwKLSAgICAgICAgICAgY29u
c3RydWN0b3IgZnJvbSByZWdleHAgcmVnRXhwLCBhbmQgcHV0cyB0aGUgcmVzdWx0IGluCi0gICAg
ICAgICAgIHJlZ2lzdGVyIGRzdC4KLSAgICAgICAgKi8KLSAgICAgICAgaW50IGRzdCA9IHZQQ1sx
XS51Lm9wZXJhbmQ7Ci0gICAgICAgIGludCByZWdFeHAgPSB2UENbMl0udS5vcGVyYW5kOwotICAg
ICAgICBjYWxsRnJhbWUtPnIoZHN0KSA9IEpTVmFsdWUobmV3IChnbG9iYWxEYXRhKSBSZWdFeHBP
YmplY3QoY2FsbEZyYW1lLT5zY29wZUNoYWluKCktPmdsb2JhbE9iamVjdC0+cmVnRXhwU3RydWN0
dXJlKCksIGNhbGxGcmFtZS0+Y29kZUJsb2NrKCktPnJlZ2V4cChyZWdFeHApKSk7Ci0KLSAgICAg
ICAgdlBDICs9IE9QQ09ERV9MRU5HVEgob3BfbmV3X3JlZ2V4cCk7Ci0gICAgICAgIE5FWFRfSU5T
VFJVQ1RJT04oKTsKLSAgICB9CiAgICAgREVGSU5FX09QQ09ERShvcF9tb3YpIHsKICAgICAgICAg
LyogbW92IGRzdChyKSBzcmMocikKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VC5jcHAgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAppbmRleCBiNDE0MTAxLi5lYzIzZDhj
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAorKysgYi9KYXZhU2NyaXB0
Q29yZS9qaXQvSklULmNwcApAQCAtMjc1LDcgKzI3NSw2IEBAIHZvaWQgSklUOjpwcml2YXRlQ29t
cGlsZU1haW5QYXNzKCkKICAgICAgICAgREVGSU5FX09QKG9wX25ld19mdW5jKQogICAgICAgICBE
RUZJTkVfT1Aob3BfbmV3X2Z1bmNfZXhwKQogICAgICAgICBERUZJTkVfT1Aob3BfbmV3X29iamVj
dCkKLSAgICAgICAgREVGSU5FX09QKG9wX25ld19yZWdleHApCiAgICAgICAgIERFRklORV9PUChv
cF9uZXh0X3BuYW1lKQogICAgICAgICBERUZJTkVfT1Aob3Bfbm90KQogICAgICAgICBERUZJTkVf
T1Aob3BfbnN0cmljdGVxKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oIGIv
SmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCmluZGV4IDlkYjhkZTcuLmU3NTcxMTIgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
LmgKQEAgLTgyMSw3ICs4MjEsNiBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBlbWl0
X29wX25ld19mdW5jKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfZnVu
Y19leHAoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX25ld19vYmplY3QoSW5z
dHJ1Y3Rpb24qKTsKLSAgICAgICAgdm9pZCBlbWl0X29wX25ld19yZWdleHAoSW5zdHJ1Y3Rpb24q
KTsKICAgICAgICAgdm9pZCBlbWl0X29wX2dldF9wbmFtZXMoSW5zdHJ1Y3Rpb24qKTsKICAgICAg
ICAgdm9pZCBlbWl0X29wX25leHRfcG5hbWUoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBl
bWl0X29wX25vdChJbnN0cnVjdGlvbiopOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaml0
L0pJVE9wY29kZXMuY3BwIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCmluZGV4
IGViNmE0ZmQuLjBkZDZhNDAgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNv
ZGVzLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKQEAgLTExNzMs
MTMgKzExNzMsNiBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9uZXdfZnVuY19leHAoSW5zdHJ1Y3Rpb24q
IGN1cnJlbnRJbnN0cnVjdGlvbikKICAgICBzdHViQ2FsbC5jYWxsKGN1cnJlbnRJbnN0cnVjdGlv
blsxXS51Lm9wZXJhbmQpOwogfQogCi12b2lkIEpJVDo6ZW1pdF9vcF9uZXdfcmVnZXhwKEluc3Ry
dWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCi17Ci0gICAgSklUU3R1YkNhbGwgc3R1YkNhbGwo
dGhpcywgY3RpX29wX25ld19yZWdleHApOwotICAgIHN0dWJDYWxsLmFkZEFyZ3VtZW50KEltbVB0
cihtX2NvZGVCbG9jay0+cmVnZXhwKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpKSk7
Ci0gICAgc3R1YkNhbGwuY2FsbChjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKTsKLX0K
LQogdm9pZCBKSVQ6OmVtaXRfb3BfdGhyb3coSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlv
bikKIHsKICAgICB1bnNpZ25lZCBleGNlcHRpb24gPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5v
cGVyYW5kOwpAQCAtMjQ0NiwxMyArMjQzOSw2IEBAIHZvaWQgSklUOjplbWl0X29wX2JpdHhvcihJ
bnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogICAgIGVtaXRQdXRWaXJ0dWFsUmVnaXN0
ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCk7CiB9CiAKLXZvaWQgSklUOjplbWl0
X29wX25ld19yZWdleHAoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKLXsKLSAgICBK
SVRTdHViQ2FsbCBzdHViQ2FsbCh0aGlzLCBjdGlfb3BfbmV3X3JlZ2V4cCk7Ci0gICAgc3R1YkNh
bGwuYWRkQXJndW1lbnQoSW1tUHRyKG1fY29kZUJsb2NrLT5yZWdleHAoY3VycmVudEluc3RydWN0
aW9uWzJdLnUub3BlcmFuZCkpKTsKLSAgICBzdHViQ2FsbC5jYWxsKGN1cnJlbnRJbnN0cnVjdGlv
blsxXS51Lm9wZXJhbmQpOwotfQotCiB2b2lkIEpJVDo6ZW1pdF9vcF9iaXRvcihJbnN0cnVjdGlv
biogY3VycmVudEluc3RydWN0aW9uKQogewogICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXJzKGN1
cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQsIHJlZ1QwLCBjdXJyZW50SW5zdHJ1Y3Rpb25b
M10udS5vcGVyYW5kLCByZWdUMSk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
U3R1YnMuY3BwIGIvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmNwcAppbmRleCBhZjMzZjY5
Li5jMzJmMmNlIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuY3BwCisr
KyBiL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5jcHAKQEAgLTI4NTgsMTMgKzI4NTgsNiBA
QCBERUZJTkVfU1RVQl9GVU5DVElPTihFbmNvZGVkSlNWYWx1ZSwgb3BfYml0eG9yKQogICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKIH0KIAotREVGSU5FX1NUVUJfRlVOQ1RJT04o
SlNPYmplY3QqLCBvcF9uZXdfcmVnZXhwKQotewotICAgIFNUVUJfSU5JVF9TVEFDS19GUkFNRShz
dGFja0ZyYW1lKTsKLQotICAgIHJldHVybiBuZXcgKHN0YWNrRnJhbWUuZ2xvYmFsRGF0YSkgUmVn
RXhwT2JqZWN0KHN0YWNrRnJhbWUuY2FsbEZyYW1lLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPnJl
Z0V4cFN0cnVjdHVyZSgpLCBzdGFja0ZyYW1lLmFyZ3NbMF0ucmVnRXhwKCkpOwotfQotCiBERUZJ
TkVfU1RVQl9GVU5DVElPTihFbmNvZGVkSlNWYWx1ZSwgb3BfYml0b3IpCiB7CiAgICAgU1RVQl9J
TklUX1NUQUNLX0ZSQU1FKHN0YWNrRnJhbWUpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUv
aml0L0pJVFN0dWJzLmggYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuaAppbmRleCAyMTc1
MTQ2Li5mNDE5YzhjIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuaAor
KysgYi9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuaApAQCAtMzUwLDcgKzM1MCw2IEBAIGV4
dGVybiAiQyIgewogICAgIEpTT2JqZWN0KiBKSVRfU1RVQiBjdGlfb3BfbmV3X2Z1bmMoU1RVQl9B
UkdTX0RFQ0xBUkFUSU9OKTsKICAgICBKU09iamVjdCogSklUX1NUVUIgY3RpX29wX25ld19mdW5j
X2V4cChTVFVCX0FSR1NfREVDTEFSQVRJT04pOwogICAgIEpTT2JqZWN0KiBKSVRfU1RVQiBjdGlf
b3BfbmV3X29iamVjdChTVFVCX0FSR1NfREVDTEFSQVRJT04pOwotICAgIEpTT2JqZWN0KiBKSVRf
U1RVQiBjdGlfb3BfbmV3X3JlZ2V4cChTVFVCX0FSR1NfREVDTEFSQVRJT04pOwogICAgIEpTT2Jq
ZWN0KiBKSVRfU1RVQiBjdGlfb3BfcHVzaF9hY3RpdmF0aW9uKFNUVUJfQVJHU19ERUNMQVJBVElP
Tik7CiAgICAgSlNPYmplY3QqIEpJVF9TVFVCIGN0aV9vcF9wdXNoX25ld19zY29wZShTVFVCX0FS
R1NfREVDTEFSQVRJT04pOwogICAgIEpTT2JqZWN0KiBKSVRfU1RVQiBjdGlfb3BfcHVzaF9zY29w
ZShTVFVCX0FSR1NfREVDTEFSQVRJT04pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGJlZTI2ZDguLmFjNmEyNDIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyMCBAQAorMjAxMC0wNC0yMCAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtF
UzVdIFJlZ0V4cCBsaXRlcmFscyBhcmUgY29uc3RhbnRzIHRoYXQgc2hvdWxkIGJlIHBlcnNpc3Rl
bnQgYWNyb3NzIG11bHRpcGxlIGZ1bmN0aW9uIGNhbGxzLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzc5MDgKKworICAgICAgICBBZGQgdGVzdHMgdG8g
ZW5zdXJlIGNvcnJlY3QgcGVyc2lzdGVuY2Ugb2YgUmVnRXhwIGxpdGVyYWxzLCBhbmQgY29ycmVj
dGx5IGF2b2lkCisgICAgICAgIHNoYXJpbmcgImlkZW50aWNhbCIgcmVnZXhwcyB1c2VkIGluIGRp
ZmZlcmVudCBwbGFjZXMuCisKKyAgICAgICAgKiBmYXN0L2pzL3JlZ2V4cC1saXRlcmFscy1hcmUt
Y29uc3RhbnRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9yZWdleHAt
bGl0ZXJhbHMtYXJlLWNvbnN0YW50cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL3Nj
cmlwdC10ZXN0cy9yZWdleHAtbGl0ZXJhbHMtYXJlLWNvbnN0YW50cy5qczogQWRkZWQuCisgICAg
ICAgICh0ZXN0MSk6CisgICAgICAgIChyZXR1cm5SZWdFeHBMaXRlcmFsKToKKyAgICAgICAgKHJl
dHVybkNvbmRpdGlvbmFsUmVnRXhwTGl0ZXJhbCk6CisKIDIwMTAtMDQtMjAgIFNoaW5pY2hpcm8g
SGFtYWppICA8aGFtYWppQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJp
biBBZGxlciBhbmQgQWxleGV5IFByb3NrdXJ5YWtvdi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvanMvcmVnZXhwLWxpdGVyYWxzLWFyZS1jb25zdGFudHMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9qcy9yZWdleHAtbGl0ZXJhbHMtYXJlLWNvbnN0YW50cy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGY0NTc4NgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvcmVnZXhwLWxpdGVyYWxzLWFyZS1jb25zdGFu
dHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK1RoaXMgdGVzdCBlbnN1cmVzIHRoYXQg
cmVnZXVsYXIgZXhwcmVzc2lvbiBsaXRlcmFscyBhcmUgY29uc3RhbnRzLCBhbmQgc28gcGVyc2lz
dCBvdmVyIG11bHRpcGxlIGV4ZWN1dGlvbnMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK1BBU1MgY3VycmVudFJlZ0V4cCBpcyBsYXN0UmVnRXhwCitQQVNTIGN1cnJlbnRSZWdFeHAg
aXMgbGFzdFJlZ0V4cAorUEFTUyByZXR1cm5SZWdFeHBMaXRlcmFsKCkgaXMgcmV0dXJuUmVnRXhw
TGl0ZXJhbCgpCitQQVNTIHJldHVybkNvbmRpdGlvbmFsUmVnRXhwTGl0ZXJhbCh0cnVlKSBpcyBy
ZXR1cm5Db25kaXRpb25hbFJlZ0V4cExpdGVyYWwodHJ1ZSkKK1BBU1MgcmV0dXJuQ29uZGl0aW9u
YWxSZWdFeHBMaXRlcmFsKGZhbHNlKSBpcyByZXR1cm5Db25kaXRpb25hbFJlZ0V4cExpdGVyYWwo
ZmFsc2UpCitQQVNTIHJldHVybkNvbmRpdGlvbmFsUmVnRXhwTGl0ZXJhbCh0cnVlKSA9PT0gcmV0
dXJuQ29uZGl0aW9uYWxSZWdFeHBMaXRlcmFsKGZhbHNlKSBpcyBmYWxzZQorUEFTUyByZXR1cm5S
ZWdFeHBMaXRlcmFsKCkuc29tZUFkZGVkUHJvcGVydHkgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvanMvcmVnZXhwLWxpdGVyYWxzLWFyZS1jb25zdGFudHMuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvanMvcmVnZXhwLWxpdGVyYWxzLWFyZS1jb25zdGFudHMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OGRmNTg0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9qcy9yZWdleHAtbGl0ZXJhbHMtYXJlLWNvbnN0YW50cy5odG1sCkBAIC0w
LDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNl
cy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvcmVn
ZXhwLWxpdGVyYWxzLWFyZS1jb25zdGFudHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvcmVnZXhwLWxpdGVyYWxz
LWFyZS1jb25zdGFudHMuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9yZWdl
eHAtbGl0ZXJhbHMtYXJlLWNvbnN0YW50cy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi45NGUxMDVmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9z
Y3JpcHQtdGVzdHMvcmVnZXhwLWxpdGVyYWxzLWFyZS1jb25zdGFudHMuanMKQEAgLTAsMCArMSwz
NiBAQAorZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBlbnN1cmVzIHRoYXQgcmVnZXVsYXIgZXhwcmVz
c2lvbiBsaXRlcmFscyBhcmUgY29uc3RhbnRzLCBhbmQgc28gcGVyc2lzdCBvdmVyIG11bHRpcGxl
IGV4ZWN1dGlvbnMiKTsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAyOyBpKyspIHsKKyAgICBjdXJy
ZW50UmVnRXhwID0gL2EvOworICAgIGlmIChpKQorICAgICAgICBzaG91bGRCZSgiY3VycmVudFJl
Z0V4cCIsICJsYXN0UmVnRXhwIik7CisgICAgbGFzdFJlZ0V4cCA9IGN1cnJlbnRSZWdFeHA7Cit9
CisKK2Z1bmN0aW9uIHRlc3QxKCkgeworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMjsgaSsrKSB7
CisgICAgICAgIGN1cnJlbnRSZWdFeHAgPSAvYS87CisgICAgICAgIGlmIChpKQorICAgICAgICAg
ICAgc2hvdWxkQmUoImN1cnJlbnRSZWdFeHAiLCAibGFzdFJlZ0V4cCIpOworICAgICAgICBsYXN0
UmVnRXhwID0gY3VycmVudFJlZ0V4cDsKKyAgICB9Cit9Cit0ZXN0MSgpOworCitmdW5jdGlvbiBy
ZXR1cm5SZWdFeHBMaXRlcmFsKCkgeyByZXR1cm4gL2EvIH0KKworc2hvdWxkQmUoInJldHVyblJl
Z0V4cExpdGVyYWwoKSIsICJyZXR1cm5SZWdFeHBMaXRlcmFsKCkiKTsKKworZnVuY3Rpb24gcmV0
dXJuQ29uZGl0aW9uYWxSZWdFeHBMaXRlcmFsKGZpcnN0KSB7CisgICAgaWYgKGZpcnN0KQorICAg
ICAgICByZXR1cm4gL2EvOworICAgIHJldHVybiAvYS87Cit9CisKK3Nob3VsZEJlKCJyZXR1cm5D
b25kaXRpb25hbFJlZ0V4cExpdGVyYWwodHJ1ZSkiLCAicmV0dXJuQ29uZGl0aW9uYWxSZWdFeHBM
aXRlcmFsKHRydWUpIik7CitzaG91bGRCZSgicmV0dXJuQ29uZGl0aW9uYWxSZWdFeHBMaXRlcmFs
KGZhbHNlKSIsICJyZXR1cm5Db25kaXRpb25hbFJlZ0V4cExpdGVyYWwoZmFsc2UpIik7CitzaG91
bGRCZUZhbHNlKCJyZXR1cm5Db25kaXRpb25hbFJlZ0V4cExpdGVyYWwodHJ1ZSkgPT09IHJldHVy
bkNvbmRpdGlvbmFsUmVnRXhwTGl0ZXJhbChmYWxzZSkiKTsKK3JldHVyblJlZ0V4cExpdGVyYWwo
KS5zb21lQWRkZWRQcm9wZXJ0eSA9IHRydWU7CitzaG91bGRCZVRydWUoInJldHVyblJlZ0V4cExp
dGVyYWwoKS5zb21lQWRkZWRQcm9wZXJ0eSIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsK
</data>
<flag name="review"
          id="37747"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>