<?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>26858</bug_id>
          
          <creation_ts>2009-06-30 13:51:34 -0700</creation_ts>
          <short_desc>Add column reflection of dcol elements into datagrid&apos;s columns list.</short_desc>
          <delta_ts>2009-06-30 14:39:28 -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>Mac</rep_platform>
          <op_sys>OS X 10.5</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>26546</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dave Hyatt">hyatt</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          <cc>bdakin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>129153</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2009-06-30 13:51:34 -0700</bug_when>
    <thetext>This covers getting the basics working.  Stuff still needs to update when attributes change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129155</commentid>
    <comment_count>1</comment_count>
      <attachid>32092</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2009-06-30 13:55:22 -0700</bug_when>
    <thetext>Created attachment 32092
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129157</commentid>
    <comment_count>2</comment_count>
      <attachid>32092</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2009-06-30 14:03:15 -0700</bug_when>
    <thetext>Comment on attachment 32092
Patch

id HTMLDataGridColElement::removedFromTree(bool deep)
&gt; +{
&gt; +    HTMLElement::removedFromTree(deep);
&gt; +    if (datagrid() &amp;&amp; datagrid()-&gt;dataSource()-&gt;isDOMDataGridDataSource()) {
&gt; +        HTMLDataGridElement* grid = findDatagridAncestor();
&gt; +        if (!grid &amp;&amp; column()) {
&gt; +            datagrid()-&gt;columns()-&gt;remove(column());
&gt; +            m_datagrid = 0;
&gt; +        }
&gt; +    }
&gt; +}


I find this a little confusing. What is the difference between datagrid() and the result of findDatagridAncestor().I would expect them to be the same.

r=me!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129174</commentid>
    <comment_count>3</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2009-06-30 14:34:15 -0700</bug_when>
    <thetext>This is kind of like forms.... how stuff is cached in m_form, but you aren&apos;t really leaving the form unless you are truly disconnected from it in the ancestor chain... so you have to have a separate find method to test this out.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129180</commentid>
    <comment_count>4</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2009-06-30 14:39:28 -0700</bug_when>
    <thetext>Fixed in r45397.
</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32092</attachid>
            <date>2009-06-30 13:55:22 -0700</date>
            <delta_ts>2009-06-30 14:03:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>16343</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NTM5MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzkgQEAKKzIwMDktMDYtMzAgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjg1OAorCisgICAgICAgIEdldCA8
