<?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>141226</bug_id>
          
          <creation_ts>2015-02-03 17:46:58 -0800</creation_ts>
          <short_desc>Don’t use repository names as id’s.</short_desc>
          <delta_ts>2015-02-03 21:40:36 -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>WebKit Website</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>141220</dependson>
          <blocked>138516</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1066676</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-02-03 17:46:58 -0800</bug_when>
    <thetext>Right now, the perf dashboard uses the repository names as repository id’s.
This forces runs.php to run an unnecessary SQL query on every request.
Don’t do that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066679</commentid>
    <comment_count>1</comment_count>
      <attachid>245999</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-02-03 17:58:11 -0800</bug_when>
    <thetext>Created attachment 245999
Refactoring</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066687</commentid>
    <comment_count>2</comment_count>
      <attachid>246004</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-02-03 18:06:05 -0800</bug_when>
    <thetext>Created attachment 246004
Fixed the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066699</commentid>
    <comment_count>3</comment_count>
      <attachid>246004</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-02-03 19:10:03 -0800</bug_when>
    <thetext>Comment on attachment 246004
Fixed the patch

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

rs=me

&gt; Websites/perf.webkit.org/ChangeLog:9
&gt; +        Since names of repositories are available in manifest.json, we can resole their names in the front end.

&quot;resolve&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066729</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-02-03 21:40:09 -0800</bug_when>
    <thetext>Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066730</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-02-03 21:40:36 -0800</bug_when>
    <thetext>Committed r179591: &lt;http://trac.webkit.org/changeset/179591&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245999</attachid>
            <date>2015-02-03 17:58:11 -0800</date>
            <delta_ts>2015-02-03 18:06:02 -0800</delta_ts>
            <desc>Refactoring</desc>
            <filename>fix141226.patch</filename>
            <type>text/plain</type>
            <size>14992</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDE3OTU4
NSkKKysrIENoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDQyIEBACiAyMDE1LTAy
LTAzICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCisgICAgICAgIERvbuKAmXQg
dXNlIHJlcG9zaXRvcnkgbmFtZXMgYXMgaWTigJlzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQxMjI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTm90IHVzaW5nIHJlcG9zaXRvcnkgbmFtZXMgYXMgdGhl
aXIgaWQncyByZWR1Y2VzIHRoZSBuZWVkIHRvIGZldGNoIHRoZSBlbnRpcmUgcmVwb3NpdG9yaWVz
IHRhYmxlLgorICAgICAgICBTaW5jZSBuYW1lcyBvZiByZXBvc2l0b3JpZXMgYXJlIGF2YWlsYWJs
ZSBpbiBtYW5pZmVzdC5qc29uLCB3ZSBjYW4gcmVzb2xlIHRoZWlyIG5hbWVzIGluIHRoZSBmcm9u
dCBlbmQuCisKKyAgICAgICAgKiBwdWJsaWMvYXBpL3J1bnMucGhwOgorICAgICAgICAocGFyc2Vf
cmV2aXNpb25zX2FycmF5KTogTm8gbG9uZ2VyIHVzZXMgJHJlcG9zaXRvcnlfaWRfdG9fbmFtZS4K
KyAgICAgICAgKG1haW4pOiBObyBsb25nZXIgcG9wdWxhdGVzICRyZXBvc2l0b3J5X2lkX3RvX25h
bWUuCisKKyAgICAgICAgKiBwdWJsaWMvYXBpL3RyaWdnZXJhYmxlcy5waHA6CisgICAgICAgICht
YWluKTogRG9uJ3QgcmVzb2x2ZSByZXBvc2l0b3J5IG5hbWVzLgorCisgICAgICAgICogcHVibGlj
L2luY2x1ZGUvbWFuaWZlc3QucGhwOgorICAgICAgICAoTWFuaWZlc3RHZW5lcmF0b3I6OnJlcG9z
aXRvcmllcyk6IFVzZSByZXBvc2l0b3JpZXMgaWRzIGFzIGtleXMgaW4gdGhlIHJlc3VsdCBhbmQg
aW5jbHVkZSB0aGVpciBuYW1lcy4KKyAgICAgICAgKE1hbmlmZXN0R2VuZXJhdG9yOjpidWdfdHJh
Y2tlcnMpOiBEb24ndCByZXNvbHZlIHJlcG9zaXRvcnkgbmFtZXMuCisKKyAgICAgICAgKiBwdWJs
aWMvanMvaGVscGVyLWNsYXNzZXMuanM6CisgICAgICAgIChUZXN0QnVpbGQpOiBSZW5hbWVkIHJl
cG9zaXRvcnlOYW1lIHRvIHJlcG9zaXRvcnlJZC4KKyAgICAgICAgKFRlc3RCdWlsZC5yZXZpc2lv
bik6IERpdHRvLgorICAgICAgICAoVGVzdEJ1aWxkLmZvcm1hdHRlZFJldmlzaW9ucyk6IERpdHRv
LiBDb250aW51ZSB0byB1c2UgdGhlIHJlcG9zaXRvcnkgbmFtZSBpbiB0aGUgZm9ybWF0dGVkIHJl
c3VsdAorICAgICAgICBzaW5jZSB0aGlzIGlzIHRoZSB0ZXh0IHNob3duIHRvIGh1bWFuLgorCisg
ICAgICAgICogcHVibGljL3YyL2FwcC5qczoKKyAgICAgICAgKEFwcC5wYW5lLnNlYXJjaENvbW1p
dCk6IFJlbmFtZWQgcmVwb3NpdG9yeU5hbWUgdG8gcmVwb3NpdG9yeUlkLgorICAgICAgICAoQXBw
LlBhbmVDb250cm9sbGVyLl91cGRhdGVEZXRhaWxzKTogRGl0dG8uCisgICAgICAgIChBcHAuQW5h
bHlzaXNUYXNrQ29udHJvbGxlci51cGRhdGVSb290cyk6IERpdHRvLgorCisgICAgICAgICogcHVi
bGljL3YyL2RhdGEuanM6CisgICAgICAgIChNZWFzdXJlbWVudCk6IERpdHRvLgorICAgICAgICAo
TWVhc3VyZW1lbnQucHJvdG90eXBlLmNvbW1pdFRpbWVGb3JSZXBvc2l0b3J5KTogRGl0dG8uCisg
ICAgICAgIChNZWFzdXJlbWVudC5wcm90b3R5cGUuZm9ybWF0dGVkUmV2aXNpb25zKTogRGl0dG8u
CisKKzIwMTUtMDItMDMgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKICAgICAg
ICAgVW5yZXZpZXdlZCBidWlsZCBmaXguIERlY2xhcmUgJHJlcG9zaXRvcnlfaWRfdG9fbmFtZSBp
biB0aGUgZ2xvYmFsIHNjb3BlLgogCiAgICAgICAgICogcHVibGljL2FwaS9ydW5zLnBocDoKSW5k
ZXg6IHB1YmxpYy9hcGkvcnVucy5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcHVibGljL2FwaS9ydW5zLnBo
cAkocmV2aXNpb24gMTc5NTg1KQorKysgcHVibGljL2FwaS9ydW5zLnBocAkod29ya2luZyBjb3B5
KQpAQCAtMjIsOCArMjIsNiBAQAogfQogCiBmdW5jdGlvbiBwYXJzZV9yZXZpc2lvbnNfYXJyYXko
JHBvc3RncmVzX2FycmF5KSB7Ci0gICAgZ2xvYmFsICRyZXBvc2l0b3J5X2lkX3RvX25hbWU7Ci0K
ICAgICAvLyBlLmcuIHsiKFdlYktpdCwxMzE0NTYsXCIyMDEyLTEwLTE2IDE0OjUzOjAwXCIpIiwi
KENocm9taXVtLDE2MjAwNCwpIn0KICAgICAkb3V0ZXJfYXJyYXkgPSBqc29uX2RlY29kZSgnWycg
LiB0cmltKCRwb3N0Z3Jlc19hcnJheSwgJ3t9JykgLiAnXScpOwogICAgICRyZXZpc2lvbnMgPSBh
cnJheSgpOwpAQCAtMzIsNyArMzAsNyBAQAogICAgICAgICBpZiAoISRuYW1lX2FuZF9yZXZpc2lv
blswXSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAkdGltZSA9IHN0cnRvdGltZSh0
cmltKCRuYW1lX2FuZF9yZXZpc2lvblsyXSwgJyInKSkgKiAxMDAwOwotICAgICAgICAkcmV2aXNp
b25zWyRyZXBvc2l0b3J5X2lkX3RvX25hbWVbdHJpbSgkbmFtZV9hbmRfcmV2aXNpb25bMF0sICci
JyldXSA9IGFycmF5KHRyaW0oJG5hbWVfYW5kX3JldmlzaW9uWzFdLCAnIicpLCAkdGltZSk7Cisg
ICAgICAgICRyZXZpc2lvbnNbdHJpbSgkbmFtZV9hbmRfcmV2aXNpb25bMF0sICciJyldID0gYXJy
YXkodHJpbSgkbmFtZV9hbmRfcmV2aXNpb25bMV0sICciJyksICR0aW1lKTsKICAgICB9CiAgICAg
cmV0dXJuICRyZXZpc2lvbnM7CiB9CkBAIC01MCwxMSArNDgsNyBAQAogICAgICAgICAnYnVpbGRl
cicgPT4gJHJ1blsnYnVpbGRfYnVpbGRlciddKTsKIH0KIAotJHJlcG9zaXRvcnlfaWRfdG9fbmFt
ZSA9IGFycmF5KCk7Ci0KIGZ1bmN0aW9uIG1haW4oJHBhdGgpIHsKLSAgICBnbG9iYWwgJHJlcG9z
aXRvcnlfaWRfdG9fbmFtZTsKLQogICAgIGlmIChjb3VudCgkcGF0aCkgIT0gMSkKICAgICAgICAg
ZXhpdF93aXRoX2Vycm9yKCdJbnZhbGlkUmVxdWVzdCcpOwogCkBAIC03OCwxMSArNzIsNiBAQAog
ICAgIGlmICghJGNvbmZpZ19yb3dzKQogICAgICAgICBleGl0X3dpdGhfZXJyb3IoJ0NvbmZpZ3Vy
YXRpb25Ob3RGb3VuZCcpOwogCi0gICAgaWYgKCRyZXBvc2l0b3J5X3RhYmxlID0gJGRiLT5mZXRj
aF90YWJsZSgncmVwb3NpdG9yaWVzJykpIHsKLSAgICAgICAgZm9yZWFjaCAoJHJlcG9zaXRvcnlf
dGFibGUgYXMgJHJlcG9zaXRvcnkpCi0gICAgICAgICAgICAkcmVwb3NpdG9yeV9pZF90b19uYW1l
WyRyZXBvc2l0b3J5WydyZXBvc2l0b3J5X2lkJ11dID0gJHJlcG9zaXRvcnlbJ3JlcG9zaXRvcnlf
bmFtZSddOwotICAgIH0KLQogICAgICRyZXN1bHRzID0gYXJyYXkoKTsKICAgICBmb3JlYWNoICgk
Y29uZmlnX3Jvd3MgYXMgJGNvbmZpZykgewogICAgICAgICBpZiAoJHJ1bnMgPSBmZXRjaF9ydW5z
X2Zvcl9jb25maWcoJGRiLCAkY29uZmlnKSkKSW5kZXg6IHB1YmxpYy9hcGkvdHJpZ2dlcmFibGVz
LnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBwdWJsaWMvYXBpL3RyaWdnZXJhYmxlcy5waHAJKHJldmlzaW9u
IDE3OTU4NSkKKysrIHB1YmxpYy9hcGkvdHJpZ2dlcmFibGVzLnBocAkod29ya2luZyBjb3B5KQpA
QCAtMjYsMTQgKzI2LDEwIEBACiAgICAgICAgICRpZF90b190cmlnZ2VyYWJsZVskaWRdID0gYXJy
YXkoJ2lkJyA9PiAkaWQsICduYW1lJyA9PiAkcm93Wyd0cmlnZ2VyYWJsZV9uYW1lJ10sICdhY2Nl
cHRlZFJlcG9zaXRvcmllcycgPT4gJiRyZXBvc2l0b3JpZXMpOwogICAgIH0KIAotICAgICRyZXBv
c2l0b3J5X2lkX3RvX25hbWUgPSBhcnJheSgpOwotICAgIGZvcmVhY2ggKCRkYi0+c2VsZWN0X3Jv
d3MoJ3JlcG9zaXRvcmllcycsICdyZXBvc2l0b3J5JywgYXJyYXkoKSwgJ25hbWUnKSBhcyAkcm93
KQotICAgICAgICAkcmVwb3NpdG9yeV9pZF90b19uYW1lWyRyb3dbJ3JlcG9zaXRvcnlfaWQnXV0g
PSAkcm93WydyZXBvc2l0b3J5X25hbWUnXTsKLQogICAgIGZvcmVhY2ggKCRkYi0+c2VsZWN0X3Jv
d3MoJ3RyaWdnZXJhYmxlX3JlcG9zaXRvcmllcycsICd0cmlncmVwbycsIGFycmF5KCkpIGFzICRy
b3cpIHsKICAgICAgICAgJHRyaWdnZXJhYmxlID0gJGlkX3RvX3RyaWdnZXJhYmxlWyRyb3dbJ3Ry
aWdyZXBvX3RyaWdnZXJhYmxlJ11dOwogICAgICAgICBpZiAoJHRyaWdnZXJhYmxlKQotICAgICAg
ICAgICAgYXJyYXlfcHVzaCgkdHJpZ2dlcmFibGVbJ2FjY2VwdGVkUmVwb3NpdG9yaWVzJ10sICRy
ZXBvc2l0b3J5X2lkX3RvX25hbWVbJHJvd1sndHJpZ3JlcG9fcmVwb3NpdG9yeSddXSk7CisgICAg
ICAgICAgICBhcnJheV9wdXNoKCR0cmlnZ2VyYWJsZVsnYWNjZXB0ZWRSZXBvc2l0b3JpZXMnXSwg
JHJvd1sndHJpZ3JlcG9fcmVwb3NpdG9yeSddKTsKICAgICB9CiAKICAgICBleGl0X3dpdGhfc3Vj
Y2VzcyhhcnJheSgndHJpZ2dlcmFibGVzJyA9PiBhcnJheV92YWx1ZXMoJGlkX3RvX3RyaWdnZXJh
YmxlKSkpOwpJbmRleDogcHVibGljL2luY2x1ZGUvbWFuaWZlc3QucGhwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IHB1YmxpYy9pbmNsdWRlL21hbmlmZXN0LnBocAkocmV2aXNpb24gMTc5NTg1KQorKysgcHVibGlj
L2luY2x1ZGUvbWFuaWZlc3QucGhwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDAsNyArMTAwLDggQEAK
ICAgICAgICAgaWYgKCEkcmVwb3NpdG9yaWVzX3RhYmxlKQogICAgICAgICAgICAgcmV0dXJuICRy
ZXBvc2l0b3JpZXM7CiAgICAgICAgIGZvcmVhY2ggKCRyZXBvc2l0b3JpZXNfdGFibGUgYXMgJHJv
dykgewotICAgICAgICAgICAgJHJlcG9zaXRvcmllc1skcm93WydyZXBvc2l0b3J5X25hbWUnXV0g
PSBhcnJheSgKKyAgICAgICAgICAgICRyZXBvc2l0b3JpZXNbJHJvd1sncmVwb3NpdG9yeV9pZCdd
XSA9IGFycmF5KAorICAgICAgICAgICAgICAgICduYW1lJyA9PiAkcm93WydyZXBvc2l0b3J5X25h
bWUnXSwKICAgICAgICAgICAgICAgICAndXJsJyA9PiAkcm93WydyZXBvc2l0b3J5X3VybCddLAog
ICAgICAgICAgICAgICAgICdibGFtZVVybCcgPT4gJHJvd1sncmVwb3NpdG9yeV9ibGFtZV91cmwn
XSwKICAgICAgICAgICAgICAgICAnaGFzUmVwb3J0ZWRDb21taXRzJyA9PiBpbl9hcnJheSgkcm93
WydyZXBvc2l0b3J5X2lkJ10sICRyZXBvc2l0b3JpZXNfd2l0aF9jb21taXQpKTsKQEAgLTEyMSwx
OCArMTIyLDEyIEBACiAgICAgfQogCiAgICAgcHJpdmF0ZSBmdW5jdGlvbiBidWdfdHJhY2tlcnMo
JHJlcG9zaXRvcmllc190YWJsZSkgewotICAgICAgICAkcmVwb3NpdG9yeV9pZF90b19uYW1lID0g
YXJyYXkoKTsKLSAgICAgICAgaWYgKCRyZXBvc2l0b3JpZXNfdGFibGUpIHsKLSAgICAgICAgICAg
IGZvcmVhY2ggKCRyZXBvc2l0b3JpZXNfdGFibGUgYXMgJHJvdykKLSAgICAgICAgICAgICAgICAk
cmVwb3NpdG9yeV9pZF90b19uYW1lWyRyb3dbJ3JlcG9zaXRvcnlfaWQnXV0gPSAkcm93WydyZXBv
c2l0b3J5X25hbWUnXTsKLSAgICAgICAgfQotCiAgICAgICAgICR0cmFja2VyX2lkX3RvX3JlcG9z
aXRvcmllcyA9IGFycmF5KCk7CiAgICAgICAgICR0cmFja2VyX3JlcG9zaXRvcmllc190YWJsZSA9
ICR0aGlzLT5kYi0+ZmV0Y2hfdGFibGUoJ3RyYWNrZXJfcmVwb3NpdG9yaWVzJyk7CiAgICAgICAg
IGlmICgkdHJhY2tlcl9yZXBvc2l0b3JpZXNfdGFibGUpIHsKICAgICAgICAgICAgIGZvcmVhY2gg
KCR0cmFja2VyX3JlcG9zaXRvcmllc190YWJsZSBhcyAkcm93KSB7CiAgICAgICAgICAgICAgICAg
YXJyYXlfcHVzaChhcnJheV9lbnN1cmVfaXRlbV9oYXNfYXJyYXkoJHRyYWNrZXJfaWRfdG9fcmVw
b3NpdG9yaWVzLCAkcm93Wyd0cmFjcmVwb190cmFja2VyJ10pLAotICAgICAgICAgICAgICAgICAg
ICAkcmVwb3NpdG9yeV9pZF90b19uYW1lWyRyb3dbJ3RyYWNyZXBvX3JlcG9zaXRvcnknXV0pOwor
ICAgICAgICAgICAgICAgICAgICAkcm93Wyd0cmFjcmVwb19yZXBvc2l0b3J5J10pOwogICAgICAg
ICAgICAgfQogICAgICAgICB9CiAKSW5kZXg6IHB1YmxpYy9qcy9oZWxwZXItY2xhc3Nlcy5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBwdWJsaWMvanMvaGVscGVyLWNsYXNzZXMuanMJKHJldmlzaW9uIDE3OTU4
NSkKKysrIHB1YmxpYy9qcy9oZWxwZXItY2xhc3Nlcy5qcwkod29ya2luZyBjb3B5KQpAQCAtNTEs
OCArNTEsOCBAQAogICAgIGNvbnN0IHJldmlzaW9ucyA9IHJhd1J1bi5yZXZpc2lvbnM7CiAgICAg
dmFyIG1heFRpbWUgPSAwOwogICAgIHZhciByZXZpc2lvbkNvdW50ID0gMDsKLSAgICBmb3IgKHZh
ciByZXBvc2l0b3J5TmFtZSBpbiByZXZpc2lvbnMpIHsKLSAgICAgICAgbWF4VGltZSA9IE1hdGgu
bWF4KG1heFRpbWUsIHJldmlzaW9uc1tyZXBvc2l0b3J5TmFtZV1bMV0pOyAvLyBSZXZpc2lvbiBp
cyBhbiBwYWlyIChyZXZpc2lvbiwgdGltZSkKKyAgICBmb3IgKHZhciByZXBvc2l0b3J5SWQgaW4g
cmV2aXNpb25zKSB7CisgICAgICAgIG1heFRpbWUgPSBNYXRoLm1heChtYXhUaW1lLCByZXZpc2lv
bnNbcmVwb3NpdG9yeUlkXVsxXSk7IC8vIFJldmlzaW9uIGlzIGFuIHBhaXIgKHJldmlzaW9uLCB0
aW1lKQogICAgICAgICByZXZpc2lvbkNvdW50Kys7CiAgICAgfQogICAgIGlmICghbWF4VGltZSkK
QEAgLTgxLDE0ICs4MSwxNCBAQAogICAgICAgICByZXR1cm4gdGVtcGxhdGUgPyB0ZW1wbGF0ZS5y
ZXBsYWNlKC9cJGJ1aWxkTnVtYmVyL2csIHRoaXMuYnVpbGROdW1iZXIoKSkgOiBudWxsOwogICAg
IH0KICAgICB0aGlzLnBsYXRmb3JtID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gcGxhdGZvcm07IH0K
LSAgICB0aGlzLnJldmlzaW9uID0gZnVuY3Rpb24ocmVwb3NpdG9yeU5hbWUpIHsgcmV0dXJuIHJl
dmlzaW9uc1tyZXBvc2l0b3J5TmFtZV1bMF07IH0KKyAgICB0aGlzLnJldmlzaW9uID0gZnVuY3Rp
b24ocmVwb3NpdG9yeUlkKSB7IHJldHVybiByZXZpc2lvbnNbcmVwb3NpdG9yeUlkXVswXTsgfQog
ICAgIHRoaXMuZm9ybWF0dGVkUmV2aXNpb25zID0gZnVuY3Rpb24gKHByZXZpb3VzQnVpbGQpIHsK
ICAgICAgICAgdmFyIHJlc3VsdCA9IHt9OwotICAgICAgICBmb3IgKHZhciByZXBvc2l0b3J5TmFt
ZSBpbiByZXBvc2l0b3JpZXMpIHsKLSAgICAgICAgICAgIGlmICghcmV2aXNpb25zW3JlcG9zaXRv
cnlOYW1lXSkKKyAgICAgICAgZm9yICh2YXIgcmVwb3NpdG9yeUlkIGluIHJlcG9zaXRvcmllcykg
eworICAgICAgICAgICAgaWYgKCFyZXZpc2lvbnNbcmVwb3NpdG9yeUlkXSkKICAgICAgICAgICAg
ICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIHZhciBwcmV2aW91c1JldmlzaW9uID0gcHJldmlv
dXNCdWlsZCA/IHByZXZpb3VzQnVpbGQucmV2aXNpb24ocmVwb3NpdG9yeU5hbWUpIDogdW5kZWZp
bmVkOwotICAgICAgICAgICAgdmFyIGN1cnJlbnRSZXZpc2lvbiA9IHRoaXMucmV2aXNpb24ocmVw
b3NpdG9yeU5hbWUpOworICAgICAgICAgICAgdmFyIHByZXZpb3VzUmV2aXNpb24gPSBwcmV2aW91
c0J1aWxkID8gcHJldmlvdXNCdWlsZC5yZXZpc2lvbihyZXBvc2l0b3J5SWQpIDogdW5kZWZpbmVk
OworICAgICAgICAgICAgdmFyIGN1cnJlbnRSZXZpc2lvbiA9IHRoaXMucmV2aXNpb24ocmVwb3Np
dG9yeUlkKTsKICAgICAgICAgICAgIGlmIChwcmV2aW91c1JldmlzaW9uID09PSBjdXJyZW50UmV2
aXNpb24pCiAgICAgICAgICAgICAgICAgcHJldmlvdXNSZXZpc2lvbiA9IHVuZGVmaW5lZDsKIApA
QCAtMTE5LDcgKzExOSw3IEBACiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIHZhciB1cmw7
Ci0gICAgICAgICAgICB2YXIgcmVwb3NpdG9yeSA9IHJlcG9zaXRvcmllc1tyZXBvc2l0b3J5TmFt
ZV07CisgICAgICAgICAgICB2YXIgcmVwb3NpdG9yeSA9IHJlcG9zaXRvcmllc1tyZXBvc2l0b3J5
SWRdOwogICAgICAgICAgICAgaWYgKHJlcG9zaXRvcnkpIHsKICAgICAgICAgICAgICAgICBpZiAo
cHJldmlvdXNSZXZpc2lvbikKICAgICAgICAgICAgICAgICAgICAgdXJsID0gKHJlcG9zaXRvcnlb
J2JsYW1lVXJsJ10gfHwgJycpLnJlcGxhY2UoL1wkMS9nLCBwcmV2aW91c1JldmlzaW9uKS5yZXBs
YWNlKC9cJDIvZywgY3VycmVudFJldmlzaW9uKTsKQEAgLTEyNyw3ICsxMjcsNyBAQAogICAgICAg
ICAgICAgICAgICAgICB1cmwgPSAocmVwb3NpdG9yeVsndXJsJ10gfHwgJycpLnJlcGxhY2UoL1wk
MS9nLCBjdXJyZW50UmV2aXNpb24pOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICByZXN1
bHRbcmVwb3NpdG9yeU5hbWVdID0geworICAgICAgICAgICAgcmVzdWx0W3JlcG9zaXRvcnkubmFt
ZV0gPSB7CiAgICAgICAgICAgICAgICAgJ2xhYmVsJzogbGFiZWxGb3JUaGlzUmVwb3NpdG9yeSwK
ICAgICAgICAgICAgICAgICAnY3VycmVudFJldmlzaW9uJzogY3VycmVudFJldmlzaW9uLAogICAg
ICAgICAgICAgICAgICdwcmV2aW91c1JldmlzaW9uJzogcHJldmlvdXNSZXZpc2lvbiwKSW5kZXg6
IHB1YmxpYy92Mi9hcHAuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcHVibGljL3YyL2FwcC5qcwkocmV2aXNp
b24gMTc5NTg1KQorKysgcHVibGljL3YyL2FwcC5qcwkod29ya2luZyBjb3B5KQpAQCAtMjc2LDgg
KzI3Niw4IEBACiAgICAgc2VsZWN0ZWRJdGVtOiBudWxsLAogICAgIHNlYXJjaENvbW1pdDogZnVu
Y3Rpb24gKHJlcG9zaXRvcnksIGtleXdvcmQpIHsKICAgICAgICAgdmFyIHNlbGYgPSB0aGlzOwot
ICAgICAgICB2YXIgcmVwb3NpdG9yeU5hbWUgPSByZXBvc2l0b3J5LmdldCgnaWQnKTsKLSAgICAg
ICAgQ29tbWl0TG9ncy5mZXRjaEZvclRpbWVSYW5nZShyZXBvc2l0b3J5TmFtZSwgbnVsbCwgbnVs
bCwga2V5d29yZCkudGhlbihmdW5jdGlvbiAoY29tbWl0cykgeworICAgICAgICB2YXIgcmVwb3Np
dG9yeUlkID0gcmVwb3NpdG9yeS5nZXQoJ2lkJyk7CisgICAgICAgIENvbW1pdExvZ3MuZmV0Y2hG
b3JUaW1lUmFuZ2UocmVwb3NpdG9yeUlkLCBudWxsLCBudWxsLCBrZXl3b3JkKS50aGVuKGZ1bmN0
aW9uIChjb21taXRzKSB7CiAgICAgICAgICAgICBpZiAoc2VsZi5pc0Rlc3Ryb3llZCB8fCAhc2Vs
Zi5nZXQoJ2NoYXJ0RGF0YScpIHx8ICFjb21taXRzLmxlbmd0aCkKICAgICAgICAgICAgICAgICBy
ZXR1cm47CiAgICAgICAgICAgICB2YXIgY3VycmVudFJ1bnMgPSBzZWxmLmdldCgnY2hhcnREYXRh
JykuY3VycmVudC50aW1lU2VyaWVzQnlDb21taXRUaW1lKCkuc2VyaWVzKCk7CkBAIC0yODgsNyAr
Mjg4LDcgQEAKICAgICAgICAgICAgIHZhciBjb21taXRJbmRleCA9IDA7CiAgICAgICAgICAgICBm
b3IgKHZhciBydW5JbmRleCA9IDA7IHJ1bkluZGV4IDwgY3VycmVudFJ1bnMubGVuZ3RoICYmIGNv
bW1pdEluZGV4IDwgY29tbWl0cy5sZW5ndGg7IHJ1bkluZGV4KyspIHsKICAgICAgICAgICAgICAg
ICB2YXIgbWVhc3VyZW1lbnQgPSBjdXJyZW50UnVuc1tydW5JbmRleF0ubWVhc3VyZW1lbnQ7Ci0g
ICAgICAgICAgICAgICAgdmFyIGNvbW1pdFRpbWUgPSBtZWFzdXJlbWVudC5jb21taXRUaW1lRm9y
UmVwb3NpdG9yeShyZXBvc2l0b3J5TmFtZSk7CisgICAgICAgICAgICAgICAgdmFyIGNvbW1pdFRp
bWUgPSBtZWFzdXJlbWVudC5jb21taXRUaW1lRm9yUmVwb3NpdG9yeShyZXBvc2l0b3J5SWQpOwog
ICAgICAgICAgICAgICAgIGlmICghY29tbWl0VGltZSkKICAgICAgICAgICAgICAgICAgICAgY29u
dGludWU7CiAgICAgICAgICAgICAgICAgaWYgKGNvbW1pdHNbY29tbWl0SW5kZXhdLnRpbWUgPD0g
Y29tbWl0VGltZSkgewpAQCAtNzI3LDEyICs3MjcsMTEgQEAKICAgICAgICAgdmFyIHJldmlzaW9u
cyA9IEFwcC5NYW5pZmVzdC5nZXQoJ3JlcG9zaXRvcmllcycpCiAgICAgICAgICAgICAuZmlsdGVy
KGZ1bmN0aW9uIChyZXBvc2l0b3J5KSB7IHJldHVybiBmb3JtYXR0ZWRSZXZpc2lvbnNbcmVwb3Np
dG9yeS5nZXQoJ2lkJyldOyB9KQogICAgICAgICAgICAgLm1hcChmdW5jdGlvbiAocmVwb3NpdG9y
eSkgewotICAgICAgICAgICAgdmFyIHJlcG9zaXRvcnlOYW1lID0gcmVwb3NpdG9yeS5nZXQoJ2lk
Jyk7Ci0gICAgICAgICAgICB2YXIgcmV2aXNpb24gPSBFbWJlci5PYmplY3QuY3JlYXRlKGZvcm1h
dHRlZFJldmlzaW9uc1tyZXBvc2l0b3J5TmFtZV0pOworICAgICAgICAgICAgdmFyIHJldmlzaW9u
ID0gRW1iZXIuT2JqZWN0LmNyZWF0ZShmb3JtYXR0ZWRSZXZpc2lvbnNbcmVwb3NpdG9yeS5nZXQo
J2lkJyldKTsKICAgICAgICAgICAgIHJldmlzaW9uWyd1cmwnXSA9IHJldmlzaW9uLnByZXZpb3Vz
UmV2aXNpb24KICAgICAgICAgICAgICAgICA/IHJlcG9zaXRvcnkudXJsRm9yUmV2aXNpb25SYW5n
ZShyZXZpc2lvbi5wcmV2aW91c1JldmlzaW9uLCByZXZpc2lvbi5jdXJyZW50UmV2aXNpb24pCiAg
ICAgICAgICAgICAgICAgOiByZXBvc2l0b3J5LnVybEZvclJldmlzaW9uKHJldmlzaW9uLmN1cnJl
bnRSZXZpc2lvbik7Ci0gICAgICAgICAgICByZXZpc2lvblsnbmFtZSddID0gcmVwb3NpdG9yeU5h
bWU7CisgICAgICAgICAgICByZXZpc2lvblsnbmFtZSddID0gcmVwb3NpdG9yeS5nZXQoJ25hbWUn
KTsKICAgICAgICAgICAgIHJldmlzaW9uWydyZXBvc2l0b3J5J10gPSByZXBvc2l0b3J5OwogICAg
ICAgICAgICAgcmV0dXJuIHJldmlzaW9uOyAKICAgICAgICAgfSk7CkBAIC04ODgsMTEgKzg4Nywx
MSBAQAogICAgICAgICB2YXIgcmVwb3NpdG9yeVRvUmV2aXNpb25zID0ge307CiAgICAgICAgIGFu
YWx5c2lzUG9pbnRzLmZvckVhY2goZnVuY3Rpb24gKHBvaW50LCBwb2ludEluZGV4KSB7CiAgICAg
ICAgICAgICB2YXIgcmV2aXNpb25zID0gcG9pbnQubWVhc3VyZW1lbnQuZm9ybWF0dGVkUmV2aXNp
b25zKCk7Ci0gICAgICAgICAgICBmb3IgKHZhciByZXBvc2l0b3J5TmFtZSBpbiByZXZpc2lvbnMp
IHsKLSAgICAgICAgICAgICAgICBpZiAoIXJlcG9zaXRvcnlUb1JldmlzaW9uc1tyZXBvc2l0b3J5
TmFtZV0pCi0gICAgICAgICAgICAgICAgICAgIHJlcG9zaXRvcnlUb1JldmlzaW9uc1tyZXBvc2l0
b3J5TmFtZV0gPSBuZXcgQXJyYXkoYW5hbHlzaXNQb2ludHMubGVuZ3RoKTsKLSAgICAgICAgICAg
ICAgICB2YXIgcmV2aXNpb24gPSByZXZpc2lvbnNbcmVwb3NpdG9yeU5hbWVdOwotICAgICAgICAg
ICAgICAgIHJlcG9zaXRvcnlUb1JldmlzaW9uc1tyZXBvc2l0b3J5TmFtZV1bcG9pbnRJbmRleF0g
PSB7CisgICAgICAgICAgICBmb3IgKHZhciByZXBvc2l0b3J5SWQgaW4gcmV2aXNpb25zKSB7Cisg
ICAgICAgICAgICAgICAgaWYgKCFyZXBvc2l0b3J5VG9SZXZpc2lvbnNbcmVwb3NpdG9yeUlkXSkK
KyAgICAgICAgICAgICAgICAgICAgcmVwb3NpdG9yeVRvUmV2aXNpb25zW3JlcG9zaXRvcnlJZF0g
PSBuZXcgQXJyYXkoYW5hbHlzaXNQb2ludHMubGVuZ3RoKTsKKyAgICAgICAgICAgICAgICB2YXIg
cmV2aXNpb24gPSByZXZpc2lvbnNbcmVwb3NpdG9yeUlkXTsKKyAgICAgICAgICAgICAgICByZXBv
c2l0b3J5VG9SZXZpc2lvbnNbcmVwb3NpdG9yeUlkXVtwb2ludEluZGV4XSA9IHsKICAgICAgICAg
ICAgICAgICAgICAgbGFiZWw6IHBvaW50LmxhYmVsICsgJzogJyArIHJldmlzaW9uLmxhYmVsLAog
ICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcmV2aXNpb24uY3VycmVudFJldmlzaW9uLAogICAg
ICAgICAgICAgICAgIH07CkBAIC05MDUsMTUgKzkwNCwxNSBAQAogICAgICAgICAgICAgICAgIHJl
dHVybjsKIAogICAgICAgICAgICAgc2VsZi5zZXQoJ3Jvb3RzJywgdHJpZ2dlcmFibGUuZ2V0KCdh
Y2NlcHRlZFJlcG9zaXRvcmllcycpLm1hcChmdW5jdGlvbiAocmVwb3NpdG9yeSkgewotICAgICAg
ICAgICAgICAgIHZhciByZXBvc2l0b3J5TmFtZSA9IHJlcG9zaXRvcnkuZ2V0KCdpZCcpOwotICAg
ICAgICAgICAgICAgIHZhciByZXZpc2lvbnMgPSBbe3ZhbHVlOiAnICcsIGxhYmVsOiAnTm9uZSd9
XS5jb25jYXQocmVwb3NpdG9yeVRvUmV2aXNpb25zW3JlcG9zaXRvcnlOYW1lXSk7CisgICAgICAg
ICAgICAgICAgdmFyIHJlcG9zaXRvcnlJZCA9IHJlcG9zaXRvcnkuZ2V0KCdpZCcpOworICAgICAg
ICAgICAgICAgIHZhciByZXZpc2lvbnMgPSBbe3ZhbHVlOiAnICcsIGxhYmVsOiAnTm9uZSd9XS5j
b25jYXQocmVwb3NpdG9yeVRvUmV2aXNpb25zW3JlcG9zaXRvcnlJZF0pOwogICAgICAgICAgICAg
ICAgIHJldHVybiBFbWJlci5PYmplY3QuY3JlYXRlKHsKLSAgICAgICAgICAgICAgICAgICAgbmFt
ZTogcmVwb3NpdG9yeU5hbWUsCisgICAgICAgICAgICAgICAgICAgIG5hbWU6IHJlcG9zaXRvcnku
Z2V0KCduYW1lJyksCiAgICAgICAgICAgICAgICAgICAgIHNldHM6IFsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIEVtYmVyLk9iamVjdC5jcmVhdGUoe25hbWU6ICdBWycgKyByZXBvc2l0b3J5TmFt
ZSArICddJywKKyAgICAgICAgICAgICAgICAgICAgICAgIEVtYmVyLk9iamVjdC5jcmVhdGUoe25h
bWU6ICdBWycgKyByZXBvc2l0b3J5SWQgKyAnXScsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcmV2aXNpb25zOiByZXZpc2lvbnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vs
ZWN0aW9uOiByZXZpc2lvbnNbMV19KSwKLSAgICAgICAgICAgICAgICAgICAgICAgIEVtYmVyLk9i
amVjdC5jcmVhdGUoe25hbWU6ICdCWycgKyByZXBvc2l0b3J5TmFtZSArICddJywKKyAgICAgICAg
ICAgICAgICAgICAgICAgIEVtYmVyLk9iamVjdC5jcmVhdGUoe25hbWU6ICdCWycgKyByZXBvc2l0
b3J5SWQgKyAnXScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV2aXNpb25zOiByZXZp
c2lvbnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uOiByZXZpc2lvbnNb
cmV2aXNpb25zLmxlbmd0aCAtIDFdfSksCiAgICAgICAgICAgICAgICAgICAgIF0sCkluZGV4OiBw
dWJsaWMvdjIvZGF0YS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBwdWJsaWMvdjIvZGF0YS5qcwkocmV2aXNp
b24gMTc5NTg1KQorKysgcHVibGljL3YyL2RhdGEuanMJKHdvcmtpbmcgY29weSkKQEAgLTE0MSw4
ICsxNDMsOCBAQAogICAgICAgICByZXZpc2lvbnMgPSB7fTsKICAgICB0aGlzLl9yYXdbJ3Jldmlz
aW9ucyddID0gcmV2aXNpb25zOwogCi0gICAgZm9yICh2YXIgcmVwb3NpdG9yeU5hbWUgaW4gcmV2
aXNpb25zKSB7Ci0gICAgICAgIHZhciBjb21taXRUaW1lT3JVbmRlZmluZWQgPSByZXZpc2lvbnNb
cmVwb3NpdG9yeU5hbWVdWzFdOyAvLyBlLmcuIFsiMTYyMTkwIiwgMTM4OTk0NTA0NjAwMF0KKyAg
ICBmb3IgKHZhciByZXBvc2l0b3J5SWQgaW4gcmV2aXNpb25zKSB7CisgICAgICAgIHZhciBjb21t
aXRUaW1lT3JVbmRlZmluZWQgPSByZXZpc2lvbnNbcmVwb3NpdG9yeUlkXVsxXTsgLy8gZS5nLiBb
IjE2MjE5MCIsIDEzODk5NDUwNDYwMDBdCiAgICAgICAgIGlmIChsYXRlc3RUaW1lIDwgY29tbWl0
VGltZU9yVW5kZWZpbmVkKQogICAgICAgICAgICAgbGF0ZXN0VGltZSA9IGNvbW1pdFRpbWVPclVu
ZGVmaW5lZDsKICAgICB9CkBAIC0xNTIsMTAgKzE1NCwxMCBAQAogICAgIHRoaXMuX2Zvcm1hdHRl
ZFJldmlzaW9ucyA9IHVuZGVmaW5lZDsKIH0KIAotTWVhc3VyZW1lbnQucHJvdG90eXBlLmNvbW1p
dFRpbWVGb3JSZXBvc2l0b3J5ID0gZnVuY3Rpb24gKHJlcG9zaXRvcnlOYW1lKQorTWVhc3VyZW1l
bnQucHJvdG90eXBlLmNvbW1pdFRpbWVGb3JSZXBvc2l0b3J5ID0gZnVuY3Rpb24gKHJlcG9zaXRv
cnlJZCkKIHsKICAgICB2YXIgcmV2aXNpb25zID0gdGhpcy5fcmF3WydyZXZpc2lvbnMnXTsKLSAg
ICB2YXIgcmF3RGF0YSA9IHJldmlzaW9uc1tyZXBvc2l0b3J5TmFtZV07CisgICAgdmFyIHJhd0Rh
dGEgPSByZXZpc2lvbnNbcmVwb3NpdG9yeUlkXTsKICAgICBpZiAoIXJhd0RhdGEpCiAgICAgICAg
IHJldHVybiBudWxsOwogICAgIHJldHVybiBuZXcgRGF0ZShyYXdEYXRhWzFdKTsKQEAgLTE2Niwx
MSArMTY4LDExIEBACiAgICAgdmFyIHJldmlzaW9ucyA9IHRoaXMuX3Jhd1sncmV2aXNpb25zJ107
CiAgICAgdmFyIHByZXZpb3VzUmV2aXNpb25zID0gcHJldmlvdXNNZWFzdXJlbWVudCA/IHByZXZp
b3VzTWVhc3VyZW1lbnQuX3Jhd1sncmV2aXNpb25zJ10gOiBudWxsOwogICAgIHZhciBmb3JtYXR0
ZWRSZXZpc2lvbnMgPSB7fTsKLSAgICBmb3IgKHZhciByZXBvc2l0b3J5TmFtZSBpbiByZXZpc2lv
bnMpIHsKLSAgICAgICAgdmFyIGN1cnJlbnRSZXZpc2lvbiA9IHJldmlzaW9uc1tyZXBvc2l0b3J5
TmFtZV1bMF07Ci0gICAgICAgIHZhciBwcmV2aW91c1JldmlzaW9uID0gcHJldmlvdXNSZXZpc2lv
bnMgPyBwcmV2aW91c1JldmlzaW9uc1tyZXBvc2l0b3J5TmFtZV1bMF0gOiBudWxsOworICAgIGZv
ciAodmFyIHJlcG9zaXRvcnlJZCBpbiByZXZpc2lvbnMpIHsKKyAgICAgICAgdmFyIGN1cnJlbnRS
ZXZpc2lvbiA9IHJldmlzaW9uc1tyZXBvc2l0b3J5SWRdWzBdOworICAgICAgICB2YXIgcHJldmlv
dXNSZXZpc2lvbiA9IHByZXZpb3VzUmV2aXNpb25zID8gcHJldmlvdXNSZXZpc2lvbnNbcmVwb3Np
dG9yeUlkXVswXSA6IG51bGw7CiAgICAgICAgIHZhciBmb3JtYXR0dGVkUmV2aXNpb24gPSB0aGlz
Ll9mb3JtYXRSZXZpc2lvblJhbmdlKHByZXZpb3VzUmV2aXNpb24sIGN1cnJlbnRSZXZpc2lvbik7
Ci0gICAgICAgIGZvcm1hdHRlZFJldmlzaW9uc1tyZXBvc2l0b3J5TmFtZV0gPSBmb3JtYXR0dGVk
UmV2aXNpb247CisgICAgICAgIGZvcm1hdHRlZFJldmlzaW9uc1tyZXBvc2l0b3J5SWRdID0gZm9y
bWF0dHRlZFJldmlzaW9uOwogICAgIH0KIAogICAgIHJldHVybiBmb3JtYXR0ZWRSZXZpc2lvbnM7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246004</attachid>
            <date>2015-02-03 18:06:05 -0800</date>
            <delta_ts>2015-02-03 19:10:03 -0800</delta_ts>
            <desc>Fixed the patch</desc>
            <filename>bug-141226-20150203180605.patch</filename>
            <type>text/plain</type>
            <size>16295</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkocmV2aXNpb24gMTc5NTg3KQorKysg
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQwIEBACisyMDE1LTAyLTAzICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgor
CisgICAgICAgIERvbuKAmXQgdXNlIHJlcG9zaXRvcnkgbmFtZXMgYXMgaWTigJlzLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQxMjI2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm90IHVzaW5nIHJlcG9z
aXRvcnkgbmFtZXMgYXMgdGhlaXIgaWQncyByZWR1Y2VzIHRoZSBuZWVkIHRvIGZldGNoIHRoZSBl
bnRpcmUgcmVwb3NpdG9yaWVzIHRhYmxlLgorICAgICAgICBTaW5jZSBuYW1lcyBvZiByZXBvc2l0
b3JpZXMgYXJlIGF2YWlsYWJsZSBpbiBtYW5pZmVzdC5qc29uLCB3ZSBjYW4gcmVzb2xlIHRoZWly
IG5hbWVzIGluIHRoZSBmcm9udCBlbmQuCisKKyAgICAgICAgKiBXZWJzaXRlcy9wZXJmLndlYmtp
dC5vcmcvcHVibGljL2FwaS9ydW5zLnBocDoKKyAgICAgICAgKHBhcnNlX3JldmlzaW9uc19hcnJh
eSk6IE5vIGxvbmdlciB1c2VzICRyZXBvc2l0b3J5X2lkX3RvX25hbWUuCisgICAgICAgIChtYWlu
KTogTm8gbG9uZ2VyIHBvcHVsYXRlcyAkcmVwb3NpdG9yeV9pZF90b19uYW1lLgorCisgICAgICAg
ICogV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9hcGkvdHJpZ2dlcmFibGVzLnBocDoK
KyAgICAgICAgKG1haW4pOiBEb24ndCByZXNvbHZlIHJlcG9zaXRvcnkgbmFtZXMuCisKKyAgICAg
ICAgKiBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL2luY2x1ZGUvbWFuaWZlc3QucGhw
OgorICAgICAgICAoTWFuaWZlc3RHZW5lcmF0b3I6OnJlcG9zaXRvcmllcyk6IFVzZSByZXBvc2l0
b3JpZXMgaWRzIGFzIGtleXMgaW4gdGhlIHJlc3VsdCBhbmQgaW5jbHVkZSB0aGVpciBuYW1lcy4K
KyAgICAgICAgKE1hbmlmZXN0R2VuZXJhdG9yOjpidWdfdHJhY2tlcnMpOiBEb24ndCByZXNvbHZl
IHJlcG9zaXRvcnkgbmFtZXMuCisKKyAgICAgICAgKiBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcv
cHVibGljL2pzL2hlbHBlci1jbGFzc2VzLmpzOgorICAgICAgICAoVGVzdEJ1aWxkKTogUmVuYW1l
ZCByZXBvc2l0b3J5TmFtZSB0byByZXBvc2l0b3J5SWQuCisgICAgICAgIChUZXN0QnVpbGQucmV2
aXNpb24pOiBEaXR0by4KKyAgICAgICAgKFRlc3RCdWlsZC5mb3JtYXR0ZWRSZXZpc2lvbnMpOiBE
aXR0by4gQ29udGludWUgdG8gdXNlIHRoZSByZXBvc2l0b3J5IG5hbWUgaW4gdGhlIGZvcm1hdHRl
ZCByZXN1bHQKKyAgICAgICAgc2luY2UgdGhpcyBpcyB0aGUgdGV4dCBzaG93biB0byBodW1hbi4K
KworICAgICAgICAqIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjIvYXBwLmpzOgor
ICAgICAgICAoQXBwLnBhbmUuc2VhcmNoQ29tbWl0KTogUmVuYW1lZCByZXBvc2l0b3J5TmFtZSB0
byByZXBvc2l0b3J5SWQuCisgICAgICAgIChBcHAuUGFuZUNvbnRyb2xsZXIuX3VwZGF0ZURldGFp
bHMpOiBEaXR0by4KKyAgICAgICAgKEFwcC5BbmFseXNpc1Rhc2tDb250cm9sbGVyLnVwZGF0ZVJv
b3RzKTogRGl0dG8uCisKKyAgICAgICAgKiBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGlj
L3YyL2RhdGEuanM6CisgICAgICAgIChNZWFzdXJlbWVudCk6IERpdHRvLgorICAgICAgICAoTWVh
c3VyZW1lbnQucHJvdG90eXBlLmNvbW1pdFRpbWVGb3JSZXBvc2l0b3J5KTogRGl0dG8uCisgICAg
ICAgIChNZWFzdXJlbWVudC5wcm90b3R5cGUuZm9ybWF0dGVkUmV2aXNpb25zKTogRGl0dG8uCisK
IDIwMTUtMDItMDMgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
VW5yZXZpZXdlZCBidWlsZCBmaXguIERlY2xhcmUgJHJlcG9zaXRvcnlfaWRfdG9fbmFtZSBpbiB0
aGUgZ2xvYmFsIHNjb3BlLgpJbmRleDogV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9h
cGkvcnVucy5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1Ymxp
Yy9hcGkvcnVucy5waHAJKHJldmlzaW9uIDE3OTU4NykKKysrIFdlYnNpdGVzL3BlcmYud2Via2l0
Lm9yZy9wdWJsaWMvYXBpL3J1bnMucGhwCSh3b3JraW5nIGNvcHkpCkBAIC0yMiw4ICsyMiw2IEBA
IGZ1bmN0aW9uIGZldGNoX3J1bnNfZm9yX2NvbmZpZygkZGIsICRjb24KIH0KIAogZnVuY3Rpb24g
cGFyc2VfcmV2aXNpb25zX2FycmF5KCRwb3N0Z3Jlc19hcnJheSkgewotICAgIGdsb2JhbCAkcmVw
b3NpdG9yeV9pZF90b19uYW1lOwotCiAgICAgLy8gZS5nLiB7IihXZWJLaXQsMTMxNDU2LFwiMjAx
Mi0xMC0xNiAxNDo1MzowMFwiKSIsIihDaHJvbWl1bSwxNjIwMDQsKSJ9CiAgICAgJG91dGVyX2Fy
cmF5ID0ganNvbl9kZWNvZGUoJ1snIC4gdHJpbSgkcG9zdGdyZXNfYXJyYXksICd7fScpIC4gJ10n
KTsKICAgICAkcmV2aXNpb25zID0gYXJyYXkoKTsKQEAgLTMyLDcgKzMwLDcgQEAgZnVuY3Rpb24g
cGFyc2VfcmV2aXNpb25zX2FycmF5KCRwb3N0Z3JlcwogICAgICAgICBpZiAoISRuYW1lX2FuZF9y
ZXZpc2lvblswXSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAkdGltZSA9IHN0cnRv
dGltZSh0cmltKCRuYW1lX2FuZF9yZXZpc2lvblsyXSwgJyInKSkgKiAxMDAwOwotICAgICAgICAk
cmV2aXNpb25zWyRyZXBvc2l0b3J5X2lkX3RvX25hbWVbdHJpbSgkbmFtZV9hbmRfcmV2aXNpb25b
MF0sICciJyldXSA9IGFycmF5KHRyaW0oJG5hbWVfYW5kX3JldmlzaW9uWzFdLCAnIicpLCAkdGlt
ZSk7CisgICAgICAgICRyZXZpc2lvbnNbdHJpbSgkbmFtZV9hbmRfcmV2aXNpb25bMF0sICciJyld
ID0gYXJyYXkodHJpbSgkbmFtZV9hbmRfcmV2aXNpb25bMV0sICciJyksICR0aW1lKTsKICAgICB9
CiAgICAgcmV0dXJuICRyZXZpc2lvbnM7CiB9CkBAIC01MCwxMSArNDgsNyBAQCBmdW5jdGlvbiBm
b3JtYXRfcnVuKCRydW4pIHsKICAgICAgICAgJ2J1aWxkZXInID0+ICRydW5bJ2J1aWxkX2J1aWxk
ZXInXSk7CiB9CiAKLSRyZXBvc2l0b3J5X2lkX3RvX25hbWUgPSBhcnJheSgpOwotCiBmdW5jdGlv
biBtYWluKCRwYXRoKSB7Ci0gICAgZ2xvYmFsICRyZXBvc2l0b3J5X2lkX3RvX25hbWU7Ci0KICAg
ICBpZiAoY291bnQoJHBhdGgpICE9IDEpCiAgICAgICAgIGV4aXRfd2l0aF9lcnJvcignSW52YWxp
ZFJlcXVlc3QnKTsKIApAQCAtNzgsMTEgKzcyLDYgQEAgZnVuY3Rpb24gbWFpbigkcGF0aCkgewog
ICAgIGlmICghJGNvbmZpZ19yb3dzKQogICAgICAgICBleGl0X3dpdGhfZXJyb3IoJ0NvbmZpZ3Vy
YXRpb25Ob3RGb3VuZCcpOwogCi0gICAgaWYgKCRyZXBvc2l0b3J5X3RhYmxlID0gJGRiLT5mZXRj
aF90YWJsZSgncmVwb3NpdG9yaWVzJykpIHsKLSAgICAgICAgZm9yZWFjaCAoJHJlcG9zaXRvcnlf
dGFibGUgYXMgJHJlcG9zaXRvcnkpCi0gICAgICAgICAgICAkcmVwb3NpdG9yeV9pZF90b19uYW1l
WyRyZXBvc2l0b3J5WydyZXBvc2l0b3J5X2lkJ11dID0gJHJlcG9zaXRvcnlbJ3JlcG9zaXRvcnlf
bmFtZSddOwotICAgIH0KLQogICAgICRyZXN1bHRzID0gYXJyYXkoKTsKICAgICBmb3JlYWNoICgk
Y29uZmlnX3Jvd3MgYXMgJGNvbmZpZykgewogICAgICAgICBpZiAoJHJ1bnMgPSBmZXRjaF9ydW5z
X2Zvcl9jb25maWcoJGRiLCAkY29uZmlnKSkKSW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9y
Zy9wdWJsaWMvYXBpL3RyaWdnZXJhYmxlcy5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvcGVy
Zi53ZWJraXQub3JnL3B1YmxpYy9hcGkvdHJpZ2dlcmFibGVzLnBocAkocmV2aXNpb24gMTc5NTg3
KQorKysgV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9hcGkvdHJpZ2dlcmFibGVzLnBo
cAkod29ya2luZyBjb3B5KQpAQCAtMjYsMTQgKzI2LDEwIEBAIGZ1bmN0aW9uIG1haW4oJHBhdGgp
IHsKICAgICAgICAgJGlkX3RvX3RyaWdnZXJhYmxlWyRpZF0gPSBhcnJheSgnaWQnID0+ICRpZCwg
J25hbWUnID0+ICRyb3dbJ3RyaWdnZXJhYmxlX25hbWUnXSwgJ2FjY2VwdGVkUmVwb3NpdG9yaWVz
JyA9PiAmJHJlcG9zaXRvcmllcyk7CiAgICAgfQogCi0gICAgJHJlcG9zaXRvcnlfaWRfdG9fbmFt
ZSA9IGFycmF5KCk7Ci0gICAgZm9yZWFjaCAoJGRiLT5zZWxlY3Rfcm93cygncmVwb3NpdG9yaWVz
JywgJ3JlcG9zaXRvcnknLCBhcnJheSgpLCAnbmFtZScpIGFzICRyb3cpCi0gICAgICAgICRyZXBv
c2l0b3J5X2lkX3RvX25hbWVbJHJvd1sncmVwb3NpdG9yeV9pZCddXSA9ICRyb3dbJ3JlcG9zaXRv
cnlfbmFtZSddOwotCiAgICAgZm9yZWFjaCAoJGRiLT5zZWxlY3Rfcm93cygndHJpZ2dlcmFibGVf
cmVwb3NpdG9yaWVzJywgJ3RyaWdyZXBvJywgYXJyYXkoKSkgYXMgJHJvdykgewogICAgICAgICAk
dHJpZ2dlcmFibGUgPSAkaWRfdG9fdHJpZ2dlcmFibGVbJHJvd1sndHJpZ3JlcG9fdHJpZ2dlcmFi
bGUnXV07CiAgICAgICAgIGlmICgkdHJpZ2dlcmFibGUpCi0gICAgICAgICAgICBhcnJheV9wdXNo
KCR0cmlnZ2VyYWJsZVsnYWNjZXB0ZWRSZXBvc2l0b3JpZXMnXSwgJHJlcG9zaXRvcnlfaWRfdG9f
bmFtZVskcm93Wyd0cmlncmVwb19yZXBvc2l0b3J5J11dKTsKKyAgICAgICAgICAgIGFycmF5X3B1
c2goJHRyaWdnZXJhYmxlWydhY2NlcHRlZFJlcG9zaXRvcmllcyddLCAkcm93Wyd0cmlncmVwb19y
ZXBvc2l0b3J5J10pOwogICAgIH0KIAogICAgIGV4aXRfd2l0aF9zdWNjZXNzKGFycmF5KCd0cmln
Z2VyYWJsZXMnID0+IGFycmF5X3ZhbHVlcygkaWRfdG9fdHJpZ2dlcmFibGUpKSk7CkluZGV4OiBX
ZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL2luY2x1ZGUvbWFuaWZlc3QucGhwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvaW5jbHVkZS9tYW5pZmVz
dC5waHAJKHJldmlzaW9uIDE3OTU4NykKKysrIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJs
aWMvaW5jbHVkZS9tYW5pZmVzdC5waHAJKHdvcmtpbmcgY29weSkKQEAgLTEwMCw3ICsxMDAsOCBA
QCBjbGFzcyBNYW5pZmVzdEdlbmVyYXRvciB7CiAgICAgICAgIGlmICghJHJlcG9zaXRvcmllc190
YWJsZSkKICAgICAgICAgICAgIHJldHVybiAkcmVwb3NpdG9yaWVzOwogICAgICAgICBmb3JlYWNo
ICgkcmVwb3NpdG9yaWVzX3RhYmxlIGFzICRyb3cpIHsKLSAgICAgICAgICAgICRyZXBvc2l0b3Jp
ZXNbJHJvd1sncmVwb3NpdG9yeV9uYW1lJ11dID0gYXJyYXkoCisgICAgICAgICAgICAkcmVwb3Np
dG9yaWVzWyRyb3dbJ3JlcG9zaXRvcnlfaWQnXV0gPSBhcnJheSgKKyAgICAgICAgICAgICAgICAn
bmFtZScgPT4gJHJvd1sncmVwb3NpdG9yeV9uYW1lJ10sCiAgICAgICAgICAgICAgICAgJ3VybCcg
PT4gJHJvd1sncmVwb3NpdG9yeV91cmwnXSwKICAgICAgICAgICAgICAgICAnYmxhbWVVcmwnID0+
ICRyb3dbJ3JlcG9zaXRvcnlfYmxhbWVfdXJsJ10sCiAgICAgICAgICAgICAgICAgJ2hhc1JlcG9y
dGVkQ29tbWl0cycgPT4gaW5fYXJyYXkoJHJvd1sncmVwb3NpdG9yeV9pZCddLCAkcmVwb3NpdG9y
aWVzX3dpdGhfY29tbWl0KSk7CkBAIC0xMjEsMTggKzEyMiwxMiBAQCBjbGFzcyBNYW5pZmVzdEdl
bmVyYXRvciB7CiAgICAgfQogCiAgICAgcHJpdmF0ZSBmdW5jdGlvbiBidWdfdHJhY2tlcnMoJHJl
cG9zaXRvcmllc190YWJsZSkgewotICAgICAgICAkcmVwb3NpdG9yeV9pZF90b19uYW1lID0gYXJy
YXkoKTsKLSAgICAgICAgaWYgKCRyZXBvc2l0b3JpZXNfdGFibGUpIHsKLSAgICAgICAgICAgIGZv
cmVhY2ggKCRyZXBvc2l0b3JpZXNfdGFibGUgYXMgJHJvdykKLSAgICAgICAgICAgICAgICAkcmVw
b3NpdG9yeV9pZF90b19uYW1lWyRyb3dbJ3JlcG9zaXRvcnlfaWQnXV0gPSAkcm93WydyZXBvc2l0
b3J5X25hbWUnXTsKLSAgICAgICAgfQotCiAgICAgICAgICR0cmFja2VyX2lkX3RvX3JlcG9zaXRv
cmllcyA9IGFycmF5KCk7CiAgICAgICAgICR0cmFja2VyX3JlcG9zaXRvcmllc190YWJsZSA9ICR0
aGlzLT5kYi0+ZmV0Y2hfdGFibGUoJ3RyYWNrZXJfcmVwb3NpdG9yaWVzJyk7CiAgICAgICAgIGlm
ICgkdHJhY2tlcl9yZXBvc2l0b3JpZXNfdGFibGUpIHsKICAgICAgICAgICAgIGZvcmVhY2ggKCR0
cmFja2VyX3JlcG9zaXRvcmllc190YWJsZSBhcyAkcm93KSB7CiAgICAgICAgICAgICAgICAgYXJy
YXlfcHVzaChhcnJheV9lbnN1cmVfaXRlbV9oYXNfYXJyYXkoJHRyYWNrZXJfaWRfdG9fcmVwb3Np
dG9yaWVzLCAkcm93Wyd0cmFjcmVwb190cmFja2VyJ10pLAotICAgICAgICAgICAgICAgICAgICAk
cmVwb3NpdG9yeV9pZF90b19uYW1lWyRyb3dbJ3RyYWNyZXBvX3JlcG9zaXRvcnknXV0pOworICAg
ICAgICAgICAgICAgICAgICAkcm93Wyd0cmFjcmVwb19yZXBvc2l0b3J5J10pOwogICAgICAgICAg
ICAgfQogICAgICAgICB9CiAKSW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMv
anMvaGVscGVyLWNsYXNzZXMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvcGVyZi53ZWJraXQu
b3JnL3B1YmxpYy9qcy9oZWxwZXItY2xhc3Nlcy5qcwkocmV2aXNpb24gMTc5NTg3KQorKysgV2Vi
c2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9qcy9oZWxwZXItY2xhc3Nlcy5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtNTEsOCArNTEsOCBAQCBmdW5jdGlvbiBUZXN0QnVpbGQocmVwb3NpdG9yaWVz
LCBidWlsZGVyCiAgICAgY29uc3QgcmV2aXNpb25zID0gcmF3UnVuLnJldmlzaW9uczsKICAgICB2
YXIgbWF4VGltZSA9IDA7CiAgICAgdmFyIHJldmlzaW9uQ291bnQgPSAwOwotICAgIGZvciAodmFy
IHJlcG9zaXRvcnlOYW1lIGluIHJldmlzaW9ucykgewotICAgICAgICBtYXhUaW1lID0gTWF0aC5t
YXgobWF4VGltZSwgcmV2aXNpb25zW3JlcG9zaXRvcnlOYW1lXVsxXSk7IC8vIFJldmlzaW9uIGlz
IGFuIHBhaXIgKHJldmlzaW9uLCB0aW1lKQorICAgIGZvciAodmFyIHJlcG9zaXRvcnlJZCBpbiBy
ZXZpc2lvbnMpIHsKKyAgICAgICAgbWF4VGltZSA9IE1hdGgubWF4KG1heFRpbWUsIHJldmlzaW9u
c1tyZXBvc2l0b3J5SWRdWzFdKTsgLy8gUmV2aXNpb24gaXMgYW4gcGFpciAocmV2aXNpb24sIHRp
bWUpCiAgICAgICAgIHJldmlzaW9uQ291bnQrKzsKICAgICB9CiAgICAgaWYgKCFtYXhUaW1lKQpA
QCAtODEsMTQgKzgxLDE0IEBAIGZ1bmN0aW9uIFRlc3RCdWlsZChyZXBvc2l0b3JpZXMsIGJ1aWxk
ZXIKICAgICAgICAgcmV0dXJuIHRlbXBsYXRlID8gdGVtcGxhdGUucmVwbGFjZSgvXCRidWlsZE51
bWJlci9nLCB0aGlzLmJ1aWxkTnVtYmVyKCkpIDogbnVsbDsKICAgICB9CiAgICAgdGhpcy5wbGF0
Zm9ybSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHBsYXRmb3JtOyB9Ci0gICAgdGhpcy5yZXZpc2lv
biA9IGZ1bmN0aW9uKHJlcG9zaXRvcnlOYW1lKSB7IHJldHVybiByZXZpc2lvbnNbcmVwb3NpdG9y
eU5hbWVdWzBdOyB9CisgICAgdGhpcy5yZXZpc2lvbiA9IGZ1bmN0aW9uKHJlcG9zaXRvcnlJZCkg
eyByZXR1cm4gcmV2aXNpb25zW3JlcG9zaXRvcnlJZF1bMF07IH0KICAgICB0aGlzLmZvcm1hdHRl
ZFJldmlzaW9ucyA9IGZ1bmN0aW9uIChwcmV2aW91c0J1aWxkKSB7CiAgICAgICAgIHZhciByZXN1
bHQgPSB7fTsKLSAgICAgICAgZm9yICh2YXIgcmVwb3NpdG9yeU5hbWUgaW4gcmVwb3NpdG9yaWVz
KSB7Ci0gICAgICAgICAgICBpZiAoIXJldmlzaW9uc1tyZXBvc2l0b3J5TmFtZV0pCisgICAgICAg
IGZvciAodmFyIHJlcG9zaXRvcnlJZCBpbiByZXBvc2l0b3JpZXMpIHsKKyAgICAgICAgICAgIGlm
ICghcmV2aXNpb25zW3JlcG9zaXRvcnlJZF0pCiAgICAgICAgICAgICAgICAgY29udGludWU7Ci0g
ICAgICAgICAgICB2YXIgcHJldmlvdXNSZXZpc2lvbiA9IHByZXZpb3VzQnVpbGQgPyBwcmV2aW91
c0J1aWxkLnJldmlzaW9uKHJlcG9zaXRvcnlOYW1lKSA6IHVuZGVmaW5lZDsKLSAgICAgICAgICAg
IHZhciBjdXJyZW50UmV2aXNpb24gPSB0aGlzLnJldmlzaW9uKHJlcG9zaXRvcnlOYW1lKTsKKyAg
ICAgICAgICAgIHZhciBwcmV2aW91c1JldmlzaW9uID0gcHJldmlvdXNCdWlsZCA/IHByZXZpb3Vz
QnVpbGQucmV2aXNpb24ocmVwb3NpdG9yeUlkKSA6IHVuZGVmaW5lZDsKKyAgICAgICAgICAgIHZh
ciBjdXJyZW50UmV2aXNpb24gPSB0aGlzLnJldmlzaW9uKHJlcG9zaXRvcnlJZCk7CiAgICAgICAg
ICAgICBpZiAocHJldmlvdXNSZXZpc2lvbiA9PT0gY3VycmVudFJldmlzaW9uKQogICAgICAgICAg
ICAgICAgIHByZXZpb3VzUmV2aXNpb24gPSB1bmRlZmluZWQ7CiAKQEAgLTExOSw3ICsxMTksNyBA
QCBmdW5jdGlvbiBUZXN0QnVpbGQocmVwb3NpdG9yaWVzLCBidWlsZGVyCiAgICAgICAgICAgICB9
CiAKICAgICAgICAgICAgIHZhciB1cmw7Ci0gICAgICAgICAgICB2YXIgcmVwb3NpdG9yeSA9IHJl
cG9zaXRvcmllc1tyZXBvc2l0b3J5TmFtZV07CisgICAgICAgICAgICB2YXIgcmVwb3NpdG9yeSA9
IHJlcG9zaXRvcmllc1tyZXBvc2l0b3J5SWRdOwogICAgICAgICAgICAgaWYgKHJlcG9zaXRvcnkp
IHsKICAgICAgICAgICAgICAgICBpZiAocHJldmlvdXNSZXZpc2lvbikKICAgICAgICAgICAgICAg
ICAgICAgdXJsID0gKHJlcG9zaXRvcnlbJ2JsYW1lVXJsJ10gfHwgJycpLnJlcGxhY2UoL1wkMS9n
LCBwcmV2aW91c1JldmlzaW9uKS5yZXBsYWNlKC9cJDIvZywgY3VycmVudFJldmlzaW9uKTsKQEAg
LTEyNyw3ICsxMjcsNyBAQCBmdW5jdGlvbiBUZXN0QnVpbGQocmVwb3NpdG9yaWVzLCBidWlsZGVy
CiAgICAgICAgICAgICAgICAgICAgIHVybCA9IChyZXBvc2l0b3J5Wyd1cmwnXSB8fCAnJykucmVw
bGFjZSgvXCQxL2csIGN1cnJlbnRSZXZpc2lvbik7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAg
ICAgIHJlc3VsdFtyZXBvc2l0b3J5TmFtZV0gPSB7CisgICAgICAgICAgICByZXN1bHRbcmVwb3Np
dG9yeS5uYW1lXSA9IHsKICAgICAgICAgICAgICAgICAnbGFiZWwnOiBsYWJlbEZvclRoaXNSZXBv
c2l0b3J5LAogICAgICAgICAgICAgICAgICdjdXJyZW50UmV2aXNpb24nOiBjdXJyZW50UmV2aXNp
b24sCiAgICAgICAgICAgICAgICAgJ3ByZXZpb3VzUmV2aXNpb24nOiBwcmV2aW91c1JldmlzaW9u
LApJbmRleDogV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92Mi9hcHAuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92Mi9hcHAuanMJKHJldmlz
aW9uIDE3OTU4NykKKysrIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjIvYXBwLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0yNzYsOCArMjc2LDggQEAgQXBwLlBhbmUgPSBFbWJlci5PYmpl
Y3QuZXh0ZW5kKHsKICAgICBzZWxlY3RlZEl0ZW06IG51bGwsCiAgICAgc2VhcmNoQ29tbWl0OiBm
dW5jdGlvbiAocmVwb3NpdG9yeSwga2V5d29yZCkgewogICAgICAgICB2YXIgc2VsZiA9IHRoaXM7
Ci0gICAgICAgIHZhciByZXBvc2l0b3J5TmFtZSA9IHJlcG9zaXRvcnkuZ2V0KCdpZCcpOwotICAg
ICAgICBDb21taXRMb2dzLmZldGNoRm9yVGltZVJhbmdlKHJlcG9zaXRvcnlOYW1lLCBudWxsLCBu
dWxsLCBrZXl3b3JkKS50aGVuKGZ1bmN0aW9uIChjb21taXRzKSB7CisgICAgICAgIHZhciByZXBv
c2l0b3J5SWQgPSByZXBvc2l0b3J5LmdldCgnaWQnKTsKKyAgICAgICAgQ29tbWl0TG9ncy5mZXRj
aEZvclRpbWVSYW5nZShyZXBvc2l0b3J5SWQsIG51bGwsIG51bGwsIGtleXdvcmQpLnRoZW4oZnVu
Y3Rpb24gKGNvbW1pdHMpIHsKICAgICAgICAgICAgIGlmIChzZWxmLmlzRGVzdHJveWVkIHx8ICFz
ZWxmLmdldCgnY2hhcnREYXRhJykgfHwgIWNvbW1pdHMubGVuZ3RoKQogICAgICAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgICAgIHZhciBjdXJyZW50UnVucyA9IHNlbGYuZ2V0KCdjaGFydERh
dGEnKS5jdXJyZW50LnRpbWVTZXJpZXNCeUNvbW1pdFRpbWUoKS5zZXJpZXMoKTsKQEAgLTI4OCw3
ICsyODgsNyBAQCBBcHAuUGFuZSA9IEVtYmVyLk9iamVjdC5leHRlbmQoewogICAgICAgICAgICAg
dmFyIGNvbW1pdEluZGV4ID0gMDsKICAgICAgICAgICAgIGZvciAodmFyIHJ1bkluZGV4ID0gMDsg
cnVuSW5kZXggPCBjdXJyZW50UnVucy5sZW5ndGggJiYgY29tbWl0SW5kZXggPCBjb21taXRzLmxl
bmd0aDsgcnVuSW5kZXgrKykgewogICAgICAgICAgICAgICAgIHZhciBtZWFzdXJlbWVudCA9IGN1
cnJlbnRSdW5zW3J1bkluZGV4XS5tZWFzdXJlbWVudDsKLSAgICAgICAgICAgICAgICB2YXIgY29t
bWl0VGltZSA9IG1lYXN1cmVtZW50LmNvbW1pdFRpbWVGb3JSZXBvc2l0b3J5KHJlcG9zaXRvcnlO
YW1lKTsKKyAgICAgICAgICAgICAgICB2YXIgY29tbWl0VGltZSA9IG1lYXN1cmVtZW50LmNvbW1p
dFRpbWVGb3JSZXBvc2l0b3J5KHJlcG9zaXRvcnlJZCk7CiAgICAgICAgICAgICAgICAgaWYgKCFj
b21taXRUaW1lKQogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAg
ICBpZiAoY29tbWl0c1tjb21taXRJbmRleF0udGltZSA8PSBjb21taXRUaW1lKSB7CkBAIC03Mjcs
MTIgKzcyNywxMSBAQCBBcHAuUGFuZUNvbnRyb2xsZXIgPSBFbWJlci5PYmplY3RDb250cm9sCiAg
ICAgICAgIHZhciByZXZpc2lvbnMgPSBBcHAuTWFuaWZlc3QuZ2V0KCdyZXBvc2l0b3JpZXMnKQog
ICAgICAgICAgICAgLmZpbHRlcihmdW5jdGlvbiAocmVwb3NpdG9yeSkgeyByZXR1cm4gZm9ybWF0
dGVkUmV2aXNpb25zW3JlcG9zaXRvcnkuZ2V0KCdpZCcpXTsgfSkKICAgICAgICAgICAgIC5tYXAo
ZnVuY3Rpb24gKHJlcG9zaXRvcnkpIHsKLSAgICAgICAgICAgIHZhciByZXBvc2l0b3J5TmFtZSA9
IHJlcG9zaXRvcnkuZ2V0KCdpZCcpOwotICAgICAgICAgICAgdmFyIHJldmlzaW9uID0gRW1iZXIu
T2JqZWN0LmNyZWF0ZShmb3JtYXR0ZWRSZXZpc2lvbnNbcmVwb3NpdG9yeU5hbWVdKTsKKyAgICAg
ICAgICAgIHZhciByZXZpc2lvbiA9IEVtYmVyLk9iamVjdC5jcmVhdGUoZm9ybWF0dGVkUmV2aXNp
b25zW3JlcG9zaXRvcnkuZ2V0KCdpZCcpXSk7CiAgICAgICAgICAgICByZXZpc2lvblsndXJsJ10g
PSByZXZpc2lvbi5wcmV2aW91c1JldmlzaW9uCiAgICAgICAgICAgICAgICAgPyByZXBvc2l0b3J5
LnVybEZvclJldmlzaW9uUmFuZ2UocmV2aXNpb24ucHJldmlvdXNSZXZpc2lvbiwgcmV2aXNpb24u
Y3VycmVudFJldmlzaW9uKQogICAgICAgICAgICAgICAgIDogcmVwb3NpdG9yeS51cmxGb3JSZXZp
c2lvbihyZXZpc2lvbi5jdXJyZW50UmV2aXNpb24pOwotICAgICAgICAgICAgcmV2aXNpb25bJ25h
bWUnXSA9IHJlcG9zaXRvcnlOYW1lOworICAgICAgICAgICAgcmV2aXNpb25bJ25hbWUnXSA9IHJl
cG9zaXRvcnkuZ2V0KCduYW1lJyk7CiAgICAgICAgICAgICByZXZpc2lvblsncmVwb3NpdG9yeSdd
ID0gcmVwb3NpdG9yeTsKICAgICAgICAgICAgIHJldHVybiByZXZpc2lvbjsgCiAgICAgICAgIH0p
OwpAQCAtODg4LDExICs4ODcsMTEgQEAgQXBwLkFuYWx5c2lzVGFza0NvbnRyb2xsZXIgPSBFbWJl
ci5Db250cgogICAgICAgICB2YXIgcmVwb3NpdG9yeVRvUmV2aXNpb25zID0ge307CiAgICAgICAg
IGFuYWx5c2lzUG9pbnRzLmZvckVhY2goZnVuY3Rpb24gKHBvaW50LCBwb2ludEluZGV4KSB7CiAg
ICAgICAgICAgICB2YXIgcmV2aXNpb25zID0gcG9pbnQubWVhc3VyZW1lbnQuZm9ybWF0dGVkUmV2
aXNpb25zKCk7Ci0gICAgICAgICAgICBmb3IgKHZhciByZXBvc2l0b3J5TmFtZSBpbiByZXZpc2lv
bnMpIHsKLSAgICAgICAgICAgICAgICBpZiAoIXJlcG9zaXRvcnlUb1JldmlzaW9uc1tyZXBvc2l0
b3J5TmFtZV0pCi0gICAgICAgICAgICAgICAgICAgIHJlcG9zaXRvcnlUb1JldmlzaW9uc1tyZXBv
c2l0b3J5TmFtZV0gPSBuZXcgQXJyYXkoYW5hbHlzaXNQb2ludHMubGVuZ3RoKTsKLSAgICAgICAg
ICAgICAgICB2YXIgcmV2aXNpb24gPSByZXZpc2lvbnNbcmVwb3NpdG9yeU5hbWVdOwotICAgICAg
ICAgICAgICAgIHJlcG9zaXRvcnlUb1JldmlzaW9uc1tyZXBvc2l0b3J5TmFtZV1bcG9pbnRJbmRl
eF0gPSB7CisgICAgICAgICAgICBmb3IgKHZhciByZXBvc2l0b3J5SWQgaW4gcmV2aXNpb25zKSB7
CisgICAgICAgICAgICAgICAgaWYgKCFyZXBvc2l0b3J5VG9SZXZpc2lvbnNbcmVwb3NpdG9yeUlk
XSkKKyAgICAgICAgICAgICAgICAgICAgcmVwb3NpdG9yeVRvUmV2aXNpb25zW3JlcG9zaXRvcnlJ
ZF0gPSBuZXcgQXJyYXkoYW5hbHlzaXNQb2ludHMubGVuZ3RoKTsKKyAgICAgICAgICAgICAgICB2
YXIgcmV2aXNpb24gPSByZXZpc2lvbnNbcmVwb3NpdG9yeUlkXTsKKyAgICAgICAgICAgICAgICBy
ZXBvc2l0b3J5VG9SZXZpc2lvbnNbcmVwb3NpdG9yeUlkXVtwb2ludEluZGV4XSA9IHsKICAgICAg
ICAgICAgICAgICAgICAgbGFiZWw6IHBvaW50LmxhYmVsICsgJzogJyArIHJldmlzaW9uLmxhYmVs
LAogICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcmV2aXNpb24uY3VycmVudFJldmlzaW9uLAog
ICAgICAgICAgICAgICAgIH07CkBAIC05MDUsMTUgKzkwNCwxNSBAQCBBcHAuQW5hbHlzaXNUYXNr
Q29udHJvbGxlciA9IEVtYmVyLkNvbnRyCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogCiAgICAg
ICAgICAgICBzZWxmLnNldCgncm9vdHMnLCB0cmlnZ2VyYWJsZS5nZXQoJ2FjY2VwdGVkUmVwb3Np
dG9yaWVzJykubWFwKGZ1bmN0aW9uIChyZXBvc2l0b3J5KSB7Ci0gICAgICAgICAgICAgICAgdmFy
IHJlcG9zaXRvcnlOYW1lID0gcmVwb3NpdG9yeS5nZXQoJ2lkJyk7Ci0gICAgICAgICAgICAgICAg
dmFyIHJldmlzaW9ucyA9IFt7dmFsdWU6ICcgJywgbGFiZWw6ICdOb25lJ31dLmNvbmNhdChyZXBv
c2l0b3J5VG9SZXZpc2lvbnNbcmVwb3NpdG9yeU5hbWVdKTsKKyAgICAgICAgICAgICAgICB2YXIg
cmVwb3NpdG9yeUlkID0gcmVwb3NpdG9yeS5nZXQoJ2lkJyk7CisgICAgICAgICAgICAgICAgdmFy
IHJldmlzaW9ucyA9IFt7dmFsdWU6ICcgJywgbGFiZWw6ICdOb25lJ31dLmNvbmNhdChyZXBvc2l0
b3J5VG9SZXZpc2lvbnNbcmVwb3NpdG9yeUlkXSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIEVt
YmVyLk9iamVjdC5jcmVhdGUoewotICAgICAgICAgICAgICAgICAgICBuYW1lOiByZXBvc2l0b3J5
TmFtZSwKKyAgICAgICAgICAgICAgICAgICAgbmFtZTogcmVwb3NpdG9yeS5nZXQoJ25hbWUnKSwK
ICAgICAgICAgICAgICAgICAgICAgc2V0czogWwotICAgICAgICAgICAgICAgICAgICAgICAgRW1i
ZXIuT2JqZWN0LmNyZWF0ZSh7bmFtZTogJ0FbJyArIHJlcG9zaXRvcnlOYW1lICsgJ10nLAorICAg
ICAgICAgICAgICAgICAgICAgICAgRW1iZXIuT2JqZWN0LmNyZWF0ZSh7bmFtZTogJ0FbJyArIHJl
cG9zaXRvcnlJZCArICddJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXZpc2lvbnM6
IHJldmlzaW9ucywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb246IHJldmlz
aW9uc1sxXX0pLAotICAgICAgICAgICAgICAgICAgICAgICAgRW1iZXIuT2JqZWN0LmNyZWF0ZSh7
bmFtZTogJ0JbJyArIHJlcG9zaXRvcnlOYW1lICsgJ10nLAorICAgICAgICAgICAgICAgICAgICAg
ICAgRW1iZXIuT2JqZWN0LmNyZWF0ZSh7bmFtZTogJ0JbJyArIHJlcG9zaXRvcnlJZCArICddJywK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXZpc2lvbnM6IHJldmlzaW9ucywKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb246IHJldmlzaW9uc1tyZXZpc2lvbnMubGVu
Z3RoIC0gMV19KSwKICAgICAgICAgICAgICAgICAgICAgXSwKSW5kZXg6IFdlYnNpdGVzL3BlcmYu
d2Via2l0Lm9yZy9wdWJsaWMvdjIvZGF0YS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvcHVibGljL3YyL2RhdGEuanMJKHJldmlzaW9uIDE3OTU4NykKKysrIFdlYnNp
dGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjIvZGF0YS5qcwkod29ya2luZyBjb3B5KQpAQCAt
MTQxLDggKzE0MSw4IEBAIGZ1bmN0aW9uIE1lYXN1cmVtZW50KHJhd0RhdGEpCiAgICAgICAgIHJl
dmlzaW9ucyA9IHt9OwogICAgIHRoaXMuX3Jhd1sncmV2aXNpb25zJ10gPSByZXZpc2lvbnM7CiAK
LSAgICBmb3IgKHZhciByZXBvc2l0b3J5TmFtZSBpbiByZXZpc2lvbnMpIHsKLSAgICAgICAgdmFy
IGNvbW1pdFRpbWVPclVuZGVmaW5lZCA9IHJldmlzaW9uc1tyZXBvc2l0b3J5TmFtZV1bMV07IC8v
IGUuZy4gWyIxNjIxOTAiLCAxMzg5OTQ1MDQ2MDAwXQorICAgIGZvciAodmFyIHJlcG9zaXRvcnlJ
ZCBpbiByZXZpc2lvbnMpIHsKKyAgICAgICAgdmFyIGNvbW1pdFRpbWVPclVuZGVmaW5lZCA9IHJl
dmlzaW9uc1tyZXBvc2l0b3J5SWRdWzFdOyAvLyBlLmcuIFsiMTYyMTkwIiwgMTM4OTk0NTA0NjAw
MF0KICAgICAgICAgaWYgKGxhdGVzdFRpbWUgPCBjb21taXRUaW1lT3JVbmRlZmluZWQpCiAgICAg
ICAgICAgICBsYXRlc3RUaW1lID0gY29tbWl0VGltZU9yVW5kZWZpbmVkOwogICAgIH0KQEAgLTE1
MiwxMCArMTUyLDEwIEBAIGZ1bmN0aW9uIE1lYXN1cmVtZW50KHJhd0RhdGEpCiAgICAgdGhpcy5f
Zm9ybWF0dGVkUmV2aXNpb25zID0gdW5kZWZpbmVkOwogfQogCi1NZWFzdXJlbWVudC5wcm90b3R5
cGUuY29tbWl0VGltZUZvclJlcG9zaXRvcnkgPSBmdW5jdGlvbiAocmVwb3NpdG9yeU5hbWUpCitN
ZWFzdXJlbWVudC5wcm90b3R5cGUuY29tbWl0VGltZUZvclJlcG9zaXRvcnkgPSBmdW5jdGlvbiAo
cmVwb3NpdG9yeUlkKQogewogICAgIHZhciByZXZpc2lvbnMgPSB0aGlzLl9yYXdbJ3JldmlzaW9u
cyddOwotICAgIHZhciByYXdEYXRhID0gcmV2aXNpb25zW3JlcG9zaXRvcnlOYW1lXTsKKyAgICB2
YXIgcmF3RGF0YSA9IHJldmlzaW9uc1tyZXBvc2l0b3J5SWRdOwogICAgIGlmICghcmF3RGF0YSkK
ICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgcmV0dXJuIG5ldyBEYXRlKHJhd0RhdGFbMV0pOwpA
QCAtMTY2LDExICsxNjYsMTEgQEAgTWVhc3VyZW1lbnQucHJvdG90eXBlLmZvcm1hdHRlZFJldmlz
aW9ucwogICAgIHZhciByZXZpc2lvbnMgPSB0aGlzLl9yYXdbJ3JldmlzaW9ucyddOwogICAgIHZh
ciBwcmV2aW91c1JldmlzaW9ucyA9IHByZXZpb3VzTWVhc3VyZW1lbnQgPyBwcmV2aW91c01lYXN1
cmVtZW50Ll9yYXdbJ3JldmlzaW9ucyddIDogbnVsbDsKICAgICB2YXIgZm9ybWF0dGVkUmV2aXNp
b25zID0ge307Ci0gICAgZm9yICh2YXIgcmVwb3NpdG9yeU5hbWUgaW4gcmV2aXNpb25zKSB7Ci0g
ICAgICAgIHZhciBjdXJyZW50UmV2aXNpb24gPSByZXZpc2lvbnNbcmVwb3NpdG9yeU5hbWVdWzBd
OwotICAgICAgICB2YXIgcHJldmlvdXNSZXZpc2lvbiA9IHByZXZpb3VzUmV2aXNpb25zID8gcHJl
dmlvdXNSZXZpc2lvbnNbcmVwb3NpdG9yeU5hbWVdWzBdIDogbnVsbDsKKyAgICBmb3IgKHZhciBy
ZXBvc2l0b3J5SWQgaW4gcmV2aXNpb25zKSB7CisgICAgICAgIHZhciBjdXJyZW50UmV2aXNpb24g
PSByZXZpc2lvbnNbcmVwb3NpdG9yeUlkXVswXTsKKyAgICAgICAgdmFyIHByZXZpb3VzUmV2aXNp
b24gPSBwcmV2aW91c1JldmlzaW9ucyA/IHByZXZpb3VzUmV2aXNpb25zW3JlcG9zaXRvcnlJZF1b
MF0gOiBudWxsOwogICAgICAgICB2YXIgZm9ybWF0dHRlZFJldmlzaW9uID0gdGhpcy5fZm9ybWF0
UmV2aXNpb25SYW5nZShwcmV2aW91c1JldmlzaW9uLCBjdXJyZW50UmV2aXNpb24pOwotICAgICAg
ICBmb3JtYXR0ZWRSZXZpc2lvbnNbcmVwb3NpdG9yeU5hbWVdID0gZm9ybWF0dHRlZFJldmlzaW9u
OworICAgICAgICBmb3JtYXR0ZWRSZXZpc2lvbnNbcmVwb3NpdG9yeUlkXSA9IGZvcm1hdHR0ZWRS
ZXZpc2lvbjsKICAgICB9CiAKICAgICByZXR1cm4gZm9ybWF0dGVkUmV2aXNpb25zOwo=
</data>
<flag name="review"
          id="270938"
          type_id="1"
          status="+"
          setter="cdumez"
    />
          </attachment>
      

    </bug>

</bugzilla>