<?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>101698</bug_id>
          
          <creation_ts>2012-11-08 20:49:05 -0800</creation_ts>
          <short_desc>Changing pseudoClass :link should invalidate distribution.</short_desc>
          <delta_ts>2012-11-14 19:46:54 -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>DOM</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>
          
          <blocked>100451</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Shinya Kawanaka">shinyak</reporter>
          <assigned_to name="Shinya Kawanaka">shinyak</assigned_to>
          <cc>mifenton</cc>
    
    <cc>tkent</cc>
    
    <cc>webcomponents-bugzilla</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>762500</commentid>
    <comment_count>0</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-08 20:49:05 -0800</bug_when>
    <thetext>When pseudoClass :link is changed, we should invalidate distribution.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765371</commentid>
    <comment_count>1</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-13 00:58:34 -0800</bug_when>
    <thetext>spec says :link should match &lt;link href=&quot;...&quot;&gt;, but maybe we don&apos;t support it yet?
http://www.whatwg.org/specs/web-apps/current-work/multipage/selectors.html#selector-link</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765388</commentid>
    <comment_count>2</comment_count>
      <attachid>173849</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-13 01:25:51 -0800</bug_when>
    <thetext>Created attachment 173849
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765389</commentid>
    <comment_count>3</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-13 01:26:19 -0800</bug_when>
    <thetext>Almost done. We have to have a test for &lt;area&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767560</commentid>
    <comment_count>4</comment_count>
      <attachid>174311</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-14 18:22:03 -0800</bug_when>
    <thetext>Created attachment 174311
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767603</commentid>
    <comment_count>5</comment_count>
      <attachid>174311</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-11-14 19:02:03 -0800</bug_when>
    <thetext>Comment on attachment 174311
Patch

Looks good. By the way, It looks invalidateParentDistribution... is often called with setNeedsStyleRecalc()
Do you think it is good idea to get them together somehow?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767619</commentid>
    <comment_count>6</comment_count>
      <attachid>174311</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-14 19:18:30 -0800</bug_when>
    <thetext>Comment on attachment 174311
Patch

Clearing flags on attachment: 174311

Committed r134727: &lt;http://trac.webkit.org/changeset/134727&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767620</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-14 19:18:34 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767636</commentid>
    <comment_count>8</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-11-14 19:46:54 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 174311 [details])
&gt; Looks good. By the way, It looks invalidateParentDistribution... is often called with setNeedsStyleRecalc()
&gt; Do you think it is good idea to get them together somehow?

It seems good to have a utility method to call them.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173849</attachid>
            <date>2012-11-13 01:25:51 -0800</date>
            <delta_ts>2012-11-14 18:21:59 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>bug-101698-20121113182352.patch</filename>
            <type>text/plain</type>
            <size>18568</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MzMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTcyODM1ZTFiNmQxMGFh