ZGNvbD4gZWxlbWVudHMgcmVmbGVjdGVkIGludG8gdGhlIGRhdGFncmlkJ3MgY29sdW1uIGxpc3Qu
ICBNYWtlIHN1cmUgY29sdW1ucyBnZXQgYWRkZWQvcmVtb3ZlZAorICAgICAgICBwcm9wZXJseS4g
IChBdHRyaWJ1dGUgY2hhbmdlcyBhcmUgc3RpbGwgbm90IGNhdWdodC4gIFRoYXQgaXMgY29taW5n
IGluIGEgc2VwYXJhdGUgcGF0Y2guKQorCisgICAgICAgIEFkZGVkIGZhc3QvZG9tL0hUTUxEYXRh
R3JpZEVsZW1lbnQvRGF0YUdyaWRDb2x1bW5zLWRvbS5odG1sCisKKyAgICAgICAgKiBodG1sL0Rh
dGFHcmlkQ29sdW1uLmg6CisgICAgICAgIChXZWJDb3JlOjpEYXRhR3JpZENvbHVtbjo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFHcmlkQ29sdW1uOjpzZXRDb2x1bW5MaXN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkRhdGFHcmlkQ29sdW1uOjpEYXRhR3JpZENvbHVtbik6CisgICAgICAg
ICogaHRtbC9EYXRhR3JpZENvbHVtbkxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGF0YUdy
aWRDb2x1bW5MaXN0OjphZGQpOgorICAgICAgICAoV2ViQ29yZTo6RGF0YUdyaWRDb2x1bW5MaXN0
OjpyZW1vdmUpOgorICAgICAgICAoV2ViQ29yZTo6RGF0YUdyaWRDb2x1bW5MaXN0OjpjbGVhcik6
CisgICAgICAgICogaHRtbC9EYXRhR3JpZENvbHVtbkxpc3QuaDoKKyAgICAgICAgKiBodG1sL0hU
TUxEYXRhR3JpZENvbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERhdGFHcmlk
Q29sRWxlbWVudDo6SFRNTERhdGFHcmlkQ29sRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MRGF0YUdyaWRDb2xFbGVtZW50OjpmaW5kRGF0YWdyaWRBbmNlc3Rvcik6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MRGF0YUdyaWRDb2xFbGVtZW50OjplbnN1cmVDb2x1bW4pOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTERhdGFHcmlkQ29sRWxlbWVudDo6aW5zZXJ0ZWRJbnRvVHJlZSk6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MRGF0YUdyaWRDb2xFbGVtZW50OjpyZW1vdmVkRnJvbVRyZWUpOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTERhdGFHcmlkQ29sRWxlbWVudDo6c29ydGFibGUpOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTERhdGFHcmlkQ29sRWxlbWVudDo6c2V0U29ydGFibGUpOgorICAg
ICAgICAqIGh0bWwvSFRNTERhdGFHcmlkQ29sRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTERhdGFHcmlkQ29sRWxlbWVudDo6Y29sdW1uKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxE
YXRhR3JpZENvbEVsZW1lbnQ6OnNldENvbHVtbik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRGF0
YUdyaWRDb2xFbGVtZW50OjpkYXRhZ3JpZCk6CisgICAgICAgICogaHRtbC9IVE1MRGF0YUdyaWRF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEYXRhR3JpZEVsZW1lbnQ6OnNldERh
dGFTb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERhdGFHcmlkRWxlbWVudDo6ZGF0YVNv
dXJjZSk6CisKIDIwMDktMDYtMzAgIEFkYW0gTGFuZ2xleSAgPGFnbEBnb29nbGUuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpJbmRleDogV2ViQ29yZS9odG1sL0RhdGFH
cmlkQ29sdW1uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0RhdGFHcmlkQ29sdW1uLmgJ
KHJldmlzaW9uIDQ1Mzg1KQorKysgV2ViQ29yZS9odG1sL0RhdGFHcmlkQ29sdW1uLmgJKHdvcmtp
bmcgY29weSkKQEAgLTM4LDkgKzM4LDkgQEAgY2xhc3MgRGF0YUdyaWRDb2x1bW5MaXN0OwogCiBj
bGFzcyBEYXRhR3JpZENvbHVtbiA6IHB1YmxpYyBSZWZDb3VudGVkPERhdGFHcmlkQ29sdW1uPiB7
CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8RGF0YUdyaWRDb2x1bW4+IGNyZWF0ZShE
YXRhR3JpZENvbHVtbkxpc3QqIGNvbHVtbnMsIGNvbnN0IFN0cmluZyYgY29sdW1uSUQsIGNvbnN0
IFN0cmluZyYgbGFiZWwsIGNvbnN0IFN0cmluZyYgdHlwZSwgYm9vbCBwcmltYXJ5LCB1bnNpZ25l
ZCBzaG9ydCBzb3J0YWJsZSkKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxEYXRhR3JpZENvbHVtbj4g
Y3JlYXRlKGNvbnN0IFN0cmluZyYgY29sdW1uSUQsIGNvbnN0IFN0cmluZyYgbGFiZWwsIGNvbnN0
IFN0cmluZyYgdHlwZSwgYm9vbCBwcmltYXJ5LCB1bnNpZ25lZCBzaG9ydCBzb3J0YWJsZSkKICAg
ICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRGF0YUdyaWRDb2x1bW4oY29sdW1ucywg
Y29sdW1uSUQsIGxhYmVsLCB0eXBlLCBwcmltYXJ5LCBzb3J0YWJsZSkpOworICAgICAgICByZXR1
cm4gYWRvcHRSZWYobmV3IERhdGFHcmlkQ29sdW1uKGNvbHVtbklELCBsYWJlbCwgdHlwZSwgcHJp
bWFyeSwgc29ydGFibGUpKTsKICAgICB9CiAKICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGlkKCkg
Y29uc3QgeyByZXR1cm4gbV9pZDsgfQpAQCAtNjEsMTEgKzYxLDExIEBAIHB1YmxpYzoKICAgICBi
b29sIHByaW1hcnkoKSBjb25zdCB7IHJldHVybiBtX3ByaW1hcnk7IH0KICAgICB2b2lkIHNldFBy
aW1hcnkoYm9vbCk7CiAKLSAgICB2b2lkIGRldGFjaEZyb21Db2x1bW5MaXN0KCkgeyBtX2NvbHVt
bnMgPSAwOyB9CisgICAgdm9pZCBzZXRDb2x1bW5MaXN0KERhdGFHcmlkQ29sdW1uTGlzdCogbGlz
dCkgeyBtX2NvbHVtbnMgPSBsaXN0OyB9CiAKIHByaXZhdGU6Ci0gICAgRGF0YUdyaWRDb2x1bW4o
RGF0YUdyaWRDb2x1bW5MaXN0KiBjb2x1bW5zLCBjb25zdCBTdHJpbmcmIGNvbHVtbklELCBjb25z
dCBTdHJpbmcmIGxhYmVsLCBjb25zdCBTdHJpbmcmIHR5cGUsIGJvb2wgcHJpbWFyeSwgdW5zaWdu
ZWQgc2hvcnQgc29ydGFibGUpCi0gICAgICAgIDogbV9jb2x1bW5zKGNvbHVtbnMpCisgICAgRGF0
YUdyaWRDb2x1bW4oY29uc3QgU3RyaW5nJiBjb2x1bW5JRCwgY29uc3QgU3RyaW5nJiBsYWJlbCwg
Y29uc3QgU3RyaW5nJiB0eXBlLCBib29sIHByaW1hcnksIHVuc2lnbmVkIHNob3J0IHNvcnRhYmxl
KQorICAgICAgICA6IG1fY29sdW1ucygwKQogICAgICAgICAsIG1faWQoY29sdW1uSUQpCiAgICAg
ICAgICwgbV9sYWJlbChsYWJlbCkKICAgICAgICAgLCBtX3R5cGUodHlwZSkKSW5kZXg6IFdlYkNv
cmUvaHRtbC9EYXRhR3JpZENvbHVtbkxpc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRt
bC9EYXRhR3JpZENvbHVtbkxpc3QuY3BwCShyZXZpc2lvbiA0NTM4NSkKKysrIFdlYkNvcmUvaHRt
bC9EYXRhR3JpZENvbHVtbkxpc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MSwxMSArNTEsMTYg
QEAgRGF0YUdyaWRDb2x1bW4qIERhdGFHcmlkQ29sdW1uTGlzdDo6aXRlbQogCiBEYXRhR3JpZENv
bHVtbiogRGF0YUdyaWRDb2x1bW5MaXN0OjphZGQoY29uc3QgU3RyaW5nJiBpZCwgY29uc3QgU3Ry
aW5nJiBsYWJlbCwgY29uc3QgU3RyaW5nJiB0eXBlLCBib29sIHByaW1hcnksIHVuc2lnbmVkIHNo
b3J0IHNvcnRhYmxlKQogewotICAgIFJlZlB0cjxEYXRhR3JpZENvbHVtbj4gY29sdW1uID0gRGF0
YUdyaWRDb2x1bW46OmNyZWF0ZSh0aGlzLCBpZCwgbGFiZWwsIHR5cGUsIHByaW1hcnksIHNvcnRh
YmxlKTsKLSAgICBpZiAocHJpbWFyeSkKKyAgICByZXR1cm4gYWRkKERhdGFHcmlkQ29sdW1uOjpj
cmVhdGUoaWQsIGxhYmVsLCB0eXBlLCBwcmltYXJ5LCBzb3J0YWJsZSkuZ2V0KCkpOworfQorCitE
YXRhR3JpZENvbHVtbiogRGF0YUdyaWRDb2x1bW5MaXN0OjphZGQoRGF0YUdyaWRDb2x1bW4qIGNv
bHVtbikKK3sKKyAgICBpZiAoY29sdW1uLT5wcmltYXJ5KCkpCiAgICAgICAgIG1fcHJpbWFyeUNv
bHVtbiA9IGNvbHVtbjsKICAgICBtX2NvbHVtbnMuYXBwZW5kKGNvbHVtbik7Ci0gICAgcmV0dXJu
IGNvbHVtbi5nZXQoKTsKKyAgICBjb2x1bW4tPnNldENvbHVtbkxpc3QodGhpcyk7CisgICAgcmV0
dXJuIGNvbHVtbjsKIH0KIAogdm9pZCBEYXRhR3JpZENvbHVtbkxpc3Q6OnJlbW92ZShEYXRhR3Jp
ZENvbHVtbiogY29sKQpAQCAtNjgsNiArNzMsNyBAQCB2b2lkIERhdGFHcmlkQ29sdW1uTGlzdDo6
cmVtb3ZlKERhdGFHcmlkCiAgICAgICAgIG1fcHJpbWFyeUNvbHVtbiA9IDA7CiAgICAgaWYgKGNv
bCA9PSBtX3NvcnRDb2x1bW4pCiAgICAgICAgIG1fc29ydENvbHVtbiA9IDA7CisgICAgY29sLT5z
ZXRDb2x1bW5MaXN0KDApOwogfQogCiB2b2lkIERhdGFHcmlkQ29sdW1uTGlzdDo6bW92ZShEYXRh
R3JpZENvbHVtbiogY29sLCB1bnNpZ25lZCBsb25nIGluZGV4KQpAQCAtODIsNyArODgsNyBAQCB2
b2lkIERhdGFHcmlkQ29sdW1uTGlzdDo6Y2xlYXIoKQogewogICAgIHVuc2lnbmVkIGxlbmd0aCA9
IG1fY29sdW1ucy5zaXplKCk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsg
KytpKQotICAgICAgICBtX2NvbHVtbnNbaV0tPmRldGFjaEZyb21Db2x1bW5MaXN0KCk7CisgICAg
ICAgIG1fY29sdW1uc1tpXS0+c2V0Q29sdW1uTGlzdCgwKTsKICAgICBtX2NvbHVtbnMuY2xlYXIo
KTsKICAgICBtX3ByaW1hcnlDb2x1bW4gPSAwOwogICAgIG1fc29ydENvbHVtbiA9IDA7CkluZGV4
OiBXZWJDb3JlL2h0bWwvRGF0YUdyaWRDb2x1bW5MaXN0LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9odG1sL0RhdGFHcmlkQ29sdW1uTGlzdC5oCShyZXZpc2lvbiA0NTM4NSkKKysrIFdlYkNvcmUv
aHRtbC9EYXRhR3JpZENvbHVtbkxpc3QuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBA
QCBwdWJsaWM6CiAgICAgRGF0YUdyaWRDb2x1bW4qIHNvcnRDb2x1bW4oKSBjb25zdCB7IHJldHVy
biBtX3NvcnRDb2x1bW4uZ2V0KCk7IH0KIAogICAgIERhdGFHcmlkQ29sdW1uKiBhZGQoY29uc3Qg
U3RyaW5nJiBpZCwgY29uc3QgU3RyaW5nJiBsYWJlbCwgY29uc3QgU3RyaW5nJiB0eXBlLCBib29s
IHByaW1hcnksIHVuc2lnbmVkIHNob3J0IHNvcnRhYmxlKTsKKyAgICBEYXRhR3JpZENvbHVtbiog
YWRkKERhdGFHcmlkQ29sdW1uKik7CiAgICAgdm9pZCByZW1vdmUoRGF0YUdyaWRDb2x1bW4qKTsK
ICAgICB2b2lkIG1vdmUoRGF0YUdyaWRDb2x1bW4qLCB1bnNpZ25lZCBsb25nIGluZGV4KTsKICAg
ICB2b2lkIGNsZWFyKCk7CkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTERhdGFHcmlkQ29sRWxlbWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxEYXRhR3JpZENvbEVsZW1lbnQu
Y3BwCShyZXZpc2lvbiA0NTM4NSkKKysrIFdlYkNvcmUvaHRtbC9IVE1MRGF0YUdyaWRDb2xFbGVt
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsOCBAQAogCiAjaWYgRU5BQkxFKERB
VEFHUklEKQogCisjaW5jbHVkZSAiRGF0YUdyaWRDb2x1bW4uaCIKKyNpbmNsdWRlICJIVE1MRGF0
YUdyaWRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTERhdGFHcmlkQ29sRWxlbWVudC5oIgogCiAj
aW5jbHVkZSAiSFRNTE5hbWVzLmgiCkBAIC0zOCw5ICs0MCw0OCBAQCB1c2luZyBuYW1lc3BhY2Ug
SFRNTE5hbWVzOwogCiBIVE1MRGF0YUdyaWRDb2xFbGVtZW50OjpIVE1MRGF0YUdyaWRDb2xFbGVt
ZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIERvY3VtZW50KiBkb2MpCiAgICAgOiBIVE1M
RWxlbWVudChuYW1lLCBkb2MpCisgICAgLCBtX2RhdGFncmlkKDApCiB7CiB9CiAKK0hUTUxEYXRh
R3JpZEVsZW1lbnQqIEhUTUxEYXRhR3JpZENvbEVsZW1lbnQ6OmZpbmREYXRhZ3JpZEFuY2VzdG9y
KCkgY29uc3QKK3sKKyAgICBpZiAocGFyZW50KCkgJiYgcGFyZW50KCktPmhhc1RhZ05hbWUoZGF0
YWdyaWRUYWcpKQorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTERhdGFHcmlkRWxlbWVu
dCo+KHBhcmVudCgpKTsKKyAgICByZXR1cm4gMDsKK30KKwordm9pZCBIVE1MRGF0YUdyaWRDb2xF
bGVtZW50OjplbnN1cmVDb2x1bW4oKQoreworICAgIGlmIChtX2NvbHVtbikKKyAgICAgICAgcmV0
dXJuOworICAgIG1fY29sdW1uID0gRGF0YUdyaWRDb2x1bW46OmNyZWF0ZShnZXRBdHRyaWJ1dGUo
aWRBdHRyKSwgbGFiZWwoKSwgdHlwZSgpLCBwcmltYXJ5KCksIHNvcnRhYmxlKCkpOworfQorCit2
b2lkIEhUTUxEYXRhR3JpZENvbEVsZW1lbnQ6Omluc2VydGVkSW50b1RyZWUoYm9vbCBkZWVwKQor
eworICAgIEhUTUxFbGVtZW50OjppbnNlcnRlZEludG9UcmVlKGRlZXApOworICAgIGlmIChkYXRh
Z3JpZCgpKSAvLyBXZSdyZSBjb25uZWN0ZWQgdG8gYSBkYXRhZ3JpZCBhbHJlYWR5LgorICAgICAg
ICByZXR1cm47CisgICAgbV9kYXRhZ3JpZCA9IGZpbmREYXRhZ3JpZEFuY2VzdG9yKCk7CisgICAg
aWYgKGRhdGFncmlkKCkgJiYgZGF0YWdyaWQoKS0+ZGF0YVNvdXJjZSgpLT5pc0RPTURhdGFHcmlk
RGF0YVNvdXJjZSgpKSB7CisgICAgICAgIGVuc3VyZUNvbHVtbigpOworICAgICAgICBtX2RhdGFn
cmlkLT5jb2x1bW5zKCktPmFkZChjb2x1bW4oKSk7IC8vIEZJWE1FOiBEZWFsIHdpdGggb3JkZXJp
bmcgaXNzdWVzIChjb21wbGljYXRlZCwgc2luY2UgY29sdW1ucyBjYW4gYmUgbWFkZSBvdXRzaWRl
IHRoZSBET00pLgorICAgIH0KK30KKwordm9pZCBIVE1MRGF0YUdyaWRDb2xFbGVtZW50OjpyZW1v
dmVkRnJvbVRyZWUoYm9vbCBkZWVwKQoreworICAgIEhUTUxFbGVtZW50OjpyZW1vdmVkRnJvbVRy
ZWUoZGVlcCk7CisgICAgaWYgKGRhdGFncmlkKCkgJiYgZGF0YWdyaWQoKS0+ZGF0YVNvdXJjZSgp
LT5pc0RPTURhdGFHcmlkRGF0YVNvdXJjZSgpKSB7CisgICAgICAgIEhUTUxEYXRhR3JpZEVsZW1l
bnQqIGdyaWQgPSBmaW5kRGF0YWdyaWRBbmNlc3RvcigpOworICAgICAgICBpZiAoIWdyaWQgJiYg
Y29sdW1uKCkpIHsKKyAgICAgICAgICAgIGRhdGFncmlkKCktPmNvbHVtbnMoKS0+cmVtb3ZlKGNv
bHVtbigpKTsKKyAgICAgICAgICAgIG1fZGF0YWdyaWQgPSAwOworICAgICAgICB9CisgICAgfQor
fQorICAgIAogU3RyaW5nIEhUTUxEYXRhR3JpZENvbEVsZW1lbnQ6OmxhYmVsKCkgY29uc3QKIHsK
ICAgICByZXR1cm4gZ2V0QXR0cmlidXRlKGxhYmVsQXR0cik7CkBAIC02MywxMiArMTA0LDE0IEBA
IHZvaWQgSFRNTERhdGFHcmlkQ29sRWxlbWVudDo6c2V0VHlwZShjb24KIAogdW5zaWduZWQgc2hv
cnQgSFRNTERhdGFHcmlkQ29sRWxlbWVudDo6c29ydGFibGUoKSBjb25zdAogewotICAgIHJldHVy
biBoYXNBdHRyaWJ1dGUoc29ydGFibGVBdHRyKTsKKyAgICBpZiAoIWhhc0F0dHJpYnV0ZShzb3J0
YWJsZUF0dHIpKQorICAgICAgICByZXR1cm4gMjsKKyAgICByZXR1cm4gZ2V0QXR0cmlidXRlKHNv
cnRhYmxlQXR0cikudG9JbnQoMCk7CiB9CiAKIHZvaWQgSFRNTERhdGFHcmlkQ29sRWxlbWVudDo6
c2V0U29ydGFibGUodW5zaWduZWQgc2hvcnQgc29ydGFibGUpCiB7Ci0gICAgc2V0QXR0cmlidXRl
KHNvcnRhYmxlQXR0ciwgc29ydGFibGUgPyAiIiA6IDApOworICAgIHNldEF0dHJpYnV0ZShzb3J0
YWJsZUF0dHIsIFN0cmluZzo6bnVtYmVyKHNvcnRhYmxlKSk7CiB9CiAKIHVuc2lnbmVkIHNob3J0
IEhUTUxEYXRhR3JpZENvbEVsZW1lbnQ6OnNvcnREaXJlY3Rpb24oKSBjb25zdApJbmRleDogV2Vi
Q29yZS9odG1sL0hUTUxEYXRhR3JpZENvbEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2h0bWwvSFRNTERhdGFHcmlkQ29sRWxlbWVudC5oCShyZXZpc2lvbiA0NTM4NSkKKysrIFdlYkNv
cmUvaHRtbC9IVE1MRGF0YUdyaWRDb2xFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTI4LDE3
ICsyOCwyMiBAQAogCiAjaWYgRU5BQkxFKERBVEFHUklEKQogCisjaW5jbHVkZSAiRGF0YUdyaWRD
b2x1bW4uaCIKICNpbmNsdWRlICJIVE1MRWxlbWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKK2NsYXNzIEhUTUxEYXRhR3JpZEVsZW1lbnQ7CisKIGNsYXNzIEhUTUxEYXRhR3JpZENvbEVs
ZW1lbnQgOiBwdWJsaWMgSFRNTEVsZW1lbnQgewogcHVibGljOgogICAgIEhUTUxEYXRhR3JpZENv
bEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiAKICAgICB2aXJ0dWFs
IEhUTUxUYWdTdGF0dXMgZW5kVGFnUmVxdWlyZW1lbnQoKSBjb25zdCB7IHJldHVybiBUYWdTdGF0
dXNGb3JiaWRkZW47IH0KICAgICB2aXJ0dWFsIGludCB0YWdQcmlvcml0eSgpIGNvbnN0IHsgcmV0
dXJuIDA7IH0KLSAgICAKKyAgICB2aXJ0dWFsIHZvaWQgaW5zZXJ0ZWRJbnRvVHJlZShib29sIC8q
ZGVlcCovKTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlZEZyb21UcmVlKGJvb2wgLypkZWVwKi8p
OworCiAgICAgU3RyaW5nIGxhYmVsKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRMYWJlbChjb25zdCBT
dHJpbmcmKTsKICAgICAKQEAgLTUzLDYgKzU4LDE3IEBAIHB1YmxpYzoKICAgICAKICAgICBib29s
IHByaW1hcnkoKSBjb25zdDsKICAgICB2b2lkIHNldFByaW1hcnkoYm9vbCk7CisgICAgCisgICAg
RGF0YUdyaWRDb2x1bW4qIGNvbHVtbigpIGNvbnN0IHsgcmV0dXJuIG1fY29sdW1uLmdldCgpOyB9
CisgICAgdm9pZCBzZXRDb2x1bW4oUGFzc1JlZlB0cjxEYXRhR3JpZENvbHVtbj4gY29sKSB7IG1f
Y29sdW1uID0gY29sOyB9CisKK3ByaXZhdGU6CisgICAgSFRNTERhdGFHcmlkRWxlbWVudCogZGF0
YWdyaWQoKSBjb25zdCB7IHJldHVybiBtX2RhdGFncmlkOyB9CisgICAgSFRNTERhdGFHcmlkRWxl
bWVudCogZmluZERhdGFncmlkQW5jZXN0b3IoKSBjb25zdDsKKyAgICB2b2lkIGVuc3VyZUNvbHVt
bigpOworCisgICAgUmVmUHRyPERhdGFHcmlkQ29sdW1uPiBtX2NvbHVtbjsKKyAgICBIVE1MRGF0
YUdyaWRFbGVtZW50KiBtX2RhdGFncmlkOyAvLyBOb3QgcmVmY291bnRlZC4gV2Ugd2lsbCBudWxs
IG91dCBvdXIgcmVmZXJlbmNlIGlmIHdlIGdldCByZW1vdmVkIGZyb20gdGhlIGdyaWQuCiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTERhdGFHcmlk
RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxEYXRhR3JpZEVsZW1l
bnQuY3BwCShyZXZpc2lvbiA0NTM4NSkKKysrIFdlYkNvcmUvaHRtbC9IVE1MRGF0YUdyaWRFbGVt
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTMsMTkgKzkzLDIyIEBAIHZvaWQgSFRNTERhdGFH
cmlkRWxlbWVudDo6c2V0TXVsdGlwbGUoYm8KIAogdm9pZCBIVE1MRGF0YUdyaWRFbGVtZW50Ojpz
ZXREYXRhU291cmNlKFBhc3NSZWZQdHI8RGF0YUdyaWREYXRhU291cmNlPiBkcykKIHsKKyAgICBp
ZiAobV9kYXRhU291cmNlID09IGRzKQorICAgICAgICByZXR1cm47CisgICAgCiAgICAgUmVmUHRy
PERhdGFHcmlkRGF0YVNvdXJjZT4gZGF0YVNvdXJjZSA9IGRzOwogICAgIGlmICghZGF0YVNvdXJj
ZSkKICAgICAgICAgZGF0YVNvdXJjZSA9IERPTURhdGFHcmlkRGF0YVNvdXJjZTo6Y3JlYXRlKCk7
CiAgICAgbV9kYXRhU291cmNlID0gZGF0YVNvdXJjZTsKKyAgICAKKyAgICAvLyBBbHdheXMgY2xl
YXIgb3VyIGNvbHVtbnMgd2hlbiBhIGRhdGEgc291cmNlIGNoYW5nZXMuCisgICAgLy8gVGhlIHJl
Z2lzdGVyIGNhbGxiYWNrIHdpbGwgcmVidWlsZCB0aGUgY29sdW1ucy4KKyAgICBtX2NvbHVtbnMt
PmNsZWFyKCk7CiB9CiAKIERhdGFHcmlkRGF0YVNvdXJjZSogSFRNTERhdGFHcmlkRWxlbWVudDo6
ZGF0YVNvdXJjZSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKG1fZGF0YVNvdXJjZSk7Ci0KLSAgICBp
ZiAobV9kYXRhU291cmNlLT5pc0RPTURhdGFHcmlkRGF0YVNvdXJjZSgpKQotICAgICAgICByZXR1
cm4gMDsKLQogICAgIHJldHVybiBtX2RhdGFTb3VyY2UuZ2V0KCk7CiB9CiAKSW5kZXg6IExheW91
dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDQ1MzkzKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMDktMDYtMzAgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBs
YXlvdXQgdGVzdCBmb3IgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI2
ODU4LgorCisgICAgICAgICogZmFzdC9kb20vSFRNTERhdGFHcmlkRWxlbWVudC9EYXRhR3JpZENv
bHVtbnMtZG9tLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTERh
dGFHcmlkRWxlbWVudC9EYXRhR3JpZENvbHVtbnMtZG9tLmh0bWw6IEFkZGVkLgorCiAyMDA5LTA2
LTMwICBEYXZpZCBMZXZpbiAgPGxldmluQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBPbGl2ZXIgSHVudC4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxEYXRhR3Jp
ZEVsZW1lbnQvRGF0YUdyaWRDb2x1bW5zLWRvbS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTERhdGFHcmlkRWxlbWVudC9EYXRhR3JpZENvbHVtbnMt
ZG9tLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxEYXRhR3JpZEVsZW1lbnQvRGF0YUdyaWRDb2x1bW5zLWRvbS1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsMTIgQEAKK1BBU1M6IEluaXRpYWwgdmFsdWUgb2YgZGF0YWdyaWQu
Y29sdW1ucyBpcyBkZWZpbmVkLgorUEFTUzogSW5pdGlhbCBsZW5ndGggb2YgZGF0YWdyaWQuY29s
dW1ucyBpcyAyLgorUEFTUzogV2UgaGF2ZSB0aHJlZSBjb2x1bW5zIGluIHRoZSBsaXN0LgorUEFT
UzogVGhlIGNvbHVtbidzIElEIGlzIGZyb20gYXMgZXhwZWN0ZWQuCitQQVNTOiBUaGUgY29sdW1u
J3MgbGFiZWwgaXMgRnJvbSBhcyBleHBlY3RlZC4KK1BBU1M6IFRoZSBjb2x1bW4ncyB0eXBlIGlz
IHRleHQgYXMgZXhwZWN0ZWQuCitQQVNTOiBUaGUgY29sdW1uJ3MgcHJpbWFyeSBwcm9wZXJ0eSBp
cyB0cnVlIGFzIGV4cGVjdGVkLgorUEFTUzogVGhlIGNvbHVtbidzIHNvcnRhYmxlIHByb3BlcnR5
IGlzIDIgYXMgZXhwZWN0ZWQuCitQQVNTOiBUaGUgZmlyc3QgY29sdW1uIGlzIHRoZSBwcmltYXJ5
IGNvbHVtbi4KK1BBU1M6IEFmdGVyIHJlbW92aW5nIGEgY29sdW1uLCB0aGUgbGVuZ3RoIG9mIGRh
dGFncmlkLmNvbHVtbnMgaXMgMi4KK1BBU1M6IE5vIGNvbHVtbiBpcyB0aGUgcHJpbWFyeSBjb2x1
bW4uCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxEYXRhR3JpZEVsZW1lbnQvRGF0
YUdyaWRDb2x1bW5zLWRvbS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9t
L0hUTUxEYXRhR3JpZEVsZW1lbnQvRGF0YUdyaWRDb2x1bW5zLWRvbS5odG1sCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTERhdGFHcmlkRWxlbWVudC9EYXRhR3JpZENv
bHVtbnMtZG9tLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTA2IEBACis8aHRtbD4KKzxi
b2R5PgorICAgIDxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgorICAgIDxkYXRhZ3JpZCBpZD0idGVz
dCI+PGRjb2wgaWQ9ImZyb20iIGxhYmVsPSJGcm9tIiB0eXBlPSJ0ZXh0IiBwcmltYXJ5PjxkY29s
IGlkPSJzdWJqZWN0IiBsYWJlbD0iU3ViamVjdCIgdHlwZT0idGV4dCI+PC9kYXRhZ3JpZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Cisg
ICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIH0KKworICAg
ICAgICBmdW5jdGlvbiBsb2cobXNnKQorICAgICAgICB7CisgICAgICAgICAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnY29uc29sZScpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHRO
b2RlKG1zZyArICJcbiIpKTsKKyAgICAgICAgfQorCisgICAgICAgIHZhciBkYXRhZ3JpZCA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0Jyk7CisKKyAgICAgICAgLy8gVGVzdCBpbml0aWFs
IHZhbHVlLgorICAgICAgICBpZiAoZGF0YWdyaWQuY29sdW1ucyAhPSBudWxsKSB7CisgICAgICAg
ICAgICBsb2coIlBBU1M6IEluaXRpYWwgdmFsdWUgb2YgZGF0YWdyaWQuY29sdW1ucyBpcyBkZWZp
bmVkLiIpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgbG9nKCJGQUlMOiBJbml0aWFs
IHZhbHVlIG9mIGRhdGFncmlkLmNvbHVtbnMgd2FzIG51bGwuIik7CisgICAgICAgIH0KKworICAg
ICAgICAvLyBUZXN0IGluaXRpYWwgbGVuZ3RoLgorICAgICAgICBpZiAoZGF0YWdyaWQuY29sdW1u
cy5sZW5ndGggPT0gMikgeworICAgICAgICAgICAgbG9nKCJQQVNTOiBJbml0aWFsIGxlbmd0aCBv
ZiBkYXRhZ3JpZC5jb2x1bW5zIGlzIDIuIik7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICBsb2coIkZBSUw6IEluaXRpYWwgbGVuZ3RoIG9mIGRhdGFncmlkLmNvbHVtbnMgd2FzICIgKyBk
YXRhZ3JpZC5jb2x1bW5zLmxlbmd0aCArICIuIik7CisgICAgICAgIH0KKyAgICAgICAgCisgICAg
ICAgIC8vIFRlc3QgYWRkaW5nIGEgY29sdW1uLgorICAgICAgICB2YXIgbmV3Q29sID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiZGNvbCIpOworICAgICAgICBuZXdDb2wuc2V0QXR0cmlidXRlKCJp
ZCIsICJkYXRlIik7CisgICAgICAgIG5ld0NvbC5zZXRBdHRyaWJ1dGUoImxhYmVsIiwgIkRhdGUg
UmVjZWl2ZWQiKTsKKyAgICAgICAgbmV3Q29sLnNldEF0dHJpYnV0ZSgidHlwZSIsICJ0ZXh0Iik7
CisgICAgICAgIHZhciBjb2x1bW4gPSBkYXRhZ3JpZC5hcHBlbmRDaGlsZChuZXdDb2wpOworICAg
ICAgICAKKyAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBjb2x1bW4gbGlzdCBub3cgaGFzIHRocmVl
IGNvbHVtbnMuCisgICAgICAgIGlmIChkYXRhZ3JpZC5jb2x1bW5zLmxlbmd0aCA9PSAzKSB7Cisg
ICAgICAgICAgICBsb2coIlBBU1M6IFdlIGhhdmUgdGhyZWUgY29sdW1ucyBpbiB0aGUgbGlzdC4i
KTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGxvZygiRkFJTDogRXhwZWN0ZWQgdGhy
ZWUgY29sdW1ucyBpbiB0aGUgbGlzdCBidXQgaGF2ZSAiICsgZGF0YWdyaWQuY29sdW1ucy5sZW5n
dGggKyAiIGNvbHVtbnMgaW5zdGVhZC4iKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAg
Ly8gRXhhbWluZSB0aGUgZmlyc3QgY29sdW1uJ3MgcHJvcGVydGllcyB0byBtYWtlIHN1cmUgdGhl
eSBhcmUgd2hhdCB3ZSBleHBlY3RlZC4KKyAgICAgICAgdmFyIGNvbHVtbiA9IGRhdGFncmlkLmNv
bHVtbnNbMF07CisgICAgICAgIGlmIChjb2x1bW4uaWQgPT0gImZyb20iKSB7CisgICAgICAgICAg
ICBsb2coIlBBU1M6IFRoZSBjb2x1bW4ncyBJRCBpcyBmcm9tIGFzIGV4cGVjdGVkLiIpOworICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgbG9nKCJGQUlMOiBUaGUgY29sdW1uJ3MgSUQgc2hv
dWxkIGJlIGZyb20gYnV0IGlzICIgKyBjb2x1bW4uaWQgKyAiIGluc3RlYWQuIik7CisgICAgICAg
IH0KKyAgICAgICAgCisgICAgICAgIGlmIChjb2x1bW4ubGFiZWwgPT0gIkZyb20iKSB7CisgICAg
ICAgICAgICBsb2coIlBBU1M6IFRoZSBjb2x1bW4ncyBsYWJlbCBpcyBGcm9tIGFzIGV4cGVjdGVk
LiIpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgbG9nKCJGQUlMOiBUaGUgY29sdW1u
J3MgbGFiZWwgc2hvdWxkIGJlIEZyb20gYnV0IGlzICIgKyBjb2x1bW4ubGFiZWwgKyAiIGluc3Rl
YWQuIik7CisgICAgICAgIH0KKworICAgICAgICBpZiAoY29sdW1uLnR5cGUgPT0gInRleHQiKSB7
CisgICAgICAgICAgICBsb2coIlBBU1M6IFRoZSBjb2x1bW4ncyB0eXBlIGlzIHRleHQgYXMgZXhw
ZWN0ZWQuIik7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBsb2coIkZBSUw6IFRoZSBj
b2x1bW4ncyB0eXBlIHNob3VsZCBiZSB0ZXh0IGJ1dCBpcyAiICsgY29sdW1uLnR5cGUgKyAiIGlu
c3RlYWQuIik7CisgICAgICAgIH0KKyAgICAKKyAgICAgICAgaWYgKGNvbHVtbi5wcmltYXJ5KSB7
CisgICAgICAgICAgICBsb2coIlBBU1M6IFRoZSBjb2x1bW4ncyBwcmltYXJ5IHByb3BlcnR5IGlz
IHRydWUgYXMgZXhwZWN0ZWQuIik7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBsb2co
IkZBSUw6IFRoZSBjb2x1bW4ncyBwcmltYXJ5IHByb3BlcnR5IHNob3VsZCBiZSB0cnVlIGJ1dCBp
c24ndC4iKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChjb2x1bW4uc29ydGFibGUgPT0gMikg
eworICAgICAgICAgICAgbG9nKCJQQVNTOiBUaGUgY29sdW1uJ3Mgc29ydGFibGUgcHJvcGVydHkg
aXMgMiBhcyBleHBlY3RlZC4iKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGxvZygi
RkFJTDogVGhlIGNvbHVtbidzIHNvcnRhYmxlIHByb3BlcnR5IHNob3VsZCBiZSAyIGJ1dCBpcyAi
ICsgY29sdW1uLnNvcnRhYmxlICsgIiBpbnN0ZWFkLiIpOworICAgICAgICB9CisKKyAgICAgICAg
Ly8gTWFrZSBzdXJlIHRoZSBmcm9tIGNvbHVtbiBpcyB0aGUgcHJpbWFyeSBjb2x1bW4uCisgICAg
ICAgIGlmIChkYXRhZ3JpZC5jb2x1bW5zLnByaW1hcnlDb2x1bW4gPT0gY29sdW1uKSB7CisgICAg
ICAgICAgICBsb2coIlBBU1M6IFRoZSBmaXJzdCBjb2x1bW4gaXMgdGhlIHByaW1hcnkgY29sdW1u
LiIpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgbG9nKCJGQUlMOiBUaGUgZmlyc3Qg
Y29sdW1uIGlzIG5vdCB0aGUgcHJpbWFyeSBjb2x1bW4gYXMgZXhwZWN0ZWQuIik7CisgICAgICAg
IH0KKworICAgICAgICAvLyBZYW5rIHRoZSBmaXJzdCBjb2x1bW4gb3V0LgorICAgICAgICBkYXRh
Z3JpZC5yZW1vdmVDaGlsZChkYXRhZ3JpZC5maXJzdENoaWxkKTsKKyAgICAgICAgCisgICAgICAg
IC8vIENoZWNrIHRoZSBjb2x1bW4gY291bnQgbm93LgorICAgICAgICBpZiAoZGF0YWdyaWQuY29s
dW1ucy5sZW5ndGggPT0gMikgeworICAgICAgICAgICAgbG9nKCJQQVNTOiBBZnRlciByZW1vdmlu
ZyBhIGNvbHVtbiwgdGhlIGxlbmd0aCBvZiBkYXRhZ3JpZC5jb2x1bW5zIGlzIDIuIik7CisgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICBsb2coIkZBSUw6IEFmdGVyIHJlbW92aW5nIGEgY29s
dW1uLCB0aGUgbGVuZ3RoIG9mIGRhdGFncmlkLmNvbHVtbnMgaXMgIiArIGRhdGFncmlkLmNvbHVt
bnMubGVuZ3RoICsgIi4iKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgLy8gVGhlcmUg
c2hvdWxkIG5vIGxvbmdlciBiZSBhIHByaW1hcnkgY29sdW1uLgorICAgICAgICBpZiAoIWRhdGFn
cmlkLmNvbHVtbnMucHJpbWFyeUNvbHVtbikgeworICAgICAgICAgICAgbG9nKCJQQVNTOiBObyBj
b2x1bW4gaXMgdGhlIHByaW1hcnkgY29sdW1uLiIpOworICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgbG9nKCJGQUlMOiBUaGVyZSBpcyBhIHByaW1hcnkgY29sdW1uLCBidXQgdGhlcmUgc2hv
dWxkIG5vdCBiZS4iKTsKKyAgICAgICAgfQorICAgIAorICAgICAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQorICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5
RG9uZSgpOworICAgIDwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="16609"
          type_id="1"
          status="+"
          setter="bdakin"
    />
          </attachment>
      

    </bug>

</bugzilla>