<?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>59209</bug_id>
          
          <creation_ts>2011-04-22 10:19:14 -0700</creation_ts>
          <short_desc>Bugzilla autocomplete should support frequent contributors who are not committers</short_desc>
          <delta_ts>2011-04-22 12:17:14 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>59216</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>abarth</cc>
    
    <cc>levin</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>390859</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-04-22 10:19:14 -0700</bug_when>
    <thetext>Every once in a while, I want to CC an active contributor (or spec author) who isn&apos;t a committer, or isn&apos;t associated with WebKit at all. It would be nice to get autocomplete working for them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390860</commentid>
    <comment_count>1</comment_count>
      <attachid>90718</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-04-22 10:22:35 -0700</bug_when>
    <thetext>Created attachment 90718
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390861</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-22 10:23:45 -0700</bug_when>
    <thetext>Attachment 90718 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Tools/Scripts/webkitpy/common/config/commi...&quot; exit_code: 1

Traceback (most recent call last):
  File &quot;Tools/Scripts/check-webkit-style&quot;, line 51, in &lt;module&gt;
    from webkitpy.style_references import detect_checkout
  File &quot;/mnt/git/webkit-style-queue/Tools/Scripts/webkitpy/style_references.py&quot;, line 48, in &lt;module&gt;
    from webkitpy.layout_tests import port
  File &quot;/mnt/git/webkit-style-queue/Tools/Scripts/webkitpy/layout_tests/port/__init__.py&quot;, line 34, in &lt;module&gt;
    from test import unit_test_filesystem
  File &quot;/mnt/git/webkit-style-queue/Tools/Scripts/webkitpy/layout_tests/port/test.py&quot;, line 37, in &lt;module&gt;
    from webkitpy.tool import mocktool
  File &quot;/mnt/git/webkit-style-queue/Tools/Scripts/webkitpy/tool/mocktool.py&quot;, line 32, in &lt;module&gt;
    from webkitpy.common.config.committers import CommitterList, Reviewer
  File &quot;/mnt/git/webkit-style-queue/Tools/Scripts/webkitpy/common/config/committers.py&quot;, line 65, in &lt;module&gt;
    Contributor(&quot;Anne van Kesteren&quot;, &quot;annevankesteren+webkit@gmail.com&quot;, &quot;annevk&quot;),
NameError: name &apos;Contributor&apos; is not defined


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390866</commentid>
    <comment_count>3</comment_count>
      <attachid>90719</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-04-22 10:28:45 -0700</bug_when>
    <thetext>Created attachment 90719
updated patch

Indeed, should define the class, even though the contributor list is unused...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390867</commentid>
    <comment_count>4</comment_count>
      <attachid>90720</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-04-22 10:29:41 -0700</bug_when>
    <thetext>Created attachment 90720
ick</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390872</commentid>
    <comment_count>5</comment_count>
      <attachid>90720</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-04-22 10:34:07 -0700</bug_when>
    <thetext>Comment on attachment 90720
ick

I&apos;ve wanted this many times too. Thanks for adding it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390873</commentid>
    <comment_count>6</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-04-22 10:34:36 -0700</bug_when>
    <thetext>Dave, I&apos;m not sure, but this my affect your Chrome extension.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390886</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-04-22 10:50:31 -0700</bug_when>
    <thetext>Committed (with one more Python compilation fix) in &lt;http://trac.webkit.org/changeset/84645&gt;. Fingers crossed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390889</commentid>
    <comment_count>8</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-04-22 10:51:50 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Dave, I&apos;m not sure, but this my affect your Chrome extension.

Thanks Ojan. This is cool! I don&apos;t think it will hurt it, but it will make a nice enhancement. I should try to open source that extension some time (or maybe ping folks again about permission to publish it).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390891</commentid>
    <comment_count>9</comment_count>
      <attachid>90720</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-22 10:53:40 -0700</bug_when>
    <thetext>Comment on attachment 90720
ick

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

&gt; Tools/Scripts/webkitpy/common/config/committers.py:36
&gt; +

This looks wrong?  __init__ should actually do something with this data, no?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390898</commentid>
    <comment_count>10</comment_count>
      <attachid>90720</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-04-22 10:57:36 -0700</bug_when>
    <thetext>Comment on attachment 90720
ick

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

&gt;&gt; Tools/Scripts/webkitpy/common/config/committers.py:36
&gt;&gt; +
&gt; 
&gt; This looks wrong?  __init__ should actually do something with this data, no?

It shouldn&apos;t. But it needed an explicit return, which I added before committing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390962</commentid>
    <comment_count>11</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-04-22 12:17:14 -0700</bug_when>
    <thetext>&gt; It shouldn&apos;t.

OK, it should in order to implement improvements like those suggested in bug 59216, but not for Bugzilla.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90718</attachid>
            <date>2011-04-22 10:22:35 -0700</date>
            <delta_ts>2011-04-22 10:28:45 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>contributors.txt</filename>
            <type>text/plain</type>
            <size>2704</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy9jb21taXR0ZXJzLnB5
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy9jb21t
aXR0ZXJzLnB5CShyZXZpc2lvbiA4NDMwNykKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29t
bW9uL2NvbmZpZy9jb21taXR0ZXJzLnB5CSh3b3JraW5nIGNvcHkpCkBAIC01Niw2ICs1NiwxNyBA
QCBjbGFzcyBSZXZpZXdlcihDb21taXR0ZXIpOgogICAgICAgICBzZWxmLmNhbl9yZXZpZXcgPSBU
cnVlCiAKIAorIyBUaGlzIGlzIGEgbGlzdCBvZiBwZW9wbGUgd2hvIGFyZSBuZWl0aGVyIGNvbW1p
dHRlcnMgbm9yIHJldmlld2VycywgYnV0IGdldAorIyBmcmVxdWVudGx5IENDJ2VkIGJ5IG90aGVy
cyBvbiBCdWd6aWxsYSBidWdzLCBzbyB0aGVpciBuYW1lcyBzaG91bGQgYmUKKyMgc3VwcG9ydGVk
IGJ5IGF1dG9jb21wbGV0ZS4gTm8gcmV2aWV3IG5lZWRlZCB0byBhZGQgdG8gdGhlIGxpc3QuCisK
KworY29udHJpYnV0b3JzX3dob19hcmVfbm90X2NvbW1pdHRlcnMgPSBbCisgICAgQ29udHJpYnV0
b3IoIkFubmUgdmFuIEtlc3RlcmVuIiwgImFubmV2YW5rZXN0ZXJlbit3ZWJraXRAZ21haWwuY29t
IiwgImFubmV2ayIpLAorICAgIENvbnRyaWJ1dG9yKCJJYW4gSGlja3NvbiIsICJpYW5AaGl4aWUu
Y2giLCAiaGl4aWUiKSwKK10KKworCiAjIFRoaXMgaXMgaW50ZW5kZWQgYXMgYSBjYW5vbmljYWws
IG1hY2hpbmUtcmVhZGFibGUgbGlzdCBvZiBhbGwgbm9uLXJldmlld2VyCiAjIGNvbW1pdHRlcnMg
Zm9yIFdlYktpdC4gIElmIHlvdXIgbmFtZSBpcyBtaXNzaW5nIGhlcmUgYW5kIHlvdSBhcmUgYSBj
b21taXR0ZXIsCiAjIHBsZWFzZSBhZGQgaXQuICBObyByZXZpZXcgbmVlZGVkLiAgQWxsIHJldmll
d2VycyBhcmUgY29tbWl0dGVycywgc28gdGhpcyBsaXN0CkluZGV4OiBXZWJzaXRlcy9idWdzLndl
YmtpdC5vcmcvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL2J1Z3Mud2Via2l0Lm9y
Zy9DaGFuZ2VMb2cJKHJldmlzaW9uIDg0NjM5KQorKysgV2Vic2l0ZXMvYnVncy53ZWJraXQub3Jn
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDExLTA0LTIyICBB
bGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIENvZGUgY2hhbmdl
cyBieSBBZGFtIEJhcnRoLiBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBC
dWd6aWxsYSBhdXRvY29tcGxldGUgc2hvdWxkIHN1cHBvcnQgZnJlcXVlbnQgY29udHJpYnV0b3Jz
IHdobyBhcmUgbm90IGNvbW1pdHRlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTU5MjA5CisKKyAgICAgICAgKiBjb21taXR0ZXJzLWF1dG9jb21wbGV0
ZS5qczogU3VwcG9ydCBDb250cmlidXRvciByb2xlIGluIGNvbW1pdHRlcnMucHkuCisKIDIwMTEt
MDQtMTkgIENhaW8gTWFyY2VsbyBkZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xpdmVpcmFAb3Bl
bmJvc3NhLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIFJvYmVuLgpJbmRleDogV2Vi
c2l0ZXMvYnVncy53ZWJraXQub3JnL2NvbW1pdHRlcnMtYXV0b2NvbXBsZXRlLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYnNpdGVzL2J1Z3Mud2Via2l0Lm9yZy9jb21taXR0ZXJzLWF1dG9jb21wbGV0ZS5q
cwkocmV2aXNpb24gODQzMDcpCisrKyBXZWJzaXRlcy9idWdzLndlYmtpdC5vcmcvY29tbWl0dGVy
cy1hdXRvY29tcGxldGUuanMJKHdvcmtpbmcgY29weSkKQEAgLTEyNyw2ICsxMjcsNyBAQCBXZWJL
aXRDb21taXR0ZXJzID0gKGZ1bmN0aW9uKCkgewogICAgICAgICB2YXIgcmVjb3JkcyA9IHRleHQu
c3BsaXQoJ1xuJyk7CiAgICAgICAgIHBhcnNlVHlwZSgnQ29tbWl0dGVyJywgcmVjb3JkcywgJ2Mn
KTsKICAgICAgICAgcGFyc2VUeXBlKCdSZXZpZXdlcicsIHJlY29yZHMsICdyJyk7CisgICAgICAg
IHBhcnNlVHlwZSgnQ29udHJpYnV0b3InLCByZWNvcmRzKTsKICAgICB9CiAKICAgICBmdW5jdGlv
biBsb2FkQ29tbWl0dGVycyhjYWxsYmFjaykgewpAQCAtMjQ2LDcgKzI0Nyw4IEBAIFdlYktpdENv
bW1pdHRlcnMgPSAoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgY29udGFjdC5lbWFpbHNb
MF0gKyAnPicgKyBjb250YWN0Lm5hbWUgKyAnIC0gJyArIGNvbnRhY3QuZW1haWxzWzBdKTsKICAg
ICAgICAgICAgIGlmIChjb250YWN0LmlyYykKICAgICAgICAgICAgICAgICBodG1sLnB1c2goJyAo
OicgKyBjb250YWN0LmlyYyArICcpJyk7Ci0gICAgICAgICAgICBodG1sLnB1c2goJyAoJyArIGNv
bnRhY3QudHlwZSArICcpJyk7CisgICAgICAgICAgICBpZiAoY29udGFjdC50eXBlKQorICAgICAg
ICAgICAgICAgIGh0bWwucHVzaCgnICgnICsgY29udGFjdC50eXBlICsgJyknKTsKICAgICAgICAg
ICAgIGh0bWwucHVzaCgnPC9kaXY+Jyk7CiAgICAgICAgIH0KICAgICAgICAgZ2V0TWVudSgpLmlu
bmVySFRNTCA9IGh0bWwuam9pbignJyk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90719</attachid>
            <date>2011-04-22 10:28:45 -0700</date>
            <delta_ts>2011-04-22 10:29:41 -0700</delta_ts>
            <desc>updated patch</desc>
            <filename>committers.py</filename>
            <type>text/plain</type>
            <size>22681</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">IyBDb3B5cmlnaHQgKGMpIDIwMTEsIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIyBD
b3B5cmlnaHQgKGMpIDIwMDksIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiMKIyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiMgbWV0OgojCiMgICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKIyBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiMg
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQojIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCiMgZGlzdHJpYnV0aW9uLgojICAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKIyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQojIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCiMKIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCiMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKIyBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAojIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAojIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKIyBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCiMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIwojIFdlYktpdCdz
IFB5dGhvbiBtb2R1bGUgZm9yIGNvbW1pdHRlciBhbmQgcmV2aWV3ZXIgdmFsaWRhdGlvbgoKCmNs
YXNzIENvbnRyaWJ1dG9yOgoKICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lLCBlbWFpbF9vcl9l
bWFpbHMsIGlyY19uaWNrbmFtZT1Ob25lKToKCgpjbGFzcyBDb21taXR0ZXI6CgogICAgZGVmIF9f
aW5pdF9fKHNlbGYsIG5hbWUsIGVtYWlsX29yX2VtYWlscywgaXJjX25pY2tuYW1lPU5vbmUpOgog
ICAgICAgIHNlbGYuZnVsbF9uYW1lID0gbmFtZQogICAgICAgIGlmIGlzaW5zdGFuY2UoZW1haWxf
b3JfZW1haWxzLCBzdHIpOgogICAgICAgICAgICBzZWxmLmVtYWlscyA9IFtlbWFpbF9vcl9lbWFp
bHNdCiAgICAgICAgZWxzZToKICAgICAgICAgICAgc2VsZi5lbWFpbHMgPSBlbWFpbF9vcl9lbWFp
bHMKICAgICAgICBzZWxmLmlyY19uaWNrbmFtZSA9IGlyY19uaWNrbmFtZQogICAgICAgIHNlbGYu
Y2FuX3JldmlldyA9IEZhbHNlCgogICAgZGVmIGJ1Z3ppbGxhX2VtYWlsKHNlbGYpOgogICAgICAg
ICMgRklYTUU6IFdlJ3JlIGFzc3VtaW5nIHRoZSBmaXJzdCBlbWFpbCBpcyBhIHZhbGlkIGJ1Z3pp
bGxhIGVtYWlsLAogICAgICAgICMgd2hpY2ggbWlnaHQgbm90IGJlIHJpZ2h0LgogICAgICAgIHJl
dHVybiBzZWxmLmVtYWlsc1swXQoKICAgIGRlZiBfX3N0cl9fKHNlbGYpOgogICAgICAgIHJldHVy
biAnIiVzIiA8JXM+JyAlIChzZWxmLmZ1bGxfbmFtZSwgc2VsZi5lbWFpbHNbMF0pCgoKY2xhc3Mg
UmV2aWV3ZXIoQ29tbWl0dGVyKToKCiAgICBkZWYgX19pbml0X18oc2VsZiwgbmFtZSwgZW1haWxf
b3JfZW1haWxzLCBpcmNfbmlja25hbWU9Tm9uZSk6CiAgICAgICAgQ29tbWl0dGVyLl9faW5pdF9f
KHNlbGYsIG5hbWUsIGVtYWlsX29yX2VtYWlscywgaXJjX25pY2tuYW1lKQogICAgICAgIHNlbGYu
Y2FuX3JldmlldyA9IFRydWUKCgojIFRoaXMgaXMgYSBsaXN0IG9mIHBlb3BsZSB3aG8gYXJlIG5l
aXRoZXIgY29tbWl0dGVycyBub3IgcmV2aWV3ZXJzLCBidXQgZ2V0CiMgZnJlcXVlbnRseSBDQydl
ZCBieSBvdGhlcnMgb24gQnVnemlsbGEgYnVncywgc28gdGhlaXIgbmFtZXMgc2hvdWxkIGJlCiMg
c3VwcG9ydGVkIGJ5IGF1dG9jb21wbGV0ZS4gTm8gcmV2aWV3IG5lZWRlZCB0byBhZGQgdG8gdGhl
IGxpc3QuCgoKY29udHJpYnV0b3JzX3dob19hcmVfbm90X2NvbW1pdHRlcnMgPSBbCiAgICBDb250
cmlidXRvcigiQW5uZSB2YW4gS2VzdGVyZW4iLCAiYW5uZXZhbmtlc3RlcmVuK3dlYmtpdEBnbWFp
bC5jb20iLCAiYW5uZXZrIiksCiAgICBDb250cmlidXRvcigiSWFuIEhpY2tzb24iLCAiaWFuQGhp
eGllLmNoIiwgImhpeGllIiksCl0KCgojIFRoaXMgaXMgaW50ZW5kZWQgYXMgYSBjYW5vbmljYWws
IG1hY2hpbmUtcmVhZGFibGUgbGlzdCBvZiBhbGwgbm9uLXJldmlld2VyCiMgY29tbWl0dGVycyBm
b3IgV2ViS2l0LiAgSWYgeW91ciBuYW1lIGlzIG1pc3NpbmcgaGVyZSBhbmQgeW91IGFyZSBhIGNv
bW1pdHRlciwKIyBwbGVhc2UgYWRkIGl0LiAgTm8gcmV2aWV3IG5lZWRlZC4gIEFsbCByZXZpZXdl
cnMgYXJlIGNvbW1pdHRlcnMsIHNvIHRoaXMgbGlzdAojIGlzIG9ubHkgb2YgY29tbWl0dGVycyB3
aG8gYXJlIG5vdCByZXZpZXdlcnMuCgoKY29tbWl0dGVyc191bmFibGVfdG9fcmV2aWV3ID0gWwog
ICAgQ29tbWl0dGVyKCJBYXJvbiBCb29kbWFuIiwgImFhQGNocm9taXVtLm9yZyIsICJhYm9vZG1h
biIpLAogICAgQ29tbWl0dGVyKCJBYmhpc2hlayBBcnlhIiwgImluZmVybm9AY2hyb21pdW0ub3Jn
IiwgImluZmVybm8tc2VjIiksCiAgICBDb21taXR0ZXIoIkFkYW0gTGFuZ2xleSIsICJhZ2xAY2hy
b21pdW0ub3JnIiwgImFnbCIpLAogICAgQ29tbWl0dGVyKCJBZHJpZW5uZSBXYWxrZXIiLCBbImVu
bmVAZ29vZ2xlLmNvbSIsICJlbm5lQGNocm9taXVtLm9yZyJdLCAiZW5uZSIpLAogICAgQ29tbWl0
dGVyKCJBbGJlcnQgSi4gV29uZyIsICJhandvbmdAY2hyb21pdW0ub3JnIiksCiAgICBDb21taXR0
ZXIoIkFsZWphbmRybyBHLiBDYXN0cm8iLCBbImFsZXhAaWdhbGlhLmNvbSIsICJhbGV4QHdlYmtp
dC5vcmciXSksCiAgICBDb21taXR0ZXIoIkFsZXhhbmRlciBLZWxsZXR0IiwgWyJseXBhbm92QG1h
Yy5jb20iLCAiYS1saXN0czAwMUBseXBhbm92Lm5ldCIsICJseXBhbm92QGtkZS5vcmciXSwgImx5
cGFub3YiKSwKICAgIENvbW1pdHRlcigiQWxleGFuZGVyIFBhdmxvdiIsICJhcGF2bG92QGNocm9t
aXVtLm9yZyIsICJhcGF2bG92IiksCiAgICBDb21taXR0ZXIoIkFsZXhpcyBNZW5hcmQiLCBbImFs
ZXhpcy5tZW5hcmRAb3BlbmJvc3NhLm9yZyIsICJtZW5hcmRAa2RlLm9yZyJdLCAiZGFya3RlYXJz
IiksCiAgICBDb21taXR0ZXIoIkFuZHJlIEJvdWxlIiwgImFib3VsZUBhcHBsZS5jb20iKSwKICAg
IENvbW1pdHRlcigiQW5kcmVpIFBvcGVzY3UiLCAiYW5kcmVpcEBnb29nbGUuY29tIiwgImFuZHJl
aXAiKSwKICAgIENvbW1pdHRlcigiQW5kcmV3IFdlbGxpbmd0b24iLCBbImFuZHJld0B3ZWJraXQu
b3JnIiwgInByb3RvbkB3aXJldGFwcGVkLm5ldCJdLCAicHJvdG9uIiksCiAgICBDb21taXR0ZXIo
IkFuZHJldyBTY2hlcmt1cyIsICJzY2hlcmt1c0BjaHJvbWl1bS5vcmciLCAic2NoZXJrdXMiKSwK
ICAgIENvbW1pdHRlcigiQW5kcmV5IEtvc3lha292IiwgImNhc2VxQGNocm9taXVtLm9yZyIsICJj
YXNlcSIpLAogICAgQ29tbWl0dGVyKCJBbmRyYXMgQmVjc2kiLCBbImFiZWNzaUB3ZWJraXQub3Jn
IiwgImFiZWNzaUBpbmYudS1zemVnZWQuaHUiXSwgImJiYW5kaXgiKSwKICAgIENvbW1pdHRlcigi
QW5keSBFc3RlcyIsICJhZXN0ZXNAYXBwbGUuY29tIiwgImVzdGVzIiksCiAgICBDb21taXR0ZXIo
IkFudGhvbnkgUmljYXVkIiwgInJpa0B3ZWJraXQub3JnIiwgInJpayIpLAogICAgQ29tbWl0dGVy
KCJBbnRvbiBNdWhpbiIsICJhbnRvbm1AY2hyb21pdW0ub3JnIiwgImFudG9ubSIpLAogICAgQ29t
bWl0dGVyKCJCYWxhenMgS2VsZW1lbiIsICJrYmFsYXpzQHdlYmtpdC5vcmciLCAia2JhbGF6cyIp
LAogICAgQ29tbWl0dGVyKCJCZW4gTXVyZG9jaCIsICJiZW5tQGdvb2dsZS5jb20iLCAiYmVubSIp
LAogICAgQ29tbWl0dGVyKCJCZW5qYW1pbiBDIE1leWVyIiwgWyJiZW5AbWV5ZXJob21lLm5ldCIs
ICJiZW5Ad2Via2l0Lm9yZyJdLCAiaWNlZm94IiksCiAgICBDb21taXR0ZXIoIkJlbmphbWluIEth
bG1hbiIsIFsia2FsbWFuQGNocm9taXVtLm9yZyIsICJrYWxtYW5AZ29vZ2xlLmNvbSJdLCAia2Fs
bWFuIiksCiAgICBDb21taXR0ZXIoIkJlbmphbWluIE90dGUiLCBbIm90dGVAZ25vbWUub3JnIiwg
Im90dGVAd2Via2l0Lm9yZyJdLCAib3R0ZSIpLAogICAgQ29tbWl0dGVyKCJCcmVudCBGdWxnaGFt
IiwgImJmdWxnaGFtQHdlYmtpdC5vcmciLCAiYmZ1bGdoYW0iKSwKICAgIENvbW1pdHRlcigiQnJl
dHQgV2lsc29uIiwgImJyZXR0d0BjaHJvbWl1bS5vcmciLCAiYnJldHR4IiksCiAgICBDb21taXR0
ZXIoIkNhbWVyb24gTWNDb3JtYWNrIiwgImNhbUB3ZWJraXQub3JnIiwgImhleWNhbSIpLAogICAg
Q29tbWl0dGVyKCJDYXJsb3MgR2FyY2lhIENhbXBvcyIsIFsiY2dhcmNpYUBpZ2FsaWEuY29tIiwg
ImNhcmxvc2djQGdub21lLm9yZyIsICJjYXJsb3NnY0B3ZWJraXQub3JnIl0sICJLYUwiKSwKICAg
IENvbW1pdHRlcigiQ2Fyb2wgU3phYm8iLCAiY2Fyb2xAd2Via2l0Lm9yZyIsICJjc3phYm8xIiks
CiAgICBDb21taXR0ZXIoIkNoYW5nIFNodSIsIFsiY3NodUB3ZWJraXQub3JnIiwgIkNoYW5nLlNo
dUBub2tpYS5jb20iXSwgImNzaHUiKSwKICAgIENvbW1pdHRlcigiQ2hyaXMgRXZhbnMiLCAiY2V2
YW5zQGdvb2dsZS5jb20iKSwKICAgIENvbW1pdHRlcigiQ2hyaXMgUGV0ZXJzZW4iLCAiY3BldGVy
c2VuQGFwcGxlLmNvbSIsICJjcGV0ZXJzZW4iKSwKICAgIENvbW1pdHRlcigiQ2hyaXMgUm9nZXJz
IiwgImNyb2dlcnNAZ29vZ2xlLmNvbSIsICJjcm9nZXJzIiksCiAgICBDb21taXR0ZXIoIkNocmlz
dGlhbiBEeXdhbiIsIFsiY2hyaXN0aWFuQHR3b3RvYXN0cy5kZSIsICJjaHJpc3RpYW5Ad2Via2l0
Lm9yZyJdKSwKICAgIENvbW1pdHRlcigiQ29sbGluIEphY2tzb24iLCAiY29sbGluakB3ZWJraXQu
b3JnIiksCiAgICBDb21taXR0ZXIoIkRhbmllbCBDaGVuZyIsICJkY2hlbmdAY2hyb21pdW0ub3Jn
IiwgImRjaGVuZyIpLAogICAgQ29tbWl0dGVyKCJEYXZpZCBTbWl0aCIsIFsiY2F0ZmlzaC5tYW5A
Z21haWwuY29tIiwgImRzbWl0aEB3ZWJraXQub3JnIl0sICJjYXRmaXNobWFuIiksCiAgICBDb21t
aXR0ZXIoIkRlYW4gSmFja3NvbiIsICJkaW5vQGFwcGxlLmNvbSIsICJkaW5vIiksCiAgICBDb21t
aXR0ZXIoIkRpZWdvIEdvbnphbGV6IiwgWyJkaWVnb2hjZ0B3ZWJraXQub3JnIiwgImRpZWdvLmdv
bnphbGV6QG9wZW5ib3NzYS5vcmciXSwgImRpZWdvaGNnIiksCiAgICBDb21taXR0ZXIoIkRpcmsg
UHJhbmtlIiwgImRwcmFua2VAY2hyb21pdW0ub3JnIiwgImRwcmFua2UiKSwKICAgIENvbW1pdHRl
cigiRHJldyBXaWxzb24iLCAiYXR3aWxzb25AY2hyb21pdW0ub3JnIiwgImF0d2lsc29uIiksCiAg
ICBDb21taXR0ZXIoIkVsaSBGaWRsZXIiLCAiZWxpQHN0YWlrb3MubmV0IiwgIlFCaW4iKSwKICAg
IENvbW1pdHRlcigiRW1pbCBBIEVrbHVuZCIsICJlYWVAY2hyb21pdW0ub3JnIiwgImVhZSIpLAog
ICAgQ29tbWl0dGVyKCJFbnJpY2EgQ2FzdWNjaSIsICJlbnJpY2FAYXBwbGUuY29tIiksCiAgICBD
b21taXR0ZXIoIkVyaWsgQXJ2aWRzc29uIiwgImFydkBjaHJvbWl1bS5vcmciLCAiYXJ2IiksCiAg
ICBDb21taXR0ZXIoIkVyaWMgUm9tYW4iLCAiZXJvbWFuQGNocm9taXVtLm9yZyIsICJlcm9tYW4i
KSwKICAgIENvbW1pdHRlcigiRXJpYyBVaHJoYW5lIiwgImVyaWN1QGNocm9taXVtLm9yZyIsICJl
cmljdSIpLAogICAgQ29tbWl0dGVyKCJFdmFuIE1hcnRpbiIsICJldmFuQGNocm9taXVtLm9yZyIs
ICJldm1hciIpLAogICAgQ29tbWl0dGVyKCJFdmFuIFN0YWRlIiwgImVzdGFkZUBjaHJvbWl1bS5v
cmciLCAiZXN0YWRlIiksCiAgICBDb21taXR0ZXIoIkZhZHkgU2FtdWVsIiwgImZzYW11ZWxAY2hy
b21pdW0ub3JnIiwgImZzYW11ZWwiKSwKICAgIENvbW1pdHRlcigiRmVuZyBRaWFuIiwgImZlbmdA
Y2hyb21pdW0ub3JnIiksCiAgICBDb21taXR0ZXIoIkZ1bWl0b3NoaSBVa2FpIiwgInVrYWlAY2hy
b21pdW0ub3JnIiwgInVrYWkiKSwKICAgIENvbW1pdHRlcigiR2Fib3IgTG9raSIsICJsb2tpQHdl
YmtpdC5vcmciLCAibG9raTA0IiksCiAgICBDb21taXR0ZXIoIkdhYm9yIFJhcGNzYW55aSIsIFsi
cmdhYm9yQHdlYmtpdC5vcmciLCAicmdhYm9yQGluZi51LXN6ZWdlZC5odSJdLCAicmdhYm9yIiks
CiAgICBDb21taXR0ZXIoIkdpcmlzaCBSYW1ha3Jpc2huYW4iLCBbImdpcmlzaEBmb3J3YXJkYmlh
cy5pbiIsICJyYW1ha3Jpc2huYW4uZ2lyaXNoQGdtYWlsLmNvbSJdKSwKICAgIENvbW1pdHRlcigi
R3JhaGFtIERlbm5pcyIsIFsiR3JhaGFtLkRlbm5pc0BnbWFpbC5jb20iLCAiZ2Rlbm5pc0B3ZWJr
aXQub3JnIl0pLAogICAgQ29tbWl0dGVyKCJHcmVnIEJvbHNpbmdhIiwgImJvbHNpbmdhQGFwcGxl
LmNvbSIpLAogICAgQ29tbWl0dGVyKCJHeXV5b3VuZyBLaW0iLCBbImd5dXlvdW5nLmtpbUBzYW1z
dW5nLmNvbSIsICJneXV5b3VuZy5raW1Ad2Via2l0Lm9yZyJdLCAiZ3l1eW91bmciKSwKICAgIENv
bW1pdHRlcigiSGFucyBXZW5uYm9yZyIsICJoYW5zQGNocm9taXVtLm9yZyIsICJod2VubmJvcmci
KSwKICAgIENvbW1pdHRlcigiSGF5YXRvIEl0byIsICJoYXlhdG9AY2hyb21pdW0ub3JnIiwgImhh
eWF0byIpLAogICAgQ29tbWl0dGVyKCJIZWxkZXIgQ29ycmVpYSIsICJoZWxkZXJAc2VuY2hhLmNv
bSIsICJoZWxkZXIiKSwKICAgIENvbW1pdHRlcigiSGluLUNodW5nIExhbSIsIFsiaGNsYW1AZ29v
Z2xlLmNvbSIsICJoY2xhbUBjaHJvbWl1bS5vcmciXSksCiAgICBDb21taXR0ZXIoIklseWEgVGlr
aG9ub3Zza3kiLCAibG9pc2xvQGNocm9taXVtLm9yZyIsICJsb2lzbG8iKSwKICAgIENvbW1pdHRl
cigiSXZhbiBLcnN0aVx1MDEwNyIsICJpa2VAYXBwbGUuY29tIiksCiAgICBDb21taXR0ZXIoIkph
a29iIFBldHNvdml0cyIsIFsianBldHNvdml0c0ByaW0uY29tIiwgImpwZXRzb0BnbXguYXQiXSwg
ImpwZXRzbyIpLAogICAgQ29tbWl0dGVyKCJKYWt1YiBXaWVjem9yZWsiLCAiandpZWN6b3Jla0B3
ZWJraXQub3JnIiwgImZhd2VrIiksCiAgICBDb21taXR0ZXIoIkphbWVzIEhhd2tpbnMiLCBbImpo
YXdraW5zQGNocm9taXVtLm9yZyIsICJqaGF3a2luc0Bnb29nbGUuY29tIl0sICJqaGF3a2lucyIp
LAogICAgQ29tbWl0dGVyKCJKYW1lcyBLb3ppYW5za2kiLCBbImtvekBjaHJvbWl1bS5vcmciLCAi
a296QGdvb2dsZS5jb20iXSwgImtveiIpLAogICAgQ29tbWl0dGVyKCJKYW1lcyBTaW1vbnNlbiIs
ICJzaW1vbmphbUBjaHJvbWl1bS5vcmciLCAic2ltb25qYW0iKSwKICAgIENvbW1pdHRlcigiSmF5
IENpdmVsbGkiLCAiamNpdmVsbGlAY2hyb21pdW0ub3JnIiwgImpjaXZlbGxpIiksCiAgICBDb21t
aXR0ZXIoIkplZmYgTWlsbGVyIiwgImplZmZtQGFwcGxlLmNvbSIsICJqZWZmbSIpLAogICAgQ29t
bWl0dGVyKCJKZW5uIEJyYWl0aHdhaXRlIiwgImplbm5iQGNocm9taXVtLm9yZyIsICJqZW5uYiIp
LAogICAgQ29tbWl0dGVyKCJKZW5zIEFsZmtlIiwgWyJzbmVqQGNocm9taXVtLm9yZyIsICJqZW5z
QGFwcGxlLmNvbSJdKSwKICAgIENvbW1pdHRlcigiSmVyIE5vYmxlIiwgImplci5ub2JsZUBhcHBs
ZS5jb20iLCAiamVybm9ibGUiKSwKICAgIENvbW1pdHRlcigiSmVyZW15IE1vc2tvdmljaCIsIFsi
cGxheW1vYmlsQGdvb2dsZS5jb20iLCAiamVyZW15QGNocm9taXVtLm9yZyJdLCAiamVyZW15bW9z
IiksCiAgICBDb21taXR0ZXIoIkplc3NpZSBCZXJsaW4iLCBbImpiZXJsaW5Ad2Via2l0Lm9yZyIs
ICJqYmVybGluQGFwcGxlLmNvbSJdKSwKICAgIENvbW1pdHRlcigiSmVzdXMgU2FuY2hlei1QYWxl
bmNpYSIsIFsiamVzdXNAd2Via2l0Lm9yZyIsICJqZXN1cy5wYWxlbmNpYUBvcGVuYm9zc2Eub3Jn
Il0sICJqZWV6XyIpLAogICAgQ29tbWl0dGVyKCJKb2NlbHluIFR1cmNvdHRlIiwgImpvY2VseW4u
dHVyY290dGVAbm9raWEuY29tIiwgImp0dXJjb3R0ZSIpLAogICAgQ29tbWl0dGVyKCJKb2NoZW4g
RWlzaW5nZXIiLCAiam9jaGVuQGNocm9taXVtLm9yZyIsICJqb2NoZW5fXyIpLAogICAgQ29tbWl0
dGVyKCJKb2huIEFiZC1FbC1NYWxlayIsICJqYW1AY2hyb21pdW0ub3JnIiwgImphbSIpLAogICAg
Q29tbWl0dGVyKCJKb2huIEdyZWdnIiwgWyJqb2hubnlnQGdvb2dsZS5jb20iLCAiam9obm55Z0Bj
aHJvbWl1bS5vcmciXSwgImpvaG5ueWciKSwKICAgIENvbW1pdHRlcigiSm9obiBLbm90dGVuYmVs
dCIsICJqa25vdHRlbkBjaHJvbWl1bS5vcmciLCAiamtub3R0ZW4iKSwKICAgIENvbW1pdHRlcigi
Sm9obm55IERpbmciLCBbImpuZEBjaHJvbWl1bS5vcmciLCAiam9obm55ZGluZy53ZWJraXRAZ21h
aWwuY29tIl0sICJqb2hubnlkaW5nIiksCiAgICBDb21taXR0ZXIoIkpvb25lIEh1ciIsIFsiam9v
bmUuaHVyQGNvbGxhYm9yYS5jby51ayIsICJqb29uZUBrbGRwLm9yZyIsICJqb29uZUB3ZWJraXQu
b3JnIl0sICJqb29uZSIpLAogICAgQ29tbWl0dGVyKCJKb29zdCBkZSBWYWxrIiwgWyJqb29zdEB3
ZWJraXQub3JnIiwgIndlYmtpdC1kZXZAam9vc3RkZXZhbGsubmwiXSwgIkFsdGhhIiksCiAgICBD
b21taXR0ZXIoIkp1bGllIFBhcmVudCIsIFsianBhcmVudEBnb29nbGUuY29tIiwgImpwYXJlbnRA
Y2hyb21pdW0ub3JnIl0sICJqcGFyZW50IiksCiAgICBDb21taXR0ZXIoIkp1bGllbiBDaGFmZnJh
aXgiLCBbImpjaGFmZnJhaXhAd2Via2l0Lm9yZyIsICJqdWxpZW4uY2hhZmZyYWl4QGdtYWlsLmNv
bSJdKSwKICAgIENvbW1pdHRlcigiSnVuZ3NoaWsgU2hpbiIsICJqc2hpbkBjaHJvbWl1bS5vcmci
KSwKICAgIENvbW1pdHRlcigiSnVzdGluIFNjaHVoIiwgImpzY2h1aEBjaHJvbWl1bS5vcmciLCAi
anNjaHVoIiksCiAgICBDb21taXR0ZXIoIktlaXNoaSBIYXR0b3JpIiwgImtlaXNoaUB3ZWJraXQu
b3JnIiwgImtlaXNoaSIpLAogICAgQ29tbWl0dGVyKCJLZWxseSBOb3J0b24iLCAia25vcnRvbkBn
b29nbGUuY29tIiksCiAgICBDb21taXR0ZXIoIktlbmppIEltYXNha2kiLCAiaW1hc2FraUBjaHJv
bWl1bS5vcmciLCAiaW1hc2FraSIpLAogICAgQ29tbWl0dGVyKCJLZW50IEhhbnNlbiIsICJrZW50
LmhhbnNlbkBub2tpYS5jb20iLCAia2hhbnNlbiIpLAogICAgQ29tbWl0dGVyKCJLaW1tbyBLaW5u
dW5lbiIsIFsia2ltbW8udC5raW5udW5lbkBub2tpYS5jb20iLCAia2ltbW9rQGlraS5maSIsICJr
dGtpbm51bkB3ZWJraXQub3JnIl0sICJraW1tb2siKSwKICAgIENvbW1pdHRlcigiS2ludWtvIFlh
c3VkYSIsICJraW51a29AY2hyb21pdW0ub3JnIiwgImtpbnVrbyIpLAogICAgQ29tbWl0dGVyKCJL
cnp5c3p0b2YgS293YWxjenlrIiwgImtrb3dhbGN6eWtAZ21haWwuY29tIiksCiAgICBDb21taXR0
ZXIoIkt3YW5nIFl1bCBTZW8iLCBbImt3YW5neXVsLnNlb0BnbWFpbC5jb20iLCAic2t5dWxAY29t
cGFueTEwMC5uZXQiLCAia3Nlb0B3ZWJraXQub3JnIl0sICJrd2FuZ3NlbyIpLAogICAgQ29tbWl0
dGVyKCJMZWFuZHJvIFBlcmVpcmEiLCBbImxlYW5kcm9AcHJvZnVzaW9uLm1vYmkiLCAibGVhbmRy
b0B3ZWJraXQub3JnIl0sICJhY2lkeCIpLAogICAgQ29tbWl0dGVyKCJMZXZpIFdlaW50cmF1YiIs
IFsibGV2aXdAY2hyb21pdW0ub3JnIiwgImxldml3QGdvb2dsZS5jb20iLCAibHdlaW50cmF1YkBh
cHBsZS5jb20iXSwgImxldml3IiksCiAgICBDb21taXR0ZXIoIkx1Y2FzIERlIE1hcmNoaSIsIFsi
bHVjYXMuZGVtYXJjaGlAcHJvZnVzaW9uLm1vYmkiLCAiZGVtYXJjaGlAd2Via2l0Lm9yZyJdLCAi
ZGVtYXJjaGkiKSwKICAgIENvbW1pdHRlcigiTHVjYXMgRm9yc2NobGVyIiwgWyJsZm9yc2NobGVy
QGFwcGxlLmNvbSJdLCAibGZvcnNjaGxlciIpLAogICAgQ29tbWl0dGVyKCJMdWl6IEFnb3N0aW5p
IiwgWyJsdWl6QHdlYmtpdC5vcmciLCAibHVpei5hZ29zdGluaUBvcGVuYm9zc2Eub3JnIl0sICJs
Y2EiKSwKICAgIENvbW1pdHRlcigiTWFkcyBBZ2VyIiwgImFnZXJAY2hyb21pdW0ub3JnIiksCiAg
ICBDb21taXR0ZXIoIk1hcmN1cyBWb2x0aXMgQnVsYWNoIiwgImJ1bGFjaEBjaHJvbWl1bS5vcmci
KSwKICAgIENvbW1pdHRlcigiTWFyaW8gU2FuY2hleiBQcmFkYSIsIFsibXNhbmNoZXpAaWdhbGlh
LmNvbSIsICJtYXJpb0B3ZWJraXQub3JnIl0sICJtc2FuY2hleiIpLAogICAgQ29tbWl0dGVyKCJN
YXR0IERlbGFuZXkiLCAibWRlbGFuZXlAYXBwbGUuY29tIiksCiAgICBDb21taXR0ZXIoIk1hdHQg
TGlsZWsiLCBbIndlYmtpdEBtYXR0bGlsZWsuY29tIiwgInBld3Rlcm1vb3NlQHdlYmtpdC5vcmci
XSksCiAgICBDb21taXR0ZXIoIk1hdHQgUGVycnkiLCAibXBjb21wbGV0ZUBjaHJvbWl1bS5vcmci
KSwKICAgIENvbW1pdHRlcigiTWF4aW1lIEJyaXR0byIsIFsibWF4aW1lLmJyaXR0b0BnbWFpbC5j
b20iLCAiYnJpdHRvQGFwcGxlLmNvbSJdKSwKICAgIENvbW1pdHRlcigiTWF4aW1lIFNpbW9uIiwg
WyJzaW1vbi5tYXhpbWVAZ21haWwuY29tIiwgIm1heGltZS5zaW1vbkB3ZWJraXQub3JnIl0sICJt
YXhpbWUuc2ltb24iKSwKICAgIENvbW1pdHRlcigiTWljaGFlbCBOb3JkbWFuIiwgIm1pY2hhZWxu
QGdvb2dsZS5jb20iLCAibWljaGFlbG4iKSwKICAgIENvbW1pdHRlcigiTWljaGFlbCBTYWJvZmYi
LCAibXNhYm9mZkBhcHBsZS5jb20iKSwKICAgIENvbW1pdHRlcigiTWljaGVsYW5nZWxvIERlIFNp
bW9uZSIsICJtaWNoZWxhbmdlbG9Ad2Via2l0Lm9yZyIsICJtaWNoZWxhbmdlbG8iKSwKICAgIENv
bW1pdHRlcigiTWlrZSBCZWxzaGUiLCBbIm1iZWxzaGVAY2hyb21pdW0ub3JnIiwgIm1pa2VAYmVs
c2hlLmNvbSJdKSwKICAgIENvbW1pdHRlcigiTWlrZSBGZW50b24iLCBbIm1pZmVudG9uQHJpbS5j
b20iLCAibWlrZS5mZW50b25AdG9yY2htb2JpbGUuY29tIl0sICJtZmVudG9uIiksCiAgICBDb21t
aXR0ZXIoIk1pa2UgVGhvbGUiLCBbIm10aG9sZUBtaWtldGhvbGUuY29tIiwgIm10aG9sZUBhcHBs
ZS5jb20iXSksCiAgICBDb21taXR0ZXIoIk1pa2hhaWwgTmFnYW5vdiIsICJtbmFnYW5vdkBjaHJv
bWl1bS5vcmciKSwKICAgIENvbW1pdHRlcigiTU9SSVRBIEhhamltZSIsICJtb3JyaXRhQGdvb2ds
ZS5jb20iLCAibW9ycml0YSIpLAogICAgQ29tbWl0dGVyKCJOaWNvIFdlYmVyIiwgWyJ0aGFraXNA
Y2hyb21pdW0ub3JnIiwgInRoYWtpc0Bnb29nbGUuY29tIl0sICJ0aGFraXMiKSwKICAgIENvbW1p
dHRlcigiTm9hbSBSb3NlbnRoYWwiLCAibm9hbS5yb3NlbnRoYWxAbm9raWEuY29tIiwgIm5vYW1y
IiksCiAgICBDb21taXR0ZXIoIlBhbSBHcmVlbmUiLCAicGFtQGNocm9taXVtLm9yZyIsICJwYW1n
IiksCiAgICBDb21taXR0ZXIoIlBhdHJpY2sgR2Fuc3RlcmVyIiwgWyJwYXJvZ2FAcGFyb2dhLmNv
bSIsICJwYXJvZ2FAd2Via2l0Lm9yZyJdLCAicGFyb2dhIiksCiAgICBDb21taXR0ZXIoIlBhdmVs
IFBvZGl2aWxvdiIsICJwb2Rpdmlsb3ZAY2hyb21pdW0ub3JnIiwgInBvZGl2aWxvdiIpLAogICAg
Q29tbWl0dGVyKCJQZXRlciBLYXN0aW5nIiwgWyJwa2FzdGluZ0Bnb29nbGUuY29tIiwgInBrYXN0
aW5nQGNocm9taXVtLm9yZyJdLCAicGthc3RpbmciKSwKICAgIENvbW1pdHRlcigiUGV0ZXIgVmFy
Z2EiLCBbInB2YXJnYUB3ZWJraXQub3JnIiwgInB2YXJnYUBpbmYudS1zemVnZWQuaHUiXSwgInN0
YW1waG8iKSwKICAgIENvbW1pdHRlcigiUGhpbGlwcGUgTm9ybWFuZCIsIFsicG5vcm1hbmRAaWdh
bGlhLmNvbSIsICJwaGlsbkB3ZWJraXQub3JnIl0sICJwaGlsbi10cCIpLAogICAgQ29tbWl0dGVy
KCJQaWVycmUgZCdIZXJiZW1vbnQiLCBbInBkaGVyYmVtb250QGZyZWUuZnIiLCAicGRoZXJiZW1v
bnRAYXBwbGUuY29tIl0sICJwZGhlcmJlbW9udCIpLAogICAgQ29tbWl0dGVyKCJQaWVycmUtT2xp
dmllciBMYXRvdXIiLCAicG9sQGFwcGxlLmNvbSIsICJwb2wiKSwKICAgIENvbW1pdHRlcigiUHJh
dGlrIFNvbGFua2kiLCAicHNvbGFua2lAYXBwbGUuY29tIiwgInBzb2xhbmtpIiksCiAgICBDb21t
aXR0ZXIoIlFpIFpoYW5nIiwgWyJxaS4yLnpoYW5nQG5va2lhLmNvbSIsICJxaS56aGFuZzAyMTgw
QGdtYWlsLmNvbSJdLCAicWkiKSwKICAgIENvbW1pdHRlcigiUmVuYXRhIEhvZG92YW4iLCAicmVu
aUB3ZWJraXQub3JnIiwgInJlbmkiKSwKICAgIENvbW1pdHRlcigiUm9iZXJ0IEhvZ2FuIiwgWyJy
b2JlcnRAd2Via2l0Lm9yZyIsICJyb2JlcnRAcm9iZXJ0aG9nYW4ubmV0IiwgImxpc3RzQHJvYmVy
dGhvZ2FuLm5ldCJdLCAibXdlbmdlIiksCiAgICBDb21taXR0ZXIoIlJvbGFuZCBTdGVpbmVyIiwg
InJvbGFuZHN0ZWluZXJAY2hyb21pdW0ub3JnIiksCiAgICBDb21taXR0ZXIoIlNhdGlzaCBTYW1w
YXRoIiwgInNhdGlzaEBjaHJvbWl1bS5vcmciKSwKICAgIENvbW1pdHRlcigiU2NvdHQgVmlvbGV0
IiwgInNreUBjaHJvbWl1bS5vcmciLCAic2t5IiksCiAgICBDb21taXR0ZXIoIlNlcmdpbyBWaWxs
YXIgU2VuaW4iLCBbInN2aWxsYXJAaWdhbGlhLmNvbSIsICJzZXJnaW9Ad2Via2l0Lm9yZyJdLCAi
c3ZpbGxhciIpLAogICAgQ29tbWl0dGVyKCJTdGVwaGVuIFdoaXRlIiwgInNlbm9yYmxhbmNvQGNo
cm9taXVtLm9yZyIsICJzZW5vcmJsYW5jbyIpLAogICAgQ29tbWl0dGVyKCJUcmV5IE1hdHRlc29u
IiwgInRyZXlAdXNhLm5ldCIsICJ0cmV5IiksCiAgICBDb21taXR0ZXIoIlRyaXN0YW4gTydUaWVy
bmV5IiwgWyJ0cmlzdGFuQG90aWVybmV5Lm5ldCIsICJ0cmlzdGFuQGFwcGxlLmNvbSJdKSwKICAg
IENvbW1pdHRlcigiVmFuZ2VsaXMgS29ra2V2aXMiLCAidmFuZ2VsaXNAY2hyb21pdW0ub3JnIiwg
InZhbmdlbGlzIiksCiAgICBDb21taXR0ZXIoIlZpY3RvciBXYW5nIiwgInZpY3RvcndAY2hyb21p
dW0ub3JnIiwgInZpY3RvcnciKSwKICAgIENvbW1pdHRlcigiVml0YWx5IFJlcGVzaGtvIiwgInZp
dGFseXJAY2hyb21pdW0ub3JnIiksCiAgICBDb21taXR0ZXIoIldpbGxpYW0gU2llZ3Jpc3QiLCAi
d3NpZWdyaXN0QGFwcGxlLmNvbSIsICJ3bXMiKSwKICAgIENvbW1pdHRlcigiVy4gSmFtZXMgTWFj
TGVhbiIsICJ3am1hY2xlYW5AY2hyb21pdW0ub3JnIiwgIndqbWFjbGVhbiIpLAogICAgQ29tbWl0
dGVyKCJYaWFvbWVpIEppIiwgInhqaUBjaHJvbWl1bS5vcmciLCAieGppIiksCiAgICBDb21taXR0
ZXIoIllhZWwgQWhhcm9uIiwgInlhZWwuYWhhcm9uQG5va2lhLmNvbSIsICJ5YWVsIiksCiAgICBD
b21taXR0ZXIoIllhYXIgU2Nobml0bWFuIiwgWyJ5YWFyQGNocm9taXVtLm9yZyIsICJ5YWFyQGdv
b2dsZS5jb20iXSksCiAgICBDb21taXR0ZXIoIllvbmcgTGkiLCBbInlvbmcubGkud2Via2l0QGdt
YWlsLmNvbSIsICJ5b25nLmxpQHRvcmNobW9iaWxlLmNvbSJdLCAieW9uZyIpLAogICAgQ29tbWl0
dGVyKCJZb25nanVuIFpoYW5nIiwgInlvbmdqdW4uemhhbmdAbm9raWEuY29tIiksCiAgICBDb21t
aXR0ZXIoIllpIFNoZW4iLCBbInlpLjQuc2hlbkBub2tpYS5jb20iLCAic2hlbnlpMjAwNkBnbWFp
bC5jb20iXSksCiAgICBDb21taXR0ZXIoIll1dGEgS2l0YW11cmEiLCAieXV0YWtAY2hyb21pdW0u
b3JnIiwgInl1dGFrIiksCiAgICBDb21taXR0ZXIoIll1em8gRnVqaXNoaW1hIiwgInl1em9AZ29v
Z2xlLmNvbSIsICJ5dXpvIiksCiAgICBDb21taXR0ZXIoIlpoZW55YW8gTW8iLCAiem1vQGdvb2ds
ZS5jb20iLCAiemhlbnlhbyIpLAogICAgQ29tbWl0dGVyKCJab2x0YW4gSGVyY3plZyIsICJ6aGVy
Y3plZ0B3ZWJraXQub3JnIiwgInpoZXJjemVnIiksCiAgICBDb21taXR0ZXIoIlpvbHRhbiBIb3J2
YXRoIiwgWyJ6b2x0YW5Ad2Via2l0Lm9yZyIsICJoem9sdGFuQGluZi51LXN6ZWdlZC5odSIsICJo
b3J2YXRoLnpvbHRhbi42QHN0dWQudS1zemVnZWQuaHUiXSwgInpvbHRhbiIpLApdCgoKIyBUaGlz
IGlzIGludGVuZGVkIGFzIGEgY2Fub25pY2FsLCBtYWNoaW5lLXJlYWRhYmxlIGxpc3Qgb2YgYWxs
IHJldmlld2VycyBmb3IKIyBXZWJLaXQuICBJZiB5b3VyIG5hbWUgaXMgbWlzc2luZyBoZXJlIGFu
ZCB5b3UgYXJlIGEgcmV2aWV3ZXIsIHBsZWFzZSBhZGQgaXQuCiMgTm8gcmV2aWV3IG5lZWRlZC4K
CgpyZXZpZXdlcnNfbGlzdCA9IFsKICAgIFJldmlld2VyKCJBZGEgQ2hhbiIsICJhZGFjaGFuQGFw
cGxlLmNvbSIsICJjaGFuYWRhIiksCiAgICBSZXZpZXdlcigiQWRhbSBCYXJ0aCIsICJhYmFydGhA
d2Via2l0Lm9yZyIsICJhYmFydGgiKSwKICAgIFJldmlld2VyKCJBZGFtIFJvYmVuIiwgImFyb2Jl
bkBhcHBsZS5jb20iLCAiYXJvYmVuIiksCiAgICBSZXZpZXdlcigiQWRhbSBUcmVhdCIsIFsidHJl
YXRAa2RlLm9yZyIsICJ0cmVhdEB3ZWJraXQub3JnIiwgImF0cmVhdEByaW0uY29tIl0sICJtYW55
b3NvIiksCiAgICBSZXZpZXdlcigiQWRlbGUgUGV0ZXJzb24iLCAiYWRlbGVAYXBwbGUuY29tIiwg
ImFkZWxlIiksCiAgICBSZXZpZXdlcigiQWxleGV5IFByb3NrdXJ5YWtvdiIsIFsiYXBAd2Via2l0
Lm9yZyIsICJhcEBhcHBsZS5jb20iXSwgImFwIiksCiAgICBSZXZpZXdlcigiQWxpY2UgTGl1Iiwg
ImFsaWNlLmxpdUBhcHBsZS5jb20iLCAiYWxpdSIpLAogICAgUmV2aWV3ZXIoIkFscCBUb2tlciIs
IFsiYWxwQG51YW50aS5jb20iLCAiYWxwQGF0b2tlci5jb20iLCAiYWxwQHdlYmtpdC5vcmciXSwg
ImFscCIpLAogICAgUmV2aWV3ZXIoIkFuZGVycyBDYXJsc3NvbiIsIFsiYW5kZXJzY2FAYXBwbGUu
Y29tIiwgImFjYXJsc3NvbkBhcHBsZS5jb20iXSwgImFuZGVyc2NhIiksCiAgICBSZXZpZXdlcigi
QW5kcmVhcyBLbGluZyIsIFsia2xpbmdAd2Via2l0Lm9yZyIsICJhbmRyZWFzLmtsaW5nQG5va2lh
LmNvbSJdLCAia2xpbmciKSwKICAgIFJldmlld2VyKCJBbnRvbmlvIEdvbWVzIiwgWyJ0b25pa2l0
b29Ad2Via2l0Lm9yZyIsICJhZ29tZXNAcmltLmNvbSJdLCAidG9uaWtpdG9vIiksCiAgICBSZXZp
ZXdlcigiQW50dGkgS29pdmlzdG8iLCBbImtvaXZpc3RvQGlraS5maSIsICJhbnR0aUBhcHBsZS5j
b20iLCAiYW50dGkuai5rb2l2aXN0b0Bub2tpYS5jb20iXSwgImFudHRpayIpLAogICAgUmV2aWV3
ZXIoIkFyaXlhIEhpZGF5YXQiLCBbImFyaXlhLmhpZGF5YXRAZ21haWwuY29tIiwgImFyaXlhQHNl
bmNoYS5jb20iLCAiYXJpeWFAd2Via2l0Lm9yZyJdLCAiYXJpeWEiKSwKICAgIFJldmlld2VyKCJC
ZW5qYW1pbiBQb3VsYWluIiwgWyJiZW5qYW1pbkB3ZWJraXQub3JnIiwgImJlbmphbWluLnBvdWxh
aW5Abm9raWEuY29tIiwgImlraXBvdUBnbWFpbC5jb20iXSwgImJlbmphbWlucCIpLAogICAgUmV2
aWV3ZXIoIkJldGggRGFraW4iLCAiYmRha2luQGFwcGxlLmNvbSIsICJkZXRoYmFraW4iKSwKICAg
IFJldmlld2VyKCJCcmFkeSBFaWRzb24iLCAiYmVpZHNvbkBhcHBsZS5jb20iLCAiYnJhZGVlLW9o
IiksCiAgICBSZXZpZXdlcigiQnJpYW4gV2VpbnN0ZWluIiwgImJ3ZWluc3RlaW5AYXBwbGUuY29t
IiwgImJ3ZWluc3RlaW4iKSwKICAgIFJldmlld2VyKCJDYW1lcm9uIFp3YXJpY2giLCBbInp3YXJp
Y2hAYXBwbGUuY29tIiwgImN3endhcmljaEBhcHBsZS5jb20iLCAiY3d6d2FyaWNoQHdlYmtpdC5v
cmciXSksCiAgICBSZXZpZXdlcigiQ2hyaXMgQmx1bWVuYmVyZyIsICJjYmx1QGFwcGxlLmNvbSIs
ICJjYmx1IiksCiAgICBSZXZpZXdlcigiQ2hyaXMgTWFycmluIiwgImNtYXJyaW5AYXBwbGUuY29t
IiwgImNtYXJyaW4iKSwKICAgIFJldmlld2VyKCJDaHJpcyBGbGVpemFjaCIsICJjZmxlaXphY2hA
YXBwbGUuY29tIiwgImNmbGVpemFjaCIpLAogICAgUmV2aWV3ZXIoIkNocmlzIEplcmRvbmVrIiwg
ImNqZXJkb25la0B3ZWJraXQub3JnIiwgImNqZXJkb25layIpLAogICAgUmV2aWV3ZXIodSJDc2Fi
YSBPc3p0cm9nb25cdTAwZTFjIiwgIm9zc3lAd2Via2l0Lm9yZyIsICJvc3N5IiksCiAgICBSZXZp
ZXdlcigiRGFuIEJlcm5zdGVpbiIsIFsibWl0ekB3ZWJraXQub3JnIiwgIm1pdHpAYXBwbGUuY29t
Il0sICJtaXR6cGV0dGVsIiksCiAgICBSZXZpZXdlcigiRGFuaWVsIEJhdGVzIiwgImRiYXRlc0B3
ZWJraXQub3JnIiwgImR5ZHoiKSwKICAgIFJldmlld2VyKCJEYXJpbiBBZGxlciIsICJkYXJpbkBh
cHBsZS5jb20iLCAiZGFyaW4iKSwKICAgIFJldmlld2VyKCJEYXJpbiBGaXNoZXIiLCBbImZpc2hk
QGNocm9taXVtLm9yZyIsICJkYXJpbkBjaHJvbWl1bS5vcmciXSwgImZpc2hkIiksCiAgICBSZXZp
ZXdlcigiRGF2aWQgSGFycmlzb24iLCAiaGFycmlzb25AYXBwbGUuY29tIiwgImhhcnJpc29uIiks
CiAgICBSZXZpZXdlcigiRGF2aWQgSHlhdHQiLCAiaHlhdHRAYXBwbGUuY29tIiwgImh5YXR0Iiks
CiAgICBSZXZpZXdlcigiRGF2aWQgS2lsemVyIiwgWyJkZGtpbHplckB3ZWJraXQub3JnIiwgImRk
a2lsemVyQGFwcGxlLmNvbSJdLCAiZGRraWx6ZXIiKSwKICAgIFJldmlld2VyKCJEYXZpZCBMZXZp
biIsICJsZXZpbkBjaHJvbWl1bS5vcmciLCAiZGF2ZV9sZXZpbiIpLAogICAgUmV2aWV3ZXIoIkRp
bWl0cmkgR2xhemtvdiIsICJkZ2xhemtvdkBjaHJvbWl1bS5vcmciLCAiZGdsYXprb3YiKSwKICAg
IFJldmlld2VyKCJEaXJrIFNjaHVsemUiLCAia3JpdEB3ZWJraXQub3JnIiwgImtyaXQiKSwKICAg
IFJldmlld2VyKCJEbWl0cnkgVGl0b3YiLCAiZGltaWNoQGNocm9taXVtLm9yZyIsICJkaW1pY2gi
KSwKICAgIFJldmlld2VyKCJEb24gTWVsdG9uIiwgImdyYW1wc0BhcHBsZS5jb20iLCAiZ3JhbXBz
IiksCiAgICBSZXZpZXdlcigiRHVtaXRydSBEYW5pbGl1YyIsICJkdW1pQGNocm9taXVtLm9yZyIs
ICJkdW1pIiksCiAgICBSZXZpZXdlcigiRXJpYyBDYXJsc29uIiwgImVyaWMuY2FybHNvbkBhcHBs
ZS5jb20iKSwKICAgIFJldmlld2VyKCJFcmljIFNlaWRlbCIsICJlcmljQHdlYmtpdC5vcmciLCAi
ZXNlaWRlbCIpLAogICAgUmV2aWV3ZXIoIkdhdmluIEJhcnJhY2xvdWdoIiwgImJhcnJhY2xvdWdo
QGFwcGxlLmNvbSIsICJnYmFycmEiKSwKICAgIFJldmlld2VyKCJHZW9mZnJleSBHYXJlbiIsICJn
Z2FyZW5AYXBwbGUuY29tIiwgImdnYXJlbiIpLAogICAgUmV2aWV3ZXIoIkdlb3JnZSBTdGFpa29z
IiwgWyJzdGFpa29zQGtkZS5vcmciLCAic3RhaWtvc0B3ZWJraXQub3JnIl0pLAogICAgUmV2aWV3
ZXIoIkd1c3Rhdm8gTm9yb25oYSBTaWx2YSIsIFsiZ25zQGdub21lLm9yZyIsICJrb3ZAd2Via2l0
Lm9yZyIsICJndXN0YXZvLm5vcm9uaGFAY29sbGFib3JhLmNvLnVrIl0sICJrb3YiKSwKICAgIFJl
dmlld2VyKCJIb2xnZXIgRnJleXRoZXIiLCBbInplY2tlQHNlbGZpc2gub3JnIiwgInplY2tlQHdl
YmtpdC5vcmciXSwgInplY2tlIiksCiAgICBSZXZpZXdlcigiSmFtZXMgUm9iaW5zb24iLCBbImph
bWVzckBjaHJvbWl1bS5vcmciLCAiamFtZXNyQGdvb2dsZS5jb20iXSwgImphbWVzciIpLAogICAg
UmV2aWV3ZXIoIkphbiBBbG9uem8iLCBbImptYWxvbnpvQGdtYWlsLmNvbSIsICJqbWFsb256b0B3
ZWJraXQub3JnIl0sICJqYW5tIiksCiAgICBSZXZpZXdlcigiSmVyZW15IE9ybG93IiwgImpvcmxv
d0BjaHJvbWl1bS5vcmciLCAiam9ybG93IiksCiAgICBSZXZpZXdlcigiSmlhbiBMaSIsICJqaWFu
bGlAY2hyb21pdW0ub3JnIiwgImppYW5saSIpLAogICAgUmV2aWV3ZXIoIkpvaG4gU3VsbGl2YW4i
LCAic3VsbGl2YW5AYXBwbGUuY29tIiwgInN1bGxpdmFuIiksCiAgICBSZXZpZXdlcigiSm9uIEhv
bmV5Y3V0dCIsICJqaG9uZXljdXR0QGFwcGxlLmNvbSIsICJqaG9uZXljdXR0IiksCiAgICBSZXZp
ZXdlcigiSm9zZXBoIFBlY29yYXJvIiwgWyJqb2VwZWNrQHdlYmtpdC5vcmciLCAicGVjb3Jhcm9A
YXBwbGUuY29tIl0sICJKb2VQZWNrIiksCiAgICBSZXZpZXdlcigiSnVzdGluIEdhcmNpYSIsICJq
dXN0aW4uZ2FyY2lhQGFwcGxlLmNvbSIsICJqdXN0aW5nIiksCiAgICBSZXZpZXdlcigiS2VuIEtv
Y2llbmRhIiwgImtvY2llbmRhQGFwcGxlLmNvbSIpLAogICAgUmV2aWV3ZXIoIktlbm5ldGggUm9o
ZGUgQ2hyaXN0aWFuc2VuIiwgWyJrZW5uZXRoQHdlYmtpdC5vcmciLCAia2VubmV0aC5jaHJpc3Rp
YW5zZW5Ab3BlbmJvc3NhLm9yZyIsICJrZW5uZXRoLmNocmlzdGlhbnNlbkBnbWFpbC5jb20iXSwg
Imtlbm5lIiksCiAgICBSZXZpZXdlcigiS2VubmV0aCBSdXNzZWxsIiwgImtickBnb29nbGUuY29t
IiwgImticl9nb29nbGUiKSwKICAgIFJldmlld2VyKCJLZW50IFRhbXVyYSIsICJ0a2VudEBjaHJv
bWl1bS5vcmciLCAidGtlbnQiKSwKICAgIFJldmlld2VyKCJLZXZpbiBEZWNrZXIiLCAia2RlY2tl
ckBhcHBsZS5jb20iLCAic3VwZXJrZXZpbiIpLAogICAgUmV2aWV3ZXIoIktldmluIE1jQ3VsbG91
Z2giLCAia21jY3VsbG91Z2hAYXBwbGUuY29tIiwgIm1hY3VsbG9jaCIpLAogICAgUmV2aWV3ZXIo
IktldmluIE9sbGl2aWVyIiwgWyJrZXZpbm9AdGhlb2xsaXZpZXJzLmNvbSIsICJrZXZpbm9Ad2Vi
a2l0Lm9yZyJdLCAia29sbGl2aWVyIiksCiAgICBSZXZpZXdlcigiTGFycyBLbm9sbCIsIFsibGFy
c0B0cm9sbHRlY2guY29tIiwgImxhcnNAa2RlLm9yZyIsICJsYXJzLmtub2xsQG5va2lhLmNvbSJd
LCAibGFycyIpLAogICAgUmV2aWV3ZXIoIkxhc3psbyBHb21ib3MiLCAibGFzemxvLjEuZ29tYm9z
QG5va2lhLmNvbSIsICJsZ29tYm9zIiksCiAgICBSZXZpZXdlcigiTWFjaWVqIFN0YWNob3dpYWsi
LCAibWpzQGFwcGxlLmNvbSIsICJvdGhlcm1hY2llaiIpLAogICAgUmV2aWV3ZXIoIk1hcmsgUm93
ZSIsICJtcm93ZUBhcHBsZS5jb20iLCAiYmRhc2giKSwKICAgIFJldmlld2VyKCJNYXJ0aW4gUm9i
aW5zb24iLCBbIm1yb2JpbnNvbkB3ZWJraXQub3JnIiwgIm1yb2JpbnNvbkBpZ2FsaWEuY29tIiwg
Im1hcnRpbi5qYW1lcy5yb2JpbnNvbkBnbWFpbC5jb20iXSwgIm1yb2JpbnNvbiIpLAogICAgUmV2
aWV3ZXIoIk1paGFpIFBhcnBhcml0YSIsICJtaWhhaXBAY2hyb21pdW0ub3JnIiwgIm1paGFpcCIp
LAogICAgUmV2aWV3ZXIoIk5hdGUgQ2hhcGluIiwgImphcGhldEBjaHJvbWl1bS5vcmciLCAiamFw
aGV0IiksCiAgICBSZXZpZXdlcigiTmlrb2xhcyBaaW1tZXJtYW5uIiwgWyJ6aW1tZXJtYW5uQGtk
ZS5vcmciLCAiemltbWVybWFubkBwaHlzaWsucnd0aC1hYWNoZW4uZGUiLCAiemltbWVybWFubkB3
ZWJraXQub3JnIl0sICJ3aWxkZm94IiksCiAgICBSZXZpZXdlcigiT2phbiBWYWZhaSIsICJvamFu
QGNocm9taXVtLm9yZyIsICJvamFuIiksCiAgICBSZXZpZXdlcigiT2xpdmVyIEh1bnQiLCAib2xp
dmVyQGFwcGxlLmNvbSIsICJvbGxpZWoiKSwKICAgIFJldmlld2VyKCJQYXZlbCBGZWxkbWFuIiwg
InBmZWxkbWFuQGNocm9taXVtLm9yZyIsICJwZmVsZG1hbiIpLAogICAgUmV2aWV3ZXIoIlJpY2hh
cmQgV2lsbGlhbXNvbiIsICJyandAYXBwbGUuY29tIiwgInJqdyIpLAogICAgUmV2aWV3ZXIoIlJv
YiBCdWlzIiwgWyJyd2xidWlzQGdtYWlsLmNvbSIsICJyd2xidWlzQHdlYmtpdC5vcmciXSwgInJ3
bGJ1aXMiKSwKICAgIFJldmlld2VyKCJSeW9zdWtlIE5pd2EiLCAicm5pd2FAd2Via2l0Lm9yZyIs
ICJybml3YSIpLAogICAgUmV2aWV3ZXIoIlNhbSBXZWluaWciLCBbInNhbUB3ZWJraXQub3JnIiwg
IndlaW5pZ0BhcHBsZS5jb20iXSwgIndlaW5pZyIpLAogICAgUmV2aWV3ZXIoIlNoaW5pY2hpcm8g
SGFtYWppIiwgImhhbWFqaUBjaHJvbWl1bS5vcmciLCAiaGFtYWppIiksCiAgICBSZXZpZXdlcigi
U2ltb24gRnJhc2VyIiwgInNpbW9uLmZyYXNlckBhcHBsZS5jb20iLCAic21mciIpLAogICAgUmV2
aWV3ZXIoIlNpbW9uIEhhdXNtYW5uIiwgWyJoYXVzbWFubkB3ZWJraXQub3JnIiwgImhhdXNtYW5u
QGtkZS5vcmciLCAic2ltb24uaGF1c21hbm5Abm9raWEuY29tIl0sICJ0cm9uaWNhbCIpLAogICAg
UmV2aWV3ZXIoIlN0ZXBoYW5pZSBMZXdpcyIsICJzbGV3aXNAYXBwbGUuY29tIiwgInN1bmRpYW1v
bmRlIiksCiAgICBSZXZpZXdlcigiU3RldmUgQmxvY2siLCAic3RldmVibG9ja0Bnb29nbGUuY29t
IiwgInN0ZXZlYmxvY2siKSwKICAgIFJldmlld2VyKCJTdGV2ZSBGYWxrZW5idXJnIiwgInNmYWxr
ZW5AYXBwbGUuY29tIiwgInNmYWxrZW4iKSwKICAgIFJldmlld2VyKCJUaW0gT21lcm5pY2siLCAi
dGltb0BhcHBsZS5jb20iKSwKICAgIFJldmlld2VyKCJUaW1vdGh5IEhhdGNoZXIiLCBbInRpbW90
aHlAYXBwbGUuY29tIiwgInRpbW90aHlAaGF0Y2hlci5uYW1lIl0sICJ4ZW5vbiIpLAogICAgUmV2
aWV3ZXIoIlRvbnkgQ2hhbmciLCAidG9ueUBjaHJvbWl1bS5vcmciLCAidG9ueV53b3JrIiksCiAg
ICBSZXZpZXdlcigiVG9ueSBHZW50aWxjb3JlIiwgInRvbnlnQGNocm9taXVtLm9yZyIsICJ0b255
Zy1jciIpLAogICAgUmV2aWV3ZXIodSJUb3IgQXJuZSBWZXN0Ylx1MDBmOCIsIFsidmVzdGJvQHdl
YmtpdC5vcmciLCAidG9yLmFybmUudmVzdGJvQG5va2lhLmNvbSJdLCAidG9yYXJuZSIpLAogICAg
UmV2aWV3ZXIoIlZpY2tpIE11cmxleSIsICJ2aWNraUBhcHBsZS5jb20iKSwKICAgIFJldmlld2Vy
KCJYYW4gTG9wZXoiLCBbInhhbi5sb3BlekBnbWFpbC5jb20iLCAieGFuQGdub21lLm9yZyIsICJ4
YW5Ad2Via2l0Lm9yZyJdLCAieGFuIiksCiAgICBSZXZpZXdlcigiWXVyeSBTZW1pa2hhdHNreSIs
ICJ5dXJ5c0BjaHJvbWl1bS5vcmciLCAieXVyeXMiKSwKICAgIFJldmlld2VyKCJaYWNrIFJ1c2lu
IiwgInphY2tAa2RlLm9yZyIsICJ6YWNrciIpLApdCgoKY2xhc3MgQ29tbWl0dGVyTGlzdDoKCiAg
ICAjIENvbW1pdHRlcnMgYW5kIHJldmlld2VycyBhcmUgcGFzc2VkIGluIHRvIGFsbG93IGVhc3kg
dGVzdGluZwoKICAgIGRlZiBfX2luaXRfXyhzZWxmLAogICAgICAgICAgICAgICAgIGNvbW1pdHRl
cnM9Y29tbWl0dGVyc191bmFibGVfdG9fcmV2aWV3LAogICAgICAgICAgICAgICAgIHJldmlld2Vy
cz1yZXZpZXdlcnNfbGlzdCk6CiAgICAgICAgc2VsZi5fY29tbWl0dGVycyA9IGNvbW1pdHRlcnMg
KyByZXZpZXdlcnMKICAgICAgICBzZWxmLl9yZXZpZXdlcnMgPSByZXZpZXdlcnMKICAgICAgICBz
ZWxmLl9jb21taXR0ZXJzX2J5X2VtYWlsID0ge30KCiAgICBkZWYgY29tbWl0dGVycyhzZWxmKToK
ICAgICAgICByZXR1cm4gc2VsZi5fY29tbWl0dGVycwoKICAgIGRlZiByZXZpZXdlcnMoc2VsZik6
CiAgICAgICAgcmV0dXJuIHNlbGYuX3Jldmlld2VycwoKICAgIGRlZiBfZW1haWxfdG9fY29tbWl0
dGVyX21hcChzZWxmKToKICAgICAgICBpZiBub3QgbGVuKHNlbGYuX2NvbW1pdHRlcnNfYnlfZW1h
aWwpOgogICAgICAgICAgICBmb3IgY29tbWl0dGVyIGluIHNlbGYuX2NvbW1pdHRlcnM6CiAgICAg
ICAgICAgICAgICBmb3IgZW1haWwgaW4gY29tbWl0dGVyLmVtYWlsczoKICAgICAgICAgICAgICAg
ICAgICBzZWxmLl9jb21taXR0ZXJzX2J5X2VtYWlsW2VtYWlsXSA9IGNvbW1pdHRlcgogICAgICAg
IHJldHVybiBzZWxmLl9jb21taXR0ZXJzX2J5X2VtYWlsCgogICAgZGVmIGNvbW1pdHRlcl9ieV9u
YW1lKHNlbGYsIG5hbWUpOgogICAgICAgICMgVGhpcyBjb3VsZCBiZSBtYWRlIGludG8gYSBoYXNo
IGxvb2t1cCBpZiBjYWxsZXJzIG5lZWQgaXQgdG8gYmUgZmFzdC4KICAgICAgICBmb3IgY29tbWl0
dGVyIGluIHNlbGYuY29tbWl0dGVycygpOgogICAgICAgICAgICBpZiBjb21taXR0ZXIuZnVsbF9u
YW1lID09IG5hbWU6CiAgICAgICAgICAgICAgICByZXR1cm4gY29tbWl0dGVyCgogICAgZGVmIGNv
bW1pdHRlcl9ieV9lbWFpbChzZWxmLCBlbWFpbCk6CiAgICAgICAgcmV0dXJuIHNlbGYuX2VtYWls
X3RvX2NvbW1pdHRlcl9tYXAoKS5nZXQoZW1haWwpCgogICAgZGVmIHJldmlld2VyX2J5X2VtYWls
KHNlbGYsIGVtYWlsKToKICAgICAgICBjb21taXR0ZXIgPSBzZWxmLmNvbW1pdHRlcl9ieV9lbWFp
bChlbWFpbCkKICAgICAgICBpZiBjb21taXR0ZXIgYW5kIG5vdCBjb21taXR0ZXIuY2FuX3Jldmll
dzoKICAgICAgICAgICAgcmV0dXJuIE5vbmUKICAgICAgICByZXR1cm4gY29tbWl0dGVyCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90720</attachid>
            <date>2011-04-22 10:29:41 -0700</date>
            <delta_ts>2011-04-22 10:57:36 -0700</delta_ts>
            <desc>ick</desc>
            <filename>contributors.txt</filename>
            <type>text/plain</type>
            <size>3171</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy9jb21taXR0ZXJzLnB5
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy9jb21t
aXR0ZXJzLnB5CShyZXZpc2lvbiA4NDMwNykKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29t
bW9uL2NvbmZpZy9jb21taXR0ZXJzLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNCBAQAor
IyBDb3B5cmlnaHQgKGMpIDIwMTEsIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMg
Q29weXJpZ2h0IChjKSAyMDA5LCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIwog
IyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKQEAgLTI5LDYgKzMwLDExIEBACiAjIFdlYktpdCdzIFB5dGhvbiBtb2R1bGUg
Zm9yIGNvbW1pdHRlciBhbmQgcmV2aWV3ZXIgdmFsaWRhdGlvbgogCiAKK2NsYXNzIENvbnRyaWJ1
dG9yOgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWUsIGVtYWlsX29yX2VtYWlscywgaXJj
X25pY2tuYW1lPU5vbmUpOgorCisKIGNsYXNzIENvbW1pdHRlcjoKIAogICAgIGRlZiBfX2luaXRf
XyhzZWxmLCBuYW1lLCBlbWFpbF9vcl9lbWFpbHMsIGlyY19uaWNrbmFtZT1Ob25lKToKQEAgLTU2
LDYgKzYyLDE3IEBAIGNsYXNzIFJldmlld2VyKENvbW1pdHRlcik6CiAgICAgICAgIHNlbGYuY2Fu
X3JldmlldyA9IFRydWUKIAogCisjIFRoaXMgaXMgYSBsaXN0IG9mIHBlb3BsZSB3aG8gYXJlIG5l
aXRoZXIgY29tbWl0dGVycyBub3IgcmV2aWV3ZXJzLCBidXQgZ2V0CisjIGZyZXF1ZW50bHkgQ0Mn
ZWQgYnkgb3RoZXJzIG9uIEJ1Z3ppbGxhIGJ1Z3MsIHNvIHRoZWlyIG5hbWVzIHNob3VsZCBiZQor
IyBzdXBwb3J0ZWQgYnkgYXV0b2NvbXBsZXRlLiBObyByZXZpZXcgbmVlZGVkIHRvIGFkZCB0byB0
aGUgbGlzdC4KKworCitjb250cmlidXRvcnNfd2hvX2FyZV9ub3RfY29tbWl0dGVycyA9IFsKKyAg
ICBDb250cmlidXRvcigiQW5uZSB2YW4gS2VzdGVyZW4iLCAiYW5uZXZhbmtlc3RlcmVuK3dlYmtp
dEBnbWFpbC5jb20iLCAiYW5uZXZrIiksCisgICAgQ29udHJpYnV0b3IoIklhbiBIaWNrc29uIiwg
ImlhbkBoaXhpZS5jaCIsICJoaXhpZSIpLAorXQorCisKICMgVGhpcyBpcyBpbnRlbmRlZCBhcyBh
IGNhbm9uaWNhbCwgbWFjaGluZS1yZWFkYWJsZSBsaXN0IG9mIGFsbCBub24tcmV2aWV3ZXIKICMg
Y29tbWl0dGVycyBmb3IgV2ViS2l0LiAgSWYgeW91ciBuYW1lIGlzIG1pc3NpbmcgaGVyZSBhbmQg
eW91IGFyZSBhIGNvbW1pdHRlciwKICMgcGxlYXNlIGFkZCBpdC4gIE5vIHJldmlldyBuZWVkZWQu
ICBBbGwgcmV2aWV3ZXJzIGFyZSBjb21taXR0ZXJzLCBzbyB0aGlzIGxpc3QKSW5kZXg6IFdlYnNp
dGVzL2J1Z3Mud2Via2l0Lm9yZy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvYnVn
cy53ZWJraXQub3JnL0NoYW5nZUxvZwkocmV2aXNpb24gODQ2MzkpCisrKyBXZWJzaXRlcy9idWdz
LndlYmtpdC5vcmcvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTIgQEAKKzIw
MTEtMDQtMjIgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAg
Q29kZSBjaGFuZ2VzIGJ5IEFkYW0gQmFydGguIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEJ1Z3ppbGxhIGF1dG9jb21wbGV0ZSBzaG91bGQgc3VwcG9ydCBmcmVxdWVudCBj
b250cmlidXRvcnMgd2hvIGFyZSBub3QgY29tbWl0dGVycworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkyMDkKKworICAgICAgICAqIGNvbW1pdHRlcnMt
YXV0b2NvbXBsZXRlLmpzOiBTdXBwb3J0IENvbnRyaWJ1dG9yIHJvbGUgaW4gY29tbWl0dGVycy5w
eS4KKwogMjAxMS0wNC0xOSAgQ2FpbyBNYXJjZWxvIGRlIE9saXZlaXJhIEZpbGhvICA8Y2Fpby5v
bGl2ZWlyYUBvcGVuYm9zc2Eub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gUm9iZW4u
CkluZGV4OiBXZWJzaXRlcy9idWdzLndlYmtpdC5vcmcvY29tbWl0dGVycy1hdXRvY29tcGxldGUu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvYnVncy53ZWJraXQub3JnL2NvbW1pdHRlcnMtYXV0
b2NvbXBsZXRlLmpzCShyZXZpc2lvbiA4NDMwNykKKysrIFdlYnNpdGVzL2J1Z3Mud2Via2l0Lm9y
Zy9jb21taXR0ZXJzLWF1dG9jb21wbGV0ZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMTI3LDYgKzEy
Nyw3IEBAIFdlYktpdENvbW1pdHRlcnMgPSAoZnVuY3Rpb24oKSB7CiAgICAgICAgIHZhciByZWNv
cmRzID0gdGV4dC5zcGxpdCgnXG4nKTsKICAgICAgICAgcGFyc2VUeXBlKCdDb21taXR0ZXInLCBy
ZWNvcmRzLCAnYycpOwogICAgICAgICBwYXJzZVR5cGUoJ1Jldmlld2VyJywgcmVjb3JkcywgJ3In
KTsKKyAgICAgICAgcGFyc2VUeXBlKCdDb250cmlidXRvcicsIHJlY29yZHMpOwogICAgIH0KIAog
ICAgIGZ1bmN0aW9uIGxvYWRDb21taXR0ZXJzKGNhbGxiYWNrKSB7CkBAIC0yNDYsNyArMjQ3LDgg
QEAgV2ViS2l0Q29tbWl0dGVycyA9IChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICBjb250
YWN0LmVtYWlsc1swXSArICc+JyArIGNvbnRhY3QubmFtZSArICcgLSAnICsgY29udGFjdC5lbWFp
bHNbMF0pOwogICAgICAgICAgICAgaWYgKGNvbnRhY3QuaXJjKQogICAgICAgICAgICAgICAgIGh0
bWwucHVzaCgnICg6JyArIGNvbnRhY3QuaXJjICsgJyknKTsKLSAgICAgICAgICAgIGh0bWwucHVz
aCgnICgnICsgY29udGFjdC50eXBlICsgJyknKTsKKyAgICAgICAgICAgIGlmIChjb250YWN0LnR5
cGUpCisgICAgICAgICAgICAgICAgaHRtbC5wdXNoKCcgKCcgKyBjb250YWN0LnR5cGUgKyAnKScp
OwogICAgICAgICAgICAgaHRtbC5wdXNoKCc8L2Rpdj4nKTsKICAgICAgICAgfQogICAgICAgICBn
ZXRNZW51KCkuaW5uZXJIVE1MID0gaHRtbC5qb2luKCcnKTsK
</data>
<flag name="review"
          id="83481"
          type_id="1"
          status="+"
          setter="ojan"
    />
          </attachment>
      

    </bug>

</bugzilla>