<?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>113723</bug_id>
          
          <creation_ts>2013-04-01 14:22:28 -0700</creation_ts>
          <short_desc>HTML parser should consistently inspect the namespace of elements on the stack of open elements</short_desc>
          <delta_ts>2013-04-02 09:13:07 -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>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Klein">adamk</reporter>
          <assigned_to name="Adam Klein">adamk</assigned_to>
          <cc>abarth</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>rafaelw</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>867356</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2013-04-01 14:22:28 -0700</bug_when>
    <thetext>Some code uses hasTagName() and some hasLocalName() when walking around the stack of open elements. This has caused several bugs (often security bugs, see e.g. bug 112487). The proposed solution is to always compare with namespaces (unless otherwise specified).

This has been filed as a bug against the parser spec at https://www.w3.org/Bugs/Public/show_bug.cgi?id=21308.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867359</commentid>
    <comment_count>1</comment_count>
      <attachid>196023</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2013-04-01 14:28:30 -0700</bug_when>
    <thetext>Created attachment 196023
Work in progress</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867378</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-04-01 15:02:34 -0700</bug_when>
    <thetext>I assume this fixes observable problems. Can we come up with test cases to show them?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867382</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2013-04-01 15:09:01 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; I assume this fixes observable problems. Can we come up with test cases to show them?

Yeah, missing test cases is the main reason this is a work in progress. So far we&apos;ve run into this a couple of times and played whack-a-mole. See bug 110808 for another such example.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867399</commentid>
    <comment_count>4</comment_count>
      <attachid>196034</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2013-04-01 16:14:51 -0700</bug_when>
    <thetext>Created attachment 196034
WIP with a test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867401</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2013-04-01 16:17:01 -0700</bug_when>
    <thetext>Added the same test (slightly modified to work correctly) from the w3.org bug. It&apos;s a little bit of a weird one, but that&apos;s the nature of the beast. The basic idea is that the new behavior causes the &lt;/td&gt; to match the HTML &lt;td&gt; instead of the SVG &lt;td&gt;, and then the text node gets foster-parented up to &lt;body&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867476</commentid>
    <comment_count>6</comment_count>
      <attachid>196034</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-04-01 19:05:32 -0700</bug_when>
    <thetext>Comment on attachment 196034
WIP with a test

Looks great.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867917</commentid>
    <comment_count>7</comment_count>
      <attachid>196034</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-04-02 09:13:04 -0700</bug_when>
    <thetext>Comment on attachment 196034
WIP with a test

Clearing flags on attachment: 196034

Committed r147441: &lt;http://trac.webkit.org/changeset/147441&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867918</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-04-02 09:13:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196023</attachid>
            <date>2013-04-01 14:28:30 -0700</date>
            <delta_ts>2013-04-01 16:14:49 -0700</delta_ts>
            <desc>Work in progress</desc>
            <filename>bug-113723-20130401142822.patch</filename>
            <type>text/plain</type>
            <size>14088</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3MzYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTIxZTc5ZjdhYzMwOGYx