Nzg1MDkwZDg1NWEyZTI1YWU3NzE4NGE0NC4uZjczMDc5MTkxMjAxMmRhMGMzNjZhNDY3OWY5YjRh
NzMxZmVmYTIzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY3IEBACisyMDEyLTExLTEzICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBDaGFuZ2luZyBw
c2V1ZG9DbGFzcyAoOmxpbmspIHNob3VsZCBjYXVzZSBkaXN0cmlidXRpb24KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTY5OAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENTU1NlbGVjdG9yIDpsaW5rIG1h
dGNoZXMgYW5jaG9yIGVsZW1lbnQgd2l0aCBocmVmIGF0dHJpYnV0ZS4gV2hlbiBocmVmIGF0dHJp
YnV0ZSBvZiBhbiBhbmNob3IgZWxlbWVudCBpcyBjaGFuZ2VkLAorICAgICAgICB3ZSBoYXZlIHRv
IGludmFsaWRhdGUgZGlzdHJpYnV0aW9uLgorCisgICAgICAgIEFjY29yZGludCB0byB0aGUgc3Bl
YywgOmxpbmsgbWF0Y2hlcyBhIGxpbmsgZWxlbWVudCBoYXZpbmcgaHJlZiBhdHRyaWJ1dGUsIGN1
cnJlbnRseSB3ZSBoYXZlIG5vdCBpbXBsZW1lbnRlZCBpdCB5ZXQuCisKKyAgICAgICAgVGVzdDog
ZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1saW5rLWFuY2hvci5odG1sCisKKyAg
ICAgICAgKiBkb20vRWxlbWVudFNoYWRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjppbnZhbGlk
YXRlUGFyZW50RGlzdHJpYnV0aW9uSWZOZWNlc3NhcnkpOgorICAgICAgICAqIGh0bWwvSFRNTEFu
Y2hvckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEFuY2hvckVsZW1lbnQ6OnBh
cnNlQXR0cmlidXRlKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9TZWxlY3RSdWxlRmVhdHVyZVNl
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RSdWxlRmVhdHVyZVNldDo6U2VsZWN0UnVs
ZUZlYXR1cmVTZXQpOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0UnVsZUZlYXR1cmVTZXQ6OmFk
ZCk6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RSdWxlRmVhdHVyZVNldDo6Y2xlYXIpOgorICAg
ICAgICAoV2ViQ29yZTo6U2VsZWN0UnVsZUZlYXR1cmVTZXQ6OmNvbGxlY3RGZWF0dXJlc0Zyb21T
ZWxlY3Rvcik6CisgICAgICAgICogaHRtbC9zaGFkb3cvU2VsZWN0UnVsZUZlYXR1cmVTZXQuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdFJ1bGVGZWF0dXJlU2V0OjpoYXNTZWxlY3RvckZvckxp
bmspOgorICAgICAgICAoU2VsZWN0UnVsZUZlYXR1cmVTZXQpOgorCisyMDEyLTExLTEyICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBDaGFuZ2luZyBw
c2V1ZG9DbGFzcyAoOmluZGV0ZXJtaW5hdGUpIHNob3VsZCBjYXVzZSBkaXN0cmlidXRpb24KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTkwMworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIDxwcm9ncmVzcz4g
YW5kIDxpbnB1dCB0eXBlPSJjaGVja2JveCI+IGhhdmUgJ2luZGV0ZXJtaW5hdGUnIHN0YXRlLiBX
aGVuIHRoZWlyIHN0YXRlIGlzIGNoYW5nZWQsIHdlIGhhdmUgdG8KKyAgICAgICAgaW52YWxpZGF0
ZSBkaXN0cmlidXRpb24gaWYgbmVjZXNzYXJ5LiBUbyBjaGVjayBpdCwgd2UgY29sbGVjdCBhIGZl
YXR1cmUgdGhhdCA6aW52YWxpZGF0ZSBpcyB1c2VkIGluIHNlbGVjdCBhdHRyaWJ1dGVzLgorCisg
ICAgICAgIEZvciA8aW5wdXQ+LCB3ZSBhbHNvIGhhdmUgdG8gc2VlICd0eXBlJyBpcyBjaGFuZ2Vk
LiBBY2NvcmRpbmcgdG8gdGhlIHNwZWMsIDppbmRldGVybWluYXRlIHNob3VsZCBtYXRjaCBvbmx5
CisgICAgICAgIHByb2dyZXNzIGVsZW1lbnQgb3IgPGlucHV0IHR5cGU9ImNoZWNrYm94Ij4uIFNv
IGNoYW5naW5nICd0eXBlJyBtaWdodCBhbHNvIGNoYW5nZSA6aW5kZXRlcm1pbmF0ZSBzdGF0ZS4K
KworICAgICAgICBUZXN0czogZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1pbmRl
dGVybWluYXRlLWlucHV0Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZG9tL3NoYWRvdy9wc2V1
ZG9jbGFzcy11cGRhdGUtaW5kZXRlcm1pbmF0ZS1wcm9ncmVzcy5odG1sCisKKyAgICAgICAgKiBk
b20vRWxlbWVudFNoYWRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjppbnZhbGlkYXRlUGFyZW50
RGlzdHJpYnV0aW9uSWZOZWNlc3NhcnkpOiBTaW5jZSB3ZSB3aWxsIGFkZCBhIGxvdCBvZiBwc2V1
ZG9DbGFzcyBjaGVjayBsYXRlciwgd2Ugd291bGQgbGlrZSB0bworICAgICAgICBoYXZlIHRoaXMg
a2luZCBvZiBoZWxwZXIgbWV0aG9kLiBXZSB3aWxsIGFkZCB2YXJpb3VzIHBzZXVkb0NsYXNzIGNo
ZWNrIChzZWUgQnVnIDEwMTY5NyksIHdlIHJldXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9UeXBlCisg
ICAgICAgIGhlcmUuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBkb20vRWxlbWVudFNo
YWRvdy5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OnVwZGF0ZVR5cGUp
OiBJbnZhbGlkYXRlIHBhcmVudCBkaXN0cmlidXRpb24gYW55d2F5LCBzaW5jZSBpdCBjaGFuZ2Vz
IHZhcmlvdXMgaW50ZXJuYWwgc3RhdGVzLgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxl
bWVudDo6c2V0SW5kZXRlcm1pbmF0ZSk6IEludmFsaWRhdGUgcGFyZW50IGRpc3RyaWJ1dGlvbiBp
ZiBuZWNlc3NhcnkuCisgICAgICAgICogaHRtbC9IVE1MUHJvZ3Jlc3NFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxQcm9ncmVzc0VsZW1lbnQ6OmRpZEVsZW1lbnRTdGF0ZUNoYW5n
ZSk6CisgICAgICAgICogaHRtbC9zaGFkb3cvU2VsZWN0UnVsZUZlYXR1cmVTZXQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U2VsZWN0UnVsZUZlYXR1cmVTZXQ6OlNlbGVjdFJ1bGVGZWF0dXJlU2V0
KTogQWRkcyBtX3VzZXNJbmRldGVybWluYXRlIGZlYXR1cmUuCisgICAgICAgIChXZWJDb3JlOjpT
ZWxlY3RSdWxlRmVhdHVyZVNldDo6YWRkKToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdFJ1bGVG
ZWF0dXJlU2V0OjpjbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RSdWxlRmVhdHVyZVNl
dDo6Y29sbGVjdEZlYXR1cmVzRnJvbVNlbGVjdG9yKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9T
ZWxlY3RSdWxlRmVhdHVyZVNldC5oOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0UnVsZUZlYXR1
cmVTZXQ6Omhhc1NlbGVjdG9yRm9ySW5kZXRlcm1pbmF0ZSk6CisgICAgICAgIChTZWxlY3RSdWxl
RmVhdHVyZVNldCk6CisKIDIwMTItMTEtMTIgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBh
cHBsZS5jb20+CiAKICAgICAgICAgRml4IGZpbHRlciBkaXJ0eSByZWN0IHJlZ3Jlc3Npb24gZnJv
bSByMTM0MzExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFNoYWRvdy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFNoYWRvdy5jcHAKaW5kZXggZDA3MDVlZjI0
ZTNmMWYzNDEzMDAzNjMyMDFiZTA5YzU0MTY1MDliZi4uZmZkMzg5ODQ1ZWZjOTBiMzNmYmIwYjZm
NDdmM2I3YjFlNTYxZDkzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRT
aGFkb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50U2hhZG93LmNwcApAQCAt
MjY1LDQgKzI2NSwyNSBAQCB2b2lkIEVsZW1lbnRTaGFkb3c6OnJlcG9ydE1lbW9yeVVzYWdlKE1l
bW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAgaW5mby5hZGRNZW1i
ZXIobV9kaXN0cmlidXRvcik7CiB9CiAKK3ZvaWQgaW52YWxpZGF0ZVBhcmVudERpc3RyaWJ1dGlv
bklmTmVjZXNzYXJ5KEVsZW1lbnQqIGVsZW1lbnQsIENTU1NlbGVjdG9yOjpQc2V1ZG9UeXBlIHVw
ZGF0ZWRQc2V1ZG9UeXBlKQoreworICAgIEVsZW1lbnRTaGFkb3cqIGVsZW1lbnRTaGFkb3cgPSBz
aGFkb3dPZlBhcmVudEZvckRpc3RyaWJ1dGlvbihlbGVtZW50KTsKKyAgICBpZiAoIWVsZW1lbnRT
aGFkb3cpCisgICAgICAgIHJldHVybjsKKworICAgIGVsZW1lbnRTaGFkb3ctPmVuc3VyZVNlbGVj
dEZlYXR1cmVTZXRDb2xsZWN0ZWQoKTsKKyAgICBzd2l0Y2ggKHVwZGF0ZWRQc2V1ZG9UeXBlKSB7
CisgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvTGluazoKKyAgICAgICAgaWYgKGVsZW1lbnRT
aGFkb3ctPnNlbGVjdFJ1bGVGZWF0dXJlU2V0KCkuaGFzU2VsZWN0b3JGb3JMaW5rKCkpCisgICAg
ICAgICAgICBlbGVtZW50U2hhZG93LT5pbnZhbGlkYXRlRGlzdHJpYnV0aW9uKCk7CisgICAgICAg
IGJyZWFrOworICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0luZGV0ZXJtaW5hdGU6CisgICAg
ICAgIGlmIChlbGVtZW50U2hhZG93LT5zZWxlY3RSdWxlRmVhdHVyZVNldCgpLmhhc1NlbGVjdG9y
Rm9ySW5kZXRlcm1pbmF0ZSgpKQorICAgICAgICAgICAgZWxlbWVudFNoYWRvdy0+aW52YWxpZGF0
ZURpc3RyaWJ1dGlvbigpOworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICB9Cit9CisKIH0gLy8gbmFtZXNwYWNlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFNoYWRvdy5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnRTaGFkb3cuaAppbmRleCA2MTMzOTJiODNkNjlhNThlNzk4ODc4YWQ5ZWFjMTM2
YWNkMmUyMDUyLi5mYjQxZjAzNGM4YTRlMDYzYTgyYzQ1OGRjYjg4NGU1ZjBkNTU3MDZiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFNoYWRvdy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50U2hhZG93LmgKQEAgLTI3LDYgKzI3LDcgQEAKICNpZm5kZWYgRWxl
bWVudFNoYWRvd19oCiAjZGVmaW5lIEVsZW1lbnRTaGFkb3dfaAogCisjaW5jbHVkZSAiQ1NTU2Vs
ZWN0b3IuaCIKICNpbmNsdWRlICJDb250ZW50RGlzdHJpYnV0b3IuaCIKICNpbmNsdWRlICJFeGNl
cHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiU2VsZWN0UnVsZUZlYXR1cmVTZXQuaCIKQEAgLTg5LDYg
KzkwLDggQEAgcHJpdmF0ZToKICAgICBib29sIG1fc2hvdWxkQ29sbGVjdFNlbGVjdEZlYXR1cmVT
ZXQgOiAxOwogfTsKIAordm9pZCBpbnZhbGlkYXRlUGFyZW50RGlzdHJpYnV0aW9uSWZOZWNlc3Nh
cnkoRWxlbWVudCosIENTU1NlbGVjdG9yOjpQc2V1ZG9UeXBlIHVwZGF0ZWRQc2V1ZG9UeXBlKTsK
KwogaW5saW5lIFNoYWRvd1Jvb3QqIEVsZW1lbnRTaGFkb3c6OnlvdW5nZXN0U2hhZG93Um9vdCgp
IGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fc2hhZG93Um9vdHMuaGVhZCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcAppbmRleCBhMzY5OWJiYjViNTgyNTgyZDMzYzBi
NjdkMDIzMTgzMGVlMzljMmY5Li4zZjQxNzFiOWIxMzBmYThhNzBlNjUwN2Q0YTgyZjg1MGNjNGI3
N2RmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcApAQCAtMjUs
NyArMjUsOSBAQAogI2luY2x1ZGUgIkhUTUxBbmNob3JFbGVtZW50LmgiCiAKICNpbmNsdWRlICJB
dHRyaWJ1dGUuaCIKKyNpbmNsdWRlICJDU1NTZWxlY3Rvci5oIgogI2luY2x1ZGUgIkROUy5oIgor
I2luY2x1ZGUgIkVsZW1lbnRTaGFkb3cuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5j
bHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudC5oIgpAQCAtMjE4LDgg
KzIyMCwxMCBAQCB2b2lkIEhUTUxBbmNob3JFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBB
dHRyaWJ1dGUmIGF0dHJpYnV0ZSkKICAgICBpZiAoYXR0cmlidXRlLm5hbWUoKSA9PSBocmVmQXR0
cikgewogICAgICAgICBib29sIHdhc0xpbmsgPSBpc0xpbmsoKTsKICAgICAgICAgc2V0SXNMaW5r
KCFhdHRyaWJ1dGUuaXNOdWxsKCkpOwotICAgICAgICBpZiAod2FzTGluayAhPSBpc0xpbmsoKSkK
KyAgICAgICAgaWYgKHdhc0xpbmsgIT0gaXNMaW5rKCkpIHsKICAgICAgICAgICAgIHNldE5lZWRz
U3R5bGVSZWNhbGMoKTsKKyAgICAgICAgICAgIGludmFsaWRhdGVQYXJlbnREaXN0cmlidXRpb25J
Zk5lY2Vzc2FyeSh0aGlzLCBDU1NTZWxlY3Rvcjo6UHNldWRvTGluayk7CisgICAgICAgIH0KICAg
ICAgICAgaWYgKGlzTGluaygpKSB7CiAgICAgICAgICAgICBTdHJpbmcgcGFyc2VkVVJMID0gc3Ry
aXBMZWFkaW5nQW5kVHJhaWxpbmdIVE1MU3BhY2VzKGF0dHJpYnV0ZS52YWx1ZSgpKTsKICAgICAg
ICAgICAgIGlmIChkb2N1bWVudCgpLT5pc0ROU1ByZWZldGNoRW5hYmxlZCgpKSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAppbmRleCBlNGM0NjA5Yzg0MzgzNTZmNjYw
MDJkNjAzYWU3NzM0ODI4MjgyOGZlLi4xMDZmNTA1OTg1MTllZGIyMGUwY2I0MTY0MDMzN2Y3Nzhm
MmQ5OGRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKQEAgLTM1
LDYgKzM1LDcgQEAKICNpbmNsdWRlICJDU1NWYWx1ZUtleXdvcmRzLmgiCiAjaW5jbHVkZSAiRGF0
ZVRpbWVDaG9vc2VyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJFbGVtZW50
U2hhZG93LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNv
ZGUuaCIKICNpbmNsdWRlICJGaWxlSW5wdXRUeXBlLmgiCkBAIC01MCw2ICs1MSw3IEBACiAjaW5j
bHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUgIklkVGFyZ2V0T2JzZXJ2ZXIuaCIK
ICNpbmNsdWRlICJJbnB1dFR5cGUuaCIKKyNpbmNsdWRlICJJbnNlcnRpb25Qb2ludC5oIgogI2lu
Y2x1ZGUgIktleWJvYXJkRXZlbnQuaCIKICNpbmNsdWRlICJMb2NhbGl6ZWRTdHJpbmdzLmgiCiAj
aW5jbHVkZSAiTW91c2VFdmVudC5oIgpAQCAtNTMxLDYgKzUzMyw5IEBAIHZvaWQgSFRNTElucHV0
RWxlbWVudDo6dXBkYXRlVHlwZSgpCiAgICAgICAgICAgICB1cGRhdGVGb2N1c0FwcGVhcmFuY2Uo
dHJ1ZSk7CiAgICAgfQogCisgICAgaWYgKEVsZW1lbnRTaGFkb3cqIGVsZW1lbnRTaGFkb3cgPSBz
aGFkb3dPZlBhcmVudEZvckRpc3RyaWJ1dGlvbih0aGlzKSkKKyAgICAgICAgZWxlbWVudFNoYWRv
dy0+aW52YWxpZGF0ZURpc3RyaWJ1dGlvbigpOworCiAgICAgc2V0Q2hhbmdlZFNpbmNlTGFzdEZv
cm1Db250cm9sQ2hhbmdlRXZlbnQoZmFsc2UpOwogCiAgICAgYWRkVG9SYWRpb0J1dHRvbkdyb3Vw
KCk7CkBAIC05MTQsNiArOTE5LDcgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzZXRJbmRldGVy
bWluYXRlKGJvb2wgbmV3VmFsdWUpCiAgICAgbV9pc0luZGV0ZXJtaW5hdGUgPSBuZXdWYWx1ZTsK
IAogICAgIHNldE5lZWRzU3R5bGVSZWNhbGMoKTsKKyAgICBpbnZhbGlkYXRlUGFyZW50RGlzdHJp
YnV0aW9uSWZOZWNlc3NhcnkodGhpcywgQ1NTU2VsZWN0b3I6OlBzZXVkb0luZGV0ZXJtaW5hdGUp
OwogCiAgICAgaWYgKHJlbmRlcmVyKCkgJiYgcmVuZGVyZXIoKS0+c3R5bGUoKS0+aGFzQXBwZWFy
YW5jZSgpKQogICAgICAgICByZW5kZXJlcigpLT50aGVtZSgpLT5zdGF0ZUNoYW5nZWQocmVuZGVy
ZXIoKSwgQ2hlY2tlZFN0YXRlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFByb2dyZXNzRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQcm9ncmVzc0Vs
ZW1lbnQuY3BwCmluZGV4IDNjNGMxNzVlOWUxNmQyZjc4OTI3ODY3NjE1YjUwOGY5MTY0ZDBjY2Iu
LjNiZmYwYjU0ZDFlZDMyZTY0MWI0MWViM2MyZjEwOTdlNDhkZWZjMGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFByb2dyZXNzRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MUHJvZ3Jlc3NFbGVtZW50LmNwcApAQCAtMzEsNiArMzEsNyBAQAogI2lu
Y2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRlICJQcm9ncmVzc1NoYWRvd0VsZW1l
bnQuaCIKICNpbmNsdWRlICJSZW5kZXJQcm9ncmVzcy5oIgorI2luY2x1ZGUgIlNlbGVjdFJ1bGVG
ZWF0dXJlU2V0LmgiCiAjaW5jbHVkZSAiU2hhZG93Um9vdC5oIgogI2luY2x1ZGUgPHd0Zi9TdGRM
aWJFeHRyYXMuaD4KIApAQCAtMTU4LDggKzE1OSwxMCBAQCB2b2lkIEhUTUxQcm9ncmVzc0VsZW1l
bnQ6OmRpZEVsZW1lbnRTdGF0ZUNoYW5nZSgpCiAgICAgaWYgKFJlbmRlclByb2dyZXNzKiByZW5k
ZXIgPSByZW5kZXJQcm9ncmVzcygpKSB7CiAgICAgICAgIGJvb2wgd2FzRGV0ZXJtaW5hdGUgPSBy
ZW5kZXItPmlzRGV0ZXJtaW5hdGUoKTsKICAgICAgICAgcmVuZGVyLT51cGRhdGVGcm9tRWxlbWVu
dCgpOwotICAgICAgICBpZiAod2FzRGV0ZXJtaW5hdGUgIT0gaXNEZXRlcm1pbmF0ZSgpKQorICAg
ICAgICBpZiAod2FzRGV0ZXJtaW5hdGUgIT0gaXNEZXRlcm1pbmF0ZSgpKSB7CiAgICAgICAgICAg
ICBzZXROZWVkc1N0eWxlUmVjYWxjKCk7CisgICAgICAgICAgICBpbnZhbGlkYXRlUGFyZW50RGlz
dHJpYnV0aW9uSWZOZWNlc3NhcnkodGhpcywgQ1NTU2VsZWN0b3I6OlBzZXVkb0luZGV0ZXJtaW5h
dGUpOworICAgICAgICB9CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9TZWxlY3RSdWxlRmVhdHVyZVNldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9TZWxlY3RSdWxlRmVhdHVyZVNldC5jcHAKaW5kZXggODg1MmM2Yjc1MzQ0YjI5ODk0
NWQwN2NkMTFjYzZmZDYxOGVkMTU1OC4uNmJhNTFlNzkyNTA2Mjc3YWU1MzBlMzFiZGFjZjZlZjdi
NmIzNGEyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvU2VsZWN0UnVs
ZUZlYXR1cmVTZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1NlbGVjdFJ1
bGVGZWF0dXJlU2V0LmNwcApAQCAtMzYsMjIgKzM2LDMyIEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIFNlbGVjdFJ1bGVGZWF0dXJlU2V0OjpTZWxlY3RSdWxlRmVhdHVyZVNldCgpCisgICAgOiBt
X3VzZXNMaW5rKGZhbHNlKQorICAgICwgbV91c2VzSW5kZXRlcm1pbmF0ZShmYWxzZSkKIHsKIH0K
IAogdm9pZCBTZWxlY3RSdWxlRmVhdHVyZVNldDo6YWRkKGNvbnN0IFNlbGVjdFJ1bGVGZWF0dXJl
U2V0JiBmZWF0dXJlU2V0KQogewogICAgIG1fY3NzUnVsZUZlYXR1cmVTZXQuYWRkKGZlYXR1cmVT
ZXQubV9jc3NSdWxlRmVhdHVyZVNldCk7CisgICAgbV91c2VzTGluayB8PSBmZWF0dXJlU2V0Lm1f
dXNlc0xpbms7CisgICAgbV91c2VzSW5kZXRlcm1pbmF0ZSB8PSBmZWF0dXJlU2V0Lm1fdXNlc0lu
ZGV0ZXJtaW5hdGU7CiB9CiAKIHZvaWQgU2VsZWN0UnVsZUZlYXR1cmVTZXQ6OmNsZWFyKCkKIHsK
ICAgICBtX2Nzc1J1bGVGZWF0dXJlU2V0LmNsZWFyKCk7CisgICAgbV91c2VzTGluayA9IGZhbHNl
OworICAgIG1fdXNlc0luZGV0ZXJtaW5hdGUgPSBmYWxzZTsKIH0KIAogdm9pZCBTZWxlY3RSdWxl
RmVhdHVyZVNldDo6Y29sbGVjdEZlYXR1cmVzRnJvbVNlbGVjdG9yKGNvbnN0IENTU1NlbGVjdG9y
KiBzZWxlY3RvcikKIHsKICAgICBtX2Nzc1J1bGVGZWF0dXJlU2V0LmNvbGxlY3RGZWF0dXJlc0Zy
b21TZWxlY3RvcihzZWxlY3Rvcik7CisgICAgaWYgKHNlbGVjdG9yLT5wc2V1ZG9UeXBlKCkgPT0g
Q1NTU2VsZWN0b3I6OlBzZXVkb0xpbmspCisgICAgICAgIG1fdXNlc0xpbmsgPSB0cnVlOworICAg
IGVsc2UgaWYgKHNlbGVjdG9yLT5wc2V1ZG9UeXBlKCkgPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0lu
ZGV0ZXJtaW5hdGUpCisgICAgICAgIG1fdXNlc0luZGV0ZXJtaW5hdGUgPSB0cnVlOwogfQogCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9TZWxlY3RSdWxlRmVhdHVy
ZVNldC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvU2VsZWN0UnVsZUZlYXR1cmVTZXQu
aAppbmRleCAyMThmNDUxMTI3NTQ0NWU5ZDViMjMxYmIyMjdiMGI3NjIxMjY3MWY2Li4yYjMzYzkx
Y2JmZjYyOWEzZDlmNjAwYjM0Nzc3NmU2ZWI2OGVmMWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9TZWxlY3RSdWxlRmVhdHVyZVNldC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L1NlbGVjdFJ1bGVGZWF0dXJlU2V0LmgKQEAgLTQ3LDggKzQ3LDEzIEBA
IHB1YmxpYzoKICAgICBib29sIGhhc1NlbGVjdG9yRm9yQ2xhc3MoY29uc3QgQXRvbWljU3RyaW5n
JikgY29uc3Q7CiAgICAgYm9vbCBoYXNTZWxlY3RvckZvckF0dHJpYnV0ZShjb25zdCBBdG9taWNT
dHJpbmcmKSBjb25zdDsKIAorICAgIGJvb2wgaGFzU2VsZWN0b3JGb3JMaW5rKCkgY29uc3QgeyBy
ZXR1cm4gbV91c2VzTGluazsgfQorICAgIGJvb2wgaGFzU2VsZWN0b3JGb3JJbmRldGVybWluYXRl
KCkgY29uc3QgeyByZXR1cm4gbV91c2VzSW5kZXRlcm1pbmF0ZTsgfQorCiBwcml2YXRlOgogICAg
IFJ1bGVGZWF0dXJlU2V0IG1fY3NzUnVsZUZlYXR1cmVTZXQ7CisgICAgYm9vbCBtX3VzZXNMaW5r
OworICAgIGJvb2wgbV91c2VzSW5kZXRlcm1pbmF0ZTsKIH07CiAKIGlubGluZSBib29sIFNlbGVj
dFJ1bGVGZWF0dXJlU2V0OjpoYXNTZWxlY3RvckZvcklkKGNvbnN0IEF0b21pY1N0cmluZyYgaWRW
YWx1ZSkgY29uc3QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCAxNzM3Y2UyYzhkZjliNTUwZWUzNWI5YTllYzNiM2M2MTg5ZWMz
NzZiLi45Njk2NGQzZmJkYTMwOWRkNzUzYzNhY2ZjNWRlMTM3MzBmN2IyODNjIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjUgQEAKKzIwMTItMTEtMTMgIFNoaW55YSBLYXdhbmFrYSAgPHNoaW55YWtAY2hyb21p
dW0ub3JnPgorCisgICAgICAgIENoYW5naW5nIHBzZXVkb0NsYXNzICg6bGluaykgc2hvdWxkIGNh
dXNlIGRpc3RyaWJ1dGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTAxNjk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWxpbmstYW5jaG9y
LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9wc2V1ZG9j
bGFzcy11cGRhdGUtbGluay1hbmNob3IuaHRtbDogQWRkZWQuCisKKzIwMTItMTEtMTIgIFNoaW55
YSBLYXdhbmFrYSAgPHNoaW55YWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENoYW5naW5nIHBz
ZXVkb0NsYXNzICg6aW5kZXRlcm1pbmF0ZSkgc2hvdWxkIGNhdXNlIGRpc3RyaWJ1dGlvbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxOTAzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9z
aGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWluZGV0ZXJtaW5hdGUtaW5wdXQtZXhwZWN0ZWQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1p
bmRldGVybWluYXRlLWlucHV0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRv
dy9wc2V1ZG9jbGFzcy11cGRhdGUtaW5kZXRlcm1pbmF0ZS1wcm9ncmVzcy1leHBlY3RlZC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWlu
ZGV0ZXJtaW5hdGUtcHJvZ3Jlc3MuaHRtbDogQWRkZWQuCisKIDIwMTItMTEtMTIgIFJhcGhhZWwg
S3VibyBkYSBDb3N0YSAgPHJhcGhhZWwua3Viby5kYS5jb3N0YUBpbnRlbC5jb20+CiAKICAgICAg
ICAgW0VGTF0gV2ViS2l0MSBnYXJkZW5pbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWluZGV0ZXJtaW5hdGUtaW5wdXQtZXhwZWN0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUt
aW5kZXRlcm1pbmF0ZS1pbnB1dC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMwOGQ0NzllOTli
NGNiZjU4MGNhZDZjOGYwNjZkZjMyYTlhM2ZjMmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWluZGV0ZXJtaW5hdGUtaW5w
dXQtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGJvZHk+CisKKzxwPldoZW4gaW5wdXQgYmVjYW1lICdpbmRldGVybWluYXRlJyBzdGF0ZSBv
ciBub3QtJ2luZGV0ZXJtaW5hdGUnIHN0YXRlLCBkaXN0cmlidXRpb24gc2hvdWxkIGhhcHBlbi48
L3A+CisKKzxkaXYgaWQ9Imhvc3QiPjxzcGFuPnNlcGFyYXRvciAxPC9zcGFuPjxzcGFuPnNlcGFy
YXRvciAyPC9zcGFuPjxpbnB1dCBpZD0iaW5wdXQzIiB0eXBlPSJjaGVja2JveCIgaW5kZXRlcm1p
bmF0ZT0idHJ1ZSI+PHNwYW4+c2VwYXJhdG9yIDM8L3NwYW4+PHNwYW4+c2VwYXJhdG9yIDQ8L3Nw
YW4+PGlucHV0IGlkPSJpbnB1dDUiIHR5cGU9ImNoZWNrYm94IiBpbmRldGVybWluYXRlPSJ0cnVl
Ij48c3Bhbj5zZXBhcmF0b3IgNTwvc3Bhbj48L2Rpdj4KKworPHNjcmlwdD4KK2lucHV0My5pbmRl
dGVybWluYXRlID0gdHJ1ZTsKK2lucHV0NS5pbmRldGVybWluYXRlID0gdHJ1ZTsKKzwvc2NyaXB0
PgorCisKKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1pbmRldGVybWluYXRlLWlucHV0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWluZGV0ZXJtaW5h
dGUtaW5wdXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYTg2YTU3OTg5NTQxNThkOGRlNGQxZmEyYTZhNTFj
ZTFmZDcxZGVmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3BzZXVkb2NsYXNzLXVwZGF0ZS1pbmRldGVybWluYXRlLWlucHV0Lmh0bWwKQEAgLTAsMCArMSw1
MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9InJlc291
cmNlcy9wb2x5ZmlsbC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5PgorCis8cD5XaGVu
IGlucHV0IGJlY2FtZSAnaW5kZXRlcm1pbmF0ZScgc3RhdGUgb3Igbm90LSdpbmRldGVybWluYXRl
JyBzdGF0ZSwgZGlzdHJpYnV0aW9uIHNob3VsZCBoYXBwZW4uPC9wPgorCis8ZGl2IGlkPSJob3N0
Ij4KKyAgICA8aW5wdXQgaWQ9ImlucHV0MSIgdHlwZT0iY2hlY2tib3giPgorICAgIDxzcGFuPnNl
cGFyYXRvciAxPC9zcGFuPgorICAgIDxpbnB1dCBpZD0iaW5wdXQyIiB0eXBlPSJjaGVja2JveCI+
CisgICAgPHNwYW4+c2VwYXJhdG9yIDI8L3NwYW4+CisgICAgPGlucHV0IGlkPSJpbnB1dDMiIHR5
cGU9ImNoZWNrYm94Ij4KKyAgICA8c3Bhbj5zZXBhcmF0b3IgMzwvc3Bhbj4KKyAgICA8aW5wdXQg
aWQ9ImlucHV0NCIgdHlwZT0idGV4dCI+CisgICAgPHNwYW4+c2VwYXJhdG9yIDQ8L3NwYW4+Cisg
ICAgPGlucHV0IGlkPSJpbnB1dDUiIHR5cGU9InRleHQiPgorICAgIDxzcGFuPnNlcGFyYXRvciA1
PC9zcGFuPgorICAgIDxpbnB1dCBpZD0iaW5wdXQ2IiB0eXBlPSJ0ZXh0Ij4KKzwvZGl2PgorPHNj
cmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKKworaW5wdXQxLmluZGV0ZXJtaW5hdGUgPSB0cnVlOworaW5wdXQyLmluZGV0ZXJtaW5h
dGUgPSB0cnVlOworaW5wdXQ0LmluZGV0ZXJtaW5hdGUgPSB0cnVlOworaW5wdXQ1LmluZGV0ZXJt
aW5hdGUgPSB0cnVlOworCit2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhv
c3QpOworc2hhZG93Um9vdC5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJzcGFuLCBpbnB1
dDppbmRldGVybWluYXRlIj48L2NvbnRlbnQ+JzsKKworc2V0VGltZW91dChmdW5jdGlvbigpIHsK
KyAgICBpbnB1dDEuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlOworICAgIGlucHV0My5pbmRldGVybWlu
YXRlID0gdHJ1ZTsKKyAgICBpbnB1dDQuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlOworICAgIGlucHV0
Ni5pbmRldGVybWluYXRlID0gdHJ1ZTsKKyAgICAKKyAgICBpbnB1dDIudHlwZSA9ICd0ZXh0JzsK
KyAgICBpbnB1dDUudHlwZSA9ICdjaGVja2JveCc7CisgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7Cit9LCAwKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtaW5kZXRlcm1p
bmF0ZS1wcm9ncmVzcy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3BzZXVkb2NsYXNzLXVwZGF0ZS1pbmRldGVybWluYXRlLXByb2dyZXNzLWV4cGVjdGVkLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTMyZTU0YmIwZGQyYjQ3NGIxMTc4NmQxYTdiMDIyNzVkNmE5MGUxZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11
cGRhdGUtaW5kZXRlcm1pbmF0ZS1wcm9ncmVzcy1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTEg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisKKzxib2R5PgorCis8cD5XaGVuIHByb2dyZXNz
IGJlY2FtZSAnaW5kZXRlcm1pbmF0ZScgb3Igbm90LSdpbmRldGVybWluYXRlJywgZGlzdHJpYnV0
aW9uIHNob3VsZCBoYXBwZW4uPC9wPgorCis8ZGl2IGlkPSJob3N0Ij48cHJvZ3Jlc3MgaWQ9InBy
b2dyZXNzMSI+PC9wcm9ncmVzcz48c3Bhbj5zZXBhcmF0b3I8L3NwYW4+PC9kaXY+Cis8L2JvZHk+
Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1
ZG9jbGFzcy11cGRhdGUtaW5kZXRlcm1pbmF0ZS1wcm9ncmVzcy5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1pbmRldGVybWluYXRlLXByb2dyZXNz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYjAzNzk4YmFjNDgzOGYzY2Y5MjMwNTZkNjNkZjVhZjE5YWY0MDVm
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9j
bGFzcy11cGRhdGUtaW5kZXRlcm1pbmF0ZS1wcm9ncmVzcy5odG1sCkBAIC0wLDAgKzEsMzMgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
cG9seWZpbGwuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keT4KKworPHA+V2hlbiBwcm9n
cmVzcyBiZWNhbWUgJ2luZGV0ZXJtaW5hdGUnIG9yIG5vdC0naW5kZXRlcm1pbmF0ZScsIGRpc3Ry
aWJ1dGlvbiBzaG91bGQgaGFwcGVuLjwvcD4KKworPGRpdiBpZD0iaG9zdCI+CisgICAgPHByb2dy
ZXNzIGlkPSJwcm9ncmVzczEiPjwvcHJvZ3Jlc3M+CisgICAgPHNwYW4+c2VwYXJhdG9yPC9zcGFu
PgorICAgIDxwcm9ncmVzcyBpZD0icHJvZ3Jlc3MyIj48L3Byb2dyZXNzPgorPC9kaXY+Cis8c2Ny
aXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOworCit2YXIgc2hhZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QpOworc2hh
ZG93Um9vdC5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSJzcGFuLHByb2dyZXNzOmluZGV0
ZXJtaW5hdGUiPjwvY29udGVudD4nOworcHJvZ3Jlc3MxLnZhbHVlID0gJzMwJzsKKworc2V0VGlt
ZW91dChmdW5jdGlvbigpIHsKKyAgICBwcm9ncmVzczEucmVtb3ZlQXR0cmlidXRlKCd2YWx1ZScp
OworICAgIHByb2dyZXNzMi52YWx1ZSA9ICc3MCc7CisgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7Cit9LCAwKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtbGluay1hbmNo
b3ItZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFz
cy11cGRhdGUtbGluay1hbmNob3ItZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZGZkODI2MTA2
OTQ0ZDkzMGQ5Nzg5MGZjYTdkNDNjOThkMTdlYzgyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1saW5rLWFuY2hvci1leHBl
Y3RlZC5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisKKzxi
b2R5PgorCis8cD5XaGVuIGFuIGFuY2hvciB0YWcgY2F0Y2ggJ2hyZWYnIGF0dHJpYnV0ZSBvciBy
ZWxlYXNlICdocmVmJyBhdHRyaWJ1dGUsIGRpc3RyaWJ1dGlvbiBzaG91bGQgaGFwcGVuLjwvcD4K
KworPGRpdj48YSBpZD0iYW5jaG9yMSIgaHJlZj0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS8iPkFu
Y2hvciAxPC9hPjwvZGl2PgorPGRpdj48YSBpZD0iYW5jaG9yNCIgaHJlZj0iaHR0cDovL3d3dy5l
eGFtcGxlLmNvbS8iPkFuY2hvciA0PC9hPjwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUt
bGluay1hbmNob3IuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFz
cy11cGRhdGUtbGluay1hbmNob3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MGIwZWQ0YWQxNTBkZTFlYmVi
YTY0NjliMDc4ZjljNWU2NTZiZWY2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1saW5rLWFuY2hvci5odG1sCkBAIC0wLDAg
KzEsMzcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvcG9seWZpbGwuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keT4KKworPHA+
V2hlbiBhbiBhbmNob3IgdGFnIGNhdGNoICdocmVmJyBhdHRyaWJ1dGUgb3IgcmVsZWFzZSAnaHJl
ZicgYXR0cmlidXRlLCBkaXN0cmlidXRpb24gc2hvdWxkIGhhcHBlbi48L3A+CisKKzxkaXYgaWQ9
Imhvc3QxIj4KKyAgICA8YSBpZD0iYW5jaG9yMSIgaHJlZj0iaHR0cDovL3d3dy5leGFtcGxlLmNv
bS8iPkFuY2hvciAxPC9hPgorICAgIDxhIGlkPSJhbmNob3IyIiBocmVmPSJodHRwOi8vd3d3LmV4
YW1wbGUuY29tLyI+QW5jaG9yIDI8L2E+Cis8L2Rpdj4KKworPGRpdiBpZD0iaG9zdDIiPgorICAg
IDxhIGlkPSJhbmNob3IzIj5BbmNob3IgMzwvYT4KKyAgICA8YSBpZD0iYW5jaG9yNCI+QW5jaG9y
IDQ8L2E+Cis8L2Rpdj4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKworbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEp
LmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpsaW5rIj48L2NvbnRlbnQ+JzsKK25ldyBX
ZWJLaXRTaGFkb3dSb290KGhvc3QyKS5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSI6bGlu
ayI+PC9jb250ZW50Pic7CisKK3NldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgYW5jaG9yMi5y
ZW1vdmVBdHRyaWJ1dGUoJ2hyZWYnKTsKKyAgICBhbmNob3I0LnNldEF0dHJpYnV0ZSgnaHJlZics
ICdodHRwOi8vd3d3LmV4YW1wbGUuY29tLycpOworICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OworfSwgMCk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174311</attachid>
            <date>2012-11-14 18:22:03 -0800</date>
            <delta_ts>2012-11-14 19:18:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101698-20121115112001.patch</filename>
            <type>text/plain</type>
            <size>7743</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0NzAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzRmNTcwZGJiYWY1NzU2
ZTJlNjE1YjlmNmIxYmUyMGM4MjNlYTE4Yy4uNGJmZWM3ZTRiY2Q4OTEzMzgzYmM2ZjhmYTBmODQ4
NDIzNzNkNjBmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTExLTE0ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KKworICAgICAgICBDaGFuZ2luZyBw
c2V1ZG9DbGFzcyAoOmxpbmspIHNob3VsZCBjYXVzZSBkaXN0cmlidXRpb24KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTY5OAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENTU1NlbGVjdG9yIDpsaW5rIG1h
dGNoZXMgYW5jaG9yIGVsZW1lbnQgd2l0aCBocmVmIGF0dHJpYnV0ZS4gV2hlbiBocmVmIGF0dHJp
YnV0ZSBvZiBhbiBhbmNob3IgZWxlbWVudCBpcyBjaGFuZ2VkLAorICAgICAgICB3ZSBoYXZlIHRv
IGludmFsaWRhdGUgZGlzdHJpYnV0aW9uLgorCisgICAgICAgIEFjY29yZGluZyB0byB0aGUgSFRN
TCBzcGVjLCA6bGluayBtYXRjaGVzIGEgbGluayBlbGVtZW50IGhhdmluZyBocmVmIGF0dHJpYnV0
ZSwgY3VycmVudGx5IHdlIGhhdmUgbm90IGltcGxlbWVudGVkIGl0IHlldC4KKworICAgICAgICBU
ZXN0czogZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1saW5rLWFuY2hvci5odG1s
CisgICAgICAgICAgICAgICBmYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWxpbmst
YXJlYS5odG1sCisKKyAgICAgICAgKiBodG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxBbmNob3JFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZSk6CisKIDIwMTIt
MTEtMTQgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBb
Q0ZdOiBYTUxIdHRwUmVxdWVzdCAidGltZW91dCIgZXZlbnRzIGZpcmluZyBhcyAiZXJyb3IiIGV2
ZW50cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcAppbmRleCBhMzY5
OWJiYjViNTgyNTgyZDMzYzBiNjdkMDIzMTgzMGVlMzljMmY5Li5hNTVkM2E5YTY0ZmIzYjNiODQy
MTIzZDM3NDkyNTU1N2NhOWI4ZDQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxBbmNob3JFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JF
bGVtZW50LmNwcApAQCAtMjYsNiArMjYsNyBAQAogCiAjaW5jbHVkZSAiQXR0cmlidXRlLmgiCiAj
aW5jbHVkZSAiRE5TLmgiCisjaW5jbHVkZSAiRWxlbWVudFNoYWRvdy5oIgogI2luY2x1ZGUgIkV2
ZW50TmFtZXMuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyQ2xp
ZW50LmgiCkBAIC0yMTgsOCArMjE5LDEwIEBAIHZvaWQgSFRNTEFuY2hvckVsZW1lbnQ6OnBhcnNl
QXR0cmlidXRlKGNvbnN0IEF0dHJpYnV0ZSYgYXR0cmlidXRlKQogICAgIGlmIChhdHRyaWJ1dGUu
bmFtZSgpID09IGhyZWZBdHRyKSB7CiAgICAgICAgIGJvb2wgd2FzTGluayA9IGlzTGluaygpOwog
ICAgICAgICBzZXRJc0xpbmsoIWF0dHJpYnV0ZS5pc051bGwoKSk7Ci0gICAgICAgIGlmICh3YXNM
aW5rICE9IGlzTGluaygpKQorICAgICAgICBpZiAod2FzTGluayAhPSBpc0xpbmsoKSkgewogICAg
ICAgICAgICAgc2V0TmVlZHNTdHlsZVJlY2FsYygpOworICAgICAgICAgICAgaW52YWxpZGF0ZVBh
cmVudERpc3RyaWJ1dGlvbklmTmVjZXNzYXJ5KHRoaXMsIFNlbGVjdFJ1bGVGZWF0dXJlU2V0OjpS
dWxlRmVhdHVyZUxpbmspOworICAgICAgICB9CiAgICAgICAgIGlmIChpc0xpbmsoKSkgewogICAg
ICAgICAgICAgU3RyaW5nIHBhcnNlZFVSTCA9IHN0cmlwTGVhZGluZ0FuZFRyYWlsaW5nSFRNTFNw
YWNlcyhhdHRyaWJ1dGUudmFsdWUoKSk7CiAgICAgICAgICAgICBpZiAoZG9jdW1lbnQoKS0+aXNE
TlNQcmVmZXRjaEVuYWJsZWQoKSkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGNiZjU3NWYzNjkzOGUxYmY4Nzk1OWUxZjE2
MzJiMTM0ZGI1YTA5ZjMuLjFjOTJmYzZiZDFhZmUyY2RjZjEwZTE3MTk2NzhkMzQwMjkxZDQ3YmUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0xMS0xNCAgU2hpbnlhIEthd2FuYWthICA8c2hp
bnlha0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ2hhbmdpbmcgcHNldWRvQ2xhc3MgKDpsaW5r
KSBzaG91bGQgY2F1c2UgZGlzdHJpYnV0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDE2OTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUt
bGluay1hbmNob3ItZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vc2hh
ZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1saW5rLWFuY2hvci5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWxpbmstYXJlYS1leHBlY3RlZC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRl
LWxpbmstYXJlYS5odG1sOiBBZGRlZC4KKwogMjAxMi0xMS0xNCAgRGF2aWQgR3JvZ2FuICA8ZGdy
b2dhbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW5kZXhlZERCOiBUZXN0IGNvbnZlcnNpb25z
IGJhdGNoIDQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9wc2V1ZG9j
bGFzcy11cGRhdGUtbGluay1hbmNob3ItZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtbGluay1hbmNob3ItZXhwZWN0ZWQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mZGZkODI2MTA2OTQ0ZDkzMGQ5Nzg5MGZjYTdkNDNjOThkMTdlYzgyCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVw
ZGF0ZS1saW5rLWFuY2hvci1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+CisKKzxib2R5PgorCis8cD5XaGVuIGFuIGFuY2hvciB0YWcgY2F0Y2gg
J2hyZWYnIGF0dHJpYnV0ZSBvciByZWxlYXNlICdocmVmJyBhdHRyaWJ1dGUsIGRpc3RyaWJ1dGlv
biBzaG91bGQgaGFwcGVuLjwvcD4KKworPGRpdj48YSBpZD0iYW5jaG9yMSIgaHJlZj0iaHR0cDov
L3d3dy5leGFtcGxlLmNvbS8iPkFuY2hvciAxPC9hPjwvZGl2PgorPGRpdj48YSBpZD0iYW5jaG9y
NCIgaHJlZj0iaHR0cDovL3d3dy5leGFtcGxlLmNvbS8iPkFuY2hvciA0PC9hPjwvZGl2PgorCis8
L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9wc2V1ZG9jbGFzcy11cGRhdGUtbGluay1hbmNob3IuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9wc2V1ZG9jbGFzcy11cGRhdGUtbGluay1hbmNob3IuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43MGIwZWQ0YWQxNTBkZTFlYmViYTY0NjliMDc4ZjljNWU2NTZiZWY2Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1saW5r
LWFuY2hvci5odG1sCkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcG9seWZpbGwuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorCis8Ym9keT4KKworPHA+V2hlbiBhbiBhbmNob3IgdGFnIGNhdGNoICdocmVmJyBhdHRy
aWJ1dGUgb3IgcmVsZWFzZSAnaHJlZicgYXR0cmlidXRlLCBkaXN0cmlidXRpb24gc2hvdWxkIGhh
cHBlbi48L3A+CisKKzxkaXYgaWQ9Imhvc3QxIj4KKyAgICA8YSBpZD0iYW5jaG9yMSIgaHJlZj0i
aHR0cDovL3d3dy5leGFtcGxlLmNvbS8iPkFuY2hvciAxPC9hPgorICAgIDxhIGlkPSJhbmNob3Iy
IiBocmVmPSJodHRwOi8vd3d3LmV4YW1wbGUuY29tLyI+QW5jaG9yIDI8L2E+Cis8L2Rpdj4KKwor
PGRpdiBpZD0iaG9zdDIiPgorICAgIDxhIGlkPSJhbmNob3IzIj5BbmNob3IgMzwvYT4KKyAgICA8
YSBpZD0iYW5jaG9yNCI+QW5jaG9yIDQ8L2E+Cis8L2Rpdj4KKworPHNjcmlwdD4KK2lmICh3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKworbmV3IFdl
YktpdFNoYWRvd1Jvb3QoaG9zdDEpLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IjpsaW5r
Ij48L2NvbnRlbnQ+JzsKK25ldyBXZWJLaXRTaGFkb3dSb290KGhvc3QyKS5pbm5lckhUTUwgPSAn
PGNvbnRlbnQgc2VsZWN0PSI6bGluayI+PC9jb250ZW50Pic7CisKK3NldFRpbWVvdXQoZnVuY3Rp
b24oKSB7CisgICAgYW5jaG9yMi5yZW1vdmVBdHRyaWJ1dGUoJ2hyZWYnKTsKKyAgICBhbmNob3I0
LnNldEF0dHJpYnV0ZSgnaHJlZicsICdodHRwOi8vd3d3LmV4YW1wbGUuY29tLycpOworICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOworfSwgMCk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcHNldWRvY2xh
c3MtdXBkYXRlLWxpbmstYXJlYS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1saW5rLWFyZWEtZXhwZWN0ZWQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41MDQ1NDhhYTk0ZDQ1ZmI4N2NkZjU1YzZjYWYyY2M0YWNmMmY0MDJlCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1s
aW5rLWFyZWEtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDM4IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+CisKKzxib2R5PgorCis8c3R5bGU+CithcmVhIHsKKyAg
ICBkaXNwbGF5OiBpbmxpbmU7Cit9Cis8L3N0eWxlPgorCis8cD5XaGVuIGFuIGFuY2hvciB0YWcg
Y2F0Y2ggJ2hyZWYnIGF0dHJpYnV0ZSBvciByZWxlYXNlICdocmVmJyBhdHRyaWJ1dGUsIGRpc3Ry
aWJ1dGlvbiBzaG91bGQgaGFwcGVuLjwvcD4KKworPGRpdiBpZD0iaG9zdDEiPjwvZGl2PgorPGRp
diBpZD0iaG9zdDIiPjwvZGl2PgorCis8c2NyaXB0PgorZnVuY3Rpb24gY3JlYXRlQXJlYShocmVm
LCB0ZXh0Q29udGVudCkKK3sKKyAgICB2YXIgYXJlYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J2FyZWEnKTsKKyAgICBpZiAoaHJlZikKKyAgICAgICAgYXJlYS5zZXRBdHRyaWJ1dGUoJ2hyZWYn
LCBocmVmKTsKKyAgICBhcmVhLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHRl
eHRDb250ZW50KSk7CisKKyAgICByZXR1cm4gYXJlYTsKK30KKwordmFyIGFyZWExID0gY3JlYXRl
QXJlYSgnaHR0cDovL3d3dy5leGFtcGxlLmNvbS8nLCAnQW5jaG9yIDEnKTsKK3ZhciBhcmVhNCA9
IGNyZWF0ZUFyZWEoJ2h0dHA6Ly93d3cuZXhhbXBsZS5jb20vJywgJ0FuY2hvciA0Jyk7CisKK2hv
c3QxLmFwcGVuZENoaWxkKGFyZWExKTsKK2hvc3QyLmFwcGVuZENoaWxkKGFyZWE0KTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvcHNldWRvY2xhc3MtdXBkYXRlLWxpbmstYXJlYS5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1saW5rLWFyZWEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5jZTJjNmE2YzE1MGIyMzI3ZDZhNGUwZTQ0MDRhOTc3ODEyNjU0YmVjCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3BzZXVkb2NsYXNzLXVwZGF0ZS1s
aW5rLWFyZWEuaHRtbApAQCAtMCwwICsxLDU3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3BvbHlmaWxsLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKworPGJvZHk+CisKKzxzdHlsZT4KK2FyZWEgeworICAgIGRpc3BsYXk6IGlubGluZTsK
K30KKzwvc3R5bGU+CisKKzxwPldoZW4gYW4gYW5jaG9yIHRhZyBjYXRjaCAnaHJlZicgYXR0cmli
dXRlIG9yIHJlbGVhc2UgJ2hyZWYnIGF0dHJpYnV0ZSwgZGlzdHJpYnV0aW9uIHNob3VsZCBoYXBw
ZW4uPC9wPgorCis8ZGl2IGlkPSJob3N0MSI+PC9kaXY+Cis8ZGl2IGlkPSJob3N0MiI+PC9kaXY+
CisKKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci53YWl0
VW50aWxEb25lKCk7CisKK2Z1bmN0aW9uIGNyZWF0ZUFyZWEoaHJlZiwgdGV4dENvbnRlbnQpCit7
CisgICAgdmFyIGFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhcmVhJyk7CisgICAgaWYg
KGhyZWYpCisgICAgICAgIGFyZWEuc2V0QXR0cmlidXRlKCdocmVmJywgaHJlZik7CisgICAgYXJl
YS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0ZXh0Q29udGVudCkpOworCisg
ICAgcmV0dXJuIGFyZWE7Cit9CisKK3ZhciBhcmVhMSA9IGNyZWF0ZUFyZWEoJ2h0dHA6Ly93d3cu
ZXhhbXBsZS5jb20vJywgJ0FuY2hvciAxJyk7Cit2YXIgYXJlYTIgPSBjcmVhdGVBcmVhKCdodHRw
Oi8vd3d3LmV4YW1wbGUuY29tLycsICdBbmNob3IgMicpOwordmFyIGFyZWEzID0gY3JlYXRlQXJl
YShudWxsLCAnQW5jaG9yIDMnKTsKK3ZhciBhcmVhNCA9IGNyZWF0ZUFyZWEobnVsbCwgJ0FuY2hv
ciA0Jyk7CisKK2hvc3QxLmFwcGVuZENoaWxkKGFyZWExKTsKK2hvc3QxLmFwcGVuZENoaWxkKGFy
ZWEyKTsKK2hvc3QyLmFwcGVuZENoaWxkKGFyZWEzKTsKK2hvc3QyLmFwcGVuZENoaWxkKGFyZWE0
KTsKKworbmV3IFdlYktpdFNoYWRvd1Jvb3QoaG9zdDEpLmlubmVySFRNTCA9ICc8Y29udGVudCBz
ZWxlY3Q9ImFyZWE6bGluayI+PC9jb250ZW50Pic7CituZXcgV2ViS2l0U2hhZG93Um9vdChob3N0
MikuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iYXJlYTpsaW5rIj48L2NvbnRlbnQ+JzsK
Kworc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICBhcmVhMi5yZW1vdmVBdHRyaWJ1dGUoJ2hy
ZWYnKTsKKyAgICBhcmVhNC5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCAnaHR0cDovL3d3dy5leGFtcGxl
LmNvbS8nKTsKKyAgICBpZiAodGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlE
b25lKCk7Cit9LCAwKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisK
</data>

          </attachment>
      

    </bug>

</bugzilla>