<?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>77378</bug_id>
          
          <creation_ts>2012-01-30 15:58:43 -0800</creation_ts>
          <short_desc>Enable memcache on webkit-perf.appspot.com</short_desc>
          <delta_ts>2012-01-30 17:54:18 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          <dependson>77258</dependson>
          <blocked>77037</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>abarth</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>545525</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-01-30 15:58:43 -0800</bug_when>
    <thetext>webkit-perf.appspot.com is super slow due to each page accessing the storage on every page access. We should enable memcache on all JSON APIs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545563</commentid>
    <comment_count>1</comment_count>
      <attachid>124623</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-01-30 16:20:05 -0800</bug_when>
    <thetext>Created attachment 124623
Enables memcache</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545566</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-30 16:22:06 -0800</bug_when>
    <thetext>Attachment 124623 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;ChangeLog&apos;, u&apos;Websites/webkit-perf.appspot...&quot; exit_code: 1

Websites/webkit-perf.appspot.com/dashboard_handler.py:43:  multiple statements on one line (semicolon)  [pep8/E702] [5]
Total errors found: 1 in 9 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>545569</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-01-30 16:23:07 -0800</bug_when>
    <thetext>&quot;;&quot; in content-type again :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545641</commentid>
    <comment_count>4</comment_count>
      <attachid>124623</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-01-30 17:32:47 -0800</bug_when>
    <thetext>Comment on attachment 124623
Enables memcache

View in context: https://bugs.webkit.org/attachment.cgi?id=124623&amp;action=review

Feel free to ignore these style issues.  (If you&apos;d like to ignore them, let me know and I&apos;ll stop randomly flagging them.)

&gt; Websites/webkit-perf.appspot.com/report_handler.py:89
&gt; +        for testName, result in self._body[&apos;results&apos;].iteritems():

testName =&gt; test_name

&gt; Websites/webkit-perf.appspot.com/runs_handler.py:64
&gt; +        cacheKey = Test.cacheKey(testId, branchId, platformId)

cacheKey =&gt; cache_key</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545642</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-01-30 17:34:49 -0800</bug_when>
    <thetext>I&apos;ll land the current patch as is and will rename all variables and function names on a dedicated bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545644</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-01-30 17:36:23 -0800</bug_when>
    <thetext>Committed r106308: &lt;http://trac.webkit.org/changeset/106308&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124623</attachid>
            <date>2012-01-30 16:20:05 -0800</date>
            <delta_ts>2012-01-30 17:32:47 -0800</delta_ts>
            <desc>Enables memcache</desc>
            <filename>bug-77378-20120130162004.patch</filename>
            <type>text/plain</type>
            <size>12248</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDEwNjI5
NykKKysrIENoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDEyLTAx
LTMwICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEVuYWJsZSBt
ZW1jYWNoZSBvbiB3ZWJraXQtcGVyZi5hcHBzcG90LmNvbQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNzgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFYW5ibGUgbWVtY2FjaGUgb24gZGFzaGJvYXJkLCBt
YW5pZmVzdCwgYW5kIHJ1bnMgaGFuZGxlcnMuIENsZWFyIGFwcHJvcHJpYXRlIGNhY2hlcyB3aGVu
IG5ldyBydW5zIGFyZSByZXBvcnRlZCwKKyAgICAgICAgb3IgbmV3IG1vZGVscyBhcmUgY3JlYXRl
ZC4gV2UgZmx1c2ggYWxsIGNhY2hlcyB3aGVuIHRlc3RzIGFyZSBtZXJnZWQgc2luY2UgaXQncyBo
YXJkIHRvIGZpZ3VyZSBvdXQgZGVwZW5kZW5jaWVzCisgICAgICAgIGluIHRoYXQgY2FzZS4gTHVj
a2lseSwgd2UgbWVyZ2UgdGVzdHMgb25seSBvY2Nhc3Npb25hbGx5IGFuZCBtYW51YWxseSAob3Ig
aG9wZSBzbykgc28gdGhpcyBzaG91bGRuJ3QgYmUgYW4gaXNzdWUuCisKKyAgICAgICAgKiBXZWJz
aXRlcy93ZWJraXQtcGVyZi5hcHBzcG90LmNvbS9jcmVhdGVfaGFuZGxlci5weToKKyAgICAgICAg
KENyZWF0ZUhhbmRsZXIucG9zdCk6CisgICAgICAgICogV2Vic2l0ZXMvd2Via2l0LXBlcmYuYXBw
c3BvdC5jb20vZGFzaGJvYXJkX2hhbmRsZXIucHk6CisgICAgICAgIChEYXNoYm9hcmRIYW5kbGVy
LmdldCk6CisgICAgICAgICogV2Vic2l0ZXMvd2Via2l0LXBlcmYuYXBwc3BvdC5jb20vbWFuaWZl
c3RfaGFuZGxlci5weToKKyAgICAgICAgKE1hbmlmZXN0SGFuZGxlci5nZXQpOgorICAgICAgICAq
IFdlYnNpdGVzL3dlYmtpdC1wZXJmLmFwcHNwb3QuY29tL21lcmdlX3Rlc3RzX2hhbmRsZXIucHk6
CisgICAgICAgIChNZXJnZVRlc3RzSGFuZGxlci5wb3N0KToKKyAgICAgICAgKiBXZWJzaXRlcy93
ZWJraXQtcGVyZi5hcHBzcG90LmNvbS9tb2RlbHMucHk6CisgICAgICAgIChjcmVhdGVJblRyYW5z
YWN0aW9uV2l0aE51bWVyaWNJZEhvbGRlcik6CisgICAgICAgIChUZXN0KToKKyAgICAgICAgKFRl
c3QuY2FjaGVLZXkpOgorICAgICAgICAqIFdlYnNpdGVzL3dlYmtpdC1wZXJmLmFwcHNwb3QuY29t
L3JlcG9ydF9oYW5kbGVyLnB5OgorICAgICAgICAoUmVwb3J0SGFuZGxlci5wb3N0KToKKyAgICAg
ICAgKFJlcG9ydEhhbmRsZXIuX2FkZFRlc3RJZk5lZWRlZCk6CisgICAgICAgICogV2Vic2l0ZXMv
d2Via2l0LXBlcmYuYXBwc3BvdC5jb20vcnVuc19oYW5kbGVyLnB5OgorICAgICAgICAoUnVuc0hh
bmRsZXIuZ2V0KToKKwogMjAxMi0wMS0zMCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9y
Zz4KIAogICAgICAgICB3ZWJraXQtcGVyZi5hcHBzcG90LmNvbSBzaG91bGQgaGF2ZSBhbiBhYmls
aXR5IHRvIG1lcmdlIHRlc3RzCkluZGV4OiBXZWJzaXRlcy93ZWJraXQtcGVyZi5hcHBzcG90LmNv
bS9hcHAueWFtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQtcGVyZi5hcHBzcG90LmNv
bS9hcHAueWFtbAkocmV2aXNpb24gMTA2Mjk1KQorKysgV2Vic2l0ZXMvd2Via2l0LXBlcmYuYXBw
c3BvdC5jb20vYXBwLnlhbWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiBhcHBsaWNh
dGlvbjogd2Via2l0LXBlcmYKLXZlcnNpb246IDkKK3ZlcnNpb246IDEwCiBydW50aW1lOiBweXRo
b24yNwogYXBpX3ZlcnNpb246IDEKIHRocmVhZHNhZmU6IGZhbHNlCkluZGV4OiBXZWJzaXRlcy93
ZWJraXQtcGVyZi5hcHBzcG90LmNvbS9jcmVhdGVfaGFuZGxlci5weQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJzaXRlcy93ZWJraXQtcGVyZi5hcHBzcG90LmNvbS9jcmVhdGVfaGFuZGxlci5weQkocmV2aXNp
b24gMTA2Mjk1KQorKysgV2Vic2l0ZXMvd2Via2l0LXBlcmYuYXBwc3BvdC5jb20vY3JlYXRlX2hh
bmRsZXIucHkJKHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDcgQEAKICMgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
IAogaW1wb3J0IHdlYmFwcDIKK2Zyb20gZ29vZ2xlLmFwcGVuZ2luZS5hcGkgaW1wb3J0IG1lbWNh
Y2hlCiBmcm9tIGdvb2dsZS5hcHBlbmdpbmUuZXh0IGltcG9ydCBkYgogCiBpbXBvcnQganNvbgpA
QCAtNjEsNiArNjIsOCBAQCBjbGFzcyBDcmVhdGVIYW5kbGVyKHdlYmFwcDIuUmVxdWVzdEhhbmRs
CiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBlcnJvciA9ICJVbmtub3duIG1vZGVsIHR5cGU6
ICVzXG4iICUgbW9kZWwKIAorICAgICAgICAjIE5vIG5lZWQgdG8gY2xlYXIgbWFuaWZlc3Qgb3Ig
cnVucyBzaW5jZSB0aGV5IG9ubHkgY29udGFpbiBvbmVzIHdpdGggdGVzdCByZXN1bHRzCisgICAg
ICAgIG1lbWNhY2hlLmRlbGV0ZSgnZGFzaGJvYXJkJykKICAgICAgICAgc2VsZi5yZXNwb25zZS5v
dXQud3JpdGUoZXJyb3IgKyAnXG4nIGlmIGVycm9yIGVsc2UgJ09LJykKIAogICAgIGRlZiBfY3Jl
YXRlQnVpbGRlcihzZWxmLCBuYW1lLCBwYXNzd29yZCk6CkluZGV4OiBXZWJzaXRlcy93ZWJraXQt
cGVyZi5hcHBzcG90LmNvbS9kYXNoYm9hcmRfaGFuZGxlci5weQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJz
aXRlcy93ZWJraXQtcGVyZi5hcHBzcG90LmNvbS9kYXNoYm9hcmRfaGFuZGxlci5weQkocmV2aXNp
b24gMTA2Mjk1KQorKysgV2Vic2l0ZXMvd2Via2l0LXBlcmYuYXBwc3BvdC5jb20vZGFzaGJvYXJk
X2hhbmRsZXIucHkJKHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDcgQEAKICMgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KIAogaW1wb3J0IHdlYmFwcDIKK2Zyb20gZ29vZ2xlLmFwcGVuZ2luZS5hcGkgaW1wb3J0IG1l
bWNhY2hlCiAKIGltcG9ydCBqc29uCiAKQEAgLTM5LDYgKzQwLDEzIEBAIGZyb20gbW9kZWxzIGlt
cG9ydCBUZXN0CiAKIGNsYXNzIERhc2hib2FyZEhhbmRsZXIod2ViYXBwMi5SZXF1ZXN0SGFuZGxl
cik6CiAgICAgZGVmIGdldChzZWxmKToKKyAgICAgICAgc2VsZi5yZXNwb25zZS5oZWFkZXJzWydD
b250ZW50LVR5cGUnXSA9ICdhcHBsaWNhdGlvbi9qc29uOyBjaGFyc2V0PXV0Zi04JzsKKworICAg
ICAgICBjYWNoZSA9IG1lbWNhY2hlLmdldCgnZGFzaGJvYXJkJykKKyAgICAgICAgaWYgY2FjaGU6
CisgICAgICAgICAgICBzZWxmLnJlc3BvbnNlLm91dC53cml0ZShjYWNoZSkKKyAgICAgICAgICAg
IHJldHVybgorCiAgICAgICAgIHdlYmtpdFRydW5rID0gQnJhbmNoLmdldF9ieV9rZXlfbmFtZSgn
d2Via2l0LXRydW5rJykKIAogICAgICAgICAjIEZJWE1FOiBEZXRlcm1pbmUgcG9wdWxhciBicmFu
Y2hlcywgcGxhdGZvcm1zLCBhbmQgdGVzdHMKQEAgLTU1LDUgKzYzLDYgQEAgY2xhc3MgRGFzaGJv
YXJkSGFuZGxlcih3ZWJhcHAyLlJlcXVlc3RIYQogICAgICAgICBmb3IgdGVzdCBpbiBUZXN0LmFs
bCgpOgogICAgICAgICAgICAgZGFzaGJvYXJkWyd0ZXN0VG9JZCddW3Rlc3QubmFtZV0gPSB0ZXN0
LmlkCiAKLSAgICAgICAgc2VsZi5yZXNwb25zZS5oZWFkZXJzWydDb250ZW50LVR5cGUnXSA9ICdh
cHBsaWNhdGlvbi9qc29uOyBjaGFyc2V0PXV0Zi04JzsKLSAgICAgICAgc2VsZi5yZXNwb25zZS5v
dXQud3JpdGUoanNvbi5kdW1wcyhkYXNoYm9hcmQpKQorICAgICAgICByZXN1bHQgPSBqc29uLmR1
bXBzKGRhc2hib2FyZCkKKyAgICAgICAgc2VsZi5yZXNwb25zZS5vdXQud3JpdGUocmVzdWx0KQor
ICAgICAgICBtZW1jYWNoZS5hZGQoJ2Rhc2hib2FyZCcsIHJlc3VsdCkKSW5kZXg6IFdlYnNpdGVz
L3dlYmtpdC1wZXJmLmFwcHNwb3QuY29tL21hbmlmZXN0X2hhbmRsZXIucHkKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2Vic2l0ZXMvd2Via2l0LXBlcmYuYXBwc3BvdC5jb20vbWFuaWZlc3RfaGFuZGxlci5weQko
cmV2aXNpb24gMTA2Mjk1KQorKysgV2Vic2l0ZXMvd2Via2l0LXBlcmYuYXBwc3BvdC5jb20vbWFu
aWZlc3RfaGFuZGxlci5weQkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogIyBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgogCiBpbXBvcnQgd2ViYXBwMgorZnJvbSBnb29nbGUuYXBwZW5naW5lLmFwaSBpbXBv
cnQgbWVtY2FjaGUKIAogaW1wb3J0IGpzb24KIApAQCAtNDAsNyArNDEsMTAgQEAgZnJvbSBtb2Rl
bHMgaW1wb3J0IFRlc3QKIGNsYXNzIE1hbmlmZXN0SGFuZGxlcih3ZWJhcHAyLlJlcXVlc3RIYW5k
bGVyKToKICAgICBkZWYgZ2V0KHNlbGYpOgogICAgICAgICBzZWxmLnJlc3BvbnNlLmhlYWRlcnNb
J0NvbnRlbnQtVHlwZSddID0gJ3RleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgnOwotICAgICAgICBz
ZWxmLnJlc3BvbnNlLm91dC53cml0ZSgneyJ0ZXN0TWFwIjonKQorICAgICAgICBjYWNoZSA9IG1l
bWNhY2hlLmdldCgnbWFuaWZlc3QnKQorICAgICAgICBpZiBjYWNoZToKKyAgICAgICAgICAgIHNl
bGYucmVzcG9uc2Uub3V0LndyaXRlKGNhY2hlKQorICAgICAgICAgICAgcmV0dXJuCiAKICAgICAg
ICAgdGVzdE1hcCA9IHt9CiAgICAgICAgIHBsYXRmb3JtSWRNYXAgPSB7fQpAQCAtNjQsOSArNjgs
NiBAQCBjbGFzcyBNYW5pZmVzdEhhbmRsZXIod2ViYXBwMi5SZXF1ZXN0SGFuCiAgICAgICAgICAg
ICAgICAgYnJhbmNoSWRNYXBbYnJhbmNoSWRdWyd0ZXN0cyddLmFwcGVuZCh0ZXN0LmlkKQogICAg
ICAgICAgICAgICAgIGJyYW5jaElkTWFwW2JyYW5jaElkXVsncGxhdGZvcm1zJ10gKz0gcGxhdGZv
cm1JZHMKIAotICAgICAgICBzZWxmLnJlc3BvbnNlLm91dC53cml0ZShqc29uLmR1bXBzKHRlc3RN
YXApKQotICAgICAgICBzZWxmLnJlc3BvbnNlLm91dC53cml0ZSgnLCJwbGF0Zm9ybU1hcCI6JykK
LQogICAgICAgICBwbGF0Zm9ybU1hcCA9IHt9CiAgICAgICAgIGZvciBwbGF0Zm9ybSBpbiBQbGF0
Zm9ybS5hbGwoKToKICAgICAgICAgICAgIGlmIHBsYXRmb3JtLmlkIG5vdCBpbiBwbGF0Zm9ybUlk
TWFwOgpAQCAtNzcsOSArNzgsNiBAQCBjbGFzcyBNYW5pZmVzdEhhbmRsZXIod2ViYXBwMi5SZXF1
ZXN0SGFuCiAgICAgICAgICAgICAgICAgJ2JyYW5jaElkcyc6IGxpc3Qoc2V0KHBsYXRmb3JtSWRN
YXBbcGxhdGZvcm0uaWRdWydicmFuY2hlcyddKSksCiAgICAgICAgICAgICB9CiAKLSAgICAgICAg
c2VsZi5yZXNwb25zZS5vdXQud3JpdGUoanNvbi5kdW1wcyhwbGF0Zm9ybU1hcCkpCi0gICAgICAg
IHNlbGYucmVzcG9uc2Uub3V0LndyaXRlKCcsImJyYW5jaE1hcCI6JykKLQogICAgICAgICBicmFu
Y2hNYXAgPSB7fQogICAgICAgICBmb3IgYnJhbmNoIGluIEJyYW5jaC5hbGwoKToKICAgICAgICAg
ICAgIGlmIGJyYW5jaC5pZCBub3QgaW4gYnJhbmNoSWRNYXA6CkBAIC05MCw1ICs4OCw2IEBAIGNs
YXNzIE1hbmlmZXN0SGFuZGxlcih3ZWJhcHAyLlJlcXVlc3RIYW4KICAgICAgICAgICAgICAgICAn
cGxhdGZvcm1JZHMnOiBsaXN0KHNldChicmFuY2hJZE1hcFticmFuY2guaWRdWydwbGF0Zm9ybXMn
XSkpLAogICAgICAgICAgICAgfQogCi0gICAgICAgIHNlbGYucmVzcG9uc2Uub3V0LndyaXRlKGpz
b24uZHVtcHMoYnJhbmNoTWFwKSkKLSAgICAgICAgc2VsZi5yZXNwb25zZS5vdXQud3JpdGUoJ30n
KQorICAgICAgICByZXN1bHQgPSBqc29uLmR1bXBzKHsndGVzdE1hcCc6IHRlc3RNYXAsICdwbGF0
Zm9ybU1hcCc6IHBsYXRmb3JtTWFwLCAnYnJhbmNoTWFwJzogYnJhbmNoTWFwfSkKKyAgICAgICAg
c2VsZi5yZXNwb25zZS5vdXQud3JpdGUocmVzdWx0KQorICAgICAgICBtZW1jYWNoZS5hZGQoJ21h
bmlmZXN0JywgcmVzdWx0KQpJbmRleDogV2Vic2l0ZXMvd2Via2l0LXBlcmYuYXBwc3BvdC5jb20v
bWVyZ2VfdGVzdHNfaGFuZGxlci5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQtcGVy
Zi5hcHBzcG90LmNvbS9tZXJnZV90ZXN0c19oYW5kbGVyLnB5CShyZXZpc2lvbiAxMDYyOTUpCisr
KyBXZWJzaXRlcy93ZWJraXQtcGVyZi5hcHBzcG90LmNvbS9tZXJnZV90ZXN0c19oYW5kbGVyLnB5
CSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAjIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKIGltcG9y
dCB3ZWJhcHAyCitmcm9tIGdvb2dsZS5hcHBlbmdpbmUuYXBpIGltcG9ydCBtZW1jYWNoZQogZnJv
bSBnb29nbGUuYXBwZW5naW5lLmV4dC53ZWJhcHAgaW1wb3J0IHRlbXBsYXRlCiAKIGltcG9ydCBv
cwpAQCAtNTYsNiArNTcsMTAgQEAgY2xhc3MgTWVyZ2VUZXN0c0hhbmRsZXIod2ViYXBwMi5SZXF1
ZXN0SAogICAgICAgICAgICAgcmVzdWx0Lm5hbWUgPSBpbnRvLm5hbWUKICAgICAgICAgICAgIHJl
c3VsdC5wdXQoKQogCisgICAgICAgICMgSnVzdCBmbHVzaCBldmVyeXRpbmcgc2luY2Ugd2UgcmFy
ZWx5IG1lcmdlIHRlc3RzIGFuZCB3ZSBuZWVkIHRvIGZsdXNoCisgICAgICAgICMgZGFzaGJvYXJk
LCBtYW5pZmVzdCwgYW5kIGFsbCBydW5zIGZvciB0aGlzIHRlc3QgaGVyZS4KKyAgICAgICAgbWVt
Y2FjaGUuZmx1c2hfYWxsKCkKKwogICAgICAgICBkZWxldGVNb2RlbFdpdGhOdW1lcmljSWRIb2xk
ZXIobWVyZ2UpCiAKICAgICAgICAgc2VsZi5yZXNwb25zZS5vdXQud3JpdGUoJ09LJykKSW5kZXg6
IFdlYnNpdGVzL3dlYmtpdC1wZXJmLmFwcHNwb3QuY29tL21vZGVscy5weQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJzaXRlcy93ZWJraXQtcGVyZi5hcHBzcG90LmNvbS9tb2RlbHMucHkJKHJldmlzaW9uIDEw
NjI5NSkKKysrIFdlYnNpdGVzL3dlYmtpdC1wZXJmLmFwcHNwb3QuY29tL21vZGVscy5weQkod29y
a2luZyBjb3B5KQpAQCAtNTAsNyArNTAsNiBAQCBkZWYgY3JlYXRlSW5UcmFuc2FjdGlvbldpdGhO
dW1lcmljSWRIb2xkCiAgICAgICAgIGlkSG9sZGVyLmRlbGV0ZSgpCiAgICAgcmV0dXJuIG93bmVy
CiAKLQogZGVmIGRlbGV0ZU1vZGVsV2l0aE51bWVyaWNJZEhvbGRlcihtb2RlbCk6CiAgICAgaWRI
b2xkZXIgPSBOdW1lcmljSWRIb2xkZXIuZ2V0X2J5X2lkKG1vZGVsLmlkKQogICAgIG1vZGVsLmRl
bGV0ZSgpCkBAIC0xMDAsNiArOTksMTAgQEAgY2xhc3MgVGVzdChkYi5Nb2RlbCk6CiAgICAgYnJh
bmNoZXMgPSBkYi5MaXN0UHJvcGVydHkoZGIuS2V5KQogICAgIHBsYXRmb3JtcyA9IGRiLkxpc3RQ
cm9wZXJ0eShkYi5LZXkpCiAKKyAgICBAc3RhdGljbWV0aG9kCisgICAgZGVmIGNhY2hlS2V5KHRl
c3RJZCwgYnJhbmNoSWQsIHBsYXRmb3JtSWQpOgorICAgICAgICByZXR1cm4gJ3J1bnM6JWQsJWQs
JWQnICUgKHRlc3RJZCwgYnJhbmNoSWQsIHBsYXRmb3JtSWQpCisKIAogY2xhc3MgVGVzdFJlc3Vs
dChkYi5Nb2RlbCk6CiAgICAgbmFtZSA9IGRiLlN0cmluZ1Byb3BlcnR5KHJlcXVpcmVkPVRydWUp
CkluZGV4OiBXZWJzaXRlcy93ZWJraXQtcGVyZi5hcHBzcG90LmNvbS9yZXBvcnRfaGFuZGxlci5w
eQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy93ZWJraXQtcGVyZi5hcHBzcG90LmNvbS9yZXBvcnRf
aGFuZGxlci5weQkocmV2aXNpb24gMTA2Mjk1KQorKysgV2Vic2l0ZXMvd2Via2l0LXBlcmYuYXBw
c3BvdC5jb20vcmVwb3J0X2hhbmRsZXIucHkJKHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDcg
QEAKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KIAogaW1wb3J0IHdlYmFwcDIKK2Zyb20gZ29vZ2xlLmFwcGVuZ2lu
ZS5hcGkgaW1wb3J0IG1lbWNhY2hlCiBmcm9tIGdvb2dsZS5hcHBlbmdpbmUuZXh0IGltcG9ydCBk
YgogCiBpbXBvcnQganNvbgpAQCAtODUsMTcgKzg2LDIyIEBAIGNsYXNzIFJlcG9ydEhhbmRsZXIo
d2ViYXBwMi5SZXF1ZXN0SGFuZGwKICAgICAgICAgaWYgbm90IGJ1aWxkOgogICAgICAgICAgICAg
cmV0dXJuCiAKLSAgICAgICAgZm9yIHRlc3QsIHJlc3VsdCBpbiBzZWxmLl9ib2R5WydyZXN1bHRz
J10uaXRlcml0ZW1zKCk6Ci0gICAgICAgICAgICBzZWxmLl9hZGRUZXN0SWZOZWVkZWQodGVzdCwg
YnJhbmNoLCBwbGF0Zm9ybSkKKyAgICAgICAgZm9yIHRlc3ROYW1lLCByZXN1bHQgaW4gc2VsZi5f
Ym9keVsncmVzdWx0cyddLml0ZXJpdGVtcygpOgorICAgICAgICAgICAgdGVzdCA9IHNlbGYuX2Fk
ZFRlc3RJZk5lZWRlZCh0ZXN0TmFtZSwgYnJhbmNoLCBwbGF0Zm9ybSkKKyAgICAgICAgICAgIG1l
bWNhY2hlLmRlbGV0ZShUZXN0LmNhY2hlS2V5KHRlc3QuaWQsIGJyYW5jaC5pZCwgcGxhdGZvcm0u
aWQpKQogICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShyZXN1bHQsIGRpY3QpOgotICAgICAgICAg
ICAgICAgIFRlc3RSZXN1bHQobmFtZT10ZXN0LCBidWlsZD1idWlsZCwgdmFsdWU9ZmxvYXQocmVz
dWx0LmdldCgnYXZnJywgMCkpLCB2YWx1ZU1lZGlhbj1mbG9hdChyZXN1bHQuZ2V0KCdtZWRpYW4n
LCAwKSksCisgICAgICAgICAgICAgICAgVGVzdFJlc3VsdChuYW1lPXRlc3ROYW1lLCBidWlsZD1i
dWlsZCwgdmFsdWU9ZmxvYXQocmVzdWx0LmdldCgnYXZnJywgMCkpLCB2YWx1ZU1lZGlhbj1mbG9h
dChyZXN1bHQuZ2V0KCdtZWRpYW4nLCAwKSksCiAgICAgICAgICAgICAgICAgICAgIHZhbHVlU3Rk
ZXY9ZmxvYXQocmVzdWx0LmdldCgnc3RkZXYnLCAwKSksIHZhbHVlTWluPWZsb2F0KHJlc3VsdC5n
ZXQoJ21pbicsIDApKSwgdmFsdWVNYXg9ZmxvYXQocmVzdWx0LmdldCgnbWF4JywgMCkpKS5wdXQo
KQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBUZXN0UmVzdWx0KG5hbWU9dGVz
dCwgYnVpbGQ9YnVpbGQsIHZhbHVlPWZsb2F0KHJlc3VsdCkpLnB1dCgpCisgICAgICAgICAgICAg
ICAgVGVzdFJlc3VsdChuYW1lPXRlc3ROYW1lLCBidWlsZD1idWlsZCwgdmFsdWU9ZmxvYXQocmVz
dWx0KSkucHV0KCkKIAogICAgICAgICBsb2cgPSBSZXBvcnRMb2cuZ2V0KGxvZy5rZXkoKSkKICAg
ICAgICAgbG9nLmRlbGV0ZSgpCiAKKyAgICAgICAgIyBXZSBuZWVkIHRvIHVwZGF0ZSBkYXNoYm9h
cmQgYW5kIG1hbmlmZXN0IGJlY2F1c2UgdGhleSBhcmUgYWZmZWN0ZWQgYnkgdGhlIGV4aXN0YW5j
ZSBvZiB0ZXN0IHJlc3VsdHMKKyAgICAgICAgbWVtY2FjaGUuZGVsZXRlKCdkYXNoYm9hcmQnKQor
ICAgICAgICBtZW1jYWNoZS5kZWxldGUoJ21hbmlmZXN0JykKKwogICAgICAgICByZXR1cm4gc2Vs
Zi5fb3V0cHV0KCdPSycpCiAKICAgICBkZWYgX21vZGVsQnlLZXlOYW1lSW5Cb2R5T3JFcnJvcihz
ZWxmLCBtb2RlbCwga2V5TmFtZSk6CkBAIC0xNzYsNyArMTgyLDcgQEAgY2xhc3MgUmVwb3J0SGFu
ZGxlcih3ZWJhcHAyLlJlcXVlc3RIYW5kbAogICAgICAgICAgICAgICAgIHRlc3QucGxhdGZvcm1z
LmFwcGVuZChwbGF0Zm9ybS5rZXkoKSkKICAgICAgICAgICAgIHRlc3QucHV0KCkKICAgICAgICAg
ICAgIHJldHVybiByZXR1cm5WYWx1ZQotICAgICAgICBjcmVhdGVJblRyYW5zYWN0aW9uV2l0aE51
bWVyaWNJZEhvbGRlcihleGVjdXRlKQorICAgICAgICByZXR1cm4gY3JlYXRlSW5UcmFuc2FjdGlv
bldpdGhOdW1lcmljSWRIb2xkZXIoZXhlY3V0ZSkgb3IgVGVzdC5nZXRfYnlfa2V5X25hbWUodGVz
dE5hbWUpCiAKIAogY2xhc3MgQWRtaW5SZXBvcnRIYW5kbGVyKFJlcG9ydEhhbmRsZXIpOgpJbmRl
eDogV2Vic2l0ZXMvd2Via2l0LXBlcmYuYXBwc3BvdC5jb20vcnVuc19oYW5kbGVyLnB5Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYnNpdGVzL3dlYmtpdC1wZXJmLmFwcHNwb3QuY29tL3J1bnNfaGFuZGxlci5w
eQkocmV2aXNpb24gMTA2Mjk1KQorKysgV2Vic2l0ZXMvd2Via2l0LXBlcmYuYXBwc3BvdC5jb20v
cnVuc19oYW5kbGVyLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAjIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCiAKIGltcG9ydCB3ZWJhcHAyCitmcm9tIGdvb2dsZS5hcHBlbmdpbmUuYXBpIGltcG9y
dCBtZW1jYWNoZQogCiBpbXBvcnQganNvbgogZnJvbSB0aW1lIGltcG9ydCBta3RpbWUKQEAgLTQ1
LDYgKzQ2LDggQEAgZnJvbSBtb2RlbHMgaW1wb3J0IG1vZGVsRnJvbU51bWVyaWNJZAogCiBjbGFz
cyBSdW5zSGFuZGxlcih3ZWJhcHAyLlJlcXVlc3RIYW5kbGVyKToKICAgICBkZWYgZ2V0KHNlbGYp
OgorICAgICAgICBzZWxmLnJlc3BvbnNlLmhlYWRlcnNbJ0NvbnRlbnQtVHlwZSddID0gJ2FwcGxp
Y2F0aW9uL2pzb247IGNoYXJzZXQ9dXRmLTgnCisKICAgICAgICAgdHJ5OgogICAgICAgICAgICAg
dGVzdElkID0gaW50KHNlbGYucmVxdWVzdC5nZXQoJ2lkJywgMCkpCiAgICAgICAgICAgICBicmFu
Y2hJZCA9IGludChzZWxmLnJlcXVlc3QuZ2V0KCdicmFuY2hpZCcsIDApKQpAQCAtNTgsNiArNjEs
MTIgQEAgY2xhc3MgUnVuc0hhbmRsZXIod2ViYXBwMi5SZXF1ZXN0SGFuZGxlcgogICAgICAgICAj
IEZJWE1FOiBKdXN0IGZldGNoIGJ1aWxkcyBzcGVjaWZpZWQgYnkgImRheXMiCiAgICAgICAgICMg
ZGF5cyA9IHNlbGYucmVxdWVzdC5nZXQoJ2RheXMnLCAzNjUpCiAKKyAgICAgICAgY2FjaGVLZXkg
PSBUZXN0LmNhY2hlS2V5KHRlc3RJZCwgYnJhbmNoSWQsIHBsYXRmb3JtSWQpCisgICAgICAgIGNh
Y2hlID0gbWVtY2FjaGUuZ2V0KGNhY2hlS2V5KQorICAgICAgICBpZiBjYWNoZToKKyAgICAgICAg
ICAgIHNlbGYucmVzcG9uc2Uub3V0LndyaXRlKGNhY2hlKQorICAgICAgICAgICAgcmV0dXJuCisK
ICAgICAgICAgYnVpbGRzID0gQnVpbGQuYWxsKCkKICAgICAgICAgYnVpbGRzLmZpbHRlcignYnJh
bmNoID0nLCBtb2RlbEZyb21OdW1lcmljSWQoYnJhbmNoSWQsIEJyYW5jaCkpCiAgICAgICAgIGJ1
aWxkcy5maWx0ZXIoJ3BsYXRmb3JtID0nLCBtb2RlbEZyb21OdW1lcmljSWQocGxhdGZvcm1JZCwg
UGxhdGZvcm0pKQpAQCAtODQsMTEgKzkzLDEyIEBAIGNsYXNzIFJ1bnNIYW5kbGVyKHdlYmFwcDIu
UmVxdWVzdEhhbmRsZXIKICAgICAgICAgICAgICAgICB2YWx1ZXMuYXBwZW5kKHJlc3VsdC52YWx1
ZSkKICAgICAgICAgICAgICAgICB0aW1lc3RhbXBzLmFwcGVuZChwb3NpeFRpbWVzdGFtcCkKIAot
ICAgICAgICBzZWxmLnJlc3BvbnNlLmhlYWRlcnNbJ0NvbnRlbnQtVHlwZSddID0gJ2FwcGxpY2F0
aW9uL2pzb247IGNoYXJzZXQ9dXRmLTgnOwotICAgICAgICBzZWxmLnJlc3BvbnNlLm91dC53cml0
ZShqc29uLmR1bXBzKHsKKyAgICAgICAgcmVzdWx0ID0ganNvbi5kdW1wcyh7CiAgICAgICAgICAg
ICAndGVzdF9ydW5zJzogdGVzdF9ydW5zLAogICAgICAgICAgICAgJ2F2ZXJhZ2VzJzogYXZlcmFn
ZXMsCiAgICAgICAgICAgICAnbWluJzogbWluKHZhbHVlcykgaWYgdmFsdWVzIGVsc2UgTm9uZSwK
ICAgICAgICAgICAgICdtYXgnOiBtYXgodmFsdWVzKSBpZiB2YWx1ZXMgZWxzZSBOb25lLAogICAg
ICAgICAgICAgJ2RhdGVfcmFuZ2UnOiBbbWluKHRpbWVzdGFtcHMpLCBtYXgodGltZXN0YW1wcyld
IGlmIHRpbWVzdGFtcHMgZWxzZSBOb25lLAotICAgICAgICAgICAgJ3N0YXQnOiAnb2snfSkpCisg
ICAgICAgICAgICAnc3RhdCc6ICdvayd9KQorICAgICAgICBzZWxmLnJlc3BvbnNlLm91dC53cml0
ZShyZXN1bHQpCisgICAgICAgIG1lbWNhY2hlLmFkZChjYWNoZUtleSwgcmVzdWx0KQo=
</data>
<flag name="review"
          id="125931"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>