YjgyZGVmZDA3NDhlZWM0N2RhYTU3MmU3MC4uYTkxMTE4ZTZkZDkxOTNkNWU2MDJiMDJlOTU3ZDBj
MjJhMmNhN2I2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEzLTA0LTAxICBBZGFt
IEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEhUTUwgcGFyc2VyIHNob3Vs
ZCBjb25zaXN0ZW50bHkgaW5zcGVjdCB0aGUgbmFtZXNwYWNlIG9mIGVsZW1lbnRzIG9uIHRoZSBz
dGFjayBvZiBvcGVuIGVsZW1lbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMTM3MjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGRlZCBIVE1MU3RhY2tJdGVtOjptYXRjaGVzSFRNTFRhZyBtZXRob2Qg
YW5kIHVzZSB0aGF0IG5lYXJseQorICAgICAgICBldmVyeXdoZXJlIGluc3RlYWQgb2YgSFRNTFN0
YWNrSXRlbTo6aGFzTG9jYWxOYW1lLiBUaGUgbW9zdCBpbXBvcnRhbnQKKyAgICAgICAgb2YgdGhl
c2UgY2hhbmdlcyBpcyBpbiBIVE1MRWxlbWVudFN0YWNrJ3MgaW5TY29wZUNvbW1vbigpIGZ1bmN0
aW9uLAorICAgICAgICB3aGVyZSB0aGUgdXNlIG9mIG1hdGNoZXNIVE1MVGFnIG1lYW5zIHRoYXQg
YW55IG9mIHRoZSBpblhYWFNjb3BlKCkKKyAgICAgICAgY2FsbHMgbm93IG9ubHkgbWF0Y2ggSFRN
TCB0YWdzLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisgICAgICAgICogaHRt
bC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TENvbnN0cnVjdGlvblNpdGU6OmdlbmVyYXRlSW1wbGllZEVuZFRhZ3NXaXRoRXhjbHVzaW9uKToK
KyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxFbGVtZW50U3RhY2s6OnBvcFVudGlsKToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxFbGVtZW50U3RhY2s6OnRvcG1vc3QpOgorICAgICAgICAoV2ViQ29yZTo6aW5TY29wZUNvbW1v
bik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRWxlbWVudFN0YWNrOjppblNjb3BlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxFbGVtZW50U3RhY2s6OmluTGlzdEl0ZW1TY29wZSk6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MRWxlbWVudFN0YWNrOjppblRhYmxlU2NvcGUpOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTEVsZW1lbnRTdGFjazo6aW5CdXR0b25TY29wZSk6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MRWxlbWVudFN0YWNrOjppblNlbGVjdFNjb3BlKToKKyAgICAgICAgKiBodG1sL3BhcnNl
ci9IVE1MRWxlbWVudFN0YWNrLmg6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRWxlbWVudFN0YWNr
Ojpwb3BVbnRpbFBvcHBlZCk6CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdF
bGVtZW50TGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybWF0dGluZ0VsZW1lbnRM
aXN0OjpjbG9zZXN0RWxlbWVudEluU2NvcGVXaXRoTmFtZSk6CisgICAgICAgICogaHRtbC9wYXJz
ZXIvSFRNTFN0YWNrSXRlbS5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFN0YWNrSXRlbTo6bWF0
Y2hlc0hUTUxUYWcpOgorICAgICAgICAoSFRNTFN0YWNrSXRlbSk6CisgICAgICAgICogaHRtbC9w
YXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmVlQnVp
bGRlcjo6SFRNTFRyZWVCdWlsZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmVlQnVpbGRl
cjo6cHJvY2Vzc0FueU90aGVyRW5kVGFnRm9ySW5Cb2R5KToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxUcmVlQnVpbGRlcjo6cHJvY2Vzc0VuZFRhZ0ZvckluQ2VsbCk6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NFbmRUYWdGb3JJbkJvZHkpOgorCiAyMDEzLTA0LTAx
ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTM3MjEKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmNwcAppbmRleCAwNjg0ZDAx
ZTk1N2JjMTkyOGI4OTY2NzM5Njc1NjBkZDJjMjMzZmI2Li5kMTViNDA1NDQwZjM1MmJlOTljODNj
MjE5ZDQ3ZjAwZmM0MGMyY2RhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuY3BwCkBAIC01OTYsNyArNTk2LDcgQEAgdm9pZCBIVE1M
Q29uc3RydWN0aW9uU2l0ZTo6cmVjb25zdHJ1Y3RUaGVBY3RpdmVGb3JtYXR0aW5nRWxlbWVudHMo
KQogCiB2b2lkIEhUTUxDb25zdHJ1Y3Rpb25TaXRlOjpnZW5lcmF0ZUltcGxpZWRFbmRUYWdzV2l0
aEV4Y2x1c2lvbihjb25zdCBBdG9taWNTdHJpbmcmIHRhZ05hbWUpCiB7Ci0gICAgd2hpbGUgKGhh
c0ltcGxpZWRFbmRUYWcoY3VycmVudFN0YWNrSXRlbSgpKSAmJiAhY3VycmVudFN0YWNrSXRlbSgp
LT5oYXNMb2NhbE5hbWUodGFnTmFtZSkpCisgICAgd2hpbGUgKGhhc0ltcGxpZWRFbmRUYWcoY3Vy
cmVudFN0YWNrSXRlbSgpKSAmJiAhY3VycmVudFN0YWNrSXRlbSgpLT5tYXRjaGVzSFRNTFRhZyh0
YWdOYW1lKSkKICAgICAgICAgbV9vcGVuRWxlbWVudHMucG9wKCk7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVsZW1lbnRTdGFjay5jcHAKaW5kZXggNmJiNWZiMmVi
YmI0ZjY5NGJiNjExYjA1YTZlMjk3NTFmODlmZjE1NS4uMDYyM2Q1NzAyYjNmMzdjYjM1YTNjZjUz
YmI3M2JjNjIzMmE1ZTAzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTEVsZW1lbnRTdGFjay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TEVsZW1lbnRTdGFjay5jcHAKQEAgLTIxOSwxNSArMjE5LDcgQEAgdm9pZCBIVE1MRWxlbWVudFN0
YWNrOjpwb3AoKQogCiB2b2lkIEhUTUxFbGVtZW50U3RhY2s6OnBvcFVudGlsKGNvbnN0IEF0b21p
Y1N0cmluZyYgdGFnTmFtZSkKIHsKLSAgICB3aGlsZSAoIXRvcFN0YWNrSXRlbSgpLT5oYXNMb2Nh
bE5hbWUodGFnTmFtZSkpIHsKLSAgICAgICAgLy8gcG9wKCkgd2lsbCBBU1NFUlQgaWYgYSA8Ym9k
eT4sIDxoZWFkPiBvciA8aHRtbD4gd2lsbCBiZSBwb3BwZWQuCi0gICAgICAgIHBvcCgpOwotICAg
IH0KLX0KLQotdm9pZCBIVE1MRWxlbWVudFN0YWNrOjpwb3BVbnRpbChjb25zdCBRdWFsaWZpZWRO
YW1lJiB0YWdOYW1lKQotewotICAgIHdoaWxlICghdG9wU3RhY2tJdGVtKCktPmhhc1RhZ05hbWUo
dGFnTmFtZSkpIHsKKyAgICB3aGlsZSAoIXRvcFN0YWNrSXRlbSgpLT5tYXRjaGVzSFRNTFRhZyh0
YWdOYW1lKSkgewogICAgICAgICAvLyBwb3AoKSB3aWxsIEFTU0VSVCBpZiBhIDxib2R5PiwgPGhl
YWQ+IG9yIDxodG1sPiB3aWxsIGJlIHBvcHBlZC4KICAgICAgICAgcG9wKCk7CiAgICAgfQpAQCAt
MjM5LDEyICsyMzEsNiBAQCB2b2lkIEhUTUxFbGVtZW50U3RhY2s6OnBvcFVudGlsUG9wcGVkKGNv
bnN0IEF0b21pY1N0cmluZyYgdGFnTmFtZSkKICAgICBwb3AoKTsKIH0KIAotdm9pZCBIVE1MRWxl
bWVudFN0YWNrOjpwb3BVbnRpbFBvcHBlZChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lKQot
ewotICAgIHBvcFVudGlsKHRhZ05hbWUpOwotICAgIHBvcCgpOwotfQotCiB2b2lkIEhUTUxFbGVt
ZW50U3RhY2s6OnBvcFVudGlsTnVtYmVyZWRIZWFkZXJFbGVtZW50UG9wcGVkKCkKIHsKICAgICB3
aGlsZSAoIXRvcFN0YWNrSXRlbSgpLT5pc051bWJlcmVkSGVhZGVyRWxlbWVudCgpKQpAQCAtNDQy
LDcgKzQyOCw3IEBAIEhUTUxFbGVtZW50U3RhY2s6OkVsZW1lbnRSZWNvcmQqIEhUTUxFbGVtZW50
U3RhY2s6OmZpbmQoRWxlbWVudCogZWxlbWVudCkgY29uc3QKIEhUTUxFbGVtZW50U3RhY2s6OkVs
ZW1lbnRSZWNvcmQqIEhUTUxFbGVtZW50U3RhY2s6OnRvcG1vc3QoY29uc3QgQXRvbWljU3RyaW5n
JiB0YWdOYW1lKSBjb25zdAogewogICAgIGZvciAoRWxlbWVudFJlY29yZCogcG9zID0gbV90b3Au
Z2V0KCk7IHBvczsgcG9zID0gcG9zLT5uZXh0KCkpIHsKLSAgICAgICAgaWYgKHBvcy0+c3RhY2tJ
dGVtKCktPmhhc0xvY2FsTmFtZSh0YWdOYW1lKSkKKyAgICAgICAgaWYgKHBvcy0+c3RhY2tJdGVt
KCktPm1hdGNoZXNIVE1MVGFnKHRhZ05hbWUpKQogICAgICAgICAgICAgcmV0dXJuIHBvczsKICAg
ICB9CiAgICAgcmV0dXJuIDA7CkBAIC00NjMsMjEgKzQ0OSw3IEBAIGJvb2wgaW5TY29wZUNvbW1v
bihIVE1MRWxlbWVudFN0YWNrOjpFbGVtZW50UmVjb3JkKiB0b3AsIGNvbnN0IEF0b21pY1N0cmlu
ZyYgdGFyCiB7CiAgICAgZm9yIChIVE1MRWxlbWVudFN0YWNrOjpFbGVtZW50UmVjb3JkKiBwb3Mg
PSB0b3A7IHBvczsgcG9zID0gcG9zLT5uZXh0KCkpIHsKICAgICAgICAgSFRNTFN0YWNrSXRlbSog
aXRlbSA9IHBvcy0+c3RhY2tJdGVtKCkuZ2V0KCk7Ci0gICAgICAgIGlmIChpdGVtLT5oYXNMb2Nh
bE5hbWUodGFyZ2V0VGFnKSkKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBpZiAo
aXNNYXJrZXIoaXRlbSkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOyAvLyA8aHRtbD4gaXMgYWx3YXlzIG9uIHRoZSBzdGFjayBhbmQg
aXMgYSBzY29wZSBtYXJrZXIuCi0gICAgcmV0dXJuIGZhbHNlOwotfQotCi10ZW1wbGF0ZSA8Ym9v
bCBpc01hcmtlcihIVE1MU3RhY2tJdGVtKik+Ci1ib29sIGluU2NvcGVDb21tb24oSFRNTEVsZW1l
bnRTdGFjazo6RWxlbWVudFJlY29yZCogdG9wLCBjb25zdCBRdWFsaWZpZWROYW1lJiB0YXJnZXRU
YWcpCi17Ci0gICAgZm9yIChIVE1MRWxlbWVudFN0YWNrOjpFbGVtZW50UmVjb3JkKiBwb3MgPSB0
b3A7IHBvczsgcG9zID0gcG9zLT5uZXh0KCkpIHsKLSAgICAgICAgSFRNTFN0YWNrSXRlbSogaXRl
bSA9IHBvcy0+c3RhY2tJdGVtKCkuZ2V0KCk7Ci0gICAgICAgIGlmIChpdGVtLT5oYXNUYWdOYW1l
KHRhcmdldFRhZykpCisgICAgICAgIGlmIChpdGVtLT5tYXRjaGVzSFRNTFRhZyh0YXJnZXRUYWcp
KQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGlmIChpc01hcmtlcihpdGVtKSkK
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTUxOSw3ICs0OTEsNiBAQCBib29sIEhUTUxF
bGVtZW50U3RhY2s6OmluU2NvcGUoY29uc3QgQXRvbWljU3RyaW5nJiB0YXJnZXRUYWcpIGNvbnN0
CiAKIGJvb2wgSFRNTEVsZW1lbnRTdGFjazo6aW5TY29wZShjb25zdCBRdWFsaWZpZWROYW1lJiB0
YWdOYW1lKSBjb25zdAogewotICAgIC8vIEZJWE1FOiBJcyBsb2NhbE5hbWUoKSByaWdodCBmb3Ig
bm9uLWh0bWwgZWxlbWVudHM/CiAgICAgcmV0dXJuIGluU2NvcGUodGFnTmFtZS5sb2NhbE5hbWUo
KSk7CiB9CiAKQEAgLTUzMCw3ICs1MDEsNiBAQCBib29sIEhUTUxFbGVtZW50U3RhY2s6OmluTGlz
dEl0ZW1TY29wZShjb25zdCBBdG9taWNTdHJpbmcmIHRhcmdldFRhZykgY29uc3QKIAogYm9vbCBI
VE1MRWxlbWVudFN0YWNrOjppbkxpc3RJdGVtU2NvcGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFn
TmFtZSkgY29uc3QKIHsKLSAgICAvLyBGSVhNRTogSXMgbG9jYWxOYW1lKCkgcmlnaHQgZm9yIG5v
bi1odG1sIGVsZW1lbnRzPwogICAgIHJldHVybiBpbkxpc3RJdGVtU2NvcGUodGFnTmFtZS5sb2Nh
bE5hbWUoKSk7CiB9CiAKQEAgLTU0MSw3ICs1MTEsNyBAQCBib29sIEhUTUxFbGVtZW50U3RhY2s6
OmluVGFibGVTY29wZShjb25zdCBBdG9taWNTdHJpbmcmIHRhcmdldFRhZykgY29uc3QKIAogYm9v
bCBIVE1MRWxlbWVudFN0YWNrOjppblRhYmxlU2NvcGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFn
TmFtZSkgY29uc3QKIHsKLSAgICByZXR1cm4gaW5TY29wZUNvbW1vbjxpc1RhYmxlU2NvcGVNYXJr
ZXI+KG1fdG9wLmdldCgpLCB0YWdOYW1lKTsKKyAgICByZXR1cm4gaW5UYWJsZVNjb3BlKHRhZ05h
bWUubG9jYWxOYW1lKCkpOwogfQogCiBib29sIEhUTUxFbGVtZW50U3RhY2s6OmluQnV0dG9uU2Nv
cGUoY29uc3QgQXRvbWljU3RyaW5nJiB0YXJnZXRUYWcpIGNvbnN0CkBAIC01NTEsNyArNTIxLDYg
QEAgYm9vbCBIVE1MRWxlbWVudFN0YWNrOjppbkJ1dHRvblNjb3BlKGNvbnN0IEF0b21pY1N0cmlu
ZyYgdGFyZ2V0VGFnKSBjb25zdAogCiBib29sIEhUTUxFbGVtZW50U3RhY2s6OmluQnV0dG9uU2Nv
cGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSkgY29uc3QKIHsKLSAgICAvLyBGSVhNRTog
SXMgbG9jYWxOYW1lKCkgcmlnaHQgZm9yIG5vbi1odG1sIGVsZW1lbnRzPwogICAgIHJldHVybiBp
bkJ1dHRvblNjb3BlKHRhZ05hbWUubG9jYWxOYW1lKCkpOwogfQogCkBAIC01NjIsNyArNTMxLDYg
QEAgYm9vbCBIVE1MRWxlbWVudFN0YWNrOjppblNlbGVjdFNjb3BlKGNvbnN0IEF0b21pY1N0cmlu
ZyYgdGFyZ2V0VGFnKSBjb25zdAogCiBib29sIEhUTUxFbGVtZW50U3RhY2s6OmluU2VsZWN0U2Nv
cGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSkgY29uc3QKIHsKLSAgICAvLyBGSVhNRTog
SXMgbG9jYWxOYW1lKCkgcmlnaHQgZm9yIG5vbi1odG1sIGVsZW1lbnRzPwogICAgIHJldHVybiBp
blNlbGVjdFNjb3BlKHRhZ05hbWUubG9jYWxOYW1lKCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmgKaW5kZXggNWJlMjExYTM2NDQ3Zjg1MDhj
OTI2OThmNDVjZDRjYTAyMTUyZTBkNC4uZTZhYTZiNzlkMThjNDRiNDQ1ZGYxMWUzODg1ZWZlNTlm
YTM5ODg4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVsZW1l
bnRTdGFjay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3Rh
Y2suaApAQCAtMTE2LDEwICsxMTYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBwb3BVbnRpbChjb25z
dCBBdG9taWNTdHJpbmcmIHRhZ05hbWUpOwogICAgIHZvaWQgcG9wVW50aWwoRWxlbWVudCopOwog
ICAgIHZvaWQgcG9wVW50aWxQb3BwZWQoY29uc3QgQXRvbWljU3RyaW5nJiB0YWdOYW1lKTsKLQot
ICAgIC8vIEZJWE1FOiBUaGVzZSBhcmUgZml4ZXMgZm9yIGh0dHBzOi8vd3d3LnczLm9yZy9CdWdz
L1B1YmxpYy9zaG93X2J1Zy5jZ2k/aWQ9MjEyOTIKLSAgICB2b2lkIHBvcFVudGlsKGNvbnN0IFF1
YWxpZmllZE5hbWUmKTsKLSAgICB2b2lkIHBvcFVudGlsUG9wcGVkKGNvbnN0IFF1YWxpZmllZE5h
bWUmKTsKKyAgICB2b2lkIHBvcFVudGlsUG9wcGVkKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05h
bWUpIHsgcG9wVW50aWxQb3BwZWQodGFnTmFtZS5sb2NhbE5hbWUoKSk7IH0KIAogICAgIHZvaWQg
cG9wVW50aWxQb3BwZWQoRWxlbWVudCopOwogICAgIHZvaWQgcG9wVW50aWxOdW1iZXJlZEhlYWRl
ckVsZW1lbnRQb3BwZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5jcHAKaW5kZXggNDI4M2Y2ZWI1NDdlZDY2N2Qy
YTFlNzNkNDFkYzcyY2YwMGFmN2Y3OS4uZjZmOWEyOGIxNGFhNzE3NDIyYmVkMTM4ODMyMjllMWEy
NjBlMzAwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1h
dHRpbmdFbGVtZW50TGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TEZvcm1hdHRpbmdFbGVtZW50TGlzdC5jcHAKQEAgLTU0LDcgKzU0LDcgQEAgRWxlbWVudCogSFRN
TEZvcm1hdHRpbmdFbGVtZW50TGlzdDo6Y2xvc2VzdEVsZW1lbnRJblNjb3BlV2l0aE5hbWUoY29u
c3QgQXRvbWljU3QKICAgICAgICAgY29uc3QgRW50cnkmIGVudHJ5ID0gbV9lbnRyaWVzW21fZW50
cmllcy5zaXplKCkgLSBpXTsKICAgICAgICAgaWYgKGVudHJ5LmlzTWFya2VyKCkpCiAgICAgICAg
ICAgICByZXR1cm4gMDsKLSAgICAgICAgaWYgKGVudHJ5LnN0YWNrSXRlbSgpLT5oYXNMb2NhbE5h
bWUodGFyZ2V0TmFtZSkpCisgICAgICAgIGlmIChlbnRyeS5zdGFja0l0ZW0oKS0+bWF0Y2hlc0hU
TUxUYWcodGFyZ2V0TmFtZSkpCiAgICAgICAgICAgICByZXR1cm4gZW50cnkuZWxlbWVudCgpOwog
ICAgIH0KICAgICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxTdGFja0l0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxTdGFj
a0l0ZW0uaAppbmRleCBkOTM1NGJiZWI0ZmNlNmE4M2NiYjFiNjBkZDllZTBlMjEzOWUzNDQ5Li45
NTNhNjc5NjA5ZTNjMzc1YTdjZWI5OGRjY2RiMzNkMzZmZDdjY2I5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MU3RhY2tJdGVtLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFN0YWNrSXRlbS5oCkBAIC03OCw2ICs3OCw5IEBAIHB1YmxpYzoK
ICAgICBib29sIGhhc0xvY2FsTmFtZShjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUpIGNvbnN0IHsg
cmV0dXJuIG1fdG9rZW5Mb2NhbE5hbWUgPT0gbmFtZTsgfQogICAgIGJvb2wgaGFzVGFnTmFtZShj
b25zdCBRdWFsaWZpZWROYW1lJiBuYW1lKSBjb25zdCB7IHJldHVybiBtX3Rva2VuTG9jYWxOYW1l
ID09IG5hbWUubG9jYWxOYW1lKCkgJiYgbV9uYW1lc3BhY2VVUkkgPT0gbmFtZS5uYW1lc3BhY2VV
UkkoKTsgfQogCisgICAgYm9vbCBtYXRjaGVzSFRNTFRhZyhjb25zdCBBdG9taWNTdHJpbmcmIG5h
bWUpIGNvbnN0IHsgcmV0dXJuIG1fdG9rZW5Mb2NhbE5hbWUgPT0gbmFtZSAmJiBtX25hbWVzcGFj
ZVVSSSA9PSBIVE1MTmFtZXM6OnhodG1sTmFtZXNwYWNlVVJJOyB9CisgICAgYm9vbCBtYXRjaGVz
SFRNTFRhZyhjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lKSBjb25zdCB7IHJldHVybiBtX3Rva2Vu
TG9jYWxOYW1lID09IG5hbWUgJiYgbV9uYW1lc3BhY2VVUkkgPT0gSFRNTE5hbWVzOjp4aHRtbE5h
bWVzcGFjZVVSSTsgfQorCiAgICAgYm9vbCBjYXVzZXNGb3N0ZXJQYXJlbnRpbmcoKQogICAgIHsK
ICAgICAgICAgcmV0dXJuIGhhc1RhZ05hbWUoSFRNTE5hbWVzOjp0YWJsZVRhZykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCmluZGV4IDEwZjAwNzE2
MWM0NmUzNmZhMWU5YWVjZWI0NzhmMWQwOTMzOTIwM2QuLjZhMjQ1YjNlYTQ1YjhhNDdkNmRmYjAx
ODVkZjFkZjEyOWY0ZmY3YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxUcmVlQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TFRyZWVCdWlsZGVyLmNwcApAQCAtMzA1LDcgKzMwNSw3IEBAIEhUTUxUcmVlQnVpbGRlcjo6SFRN
TFRyZWVCdWlsZGVyKEhUTUxEb2N1bWVudFBhcnNlciogcGFyc2VyLCBEb2N1bWVudEZyYWdtZW50
KiBmCiAgICAgICAgIG1fdHJlZS5vcGVuRWxlbWVudHMoKS0+cHVzaFJvb3ROb2RlKEhUTUxTdGFj
a0l0ZW06OmNyZWF0ZShmcmFnbWVudCwgSFRNTFN0YWNrSXRlbTo6SXRlbUZvckRvY3VtZW50RnJh
Z21lbnROb2RlKSk7CiAKICNpZiBFTkFCTEUoVEVNUExBVEVfRUxFTUVOVCkKLSAgICAgICAgaWYg
KGNvbnRleHRFbGVtZW50LT5oYXNMb2NhbE5hbWUodGVtcGxhdGVUYWcpKQorICAgICAgICBpZiAo
Y29udGV4dEVsZW1lbnQtPmhhc1RhZ05hbWUodGVtcGxhdGVUYWcpKQogICAgICAgICAgICAgbV90
ZW1wbGF0ZUluc2VydGlvbk1vZGVzLmFwcGVuZChUZW1wbGF0ZUNvbnRlbnRzTW9kZSk7CiAjZW5k
aWYKIApAQCAtMTUwNCw5ICsxNTA0LDkgQEAgdm9pZCBIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NB
bnlPdGhlckVuZFRhZ0ZvckluQm9keShBdG9taWNIVE1MVG9rZW4qIHRva2VuKQogICAgIEhUTUxF
bGVtZW50U3RhY2s6OkVsZW1lbnRSZWNvcmQqIHJlY29yZCA9IG1fdHJlZS5vcGVuRWxlbWVudHMo
KS0+dG9wUmVjb3JkKCk7CiAgICAgd2hpbGUgKDEpIHsKICAgICAgICAgUmVmUHRyPEhUTUxTdGFj
a0l0ZW0+IGl0ZW0gPSByZWNvcmQtPnN0YWNrSXRlbSgpOwotICAgICAgICBpZiAoaXRlbS0+aGFz
TG9jYWxOYW1lKHRva2VuLT5uYW1lKCkpKSB7CisgICAgICAgIGlmIChpdGVtLT5tYXRjaGVzSFRN
TFRhZyh0b2tlbi0+bmFtZSgpKSkgewogICAgICAgICAgICAgbV90cmVlLmdlbmVyYXRlSW1wbGll
ZEVuZFRhZ3NXaXRoRXhjbHVzaW9uKHRva2VuLT5uYW1lKCkpOwotICAgICAgICAgICAgaWYgKCFt
X3RyZWUuY3VycmVudFN0YWNrSXRlbSgpLT5oYXNMb2NhbE5hbWUodG9rZW4tPm5hbWUoKSkpCisg
ICAgICAgICAgICBpZiAoIW1fdHJlZS5jdXJyZW50U3RhY2tJdGVtKCktPm1hdGNoZXNIVE1MVGFn
KHRva2VuLT5uYW1lKCkpKQogICAgICAgICAgICAgICAgIHBhcnNlRXJyb3IodG9rZW4pOwogICAg
ICAgICAgICAgbV90cmVlLm9wZW5FbGVtZW50cygpLT5wb3BVbnRpbFBvcHBlZChpdGVtLT5lbGVt
ZW50KCkpOwogICAgICAgICAgICAgcmV0dXJuOwpAQCAtMTc4NCw3ICsxNzg0LDcgQEAgdm9pZCBI
VE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NFbmRUYWdGb3JJbkNlbGwoQXRvbWljSFRNTFRva2VuKiB0
b2tlbikKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICBtX3RyZWUuZ2Vu
ZXJhdGVJbXBsaWVkRW5kVGFncygpOwotICAgICAgICBpZiAoIW1fdHJlZS5jdXJyZW50U3RhY2tJ
dGVtKCktPmhhc0xvY2FsTmFtZSh0b2tlbi0+bmFtZSgpKSkKKyAgICAgICAgaWYgKCFtX3RyZWUu
Y3VycmVudFN0YWNrSXRlbSgpLT5tYXRjaGVzSFRNTFRhZyh0b2tlbi0+bmFtZSgpKSkKICAgICAg
ICAgICAgIHBhcnNlRXJyb3IodG9rZW4pOwogICAgICAgICBtX3RyZWUub3BlbkVsZW1lbnRzKCkt
PnBvcFVudGlsUG9wcGVkKHRva2VuLT5uYW1lKCkpOwogICAgICAgICBtX3RyZWUuYWN0aXZlRm9y
bWF0dGluZ0VsZW1lbnRzKCktPmNsZWFyVG9MYXN0TWFya2VyKCk7CkBAIC0xODU5LDcgKzE4NTks
NyBAQCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc0VuZFRhZ0ZvckluQm9keShBdG9taWNI
VE1MVG9rZW4qIHRva2VuKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAg
IG1fdHJlZS5nZW5lcmF0ZUltcGxpZWRFbmRUYWdzKCk7Ci0gICAgICAgIGlmICghbV90cmVlLmN1
cnJlbnRTdGFja0l0ZW0oKS0+aGFzTG9jYWxOYW1lKHRva2VuLT5uYW1lKCkpKQorICAgICAgICBp
ZiAoIW1fdHJlZS5jdXJyZW50U3RhY2tJdGVtKCktPm1hdGNoZXNIVE1MVGFnKHRva2VuLT5uYW1l
KCkpKQogICAgICAgICAgICAgcGFyc2VFcnJvcih0b2tlbik7CiAgICAgICAgIG1fdHJlZS5vcGVu
RWxlbWVudHMoKS0+cG9wVW50aWxQb3BwZWQodG9rZW4tPm5hbWUoKSk7CiAgICAgICAgIHJldHVy
bjsKQEAgLTE4ODQsNyArMTg4NCw3IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzRW5k
VGFnRm9ySW5Cb2R5KEF0b21pY0hUTUxUb2tlbiogdG9rZW4pCiAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgIH0KICAgICAgICAgbV90cmVlLmdlbmVyYXRlSW1wbGllZEVuZFRhZ3NXaXRoRXhj
bHVzaW9uKHRva2VuLT5uYW1lKCkpOwotICAgICAgICBpZiAoIW1fdHJlZS5jdXJyZW50U3RhY2tJ
dGVtKCktPmhhc0xvY2FsTmFtZSh0b2tlbi0+bmFtZSgpKSkKKyAgICAgICAgaWYgKCFtX3RyZWUu
Y3VycmVudFN0YWNrSXRlbSgpLT5tYXRjaGVzSFRNTFRhZyh0b2tlbi0+bmFtZSgpKSkKICAgICAg
ICAgICAgIHBhcnNlRXJyb3IodG9rZW4pOwogICAgICAgICBtX3RyZWUub3BlbkVsZW1lbnRzKCkt
PnBvcFVudGlsUG9wcGVkKHRva2VuLT5uYW1lKCkpOwogICAgICAgICByZXR1cm47CkBAIC0xODk1
LDcgKzE4OTUsNyBAQCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc0VuZFRhZ0ZvckluQm9k
eShBdG9taWNIVE1MVG9rZW4qIHRva2VuKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9
CiAgICAgICAgIG1fdHJlZS5nZW5lcmF0ZUltcGxpZWRFbmRUYWdzV2l0aEV4Y2x1c2lvbih0b2tl
bi0+bmFtZSgpKTsKLSAgICAgICAgaWYgKCFtX3RyZWUuY3VycmVudFN0YWNrSXRlbSgpLT5oYXNM
b2NhbE5hbWUodG9rZW4tPm5hbWUoKSkpCisgICAgICAgIGlmICghbV90cmVlLmN1cnJlbnRTdGFj
a0l0ZW0oKS0+bWF0Y2hlc0hUTUxUYWcodG9rZW4tPm5hbWUoKSkpCiAgICAgICAgICAgICBwYXJz
ZUVycm9yKHRva2VuKTsKICAgICAgICAgbV90cmVlLm9wZW5FbGVtZW50cygpLT5wb3BVbnRpbFBv
cHBlZCh0b2tlbi0+bmFtZSgpKTsKICAgICAgICAgcmV0dXJuOwpAQCAtMTkwNyw3ICsxOTA3LDcg
QEAgdm9pZCBIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NFbmRUYWdGb3JJbkJvZHkoQXRvbWljSFRN
TFRva2VuKiB0b2tlbikKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICBt
X3RyZWUuZ2VuZXJhdGVJbXBsaWVkRW5kVGFnc1dpdGhFeGNsdXNpb24odG9rZW4tPm5hbWUoKSk7
Ci0gICAgICAgIGlmICghbV90cmVlLmN1cnJlbnRTdGFja0l0ZW0oKS0+aGFzTG9jYWxOYW1lKHRv
a2VuLT5uYW1lKCkpKQorICAgICAgICBpZiAoIW1fdHJlZS5jdXJyZW50U3RhY2tJdGVtKCktPm1h
dGNoZXNIVE1MVGFnKHRva2VuLT5uYW1lKCkpKQogICAgICAgICAgICAgcGFyc2VFcnJvcih0b2tl
bik7CiAgICAgICAgIG1fdHJlZS5vcGVuRWxlbWVudHMoKS0+cG9wVW50aWxQb3BwZWQodG9rZW4t
Pm5hbWUoKSk7CiAgICAgICAgIHJldHVybjsKQEAgLTE5MTgsNyArMTkxOCw3IEBAIHZvaWQgSFRN
TFRyZWVCdWlsZGVyOjpwcm9jZXNzRW5kVGFnRm9ySW5Cb2R5KEF0b21pY0hUTUxUb2tlbiogdG9r
ZW4pCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgbV90cmVlLmdlbmVy
YXRlSW1wbGllZEVuZFRhZ3MoKTsKLSAgICAgICAgaWYgKCFtX3RyZWUuY3VycmVudFN0YWNrSXRl
bSgpLT5oYXNMb2NhbE5hbWUodG9rZW4tPm5hbWUoKSkpCisgICAgICAgIGlmICghbV90cmVlLmN1
cnJlbnRTdGFja0l0ZW0oKS0+bWF0Y2hlc0hUTUxUYWcodG9rZW4tPm5hbWUoKSkpCiAgICAgICAg
ICAgICBwYXJzZUVycm9yKHRva2VuKTsKICAgICAgICAgbV90cmVlLm9wZW5FbGVtZW50cygpLT5w
b3BVbnRpbE51bWJlcmVkSGVhZGVyRWxlbWVudFBvcHBlZCgpOwogICAgICAgICByZXR1cm47CkBA
IC0xOTM1LDcgKzE5MzUsNyBAQCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc0VuZFRhZ0Zv
ckluQm9keShBdG9taWNIVE1MVG9rZW4qIHRva2VuKQogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICB9CiAgICAgICAgIG1fdHJlZS5nZW5lcmF0ZUltcGxpZWRFbmRUYWdzKCk7Ci0gICAgICAg
IGlmICghbV90cmVlLmN1cnJlbnRTdGFja0l0ZW0oKS0+aGFzTG9jYWxOYW1lKHRva2VuLT5uYW1l
KCkpKQorICAgICAgICBpZiAoIW1fdHJlZS5jdXJyZW50U3RhY2tJdGVtKCktPm1hdGNoZXNIVE1M
VGFnKHRva2VuLT5uYW1lKCkpKQogICAgICAgICAgICAgcGFyc2VFcnJvcih0b2tlbik7CiAgICAg
ICAgIG1fdHJlZS5vcGVuRWxlbWVudHMoKS0+cG9wVW50aWxQb3BwZWQodG9rZW4tPm5hbWUoKSk7
CiAgICAgICAgIG1fdHJlZS5hY3RpdmVGb3JtYXR0aW5nRWxlbWVudHMoKS0+Y2xlYXJUb0xhc3RN
YXJrZXIoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196034</attachid>
            <date>2013-04-01 16:14:51 -0700</date>
            <delta_ts>2013-04-02 09:13:04 -0700</delta_ts>
            <desc>WIP with a test</desc>
            <filename>bug-113723-20130401161443.patch</filename>
            <type>text/plain</type>
            <size>17874</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3MzY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDI3MzZiYjk3YmZlNjQx
NGQ3OTA0ODRiNTQzNjBlNGNmYjhjN2U3NS4uZDVhNzQxNTdkODY5MWY1Y2Q5YmFiNWNiMTQyOWNh
NGIzOWJiM2RkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEzLTA0LTAxICBBZGFt
IEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEhUTUwgcGFyc2VyIHNob3Vs
ZCBjb25zaXN0ZW50bHkgaW5zcGVjdCB0aGUgbmFtZXNwYWNlIG9mIGVsZW1lbnRzIG9uIHRoZSBz
dGFjayBvZiBvcGVuIGVsZW1lbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMTM3MjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGRlZCBIVE1MU3RhY2tJdGVtOjptYXRjaGVzSFRNTFRhZyBtZXRob2Qg
YW5kIHVzZSB0aGF0IG5lYXJseQorICAgICAgICBldmVyeXdoZXJlIGluc3RlYWQgb2YgSFRNTFN0
YWNrSXRlbTo6aGFzTG9jYWxOYW1lLiBUaGUgbW9zdCBpbXBvcnRhbnQKKyAgICAgICAgb2YgdGhl
c2UgY2hhbmdlcyBpcyBpbiBIVE1MRWxlbWVudFN0YWNrJ3MgaW5TY29wZUNvbW1vbigpIGZ1bmN0
aW9uLAorICAgICAgICB3aGVyZSB0aGUgdXNlIG9mIG1hdGNoZXNIVE1MVGFnIG1lYW5zIHRoYXQg
YW55IG9mIHRoZSBpblhYWFNjb3BlKCkKKyAgICAgICAgY2FsbHMgbm93IG9ubHkgbWF0Y2ggSFRN
TCB0YWdzLgorCisgICAgICAgIFRlc3RzOiBodG1sNWxpYi9nZW5lcmF0ZWQvcnVuLW5hbWVzcGFj
ZS1zZW5zaXRpdml0eS1kYXRhLmh0bWwKKyAgICAgICAgICAgICAgIGh0bWw1bGliL2dlbmVyYXRl
ZC9ydW4tbmFtZXNwYWNlLXNlbnNpdGl2aXR5LXdyaXRlLmh0bWwKKworICAgICAgICAqIGh0bWwv
cGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxD
b25zdHJ1Y3Rpb25TaXRlOjpnZW5lcmF0ZUltcGxpZWRFbmRUYWdzV2l0aEV4Y2x1c2lvbik6Cisg
ICAgICAgICogaHRtbC9wYXJzZXIvSFRNTEVsZW1lbnRTdGFjay5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MRWxlbWVudFN0YWNrOjpwb3BVbnRpbCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
RWxlbWVudFN0YWNrOjp0b3Btb3N0KToKKyAgICAgICAgKFdlYkNvcmU6OmluU2NvcGVDb21tb24p
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTEVsZW1lbnRTdGFjazo6aW5TY29wZSk6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MRWxlbWVudFN0YWNrOjppbkxpc3RJdGVtU2NvcGUpOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTEVsZW1lbnRTdGFjazo6aW5UYWJsZVNjb3BlKToKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxFbGVtZW50U3RhY2s6OmluQnV0dG9uU2NvcGUpOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTEVsZW1lbnRTdGFjazo6aW5TZWxlY3RTY29wZSk6CisgICAgICAgICogaHRtbC9wYXJzZXIv
SFRNTEVsZW1lbnRTdGFjay5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEVsZW1lbnRTdGFjazo6
cG9wVW50aWxQb3BwZWQpOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxl
bWVudExpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZvcm1hdHRpbmdFbGVtZW50TGlz
dDo6Y2xvc2VzdEVsZW1lbnRJblNjb3BlV2l0aE5hbWUpOgorICAgICAgICAqIGh0bWwvcGFyc2Vy
L0hUTUxTdGFja0l0ZW0uaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTdGFja0l0ZW06Om1hdGNo
ZXNIVE1MVGFnKToKKyAgICAgICAgKEhUTUxTdGFja0l0ZW0pOgorICAgICAgICAqIGh0bWwvcGFy
c2VyL0hUTUxUcmVlQnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJlZUJ1aWxk
ZXI6OkhUTUxUcmVlQnVpbGRlcik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJlZUJ1aWxkZXI6
OnByb2Nlc3NBbnlPdGhlckVuZFRhZ0ZvckluQm9keSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
VHJlZUJ1aWxkZXI6OnByb2Nlc3NFbmRUYWdGb3JJbkNlbGwpOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzRW5kVGFnRm9ySW5Cb2R5KToKKwogMjAxMy0wNC0wMSAg
VGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5jb20+CiAKICAgICAgICAgQWxsb3cgY2hh
bmdpbmcgV2ViIEluc3BlY3RvciBkb2NrIHNpZGVzIHdpdGhvdXQgdW5kb2NraW5nIGZpcnN0Lgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNp
dGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUu
Y3BwCmluZGV4IDA2ODRkMDFlOTU3YmMxOTI4Yjg5NjY3Mzk2NzU2MGRkMmMyMzNmYjYuLmQxNWI0
MDU0NDBmMzUyYmU5OWM4M2MyMTlkNDdmMDBmYzQwYzJjZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5jcHAKQEAgLTU5Niw3ICs1
OTYsNyBAQCB2b2lkIEhUTUxDb25zdHJ1Y3Rpb25TaXRlOjpyZWNvbnN0cnVjdFRoZUFjdGl2ZUZv
cm1hdHRpbmdFbGVtZW50cygpCiAKIHZvaWQgSFRNTENvbnN0cnVjdGlvblNpdGU6OmdlbmVyYXRl
SW1wbGllZEVuZFRhZ3NXaXRoRXhjbHVzaW9uKGNvbnN0IEF0b21pY1N0cmluZyYgdGFnTmFtZSkK
IHsKLSAgICB3aGlsZSAoaGFzSW1wbGllZEVuZFRhZyhjdXJyZW50U3RhY2tJdGVtKCkpICYmICFj
dXJyZW50U3RhY2tJdGVtKCktPmhhc0xvY2FsTmFtZSh0YWdOYW1lKSkKKyAgICB3aGlsZSAoaGFz
SW1wbGllZEVuZFRhZyhjdXJyZW50U3RhY2tJdGVtKCkpICYmICFjdXJyZW50U3RhY2tJdGVtKCkt
Pm1hdGNoZXNIVE1MVGFnKHRhZ05hbWUpKQogICAgICAgICBtX29wZW5FbGVtZW50cy5wb3AoKTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVsZW1lbnRT
dGFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmNw
cAppbmRleCA2YmI1ZmIyZWJiYjRmNjk0YmI2MTFiMDVhNmUyOTc1MWY4OWZmMTU1Li4wNjIzZDU3
MDJiM2YzN2NiMzVhM2NmNTNiYjczYmM2MjMyYTVlMDM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmNwcApAQCAtMjE5LDE1ICsyMTksNyBAQCB2
b2lkIEhUTUxFbGVtZW50U3RhY2s6OnBvcCgpCiAKIHZvaWQgSFRNTEVsZW1lbnRTdGFjazo6cG9w
VW50aWwoY29uc3QgQXRvbWljU3RyaW5nJiB0YWdOYW1lKQogewotICAgIHdoaWxlICghdG9wU3Rh
Y2tJdGVtKCktPmhhc0xvY2FsTmFtZSh0YWdOYW1lKSkgewotICAgICAgICAvLyBwb3AoKSB3aWxs
IEFTU0VSVCBpZiBhIDxib2R5PiwgPGhlYWQ+IG9yIDxodG1sPiB3aWxsIGJlIHBvcHBlZC4KLSAg
ICAgICAgcG9wKCk7Ci0gICAgfQotfQotCi12b2lkIEhUTUxFbGVtZW50U3RhY2s6OnBvcFVudGls
KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUpCi17Ci0gICAgd2hpbGUgKCF0b3BTdGFja0l0
ZW0oKS0+aGFzVGFnTmFtZSh0YWdOYW1lKSkgeworICAgIHdoaWxlICghdG9wU3RhY2tJdGVtKCkt
Pm1hdGNoZXNIVE1MVGFnKHRhZ05hbWUpKSB7CiAgICAgICAgIC8vIHBvcCgpIHdpbGwgQVNTRVJU
IGlmIGEgPGJvZHk+LCA8aGVhZD4gb3IgPGh0bWw+IHdpbGwgYmUgcG9wcGVkLgogICAgICAgICBw
b3AoKTsKICAgICB9CkBAIC0yMzksMTIgKzIzMSw2IEBAIHZvaWQgSFRNTEVsZW1lbnRTdGFjazo6
cG9wVW50aWxQb3BwZWQoY29uc3QgQXRvbWljU3RyaW5nJiB0YWdOYW1lKQogICAgIHBvcCgpOwog
fQogCi12b2lkIEhUTUxFbGVtZW50U3RhY2s6OnBvcFVudGlsUG9wcGVkKGNvbnN0IFF1YWxpZmll
ZE5hbWUmIHRhZ05hbWUpCi17Ci0gICAgcG9wVW50aWwodGFnTmFtZSk7Ci0gICAgcG9wKCk7Ci19
Ci0KIHZvaWQgSFRNTEVsZW1lbnRTdGFjazo6cG9wVW50aWxOdW1iZXJlZEhlYWRlckVsZW1lbnRQ
b3BwZWQoKQogewogICAgIHdoaWxlICghdG9wU3RhY2tJdGVtKCktPmlzTnVtYmVyZWRIZWFkZXJF
bGVtZW50KCkpCkBAIC00NDIsNyArNDI4LDcgQEAgSFRNTEVsZW1lbnRTdGFjazo6RWxlbWVudFJl
Y29yZCogSFRNTEVsZW1lbnRTdGFjazo6ZmluZChFbGVtZW50KiBlbGVtZW50KSBjb25zdAogSFRN
TEVsZW1lbnRTdGFjazo6RWxlbWVudFJlY29yZCogSFRNTEVsZW1lbnRTdGFjazo6dG9wbW9zdChj
b25zdCBBdG9taWNTdHJpbmcmIHRhZ05hbWUpIGNvbnN0CiB7CiAgICAgZm9yIChFbGVtZW50UmVj
b3JkKiBwb3MgPSBtX3RvcC5nZXQoKTsgcG9zOyBwb3MgPSBwb3MtPm5leHQoKSkgewotICAgICAg
ICBpZiAocG9zLT5zdGFja0l0ZW0oKS0+aGFzTG9jYWxOYW1lKHRhZ05hbWUpKQorICAgICAgICBp
ZiAocG9zLT5zdGFja0l0ZW0oKS0+bWF0Y2hlc0hUTUxUYWcodGFnTmFtZSkpCiAgICAgICAgICAg
ICByZXR1cm4gcG9zOwogICAgIH0KICAgICByZXR1cm4gMDsKQEAgLTQ2MywyMSArNDQ5LDcgQEAg
Ym9vbCBpblNjb3BlQ29tbW9uKEhUTUxFbGVtZW50U3RhY2s6OkVsZW1lbnRSZWNvcmQqIHRvcCwg
Y29uc3QgQXRvbWljU3RyaW5nJiB0YXIKIHsKICAgICBmb3IgKEhUTUxFbGVtZW50U3RhY2s6OkVs
ZW1lbnRSZWNvcmQqIHBvcyA9IHRvcDsgcG9zOyBwb3MgPSBwb3MtPm5leHQoKSkgewogICAgICAg
ICBIVE1MU3RhY2tJdGVtKiBpdGVtID0gcG9zLT5zdGFja0l0ZW0oKS5nZXQoKTsKLSAgICAgICAg
aWYgKGl0ZW0tPmhhc0xvY2FsTmFtZSh0YXJnZXRUYWcpKQotICAgICAgICAgICAgcmV0dXJuIHRy
dWU7Ci0gICAgICAgIGlmIChpc01hcmtlcihpdGVtKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICB9Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7IC8vIDxodG1sPiBpcyBhbHdheXMg
b24gdGhlIHN0YWNrIGFuZCBpcyBhIHNjb3BlIG1hcmtlci4KLSAgICByZXR1cm4gZmFsc2U7Ci19
Ci0KLXRlbXBsYXRlIDxib29sIGlzTWFya2VyKEhUTUxTdGFja0l0ZW0qKT4KLWJvb2wgaW5TY29w
ZUNvbW1vbihIVE1MRWxlbWVudFN0YWNrOjpFbGVtZW50UmVjb3JkKiB0b3AsIGNvbnN0IFF1YWxp
ZmllZE5hbWUmIHRhcmdldFRhZykKLXsKLSAgICBmb3IgKEhUTUxFbGVtZW50U3RhY2s6OkVsZW1l
bnRSZWNvcmQqIHBvcyA9IHRvcDsgcG9zOyBwb3MgPSBwb3MtPm5leHQoKSkgewotICAgICAgICBI
VE1MU3RhY2tJdGVtKiBpdGVtID0gcG9zLT5zdGFja0l0ZW0oKS5nZXQoKTsKLSAgICAgICAgaWYg
KGl0ZW0tPmhhc1RhZ05hbWUodGFyZ2V0VGFnKSkKKyAgICAgICAgaWYgKGl0ZW0tPm1hdGNoZXNI
VE1MVGFnKHRhcmdldFRhZykpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgaWYg
KGlzTWFya2VyKGl0ZW0pKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtNTE5LDcgKzQ5
MSw2IEBAIGJvb2wgSFRNTEVsZW1lbnRTdGFjazo6aW5TY29wZShjb25zdCBBdG9taWNTdHJpbmcm
IHRhcmdldFRhZykgY29uc3QKIAogYm9vbCBIVE1MRWxlbWVudFN0YWNrOjppblNjb3BlKGNvbnN0
IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUpIGNvbnN0CiB7Ci0gICAgLy8gRklYTUU6IElzIGxvY2Fs
TmFtZSgpIHJpZ2h0IGZvciBub24taHRtbCBlbGVtZW50cz8KICAgICByZXR1cm4gaW5TY29wZSh0
YWdOYW1lLmxvY2FsTmFtZSgpKTsKIH0KIApAQCAtNTMwLDcgKzUwMSw2IEBAIGJvb2wgSFRNTEVs
ZW1lbnRTdGFjazo6aW5MaXN0SXRlbVNjb3BlKGNvbnN0IEF0b21pY1N0cmluZyYgdGFyZ2V0VGFn
KSBjb25zdAogCiBib29sIEhUTUxFbGVtZW50U3RhY2s6OmluTGlzdEl0ZW1TY29wZShjb25zdCBR
dWFsaWZpZWROYW1lJiB0YWdOYW1lKSBjb25zdAogewotICAgIC8vIEZJWE1FOiBJcyBsb2NhbE5h
bWUoKSByaWdodCBmb3Igbm9uLWh0bWwgZWxlbWVudHM/CiAgICAgcmV0dXJuIGluTGlzdEl0ZW1T
Y29wZSh0YWdOYW1lLmxvY2FsTmFtZSgpKTsKIH0KIApAQCAtNTQxLDcgKzUxMSw3IEBAIGJvb2wg
SFRNTEVsZW1lbnRTdGFjazo6aW5UYWJsZVNjb3BlKGNvbnN0IEF0b21pY1N0cmluZyYgdGFyZ2V0
VGFnKSBjb25zdAogCiBib29sIEhUTUxFbGVtZW50U3RhY2s6OmluVGFibGVTY29wZShjb25zdCBR
dWFsaWZpZWROYW1lJiB0YWdOYW1lKSBjb25zdAogewotICAgIHJldHVybiBpblNjb3BlQ29tbW9u
PGlzVGFibGVTY29wZU1hcmtlcj4obV90b3AuZ2V0KCksIHRhZ05hbWUpOworICAgIHJldHVybiBp
blRhYmxlU2NvcGUodGFnTmFtZS5sb2NhbE5hbWUoKSk7CiB9CiAKIGJvb2wgSFRNTEVsZW1lbnRT
dGFjazo6aW5CdXR0b25TY29wZShjb25zdCBBdG9taWNTdHJpbmcmIHRhcmdldFRhZykgY29uc3QK
QEAgLTU1MSw3ICs1MjEsNiBAQCBib29sIEhUTUxFbGVtZW50U3RhY2s6OmluQnV0dG9uU2NvcGUo
Y29uc3QgQXRvbWljU3RyaW5nJiB0YXJnZXRUYWcpIGNvbnN0CiAKIGJvb2wgSFRNTEVsZW1lbnRT
dGFjazo6aW5CdXR0b25TY29wZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lKSBjb25zdAog
ewotICAgIC8vIEZJWE1FOiBJcyBsb2NhbE5hbWUoKSByaWdodCBmb3Igbm9uLWh0bWwgZWxlbWVu
dHM/CiAgICAgcmV0dXJuIGluQnV0dG9uU2NvcGUodGFnTmFtZS5sb2NhbE5hbWUoKSk7CiB9CiAK
QEAgLTU2Miw3ICs1MzEsNiBAQCBib29sIEhUTUxFbGVtZW50U3RhY2s6OmluU2VsZWN0U2NvcGUo
Y29uc3QgQXRvbWljU3RyaW5nJiB0YXJnZXRUYWcpIGNvbnN0CiAKIGJvb2wgSFRNTEVsZW1lbnRT
dGFjazo6aW5TZWxlY3RTY29wZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lKSBjb25zdAog
ewotICAgIC8vIEZJWE1FOiBJcyBsb2NhbE5hbWUoKSByaWdodCBmb3Igbm9uLWh0bWwgZWxlbWVu
dHM/CiAgICAgcmV0dXJuIGluU2VsZWN0U2NvcGUodGFnTmFtZS5sb2NhbE5hbWUoKSk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2su
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suaAppbmRleCA1
YmUyMTFhMzY0NDdmODUwOGM5MjY5OGY0NWNkNGNhMDIxNTJlMGQ0Li5lNmFhNmI3OWQxOGM0NGI0
NDVkZjExZTM4ODVlZmU1OWZhMzk4ODgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTEVsZW1lbnRTdGFjay5oCkBAIC0xMTYsMTAgKzExNiw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIHBvcFVudGlsKGNvbnN0IEF0b21pY1N0cmluZyYgdGFnTmFtZSk7CiAgICAgdm9pZCBwb3BV
bnRpbChFbGVtZW50Kik7CiAgICAgdm9pZCBwb3BVbnRpbFBvcHBlZChjb25zdCBBdG9taWNTdHJp
bmcmIHRhZ05hbWUpOwotCi0gICAgLy8gRklYTUU6IFRoZXNlIGFyZSBmaXhlcyBmb3IgaHR0cHM6
Ly93d3cudzMub3JnL0J1Z3MvUHVibGljL3Nob3dfYnVnLmNnaT9pZD0yMTI5MgotICAgIHZvaWQg
cG9wVW50aWwoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwotICAgIHZvaWQgcG9wVW50aWxQb3BwZWQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYpOworICAgIHZvaWQgcG9wVW50aWxQb3BwZWQoY29uc3QgUXVh
bGlmaWVkTmFtZSYgdGFnTmFtZSkgeyBwb3BVbnRpbFBvcHBlZCh0YWdOYW1lLmxvY2FsTmFtZSgp
KTsgfQogCiAgICAgdm9pZCBwb3BVbnRpbFBvcHBlZChFbGVtZW50Kik7CiAgICAgdm9pZCBwb3BV
bnRpbE51bWJlcmVkSGVhZGVyRWxlbWVudFBvcHBlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0LmNwcAppbmRleCA0
MjgzZjZlYjU0N2VkNjY3ZDJhMWU3M2Q0MWRjNzJjZjAwYWY3Zjc5Li5mNmY5YTI4YjE0YWE3MTc0
MjJiZWQxMzg4MzIyOWUxYTI2MGUzMDAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0LmNwcApAQCAtNTQsNyArNTQs
NyBAQCBFbGVtZW50KiBIVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0OjpjbG9zZXN0RWxlbWVudElu
U2NvcGVXaXRoTmFtZShjb25zdCBBdG9taWNTdAogICAgICAgICBjb25zdCBFbnRyeSYgZW50cnkg
PSBtX2VudHJpZXNbbV9lbnRyaWVzLnNpemUoKSAtIGldOwogICAgICAgICBpZiAoZW50cnkuaXNN
YXJrZXIoKSkKICAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICBpZiAoZW50cnkuc3RhY2tJ
dGVtKCktPmhhc0xvY2FsTmFtZSh0YXJnZXROYW1lKSkKKyAgICAgICAgaWYgKGVudHJ5LnN0YWNr
SXRlbSgpLT5tYXRjaGVzSFRNTFRhZyh0YXJnZXROYW1lKSkKICAgICAgICAgICAgIHJldHVybiBl
bnRyeS5lbGVtZW50KCk7CiAgICAgfQogICAgIHJldHVybiAwOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFN0YWNrSXRlbS5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTFN0YWNrSXRlbS5oCmluZGV4IGQ5MzU0YmJlYjRmY2U2YTgzY2JiMWI2MGRk
OWVlMGUyMTM5ZTM0NDkuLjk1M2E2Nzk2MDllM2MzNzVhN2NlYjk4ZGNjZGIzM2QzNmZkN2NjYjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxTdGFja0l0ZW0uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MU3RhY2tJdGVtLmgKQEAgLTc4LDYg
Kzc4LDkgQEAgcHVibGljOgogICAgIGJvb2wgaGFzTG9jYWxOYW1lKGNvbnN0IEF0b21pY1N0cmlu
ZyYgbmFtZSkgY29uc3QgeyByZXR1cm4gbV90b2tlbkxvY2FsTmFtZSA9PSBuYW1lOyB9CiAgICAg
Ym9vbCBoYXNUYWdOYW1lKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUpIGNvbnN0IHsgcmV0dXJu
IG1fdG9rZW5Mb2NhbE5hbWUgPT0gbmFtZS5sb2NhbE5hbWUoKSAmJiBtX25hbWVzcGFjZVVSSSA9
PSBuYW1lLm5hbWVzcGFjZVVSSSgpOyB9CiAKKyAgICBib29sIG1hdGNoZXNIVE1MVGFnKGNvbnN0
IEF0b21pY1N0cmluZyYgbmFtZSkgY29uc3QgeyByZXR1cm4gbV90b2tlbkxvY2FsTmFtZSA9PSBu
YW1lICYmIG1fbmFtZXNwYWNlVVJJID09IEhUTUxOYW1lczo6eGh0bWxOYW1lc3BhY2VVUkk7IH0K
KyAgICBib29sIG1hdGNoZXNIVE1MVGFnKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUpIGNvbnN0
IHsgcmV0dXJuIG1fdG9rZW5Mb2NhbE5hbWUgPT0gbmFtZSAmJiBtX25hbWVzcGFjZVVSSSA9PSBI
VE1MTmFtZXM6OnhodG1sTmFtZXNwYWNlVVJJOyB9CisKICAgICBib29sIGNhdXNlc0Zvc3RlclBh
cmVudGluZygpCiAgICAgewogICAgICAgICByZXR1cm4gaGFzVGFnTmFtZShIVE1MTmFtZXM6OnRh
YmxlVGFnKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVC
dWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5j
cHAKaW5kZXggMTBmMDA3MTYxYzQ2ZTM2ZmExZTlhZWNlYjQ3OGYxZDA5MzM5MjAzZC4uNmEyNDVi
M2VhNDViOGE0N2Q2ZGZiMDE4NWRmMWRmMTI5ZjRmZjdiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCkBAIC0zMDUsNyArMzA1LDcgQEAgSFRN
TFRyZWVCdWlsZGVyOjpIVE1MVHJlZUJ1aWxkZXIoSFRNTERvY3VtZW50UGFyc2VyKiBwYXJzZXIs
IERvY3VtZW50RnJhZ21lbnQqIGYKICAgICAgICAgbV90cmVlLm9wZW5FbGVtZW50cygpLT5wdXNo
Um9vdE5vZGUoSFRNTFN0YWNrSXRlbTo6Y3JlYXRlKGZyYWdtZW50LCBIVE1MU3RhY2tJdGVtOjpJ
dGVtRm9yRG9jdW1lbnRGcmFnbWVudE5vZGUpKTsKIAogI2lmIEVOQUJMRShURU1QTEFURV9FTEVN
RU5UKQotICAgICAgICBpZiAoY29udGV4dEVsZW1lbnQtPmhhc0xvY2FsTmFtZSh0ZW1wbGF0ZVRh
ZykpCisgICAgICAgIGlmIChjb250ZXh0RWxlbWVudC0+aGFzVGFnTmFtZSh0ZW1wbGF0ZVRhZykp
CiAgICAgICAgICAgICBtX3RlbXBsYXRlSW5zZXJ0aW9uTW9kZXMuYXBwZW5kKFRlbXBsYXRlQ29u
dGVudHNNb2RlKTsKICNlbmRpZgogCkBAIC0xNTA0LDkgKzE1MDQsOSBAQCB2b2lkIEhUTUxUcmVl
QnVpbGRlcjo6cHJvY2Vzc0FueU90aGVyRW5kVGFnRm9ySW5Cb2R5KEF0b21pY0hUTUxUb2tlbiog
dG9rZW4pCiAgICAgSFRNTEVsZW1lbnRTdGFjazo6RWxlbWVudFJlY29yZCogcmVjb3JkID0gbV90
cmVlLm9wZW5FbGVtZW50cygpLT50b3BSZWNvcmQoKTsKICAgICB3aGlsZSAoMSkgewogICAgICAg
ICBSZWZQdHI8SFRNTFN0YWNrSXRlbT4gaXRlbSA9IHJlY29yZC0+c3RhY2tJdGVtKCk7Ci0gICAg
ICAgIGlmIChpdGVtLT5oYXNMb2NhbE5hbWUodG9rZW4tPm5hbWUoKSkpIHsKKyAgICAgICAgaWYg
KGl0ZW0tPm1hdGNoZXNIVE1MVGFnKHRva2VuLT5uYW1lKCkpKSB7CiAgICAgICAgICAgICBtX3Ry
ZWUuZ2VuZXJhdGVJbXBsaWVkRW5kVGFnc1dpdGhFeGNsdXNpb24odG9rZW4tPm5hbWUoKSk7Ci0g
ICAgICAgICAgICBpZiAoIW1fdHJlZS5jdXJyZW50U3RhY2tJdGVtKCktPmhhc0xvY2FsTmFtZSh0
b2tlbi0+bmFtZSgpKSkKKyAgICAgICAgICAgIGlmICghbV90cmVlLmN1cnJlbnRTdGFja0l0ZW0o
KS0+bWF0Y2hlc0hUTUxUYWcodG9rZW4tPm5hbWUoKSkpCiAgICAgICAgICAgICAgICAgcGFyc2VF
cnJvcih0b2tlbik7CiAgICAgICAgICAgICBtX3RyZWUub3BlbkVsZW1lbnRzKCktPnBvcFVudGls
UG9wcGVkKGl0ZW0tPmVsZW1lbnQoKSk7CiAgICAgICAgICAgICByZXR1cm47CkBAIC0xNzg0LDcg
KzE3ODQsNyBAQCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc0VuZFRhZ0ZvckluQ2VsbChB
dG9taWNIVE1MVG9rZW4qIHRva2VuKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAg
ICAgICAgIG1fdHJlZS5nZW5lcmF0ZUltcGxpZWRFbmRUYWdzKCk7Ci0gICAgICAgIGlmICghbV90
cmVlLmN1cnJlbnRTdGFja0l0ZW0oKS0+aGFzTG9jYWxOYW1lKHRva2VuLT5uYW1lKCkpKQorICAg
ICAgICBpZiAoIW1fdHJlZS5jdXJyZW50U3RhY2tJdGVtKCktPm1hdGNoZXNIVE1MVGFnKHRva2Vu
LT5uYW1lKCkpKQogICAgICAgICAgICAgcGFyc2VFcnJvcih0b2tlbik7CiAgICAgICAgIG1fdHJl
ZS5vcGVuRWxlbWVudHMoKS0+cG9wVW50aWxQb3BwZWQodG9rZW4tPm5hbWUoKSk7CiAgICAgICAg
IG1fdHJlZS5hY3RpdmVGb3JtYXR0aW5nRWxlbWVudHMoKS0+Y2xlYXJUb0xhc3RNYXJrZXIoKTsK
QEAgLTE4NTksNyArMTg1OSw3IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzRW5kVGFn
Rm9ySW5Cb2R5KEF0b21pY0hUTUxUb2tlbiogdG9rZW4pCiAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIH0KICAgICAgICAgbV90cmVlLmdlbmVyYXRlSW1wbGllZEVuZFRhZ3MoKTsKLSAgICAg
ICAgaWYgKCFtX3RyZWUuY3VycmVudFN0YWNrSXRlbSgpLT5oYXNMb2NhbE5hbWUodG9rZW4tPm5h
bWUoKSkpCisgICAgICAgIGlmICghbV90cmVlLmN1cnJlbnRTdGFja0l0ZW0oKS0+bWF0Y2hlc0hU
TUxUYWcodG9rZW4tPm5hbWUoKSkpCiAgICAgICAgICAgICBwYXJzZUVycm9yKHRva2VuKTsKICAg
ICAgICAgbV90cmVlLm9wZW5FbGVtZW50cygpLT5wb3BVbnRpbFBvcHBlZCh0b2tlbi0+bmFtZSgp
KTsKICAgICAgICAgcmV0dXJuOwpAQCAtMTg4NCw3ICsxODg0LDcgQEAgdm9pZCBIVE1MVHJlZUJ1
aWxkZXI6OnByb2Nlc3NFbmRUYWdGb3JJbkJvZHkoQXRvbWljSFRNTFRva2VuKiB0b2tlbikKICAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICBtX3RyZWUuZ2VuZXJhdGVJbXBs
aWVkRW5kVGFnc1dpdGhFeGNsdXNpb24odG9rZW4tPm5hbWUoKSk7Ci0gICAgICAgIGlmICghbV90
cmVlLmN1cnJlbnRTdGFja0l0ZW0oKS0+aGFzTG9jYWxOYW1lKHRva2VuLT5uYW1lKCkpKQorICAg
ICAgICBpZiAoIW1fdHJlZS5jdXJyZW50U3RhY2tJdGVtKCktPm1hdGNoZXNIVE1MVGFnKHRva2Vu
LT5uYW1lKCkpKQogICAgICAgICAgICAgcGFyc2VFcnJvcih0b2tlbik7CiAgICAgICAgIG1fdHJl
ZS5vcGVuRWxlbWVudHMoKS0+cG9wVW50aWxQb3BwZWQodG9rZW4tPm5hbWUoKSk7CiAgICAgICAg
IHJldHVybjsKQEAgLTE4OTUsNyArMTg5NSw3IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpwcm9j
ZXNzRW5kVGFnRm9ySW5Cb2R5KEF0b21pY0hUTUxUb2tlbiogdG9rZW4pCiAgICAgICAgICAgICBy
ZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgbV90cmVlLmdlbmVyYXRlSW1wbGllZEVuZFRhZ3NX
aXRoRXhjbHVzaW9uKHRva2VuLT5uYW1lKCkpOwotICAgICAgICBpZiAoIW1fdHJlZS5jdXJyZW50
U3RhY2tJdGVtKCktPmhhc0xvY2FsTmFtZSh0b2tlbi0+bmFtZSgpKSkKKyAgICAgICAgaWYgKCFt
X3RyZWUuY3VycmVudFN0YWNrSXRlbSgpLT5tYXRjaGVzSFRNTFRhZyh0b2tlbi0+bmFtZSgpKSkK
ICAgICAgICAgICAgIHBhcnNlRXJyb3IodG9rZW4pOwogICAgICAgICBtX3RyZWUub3BlbkVsZW1l
bnRzKCktPnBvcFVudGlsUG9wcGVkKHRva2VuLT5uYW1lKCkpOwogICAgICAgICByZXR1cm47CkBA
IC0xOTA3LDcgKzE5MDcsNyBAQCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc0VuZFRhZ0Zv
ckluQm9keShBdG9taWNIVE1MVG9rZW4qIHRva2VuKQogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICB9CiAgICAgICAgIG1fdHJlZS5nZW5lcmF0ZUltcGxpZWRFbmRUYWdzV2l0aEV4Y2x1c2lv
bih0b2tlbi0+bmFtZSgpKTsKLSAgICAgICAgaWYgKCFtX3RyZWUuY3VycmVudFN0YWNrSXRlbSgp
LT5oYXNMb2NhbE5hbWUodG9rZW4tPm5hbWUoKSkpCisgICAgICAgIGlmICghbV90cmVlLmN1cnJl
bnRTdGFja0l0ZW0oKS0+bWF0Y2hlc0hUTUxUYWcodG9rZW4tPm5hbWUoKSkpCiAgICAgICAgICAg
ICBwYXJzZUVycm9yKHRva2VuKTsKICAgICAgICAgbV90cmVlLm9wZW5FbGVtZW50cygpLT5wb3BV
bnRpbFBvcHBlZCh0b2tlbi0+bmFtZSgpKTsKICAgICAgICAgcmV0dXJuOwpAQCAtMTkxOCw3ICsx
OTE4LDcgQEAgdm9pZCBIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NFbmRUYWdGb3JJbkJvZHkoQXRv
bWljSFRNTFRva2VuKiB0b2tlbikKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAg
ICAgICBtX3RyZWUuZ2VuZXJhdGVJbXBsaWVkRW5kVGFncygpOwotICAgICAgICBpZiAoIW1fdHJl
ZS5jdXJyZW50U3RhY2tJdGVtKCktPmhhc0xvY2FsTmFtZSh0b2tlbi0+bmFtZSgpKSkKKyAgICAg
ICAgaWYgKCFtX3RyZWUuY3VycmVudFN0YWNrSXRlbSgpLT5tYXRjaGVzSFRNTFRhZyh0b2tlbi0+
bmFtZSgpKSkKICAgICAgICAgICAgIHBhcnNlRXJyb3IodG9rZW4pOwogICAgICAgICBtX3RyZWUu
b3BlbkVsZW1lbnRzKCktPnBvcFVudGlsTnVtYmVyZWRIZWFkZXJFbGVtZW50UG9wcGVkKCk7CiAg
ICAgICAgIHJldHVybjsKQEAgLTE5MzUsNyArMTkzNSw3IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVy
Ojpwcm9jZXNzRW5kVGFnRm9ySW5Cb2R5KEF0b21pY0hUTUxUb2tlbiogdG9rZW4pCiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgbV90cmVlLmdlbmVyYXRlSW1wbGllZEVu
ZFRhZ3MoKTsKLSAgICAgICAgaWYgKCFtX3RyZWUuY3VycmVudFN0YWNrSXRlbSgpLT5oYXNMb2Nh
bE5hbWUodG9rZW4tPm5hbWUoKSkpCisgICAgICAgIGlmICghbV90cmVlLmN1cnJlbnRTdGFja0l0
ZW0oKS0+bWF0Y2hlc0hUTUxUYWcodG9rZW4tPm5hbWUoKSkpCiAgICAgICAgICAgICBwYXJzZUVy
cm9yKHRva2VuKTsKICAgICAgICAgbV90cmVlLm9wZW5FbGVtZW50cygpLT5wb3BVbnRpbFBvcHBl
ZCh0b2tlbi0+bmFtZSgpKTsKICAgICAgICAgbV90cmVlLmFjdGl2ZUZvcm1hdHRpbmdFbGVtZW50
cygpLT5jbGVhclRvTGFzdE1hcmtlcigpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGJmMGYzNjgxN2ZkNTNiOWRhZTRhYjEx
YmJhYzE2OWYwYTcyNmM0YzEuLjZkZjE0ZmU2YzRkMDgzOTg2MmU0OTU3MTZmMDhjYjM2ZTdmMTYy
NDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMy0wNC0wMSAgQWRhbSBLbGVpbiAgPGFkYW1r
QGNocm9taXVtLm9yZz4KKworICAgICAgICBIVE1MIHBhcnNlciBzaG91bGQgY29uc2lzdGVudGx5
IGluc3BlY3QgdGhlIG5hbWVzcGFjZSBvZiBlbGVtZW50cyBvbiB0aGUgc3RhY2sgb2Ygb3BlbiBl
bGVtZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTEzNzIzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBodG1sNWxpYi9nZW5lcmF0ZWQvcnVuLW5hbWVzcGFjZS1zZW5zaXRpdml0eS1kYXRhLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHRtbDVsaWIvZ2VuZXJhdGVkL3J1bi1uYW1lc3Bh
Y2Utc2Vuc2l0aXZpdHktZGF0YS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodG1sNWxpYi9nZW5l
cmF0ZWQvcnVuLW5hbWVzcGFjZS1zZW5zaXRpdml0eS13cml0ZS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGh0bWw1bGliL2dlbmVyYXRlZC9ydW4tbmFtZXNwYWNlLXNlbnNpdGl2aXR5
LXdyaXRlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0bWw1bGliL3Jlc291cmNlcy9uYW1lc3Bh
Y2Utc2Vuc2l0aXZpdHkuZGF0OiBBZGRlZC4KKwogMjAxMy0wNC0wMSAgUm9nZXIgRm9uZyAgPHJv
Z2VyX2ZvbmdAYXBwbGUuY29tPgogCiAJCVVucmV2aWV3ZWQuIEFwcGxlV2luIHBvcnQgZ2FyZGVu
aW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHRtbDVsaWIvZ2VuZXJhdGVkL3J1bi1uYW1l
c3BhY2Utc2Vuc2l0aXZpdHktZGF0YS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odG1sNWxp
Yi9nZW5lcmF0ZWQvcnVuLW5hbWVzcGFjZS1zZW5zaXRpdml0eS1kYXRhLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jMmQzODQ1OTgxMGMzOTA4NzFlMDA1N2U3YmE4ZjAyMmRhZWJlYTNiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHRtbDVsaWIvZ2VuZXJhdGVkL3J1bi1uYW1lc3Bh
Y2Utc2Vuc2l0aXZpdHktZGF0YS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBAQAorLi4vcmVzb3Vy
Y2VzL25hbWVzcGFjZS1zZW5zaXRpdml0eS5kYXQ6IFBBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0bWw1bGliL2dlbmVyYXRlZC9ydW4tbmFtZXNwYWNlLXNlbnNpdGl2aXR5LWRhdGEuaHRt
bCBiL0xheW91dFRlc3RzL2h0bWw1bGliL2dlbmVyYXRlZC9ydW4tbmFtZXNwYWNlLXNlbnNpdGl2
aXR5LWRhdGEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZWE1YzVmN2E3MzgwNTc5MGYxZTIxYjRjNmNkYTVh
Yjk3MWNiODYxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHRtbDVsaWIvZ2VuZXJh
dGVkL3J1bi1uYW1lc3BhY2Utc2Vuc2l0aXZpdHktZGF0YS5odG1sCkBAIC0wLDAgKzEsNyBAQAor
PCFET0NUWVBFIGh0bWw+Cis8c2NyaXB0PgordmFyIHRlc3RfZmlsZXMgPSBbICcuLi9yZXNvdXJj
ZXMvbmFtZXNwYWNlLXNlbnNpdGl2aXR5LmRhdCcgXQorPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+d2lu
ZG93LmZvcmNlRGF0YVVSTHMgPSB0cnVlOzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy9ydW5uZXIuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHRtbDVs
aWIvZ2VuZXJhdGVkL3J1bi1uYW1lc3BhY2Utc2Vuc2l0aXZpdHktd3JpdGUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHRtbDVsaWIvZ2VuZXJhdGVkL3J1bi1uYW1lc3BhY2Utc2Vuc2l0aXZp
dHktd3JpdGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMyZDM4NDU5ODEwYzM5MDg3MWUwMDU3
ZTdiYThmMDIyZGFlYmVhM2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odG1sNWxp
Yi9nZW5lcmF0ZWQvcnVuLW5hbWVzcGFjZS1zZW5zaXRpdml0eS13cml0ZS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSBAQAorLi4vcmVzb3VyY2VzL25hbWVzcGFjZS1zZW5zaXRpdml0eS5kYXQ6IFBB
U1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0bWw1bGliL2dlbmVyYXRlZC9ydW4tbmFtZXNw
YWNlLXNlbnNpdGl2aXR5LXdyaXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9odG1sNWxpYi9nZW5lcmF0
ZWQvcnVuLW5hbWVzcGFjZS1zZW5zaXRpdml0eS13cml0ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2N2Qx
NzE2YWZjMGQ1NTM1ZWMwN2NlYTVjYzEyZjJjNzU3NmQxMWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odG1sNWxpYi9nZW5lcmF0ZWQvcnVuLW5hbWVzcGFjZS1zZW5zaXRpdml0eS13
cml0ZS5odG1sCkBAIC0wLDAgKzEsNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8c2NyaXB0PgordmFy
IHRlc3RfZmlsZXMgPSBbICcuLi9yZXNvdXJjZXMvbmFtZXNwYWNlLXNlbnNpdGl2aXR5LmRhdCcg
XQorPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9ydW5uZXIuanMiPjwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHRtbDVsaWIvcmVzb3VyY2VzL25hbWVz
cGFjZS1zZW5zaXRpdml0eS5kYXQgYi9MYXlvdXRUZXN0cy9odG1sNWxpYi9yZXNvdXJjZXMvbmFt
ZXNwYWNlLXNlbnNpdGl2aXR5LmRhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYTM1YzBlN2NiZWFmOTk1OWY2MGVm
NGQxZGE0MDQ1NDQ2YWQ1MDViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHRtbDVs
aWIvcmVzb3VyY2VzL25hbWVzcGFjZS1zZW5zaXRpdml0eS5kYXQKQEAgLTAsMCArMSwxNiBAQAor
I2RhdGEKKzxib2R5Pjx0YWJsZT48dHI+PHRkPjxzdmc+PHRkPjxmb3JlaWduT2JqZWN0PjxzcGFu
PjwvdGQ+Rm9vCisjZXJyb3JzCisjZG9jdW1lbnQKK3wgPGh0bWw+Cit8ICAgPGhlYWQ+Cit8ICAg
PGJvZHk+Cit8ICAgICAiRm9vIgorfCAgICAgPHRhYmxlPgorfCAgICAgICA8dGJvZHk+Cit8ICAg
ICAgICAgPHRyPgorfCAgICAgICAgICAgPHRkPgorfCAgICAgICAgICAgICA8c3ZnIHN2Zz4KK3wg
ICAgICAgICAgICAgICA8c3ZnIHRkPgorfCAgICAgICAgICAgICAgICAgPHN2ZyBmb3JlaWduT2Jq
ZWN0PgorfCAgICAgICAgICAgICAgICAgICA8c3Bhbj4K
</data>

          </attachment>
      

    </bug>

</bugzilla>