<?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>62833</bug_id>
          
          <creation_ts>2011-06-16 16:34:01 -0700</creation_ts>
          <short_desc>Arrow keys don&apos;t move caret properly in vertical writing modes</short_desc>
          <delta_ts>2011-09-26 12:36:06 -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>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>62743</dependson>
          <blocked>49408</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>ap</cc>
    
    <cc>darin</cc>
    
    <cc>enrica</cc>
    
    <cc>eric</cc>
    
    <cc>hyatt</cc>
    
    <cc>justin.garcia</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>422314</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-06-16 16:34:01 -0700</bug_when>
    <thetext>In vertical writing modes, left and right arrow keys move carets up and down, and up and down arrow keys move carets left and right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>422900</commentid>
    <comment_count>1</comment_count>
      <attachid>97656</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-06-17 14:54:23 -0700</bug_when>
    <thetext>Created attachment 97656
work in progress</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>422920</commentid>
    <comment_count>2</comment_count>
      <attachid>97661</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-06-17 15:42:23 -0700</bug_when>
    <thetext>Created attachment 97661
fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>422928</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-06-17 15:49:51 -0700</bug_when>
    <thetext>I have to admit this is not the prettiest patch I&apos;ve submitted but don&apos;t know a cleaner way of implementing this feature.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424058</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-06-20 16:28:53 -0700</bug_when>
    <thetext>Ping reviewers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424067</commentid>
    <comment_count>5</comment_count>
      <attachid>97661</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-06-20 16:34:51 -0700</bug_when>
    <thetext>Comment on attachment 97661
fixes the bug

This seems awkward. The flag name is precise, but mechanical. Seems like readers will understand the other arguments to modify and be puzzled by this one. The concept of “swapping” is not quite the right way to describe the fact that turning things 90 degrees might change what the direction means.

Despite all of that I have no specific better suggestion, so r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424105</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-06-20 17:12:55 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 97661 [details])
&gt; This seems awkward. The flag name is precise, but mechanical. Seems like readers will understand the other arguments to modify and be puzzled by this one. The concept of “swapping” is not quite the right way to describe the fact that turning things 90 degrees might change what the direction means.

I know.  I spent some time thinking about this (tired TreatLineAndCharacterLogically vs. TreatLineAndCharacterPhysically, LineAndCharacterAreLogical vs. LineAndCharacterArePhysical, RespectWritingMode vs. DoNotRespectWritingMode) but couldn&apos;t come up with a better name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424147</commentid>
    <comment_count>7</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-06-20 18:12:34 -0700</bug_when>
    <thetext>It seems like ap thinks it&apos;s better to keep &apos;left&apos;, &apos;character&apos; move the caret visually to the left if I understand him correctly.  I&apos;ll wait few more days before landing this patch to see if there are any other objections on the whatwg thread titled &quot;getSelection().modify() in vertical writing modes&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424189</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-06-20 19:25:26 -0700</bug_when>
    <thetext>I think he’s right. We don’t need a concrete term like “left” to mean “backwards”, when we already have an abstract term for backwards.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473289</commentid>
    <comment_count>9</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-09-26 12:24:20 -0700</bug_when>
    <thetext>This patch has been sitting on the commit queue for a while. I&apos;d like to land this patch unless someone objects. It&apos;s really bad to leave the caret movement broken.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473294</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-09-26 12:35:03 -0700</bug_when>
    <thetext>I still think that we shouldn&apos;t repurpose &quot;left&quot; to mean something other than left.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473297</commentid>
    <comment_count>11</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-09-26 12:36:06 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; I still think that we shouldn&apos;t repurpose &quot;left&quot; to mean something other than left.

But &apos;left&apos; already means up when combined with &apos;line&apos;. I don&apos;t think this patch introduces any confusion than there already is.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>97656</attachid>
            <date>2011-06-17 14:54:23 -0700</date>
            <delta_ts>2011-06-17 15:42:17 -0700</delta_ts>
            <desc>work in progress</desc>
            <filename>wip62833</filename>
            <type>text/plain</type>
            <size>7714</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCShyZXZpc2lvbiA4OTE2MikKKysrIFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluCSh3b3JraW5nIGNvcHkpCkBAIC0zNTEsOCArMzUxLDggQEAKIF9f
Wk43V2ViQ29yZTE0RnJhbWVTZWxlY3Rpb24xNXJldmVhbFNlbGVjdGlvbkVSS05TXzE1U2Nyb2xs
QWxpZ25tZW50RWIKIF9fWk43V2ViQ29yZTE0RnJhbWVTZWxlY3Rpb24xNnNldFNlbGVjdGVkUmFu
Z2VFUE5TXzVSYW5nZUVOU185RUFmZmluaXR5RWIKIF9fWk43V2ViQ29yZTE0RnJhbWVTZWxlY3Rp
b24yMHNldFNlbGVjdGlvbkZyb21Ob25lRXYKLV9fWk43V2ViQ29yZTE0RnJhbWVTZWxlY3Rpb242
bW9kaWZ5RU5TMF8xMUVBbHRlcmF0aW9uRU5TXzE4U2VsZWN0aW9uRGlyZWN0aW9uRU5TXzE1VGV4
dEdyYW51bGFyaXR5RWIKIF9fWk43V2ViQ29yZTE0RnJhbWVTZWxlY3Rpb241Y2xlYXJFdgorX19a
TjdXZWJDb3JlMTRGcmFtZVNlbGVjdGlvbjZtb2RpZnlFTlMwXzExRUFsdGVyYXRpb25FTlNfMThT
ZWxlY3Rpb25EaXJlY3Rpb25FTlNfMTVUZXh0R3JhbnVsYXJpdHlFYk5TMF80MFNob3VsZFN3YXBM
aW5lQW5kQ2hhcmFjdGVySW5WZXJ0aWNhbFRleHRFCiBfX1pON1dlYkNvcmUxNEZyYW1lU2VsZWN0
aW9uOXNlbGVjdEFsbEV2CiBfX1pON1dlYkNvcmUxNEZyYW1lU2VsZWN0aW9uQzFFUE5TXzVGcmFt
ZUUKIF9fWk43V2ViQ29yZTE0UmVzb3VyY2VIYW5kbGUxMnJlbGVhc2VQcm94eUV2CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAJKHJldmlzaW9uIDg5MTYyKQor
KysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNjE5LDEyICs2MTksMTIgQEAKIAogc3RhdGljIGJvb2wgZXhlY3V0ZU1vdmVEb3duKEZy
YW1lKiBmcmFtZSwgRXZlbnQqLCBFZGl0b3JDb21tYW5kU291cmNlLCBjb25zdCBTdHJpbmcmKQog
ewotICAgIHJldHVybiBmcmFtZS0+c2VsZWN0aW9uKCktPm1vZGlmeShGcmFtZVNlbGVjdGlvbjo6
QWx0ZXJhdGlvbk1vdmUsIERpcmVjdGlvbkZvcndhcmQsIExpbmVHcmFudWxhcml0eSwgdHJ1ZSk7
CisgICAgcmV0dXJuIGZyYW1lLT5zZWxlY3Rpb24oKS0+bW9kaWZ5KEZyYW1lU2VsZWN0aW9uOjpB
bHRlcmF0aW9uTW92ZSwgRGlyZWN0aW9uRm9yd2FyZCwgTGluZUdyYW51bGFyaXR5LCB0cnVlLCBG
cmFtZVNlbGVjdGlvbjo6U3dhcExpbmVBbmRDaGFyYWN0ZXJJblZlcnRpY2FsVGV4dCk7CiB9CiAK
IHN0YXRpYyBib29sIGV4ZWN1dGVNb3ZlRG93bkFuZE1vZGlmeVNlbGVjdGlvbihGcmFtZSogZnJh
bWUsIEV2ZW50KiwgRWRpdG9yQ29tbWFuZFNvdXJjZSwgY29uc3QgU3RyaW5nJikKIHsKLSAgICBm
cmFtZS0+c2VsZWN0aW9uKCktPm1vZGlmeShGcmFtZVNlbGVjdGlvbjo6QWx0ZXJhdGlvbkV4dGVu
ZCwgRGlyZWN0aW9uRm9yd2FyZCwgTGluZUdyYW51bGFyaXR5LCB0cnVlKTsKKyAgICBmcmFtZS0+
c2VsZWN0aW9uKCktPm1vZGlmeShGcmFtZVNlbGVjdGlvbjo6QWx0ZXJhdGlvbkV4dGVuZCwgRGly
ZWN0aW9uRm9yd2FyZCwgTGluZUdyYW51bGFyaXR5LCB0cnVlLCBGcmFtZVNlbGVjdGlvbjo6U3dh
cExpbmVBbmRDaGFyYWN0ZXJJblZlcnRpY2FsVGV4dCk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
QEAgLTY0MiwxMiArNjQyLDEyIEBACiAKIHN0YXRpYyBib29sIGV4ZWN1dGVNb3ZlTGVmdChGcmFt
ZSogZnJhbWUsIEV2ZW50KiwgRWRpdG9yQ29tbWFuZFNvdXJjZSwgY29uc3QgU3RyaW5nJikKIHsK
LSAgICByZXR1cm4gZnJhbWUtPnNlbGVjdGlvbigpLT5tb2RpZnkoRnJhbWVTZWxlY3Rpb246OkFs
dGVyYXRpb25Nb3ZlLCBEaXJlY3Rpb25MZWZ0LCBDaGFyYWN0ZXJHcmFudWxhcml0eSwgdHJ1ZSk7
CisgICAgcmV0dXJuIGZyYW1lLT5zZWxlY3Rpb24oKS0+bW9kaWZ5KEZyYW1lU2VsZWN0aW9uOjpB
bHRlcmF0aW9uTW92ZSwgRGlyZWN0aW9uTGVmdCwgQ2hhcmFjdGVyR3JhbnVsYXJpdHksIHRydWUs
IEZyYW1lU2VsZWN0aW9uOjpTd2FwTGluZUFuZENoYXJhY3RlckluVmVydGljYWxUZXh0KTsKIH0K
IAogc3RhdGljIGJvb2wgZXhlY3V0ZU1vdmVMZWZ0QW5kTW9kaWZ5U2VsZWN0aW9uKEZyYW1lKiBm
cmFtZSwgRXZlbnQqLCBFZGl0b3JDb21tYW5kU291cmNlLCBjb25zdCBTdHJpbmcmKQogewotICAg
IGZyYW1lLT5zZWxlY3Rpb24oKS0+bW9kaWZ5KEZyYW1lU2VsZWN0aW9uOjpBbHRlcmF0aW9uRXh0
ZW5kLCBEaXJlY3Rpb25MZWZ0LCBDaGFyYWN0ZXJHcmFudWxhcml0eSwgdHJ1ZSk7CisgICAgZnJh
bWUtPnNlbGVjdGlvbigpLT5tb2RpZnkoRnJhbWVTZWxlY3Rpb246OkFsdGVyYXRpb25FeHRlbmQs
IERpcmVjdGlvbkxlZnQsIENoYXJhY3RlckdyYW51bGFyaXR5LCB0cnVlLCBGcmFtZVNlbGVjdGlv
bjo6U3dhcExpbmVBbmRDaGFyYWN0ZXJJblZlcnRpY2FsVGV4dCk7CiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKQEAgLTY4NSwxMiArNjg1LDEyIEBACiAKIHN0YXRpYyBib29sIGV4ZWN1dGVNb3ZlUmln
aHQoRnJhbWUqIGZyYW1lLCBFdmVudCosIEVkaXRvckNvbW1hbmRTb3VyY2UsIGNvbnN0IFN0cmlu
ZyYpCiB7Ci0gICAgcmV0dXJuIGZyYW1lLT5zZWxlY3Rpb24oKS0+bW9kaWZ5KEZyYW1lU2VsZWN0
aW9uOjpBbHRlcmF0aW9uTW92ZSwgRGlyZWN0aW9uUmlnaHQsIENoYXJhY3RlckdyYW51bGFyaXR5
LCB0cnVlKTsKKyAgICByZXR1cm4gZnJhbWUtPnNlbGVjdGlvbigpLT5tb2RpZnkoRnJhbWVTZWxl
Y3Rpb246OkFsdGVyYXRpb25Nb3ZlLCBEaXJlY3Rpb25SaWdodCwgQ2hhcmFjdGVyR3JhbnVsYXJp
dHksIHRydWUsIEZyYW1lU2VsZWN0aW9uOjpTd2FwTGluZUFuZENoYXJhY3RlckluVmVydGljYWxU
ZXh0KTsKIH0KIAogc3RhdGljIGJvb2wgZXhlY3V0ZU1vdmVSaWdodEFuZE1vZGlmeVNlbGVjdGlv
bihGcmFtZSogZnJhbWUsIEV2ZW50KiwgRWRpdG9yQ29tbWFuZFNvdXJjZSwgY29uc3QgU3RyaW5n
JikKIHsKLSAgICBmcmFtZS0+c2VsZWN0aW9uKCktPm1vZGlmeShGcmFtZVNlbGVjdGlvbjo6QWx0
ZXJhdGlvbkV4dGVuZCwgRGlyZWN0aW9uUmlnaHQsIENoYXJhY3RlckdyYW51bGFyaXR5LCB0cnVl
KTsKKyAgICBmcmFtZS0+c2VsZWN0aW9uKCktPm1vZGlmeShGcmFtZVNlbGVjdGlvbjo6QWx0ZXJh
dGlvbkV4dGVuZCwgRGlyZWN0aW9uUmlnaHQsIENoYXJhY3RlckdyYW51bGFyaXR5LCB0cnVlLCBG
cmFtZVNlbGVjdGlvbjo6U3dhcExpbmVBbmRDaGFyYWN0ZXJJblZlcnRpY2FsVGV4dCk7CiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKQEAgLTgwNCwxMiArODA0LDEyIEBACiAKIHN0YXRpYyBib29sIGV4
ZWN1dGVNb3ZlVXAoRnJhbWUqIGZyYW1lLCBFdmVudCosIEVkaXRvckNvbW1hbmRTb3VyY2UsIGNv
bnN0IFN0cmluZyYpCiB7Ci0gICAgcmV0dXJuIGZyYW1lLT5zZWxlY3Rpb24oKS0+bW9kaWZ5KEZy
YW1lU2VsZWN0aW9uOjpBbHRlcmF0aW9uTW92ZSwgRGlyZWN0aW9uQmFja3dhcmQsIExpbmVHcmFu
dWxhcml0eSwgdHJ1ZSk7CisgICAgcmV0dXJuIGZyYW1lLT5zZWxlY3Rpb24oKS0+bW9kaWZ5KEZy
YW1lU2VsZWN0aW9uOjpBbHRlcmF0aW9uTW92ZSwgRGlyZWN0aW9uQmFja3dhcmQsIExpbmVHcmFu
dWxhcml0eSwgdHJ1ZSwgRnJhbWVTZWxlY3Rpb246OlN3YXBMaW5lQW5kQ2hhcmFjdGVySW5WZXJ0
aWNhbFRleHQpOwogfQogCiBzdGF0aWMgYm9vbCBleGVjdXRlTW92ZVVwQW5kTW9kaWZ5U2VsZWN0
aW9uKEZyYW1lKiBmcmFtZSwgRXZlbnQqLCBFZGl0b3JDb21tYW5kU291cmNlLCBjb25zdCBTdHJp
bmcmKQogewotICAgIGZyYW1lLT5zZWxlY3Rpb24oKS0+bW9kaWZ5KEZyYW1lU2VsZWN0aW9uOjpB
bHRlcmF0aW9uRXh0ZW5kLCBEaXJlY3Rpb25CYWNrd2FyZCwgTGluZUdyYW51bGFyaXR5LCB0cnVl
KTsKKyAgICBmcmFtZS0+c2VsZWN0aW9uKCktPm1vZGlmeShGcmFtZVNlbGVjdGlvbjo6QWx0ZXJh
dGlvbkV4dGVuZCwgRGlyZWN0aW9uQmFja3dhcmQsIExpbmVHcmFudWxhcml0eSwgdHJ1ZSwgRnJh
bWVTZWxlY3Rpb246OlN3YXBMaW5lQW5kQ2hhcmFjdGVySW5WZXJ0aWNhbFRleHQpOwogICAgIHJl
dHVybiB0cnVlOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0
aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0
aW9uLmNwcAkocmV2aXNpb24gODkxNjIpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1l
U2VsZWN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzg3LDEzICs3ODcsMTQgQEAKICAgICBy
ZXR1cm4gZ3JhbnVsYXJpdHkgPT0gTGluZUJvdW5kYXJ5IHx8IGdyYW51bGFyaXR5ID09IFBhcmFn
cmFwaEJvdW5kYXJ5IHx8IGdyYW51bGFyaXR5ID09IERvY3VtZW50Qm91bmRhcnk7CiB9ICAgIAog
Ci1ib29sIEZyYW1lU2VsZWN0aW9uOjptb2RpZnkoRUFsdGVyYXRpb24gYWx0ZXIsIFNlbGVjdGlv
bkRpcmVjdGlvbiBkaXJlY3Rpb24sIFRleHRHcmFudWxhcml0eSBncmFudWxhcml0eSwgYm9vbCB1
c2VyVHJpZ2dlcmVkKQorYm9vbCBGcmFtZVNlbGVjdGlvbjo6bW9kaWZ5KEVBbHRlcmF0aW9uIGFs
dGVyLCBTZWxlY3Rpb25EaXJlY3Rpb24gZGlyZWN0aW9uLCBUZXh0R3JhbnVsYXJpdHkgZ3JhbnVs
YXJpdHksIGJvb2wgdXNlclRyaWdnZXJlZCwKKyAgICBTaG91bGRTd2FwTGluZUFuZENoYXJhY3Rl
ckluVmVydGljYWxUZXh0IHNob3VsZFN3YXBMaW5lQW5kQ2hhcmFjdGVySW5WZXJ0aWNhbFRleHQp
CiB7CiAgICAgaWYgKHVzZXJUcmlnZ2VyZWQpIHsKICAgICAgICAgRnJhbWVTZWxlY3Rpb24gdHJp
YWxGcmFtZVNlbGVjdGlvbjsKICAgICAgICAgdHJpYWxGcmFtZVNlbGVjdGlvbi5zZXRTZWxlY3Rp
b24obV9zZWxlY3Rpb24pOwogICAgICAgICB0cmlhbEZyYW1lU2VsZWN0aW9uLnNldElzRGlyZWN0
aW9uYWwobV9pc0RpcmVjdGlvbmFsKTsKLSAgICAgICAgdHJpYWxGcmFtZVNlbGVjdGlvbi5tb2Rp
ZnkoYWx0ZXIsIGRpcmVjdGlvbiwgZ3JhbnVsYXJpdHksIGZhbHNlKTsKKyAgICAgICAgdHJpYWxG
cmFtZVNlbGVjdGlvbi5tb2RpZnkoYWx0ZXIsIGRpcmVjdGlvbiwgZ3JhbnVsYXJpdHksIGZhbHNl
LCBzaG91bGRTd2FwTGluZUFuZENoYXJhY3RlckluVmVydGljYWxUZXh0KTsKIAogICAgICAgICBi
b29sIGNoYW5nZSA9IHNob3VsZENoYW5nZVNlbGVjdGlvbih0cmlhbEZyYW1lU2VsZWN0aW9uLnNl
bGVjdGlvbigpKTsKICAgICAgICAgaWYgKCFjaGFuZ2UpCkBAIC04MDQsNiArODA1LDI3IEBACiAK
ICAgICBib29sIHdhc1JhbmdlID0gbV9zZWxlY3Rpb24uaXNSYW5nZSgpOwogICAgIFBvc2l0aW9u
IG9yaWdpbmFsU3RhcnRQb3NpdGlvbiA9IG1fc2VsZWN0aW9uLnN0YXJ0KCk7CisKKyAgICBpZiAo
c2hvdWxkU3dhcExpbmVBbmRDaGFyYWN0ZXJJblZlcnRpY2FsVGV4dCA9PSBTd2FwTGluZUFuZENo
YXJhY3RlckluVmVydGljYWxUZXh0CisgICAgICAgICYmIG9yaWdpbmFsU3RhcnRQb3NpdGlvbi5j
b250YWluZXJOb2RlKCkgJiYgb3JpZ2luYWxTdGFydFBvc2l0aW9uLmNvbnRhaW5lck5vZGUoKS0+
cmVuZGVyZXIoKSkgeworICAgICAgICBSZW5kZXJCbG9jayogYmxvY2sgPSBvcmlnaW5hbFN0YXJ0
UG9zaXRpb24uY29udGFpbmVyTm9kZSgpLT5yZW5kZXJlcigpLT5jb250YWluaW5nQmxvY2soKTsK
KyAgICAgICAgaWYgKGJsb2NrICYmICFibG9jay0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkg
eworICAgICAgICAgICAgaWYgKGdyYW51bGFyaXR5ID09IENoYXJhY3RlckdyYW51bGFyaXR5KQor
ICAgICAgICAgICAgICAgIGdyYW51bGFyaXR5ID0gTGluZUdyYW51bGFyaXR5OworICAgICAgICAg
ICAgZWxzZSBpZiAoZ3JhbnVsYXJpdHkgPT0gTGluZUdyYW51bGFyaXR5KQorICAgICAgICAgICAg
ICAgIGdyYW51bGFyaXR5ID0gQ2hhcmFjdGVyR3JhbnVsYXJpdHk7CisKKyAgICAgICAgICAgIC8v
IEZJWE1FOiBUaGlzIGlzIGJyb2tlbiB3aGVuIHNlbGVjdGlvbiBjcm9zc2VzIHdyaXRpbmctbW9k
ZSBib3VuZGFyeSBiZWNhdXNlIHdpbGxCZU1vZGlmaWVkCisgICAgICAgICAgICAvLyBoYXMgYWxy
ZWFkeSBhZGp1c3RlZCBzdGFydCBhbmQgZW5kIHVzaW5nIHRoZSBvcmlnaW5hbCBkaXJlY3Rpb24K
KyAgICAgICAgICAgIGlmIChibG9jay0+c3R5bGUoKS0+d3JpdGluZ01vZGUoKSA9PSBSaWdodFRv
TGVmdFdyaXRpbmdNb2RlKSB7CisgICAgICAgICAgICAgICAgaWYgKGRpcmVjdGlvbiA9PSBEaXJl
Y3Rpb25SaWdodCkKKyAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gRGlyZWN0aW9uTGVm
dDsKKyAgICAgICAgICAgICAgICBlbHNlIGlmIChkaXJlY3Rpb24gPT0gRGlyZWN0aW9uTGVmdCkK
KyAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uID0gRGlyZWN0aW9uUmlnaHQ7CisgICAgICAg
ICAgICB9CisgICAgICAgIH0KKyAgICB9CisKICAgICBWaXNpYmxlUG9zaXRpb24gcG9zaXRpb247
CiAgICAgc3dpdGNoIChkaXJlY3Rpb24pIHsKICAgICBjYXNlIERpcmVjdGlvblJpZ2h0OgpJbmRl
eDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaAkocmV2aXNpb24gODkxNjIp
CisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTE0NSw3ICsxNDUsOCBAQAogCiAgICAgRUFmZmluaXR5IGFmZmluaXR5KCkgY29uc3Qg
eyByZXR1cm4gbV9zZWxlY3Rpb24uYWZmaW5pdHkoKTsgfQogCi0gICAgYm9vbCBtb2RpZnkoRUFs
dGVyYXRpb24sIFNlbGVjdGlvbkRpcmVjdGlvbiwgVGV4dEdyYW51bGFyaXR5LCBib29sIHVzZXJU
cmlnZ2VyZWQgPSBmYWxzZSk7CisgICAgZW51bSBTaG91bGRTd2FwTGluZUFuZENoYXJhY3Rlcklu
VmVydGljYWxUZXh0IHsgU3dhcExpbmVBbmRDaGFyYWN0ZXJJblZlcnRpY2FsVGV4dCwgRG9Ob3RT
d2FwTGluZUFuZENoYXJhY3RlckluVmVydGljYWxUZXh0IH07CisgICAgYm9vbCBtb2RpZnkoRUFs
dGVyYXRpb24sIFNlbGVjdGlvbkRpcmVjdGlvbiwgVGV4dEdyYW51bGFyaXR5LCBib29sIHVzZXJU
cmlnZ2VyZWQgPSBmYWxzZSwgU2hvdWxkU3dhcExpbmVBbmRDaGFyYWN0ZXJJblZlcnRpY2FsVGV4
dCA9IERvTm90U3dhcExpbmVBbmRDaGFyYWN0ZXJJblZlcnRpY2FsVGV4dCk7CiAgICAgYm9vbCBt
b2RpZnkoRUFsdGVyYXRpb24sIGludCB2ZXJ0aWNhbERpc3RhbmNlLCBib29sIHVzZXJUcmlnZ2Vy
ZWQgPSBmYWxzZSwgQ3Vyc29yQWxpZ25PblNjcm9sbCA9IEFsaWduQ3Vyc29yT25TY3JvbGxJZk5l
ZWRlZCk7CiAgICAgVGV4dEdyYW51bGFyaXR5IGdyYW51bGFyaXR5KCkgY29uc3QgeyByZXR1cm4g
bV9ncmFudWxhcml0eTsgfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>97661</attachid>
            <date>2011-06-17 15:42:23 -0700</date>
            <delta_ts>2011-06-20 16:34:51 -0700</delta_ts>
            <desc>fixes the bug</desc>
            <filename>bug-62833-20110617154222.patch</filename>
            <type>text/plain</type>
            <size>14214</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg5MTc2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTEtMDYtMTcgIFJ5b3N1a2Ug
Tml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQXJyb3cga2V5cyBkb24ndCBtb3ZlIGNhcmV0IHByb3Blcmx5IGlu
IHZlcnRpY2FsIHdyaXRpbmcgbW9kZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTYyODMzCisKKyAgICAgICAgQWRkZWQgZW51bSBTaG91bGRTd2FwTGlu
ZUFuZENoYXJhY3RlckluVmVydGljYWxUZXh0IHRvIHRoZSBhcmd1bWVudCBsaXN0IG9mIEZyYW1l
U2VsZWN0aW9uOjptb2RpZnkuCisgICAgICAgIFN3YXAgbGluZSBhbmQgY2hhcmFjdGVyIGdyYW51
bGFyaXRpZXMgd2hlbiBTaG91bGRTd2FwTGluZUFuZENoYXJhY3RlckluVmVydGljYWxUZXh0IGlz
CisgICAgICAgIFN3YXBMaW5lQW5kQ2hhcmFjdGVySW5WZXJ0aWNhbFRleHQ7IGFsc28gc3dhcCBs
ZWZ0IGFuZCByaWdodCBpbiB2ZXJ0aWNhbC1ybC4KKworICAgICAgICBUZXN0OiBlZGl0aW5nL3Nl
bGVjdGlvbi9hcnJvdy1rZXlzLWluLXZlcnRpY2FsLXRleHQuaHRtbAorCisgICAgICAgICogV2Vi
Q29yZS5leHAuaW46CisgICAgICAgICogZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OmV4ZWN1dGVNb3ZlRG93bik6CisgICAgICAgIChXZWJDb3JlOjpleGVjdXRl
TW92ZURvd25BbmRNb2RpZnlTZWxlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6ZXhlY3V0ZU1v
dmVMZWZ0KToKKyAgICAgICAgKFdlYkNvcmU6OmV4ZWN1dGVNb3ZlTGVmdEFuZE1vZGlmeVNlbGVj
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpleGVjdXRlTW92ZVJpZ2h0KToKKyAgICAgICAgKFdl
YkNvcmU6OmV4ZWN1dGVNb3ZlUmlnaHRBbmRNb2RpZnlTZWxlY3Rpb24pOgorICAgICAgICAoV2Vi
Q29yZTo6ZXhlY3V0ZU1vdmVVcCk6CisgICAgICAgIChXZWJDb3JlOjpleGVjdXRlTW92ZVVwQW5k
TW9kaWZ5U2VsZWN0aW9uKToKKyAgICAgICAgKiBlZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjptb2RpZnkpOgorICAgICAgICAqIGVk
aXRpbmcvRnJhbWVTZWxlY3Rpb24uaDoKKwogMjAxMS0wNi0xNyAgSmVyIE5vYmxlICA8amVyLm5v
YmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGEgQ2hhbi4KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZXhwLmluCShyZXZpc2lvbiA4OTE2MikKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZXhwLmluCSh3b3JraW5nIGNvcHkpCkBAIC0zNTEsOCArMzUxLDggQEAgX19aTjdXZWJDb3Jl
MTRGcmFtZVNlbGVjdGlvbjEyc2V0U2VsZWN0aQogX19aTjdXZWJDb3JlMTRGcmFtZVNlbGVjdGlv
bjE1cmV2ZWFsU2VsZWN0aW9uRVJLTlNfMTVTY3JvbGxBbGlnbm1lbnRFYgogX19aTjdXZWJDb3Jl
MTRGcmFtZVNlbGVjdGlvbjE2c2V0U2VsZWN0ZWRSYW5nZUVQTlNfNVJhbmdlRU5TXzlFQWZmaW5p
dHlFYgogX19aTjdXZWJDb3JlMTRGcmFtZVNlbGVjdGlvbjIwc2V0U2VsZWN0aW9uRnJvbU5vbmVF
dgotX19aTjdXZWJDb3JlMTRGcmFtZVNlbGVjdGlvbjZtb2RpZnlFTlMwXzExRUFsdGVyYXRpb25F
TlNfMThTZWxlY3Rpb25EaXJlY3Rpb25FTlNfMTVUZXh0R3JhbnVsYXJpdHlFYgogX19aTjdXZWJD
b3JlMTRGcmFtZVNlbGVjdGlvbjVjbGVhckV2CitfX1pON1dlYkNvcmUxNEZyYW1lU2VsZWN0aW9u
Nm1vZGlmeUVOUzBfMTFFQWx0ZXJhdGlvbkVOU18xOFNlbGVjdGlvbkRpcmVjdGlvbkVOU18xNVRl
eHRHcmFudWxhcml0eUViTlMwXzQwU2hvdWxkU3dhcExpbmVBbmRDaGFyYWN0ZXJJblZlcnRpY2Fs
VGV4dEUKIF9fWk43V2ViQ29yZTE0RnJhbWVTZWxlY3Rpb245c2VsZWN0QWxsRXYKIF9fWk43V2Vi
Q29yZTE0RnJhbWVTZWxlY3Rpb25DMUVQTlNfNUZyYW1lRQogX19aTjdXZWJDb3JlMTRSZXNvdXJj
ZUhhbmRsZTEycmVsZWFzZVByb3h5RXYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRp
dG9yQ29tbWFuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0
b3JDb21tYW5kLmNwcAkocmV2aXNpb24gODkxNjIpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L0VkaXRvckNvbW1hbmQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MTksMTIgKzYxOSwxMiBAQCBz
dGF0aWMgYm9vbCBleGVjdXRlTW92ZUJhY2t3YXJkQW5kTW9kaWZ5CiAKIHN0YXRpYyBib29sIGV4
ZWN1dGVNb3ZlRG93bihGcmFtZSogZnJhbWUsIEV2ZW50KiwgRWRpdG9yQ29tbWFuZFNvdXJjZSwg
Y29uc3QgU3RyaW5nJikKIHsKLSAgICByZXR1cm4gZnJhbWUtPnNlbGVjdGlvbigpLT5tb2RpZnko
RnJhbWVTZWxlY3Rpb246OkFsdGVyYXRpb25Nb3ZlLCBEaXJlY3Rpb25Gb3J3YXJkLCBMaW5lR3Jh
bnVsYXJpdHksIHRydWUpOworICAgIHJldHVybiBmcmFtZS0+c2VsZWN0aW9uKCktPm1vZGlmeShG
cmFtZVNlbGVjdGlvbjo6QWx0ZXJhdGlvbk1vdmUsIERpcmVjdGlvbkZvcndhcmQsIExpbmVHcmFu
dWxhcml0eSwgdHJ1ZSwgRnJhbWVTZWxlY3Rpb246OlN3YXBMaW5lQW5kQ2hhcmFjdGVySW5WZXJ0
aWNhbFRleHQpOwogfQogCiBzdGF0aWMgYm9vbCBleGVjdXRlTW92ZURvd25BbmRNb2RpZnlTZWxl
Y3Rpb24oRnJhbWUqIGZyYW1lLCBFdmVudCosIEVkaXRvckNvbW1hbmRTb3VyY2UsIGNvbnN0IFN0
cmluZyYpCiB7Ci0gICAgZnJhbWUtPnNlbGVjdGlvbigpLT5tb2RpZnkoRnJhbWVTZWxlY3Rpb246
OkFsdGVyYXRpb25FeHRlbmQsIERpcmVjdGlvbkZvcndhcmQsIExpbmVHcmFudWxhcml0eSwgdHJ1
ZSk7CisgICAgZnJhbWUtPnNlbGVjdGlvbigpLT5tb2RpZnkoRnJhbWVTZWxlY3Rpb246OkFsdGVy
YXRpb25FeHRlbmQsIERpcmVjdGlvbkZvcndhcmQsIExpbmVHcmFudWxhcml0eSwgdHJ1ZSwgRnJh
bWVTZWxlY3Rpb246OlN3YXBMaW5lQW5kQ2hhcmFjdGVySW5WZXJ0aWNhbFRleHQpOwogICAgIHJl
dHVybiB0cnVlOwogfQogCkBAIC02NDIsMTIgKzY0MiwxMiBAQCBzdGF0aWMgYm9vbCBleGVjdXRl
TW92ZUZvcndhcmRBbmRNb2RpZnlTCiAKIHN0YXRpYyBib29sIGV4ZWN1dGVNb3ZlTGVmdChGcmFt
ZSogZnJhbWUsIEV2ZW50KiwgRWRpdG9yQ29tbWFuZFNvdXJjZSwgY29uc3QgU3RyaW5nJikKIHsK
LSAgICByZXR1cm4gZnJhbWUtPnNlbGVjdGlvbigpLT5tb2RpZnkoRnJhbWVTZWxlY3Rpb246OkFs
dGVyYXRpb25Nb3ZlLCBEaXJlY3Rpb25MZWZ0LCBDaGFyYWN0ZXJHcmFudWxhcml0eSwgdHJ1ZSk7
CisgICAgcmV0dXJuIGZyYW1lLT5zZWxlY3Rpb24oKS0+bW9kaWZ5KEZyYW1lU2VsZWN0aW9uOjpB
bHRlcmF0aW9uTW92ZSwgRGlyZWN0aW9uTGVmdCwgQ2hhcmFjdGVyR3JhbnVsYXJpdHksIHRydWUs
IEZyYW1lU2VsZWN0aW9uOjpTd2FwTGluZUFuZENoYXJhY3RlckluVmVydGljYWxUZXh0KTsKIH0K
IAogc3RhdGljIGJvb2wgZXhlY3V0ZU1vdmVMZWZ0QW5kTW9kaWZ5U2VsZWN0aW9uKEZyYW1lKiBm
cmFtZSwgRXZlbnQqLCBFZGl0b3JDb21tYW5kU291cmNlLCBjb25zdCBTdHJpbmcmKQogewotICAg
IGZyYW1lLT5zZWxlY3Rpb24oKS0+bW9kaWZ5KEZyYW1lU2VsZWN0aW9uOjpBbHRlcmF0aW9uRXh0
ZW5kLCBEaXJlY3Rpb25MZWZ0LCBDaGFyYWN0ZXJHcmFudWxhcml0eSwgdHJ1ZSk7CisgICAgZnJh
bWUtPnNlbGVjdGlvbigpLT5tb2RpZnkoRnJhbWVTZWxlY3Rpb246OkFsdGVyYXRpb25FeHRlbmQs
IERpcmVjdGlvbkxlZnQsIENoYXJhY3RlckdyYW51bGFyaXR5LCB0cnVlLCBGcmFtZVNlbGVjdGlv
bjo6U3dhcExpbmVBbmRDaGFyYWN0ZXJJblZlcnRpY2FsVGV4dCk7CiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKQEAgLTY4NSwxMiArNjg1LDEyIEBAIHN0YXRpYyBib29sIGV4ZWN1dGVNb3ZlUGFnZVVw
QW5kTW9kaWZ5U2UKIAogc3RhdGljIGJvb2wgZXhlY3V0ZU1vdmVSaWdodChGcmFtZSogZnJhbWUs
IEV2ZW50KiwgRWRpdG9yQ29tbWFuZFNvdXJjZSwgY29uc3QgU3RyaW5nJikKIHsKLSAgICByZXR1
cm4gZnJhbWUtPnNlbGVjdGlvbigpLT5tb2RpZnkoRnJhbWVTZWxlY3Rpb246OkFsdGVyYXRpb25N
b3ZlLCBEaXJlY3Rpb25SaWdodCwgQ2hhcmFjdGVyR3JhbnVsYXJpdHksIHRydWUpOworICAgIHJl
dHVybiBmcmFtZS0+c2VsZWN0aW9uKCktPm1vZGlmeShGcmFtZVNlbGVjdGlvbjo6QWx0ZXJhdGlv
bk1vdmUsIERpcmVjdGlvblJpZ2h0LCBDaGFyYWN0ZXJHcmFudWxhcml0eSwgdHJ1ZSwgRnJhbWVT
ZWxlY3Rpb246OlN3YXBMaW5lQW5kQ2hhcmFjdGVySW5WZXJ0aWNhbFRleHQpOwogfQogCiBzdGF0
aWMgYm9vbCBleGVjdXRlTW92ZVJpZ2h0QW5kTW9kaWZ5U2VsZWN0aW9uKEZyYW1lKiBmcmFtZSwg
RXZlbnQqLCBFZGl0b3JDb21tYW5kU291cmNlLCBjb25zdCBTdHJpbmcmKQogewotICAgIGZyYW1l
LT5zZWxlY3Rpb24oKS0+bW9kaWZ5KEZyYW1lU2VsZWN0aW9uOjpBbHRlcmF0aW9uRXh0ZW5kLCBE
aXJlY3Rpb25SaWdodCwgQ2hhcmFjdGVyR3JhbnVsYXJpdHksIHRydWUpOworICAgIGZyYW1lLT5z
ZWxlY3Rpb24oKS0+bW9kaWZ5KEZyYW1lU2VsZWN0aW9uOjpBbHRlcmF0aW9uRXh0ZW5kLCBEaXJl
Y3Rpb25SaWdodCwgQ2hhcmFjdGVyR3JhbnVsYXJpdHksIHRydWUsIEZyYW1lU2VsZWN0aW9uOjpT
d2FwTGluZUFuZENoYXJhY3RlckluVmVydGljYWxUZXh0KTsKICAgICByZXR1cm4gdHJ1ZTsKIH0K
IApAQCAtODA0LDEyICs4MDQsMTIgQEAgc3RhdGljIGJvb2wgZXhlY3V0ZU1vdmVQYXJhZ3JhcGhG
b3J3YXJkQQogCiBzdGF0aWMgYm9vbCBleGVjdXRlTW92ZVVwKEZyYW1lKiBmcmFtZSwgRXZlbnQq
LCBFZGl0b3JDb21tYW5kU291cmNlLCBjb25zdCBTdHJpbmcmKQogewotICAgIHJldHVybiBmcmFt
ZS0+c2VsZWN0aW9uKCktPm1vZGlmeShGcmFtZVNlbGVjdGlvbjo6QWx0ZXJhdGlvbk1vdmUsIERp
cmVjdGlvbkJhY2t3YXJkLCBMaW5lR3JhbnVsYXJpdHksIHRydWUpOworICAgIHJldHVybiBmcmFt
ZS0+c2VsZWN0aW9uKCktPm1vZGlmeShGcmFtZVNlbGVjdGlvbjo6QWx0ZXJhdGlvbk1vdmUsIERp
cmVjdGlvbkJhY2t3YXJkLCBMaW5lR3JhbnVsYXJpdHksIHRydWUsIEZyYW1lU2VsZWN0aW9uOjpT
d2FwTGluZUFuZENoYXJhY3RlckluVmVydGljYWxUZXh0KTsKIH0KIAogc3RhdGljIGJvb2wgZXhl
Y3V0ZU1vdmVVcEFuZE1vZGlmeVNlbGVjdGlvbihGcmFtZSogZnJhbWUsIEV2ZW50KiwgRWRpdG9y
Q29tbWFuZFNvdXJjZSwgY29uc3QgU3RyaW5nJikKIHsKLSAgICBmcmFtZS0+c2VsZWN0aW9uKCkt
Pm1vZGlmeShGcmFtZVNlbGVjdGlvbjo6QWx0ZXJhdGlvbkV4dGVuZCwgRGlyZWN0aW9uQmFja3dh
cmQsIExpbmVHcmFudWxhcml0eSwgdHJ1ZSk7CisgICAgZnJhbWUtPnNlbGVjdGlvbigpLT5tb2Rp
ZnkoRnJhbWVTZWxlY3Rpb246OkFsdGVyYXRpb25FeHRlbmQsIERpcmVjdGlvbkJhY2t3YXJkLCBM
aW5lR3JhbnVsYXJpdHksIHRydWUsIEZyYW1lU2VsZWN0aW9uOjpTd2FwTGluZUFuZENoYXJhY3Rl
ckluVmVydGljYWxUZXh0KTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApJbmRleDogU291cmNlL1dl
YkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAJKHJldmlzaW9uIDg5MTYyKQorKysgU291
cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTc4NywxMyArNzg3LDE0IEBAIHN0YXRpYyBib29sIGlzQm91bmRhcnkoVGV4dEdyYW51bGFyaXR5
IGcKICAgICByZXR1cm4gZ3JhbnVsYXJpdHkgPT0gTGluZUJvdW5kYXJ5IHx8IGdyYW51bGFyaXR5
ID09IFBhcmFncmFwaEJvdW5kYXJ5IHx8IGdyYW51bGFyaXR5ID09IERvY3VtZW50Qm91bmRhcnk7
CiB9ICAgIAogCi1ib29sIEZyYW1lU2VsZWN0aW9uOjptb2RpZnkoRUFsdGVyYXRpb24gYWx0ZXIs
IFNlbGVjdGlvbkRpcmVjdGlvbiBkaXJlY3Rpb24sIFRleHRHcmFudWxhcml0eSBncmFudWxhcml0
eSwgYm9vbCB1c2VyVHJpZ2dlcmVkKQorYm9vbCBGcmFtZVNlbGVjdGlvbjo6bW9kaWZ5KEVBbHRl
cmF0aW9uIGFsdGVyLCBTZWxlY3Rpb25EaXJlY3Rpb24gZGlyZWN0aW9uLCBUZXh0R3JhbnVsYXJp
dHkgZ3JhbnVsYXJpdHksIGJvb2wgdXNlclRyaWdnZXJlZCwKKyAgICBTaG91bGRTd2FwTGluZUFu
ZENoYXJhY3RlckluVmVydGljYWxUZXh0IHNob3VsZFN3YXBMaW5lQW5kQ2hhcmFjdGVySW5WZXJ0
aWNhbFRleHQpCiB7CiAgICAgaWYgKHVzZXJUcmlnZ2VyZWQpIHsKICAgICAgICAgRnJhbWVTZWxl
Y3Rpb24gdHJpYWxGcmFtZVNlbGVjdGlvbjsKICAgICAgICAgdHJpYWxGcmFtZVNlbGVjdGlvbi5z
ZXRTZWxlY3Rpb24obV9zZWxlY3Rpb24pOwogICAgICAgICB0cmlhbEZyYW1lU2VsZWN0aW9uLnNl
dElzRGlyZWN0aW9uYWwobV9pc0RpcmVjdGlvbmFsKTsKLSAgICAgICAgdHJpYWxGcmFtZVNlbGVj
dGlvbi5tb2RpZnkoYWx0ZXIsIGRpcmVjdGlvbiwgZ3JhbnVsYXJpdHksIGZhbHNlKTsKKyAgICAg
ICAgdHJpYWxGcmFtZVNlbGVjdGlvbi5tb2RpZnkoYWx0ZXIsIGRpcmVjdGlvbiwgZ3JhbnVsYXJp
dHksIGZhbHNlLCBzaG91bGRTd2FwTGluZUFuZENoYXJhY3RlckluVmVydGljYWxUZXh0KTsKIAog
ICAgICAgICBib29sIGNoYW5nZSA9IHNob3VsZENoYW5nZVNlbGVjdGlvbih0cmlhbEZyYW1lU2Vs
ZWN0aW9uLnNlbGVjdGlvbigpKTsKICAgICAgICAgaWYgKCFjaGFuZ2UpCkBAIC04MDQsNiArODA1
LDI3IEBAIGJvb2wgRnJhbWVTZWxlY3Rpb246Om1vZGlmeShFQWx0ZXJhdGlvbiAKIAogICAgIGJv
b2wgd2FzUmFuZ2UgPSBtX3NlbGVjdGlvbi5pc1JhbmdlKCk7CiAgICAgUG9zaXRpb24gb3JpZ2lu
YWxTdGFydFBvc2l0aW9uID0gbV9zZWxlY3Rpb24uc3RhcnQoKTsKKworICAgIGlmIChzaG91bGRT
d2FwTGluZUFuZENoYXJhY3RlckluVmVydGljYWxUZXh0ID09IFN3YXBMaW5lQW5kQ2hhcmFjdGVy
SW5WZXJ0aWNhbFRleHQKKyAgICAgICAgJiYgb3JpZ2luYWxTdGFydFBvc2l0aW9uLmNvbnRhaW5l
ck5vZGUoKSAmJiBvcmlnaW5hbFN0YXJ0UG9zaXRpb24uY29udGFpbmVyTm9kZSgpLT5yZW5kZXJl
cigpKSB7CisgICAgICAgIFJlbmRlckJsb2NrKiBibG9jayA9IG9yaWdpbmFsU3RhcnRQb3NpdGlv
bi5jb250YWluZXJOb2RlKCktPnJlbmRlcmVyKCktPmNvbnRhaW5pbmdCbG9jaygpOworICAgICAg
ICBpZiAoYmxvY2sgJiYgIWJsb2NrLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpKSB7CisgICAg
ICAgICAgICBpZiAoZ3JhbnVsYXJpdHkgPT0gQ2hhcmFjdGVyR3JhbnVsYXJpdHkpCisgICAgICAg
ICAgICAgICAgZ3JhbnVsYXJpdHkgPSBMaW5lR3JhbnVsYXJpdHk7CisgICAgICAgICAgICBlbHNl
IGlmIChncmFudWxhcml0eSA9PSBMaW5lR3JhbnVsYXJpdHkpCisgICAgICAgICAgICAgICAgZ3Jh
bnVsYXJpdHkgPSBDaGFyYWN0ZXJHcmFudWxhcml0eTsKKworICAgICAgICAgICAgLy8gRklYTUU6
IFRoaXMgaXMgYnJva2VuIHdoZW4gc2VsZWN0aW9uIGNyb3NzZXMgd3JpdGluZy1tb2RlIGJvdW5k
YXJ5IGJlY2F1c2Ugd2lsbEJlTW9kaWZpZWQKKyAgICAgICAgICAgIC8vIGhhcyBhbHJlYWR5IGFk
anVzdGVkIHN0YXJ0IGFuZCBlbmQgdXNpbmcgdGhlIG9yaWdpbmFsIGRpcmVjdGlvbgorICAgICAg
ICAgICAgaWYgKGJsb2NrLT5zdHlsZSgpLT53cml0aW5nTW9kZSgpID09IFJpZ2h0VG9MZWZ0V3Jp
dGluZ01vZGUpIHsKKyAgICAgICAgICAgICAgICBpZiAoZGlyZWN0aW9uID09IERpcmVjdGlvblJp
Z2h0KQorICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBEaXJlY3Rpb25MZWZ0OworICAg
ICAgICAgICAgICAgIGVsc2UgaWYgKGRpcmVjdGlvbiA9PSBEaXJlY3Rpb25MZWZ0KQorICAgICAg
ICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBEaXJlY3Rpb25SaWdodDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfQorICAgIH0KKwogICAgIFZpc2libGVQb3NpdGlvbiBwb3NpdGlvbjsKICAgICBz
d2l0Y2ggKGRpcmVjdGlvbikgewogICAgIGNhc2UgRGlyZWN0aW9uUmlnaHQ6CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oCShyZXZpc2lvbiA4OTE2MikKKysrIFNv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaAkod29ya2luZyBjb3B5KQpAQCAt
MTQ1LDcgKzE0NSw4IEBAIHB1YmxpYzoKIAogICAgIEVBZmZpbml0eSBhZmZpbml0eSgpIGNvbnN0
IHsgcmV0dXJuIG1fc2VsZWN0aW9uLmFmZmluaXR5KCk7IH0KIAotICAgIGJvb2wgbW9kaWZ5KEVB
bHRlcmF0aW9uLCBTZWxlY3Rpb25EaXJlY3Rpb24sIFRleHRHcmFudWxhcml0eSwgYm9vbCB1c2Vy
VHJpZ2dlcmVkID0gZmFsc2UpOworICAgIGVudW0gU2hvdWxkU3dhcExpbmVBbmRDaGFyYWN0ZXJJ
blZlcnRpY2FsVGV4dCB7IFN3YXBMaW5lQW5kQ2hhcmFjdGVySW5WZXJ0aWNhbFRleHQsIERvTm90
U3dhcExpbmVBbmRDaGFyYWN0ZXJJblZlcnRpY2FsVGV4dCB9OworICAgIGJvb2wgbW9kaWZ5KEVB
bHRlcmF0aW9uLCBTZWxlY3Rpb25EaXJlY3Rpb24sIFRleHRHcmFudWxhcml0eSwgYm9vbCB1c2Vy
VHJpZ2dlcmVkID0gZmFsc2UsIFNob3VsZFN3YXBMaW5lQW5kQ2hhcmFjdGVySW5WZXJ0aWNhbFRl
eHQgPSBEb05vdFN3YXBMaW5lQW5kQ2hhcmFjdGVySW5WZXJ0aWNhbFRleHQpOwogICAgIGJvb2wg
bW9kaWZ5KEVBbHRlcmF0aW9uLCBpbnQgdmVydGljYWxEaXN0YW5jZSwgYm9vbCB1c2VyVHJpZ2dl
cmVkID0gZmFsc2UsIEN1cnNvckFsaWduT25TY3JvbGwgPSBBbGlnbkN1cnNvck9uU2Nyb2xsSWZO
ZWVkZWQpOwogICAgIFRleHRHcmFudWxhcml0eSBncmFudWxhcml0eSgpIGNvbnN0IHsgcmV0dXJu
IG1fZ3JhbnVsYXJpdHk7IH0KIApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gODkxNzYpCisrKyBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAxMS0wNi0x
NyAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBcnJvdyBrZXlzIGRvbid0IG1vdmUgY2FyZXQg
cHJvcGVybHkgaW4gdmVydGljYWwgd3JpdGluZyBtb2RlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI4MzMKKworICAgICAgICBBZGRlZCB0ZXN0cyB0
byBlbnN1cmUgV2ViS2l0IG1vdmVzIGNhcmV0IHZpc3VhbGx5IGluIHZlcnRpY2FsIHdyaXRpbmcg
bW9kZXMuCisKKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9hcnJvdy1rZXlzLWluLXZlcnRp
Y2FsLXRleHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlv
bi9hcnJvdy1rZXlzLWluLXZlcnRpY2FsLXRleHQuaHRtbDogQWRkZWQuCisKIDIwMTEtMDYtMTcg
IERhdmlkIEdyb2dhbiAgPGRncm9nYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IEVyaWMgU2VpZGVsLgpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYXJy
b3cta2V5cy1pbi12ZXJ0aWNhbC10ZXh0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9hcnJvdy1rZXlzLWluLXZlcnRpY2FsLXRleHQtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24v
YXJyb3cta2V5cy1pbi12ZXJ0aWNhbC10ZXh0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwxNyBAQAorVGhpcyB0ZXN0IGVuc3VyZXMgV2ViS2l0IGludGVycHJldHMgYXJyb3cg
a2V5IG1vdmVtZW50cyBwcm9wZXJseSBpbiB2ZXJ0aWNhbCB3cml0aW5nIG1vZGUuCisKK3ZlcnRp
Y2FsLWxyCitQQVNTIHNlbGVjdGlvbkFmdGVyKGtleURvd24oImxlZnRBcnJvdyIpKSBpcyBzZWxl
Y3Rpb25BZnRlcihtb2RpZnkoImJhY2t3YXJkIiwgImxpbmUiKSkKK1BBU1Mgc2VsZWN0aW9uQWZ0
ZXIoa2V5RG93bigicmlnaHRBcnJvdyIpKSBpcyBzZWxlY3Rpb25BZnRlcihtb2RpZnkoImZvcndh
cmQiLCAibGluZSIpKQorUEFTUyBzZWxlY3Rpb25BZnRlcihrZXlEb3duKCJ1cEFycm93IikpIGlz
IHNlbGVjdGlvbkFmdGVyKG1vZGlmeSgiYmFja3dhcmQiLCAiY2hhcmFjdGVyIikpCitQQVNTIHNl
bGVjdGlvbkFmdGVyKGtleURvd24oImRvd25BcnJvdyIpKSBpcyBzZWxlY3Rpb25BZnRlcihtb2Rp
ZnkoImZvcndhcmQiLCAiY2hhcmFjdGVyIikpCisKK3ZlcnRpY2FsLXJsCitQQVNTIHNlbGVjdGlv
bkFmdGVyKGtleURvd24oImxlZnRBcnJvdyIpKSBpcyBzZWxlY3Rpb25BZnRlcihtb2RpZnkoImZv
cndhcmQiLCAibGluZSIpKQorUEFTUyBzZWxlY3Rpb25BZnRlcihrZXlEb3duKCJyaWdodEFycm93
IikpIGlzIHNlbGVjdGlvbkFmdGVyKG1vZGlmeSgiYmFja3dhcmQiLCAibGluZSIpKQorUEFTUyBz
ZWxlY3Rpb25BZnRlcihrZXlEb3duKCJ1cEFycm93IikpIGlzIHNlbGVjdGlvbkFmdGVyKG1vZGlm
eSgiYmFja3dhcmQiLCAiY2hhcmFjdGVyIikpCitQQVNTIHNlbGVjdGlvbkFmdGVyKGtleURvd24o
ImRvd25BcnJvdyIpKSBpcyBzZWxlY3Rpb25BZnRlcihtb2RpZnkoImZvcndhcmQiLCAiY2hhcmFj
dGVyIikpCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vYXJyb3cta2V5cy1pbi12ZXJ0
aWNhbC10ZXh0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vYXJyb3cta2V5cy1pbi12ZXJ0aWNhbC10ZXh0Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9hcnJvdy1rZXlzLWluLXZlcnRpY2FsLXRleHQuaHRt
bAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0
bWw7IGNoYXJzZXQ9dXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRoaXMgdGVzdCBlbnN1cmVzIFdlYktpdCBpbnRlcnBy
ZXRzIGFycm93IGtleSBtb3ZlbWVudHMgcHJvcGVybHkgaW4gdmVydGljYWwgd3JpdGluZyBtb2Rl
LjwvcD4KKzxkaXYgc3R5bGU9Ii13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1scjsgd2lk
dGg6IDEwZW07IGhlaWdodDogMTBlbTsiIGNvbnRlbnRlZGl0YWJsZT4KK+WQvui8qeOBr+eMq+OB
p+OBguOCi+OAguWQjeWJjeOBr+OBvuOBoOeEoeOBhOOAguOBqeOBk+OBp+eUn+OCjOOBn+OBi+OB
qOOCk+OBqOimi+W9k+OBjOOBpOOBi+OBrOOAguS9leOBp+OCguiWhOaal+OBhOOBmOOCgeOBmOOC
geOBl+OBn+aJgOOBp+ODi+ODo+ODvOODi+ODo+ODvOazo+OBhOOBpuOBhOOBn+S6i+OBoOOBkeOB
r+iomOaGtuOBl+OBpuOBhOOCi+OAggorPC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CisKK3ZhciBkaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnZGl2
JylbMF07CisKK2Z1bmN0aW9uIGluaXQoKSB7CisgICAgZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCku
c2V0UG9zaXRpb24oZGl2LmZpcnN0Q2hpbGQsIDUpOworCisgICAgLy8gTW92ZSBjYXJldCB0byB0
aGUgY2VudGVyIG9mIHRleHQuCisgICAgZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkubW9kaWZ5KCdt
b3ZlJywgJ2ZvcndhcmQnLCAnbGluZScpOworICAgIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLm1v
ZGlmeSgnbW92ZScsICdmb3J3YXJkJywgJ2xpbmUnKTsKKyAgICBkb2N1bWVudC5nZXRTZWxlY3Rp
b24oKS5tb2RpZnkoJ21vdmUnLCAnZm9yd2FyZCcsICdsaW5lJyk7Cit9CisKK2Z1bmN0aW9uIGtl
eURvd24obmFtZSkgeworICAgIGluaXQoKTsKKyAgICBldmVudFNlbmRlci5rZXlEb3duKG5hbWUp
OworfQorCitmdW5jdGlvbiBtb2RpZnkoZGlyZWN0aW9uLCBncmFudWxhcml0eSkgeworICAgIGlu
aXQoKTsKKyAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkubW9kaWZ5KCdtb3ZlJywgZGlyZWN0aW9u
LCBncmFudWxhcml0eSk7Cit9CisKK2Z1bmN0aW9uIHNlbGVjdGlvbkFmdGVyKCkgeworICAgIHJl
dHVybiAnKCcgKyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuYmFzZU9mZnNldCArICcsICcgKyB3aW5k
b3cuZ2V0U2VsZWN0aW9uKCkuZXh0ZW50T2Zmc2V0ICsgJyknOworfQorCitkZWJ1ZygndmVydGlj
YWwtbHInKTsKK3Nob3VsZEJlKCdzZWxlY3Rpb25BZnRlcihrZXlEb3duKCJsZWZ0QXJyb3ciKSkn
LCAnc2VsZWN0aW9uQWZ0ZXIobW9kaWZ5KCJiYWNrd2FyZCIsICJsaW5lIikpJyk7CitzaG91bGRC
ZSgnc2VsZWN0aW9uQWZ0ZXIoa2V5RG93bigicmlnaHRBcnJvdyIpKScsICdzZWxlY3Rpb25BZnRl
cihtb2RpZnkoImZvcndhcmQiLCAibGluZSIpKScpOworc2hvdWxkQmUoJ3NlbGVjdGlvbkFmdGVy
KGtleURvd24oInVwQXJyb3ciKSknLCAnc2VsZWN0aW9uQWZ0ZXIobW9kaWZ5KCJiYWNrd2FyZCIs
ICJjaGFyYWN0ZXIiKSknKTsKK3Nob3VsZEJlKCdzZWxlY3Rpb25BZnRlcihrZXlEb3duKCJkb3du
QXJyb3ciKSknLCAnc2VsZWN0aW9uQWZ0ZXIobW9kaWZ5KCJmb3J3YXJkIiwgImNoYXJhY3RlciIp
KScpOworCitkZWJ1ZygnJyk7CisKK2Rpdi5zdHlsZS53ZWJraXRXcml0aW5nTW9kZSA9ICd2ZXJ0
aWNhbC1ybCc7CisKK2RlYnVnKCd2ZXJ0aWNhbC1ybCcpOworc2hvdWxkQmUoJ3NlbGVjdGlvbkFm
dGVyKGtleURvd24oImxlZnRBcnJvdyIpKScsICdzZWxlY3Rpb25BZnRlcihtb2RpZnkoImZvcndh
cmQiLCAibGluZSIpKScpOworc2hvdWxkQmUoJ3NlbGVjdGlvbkFmdGVyKGtleURvd24oInJpZ2h0
QXJyb3ciKSknLCAnc2VsZWN0aW9uQWZ0ZXIobW9kaWZ5KCJiYWNrd2FyZCIsICJsaW5lIikpJyk7
CitzaG91bGRCZSgnc2VsZWN0aW9uQWZ0ZXIoa2V5RG93bigidXBBcnJvdyIpKScsICdzZWxlY3Rp
b25BZnRlcihtb2RpZnkoImJhY2t3YXJkIiwgImNoYXJhY3RlciIpKScpOworc2hvdWxkQmUoJ3Nl
bGVjdGlvbkFmdGVyKGtleURvd24oImRvd25BcnJvdyIpKScsICdzZWxlY3Rpb25BZnRlcihtb2Rp
ZnkoImZvcndhcmQiLCAiY2hhcmFjdGVyIikpJyk7CisKK2Rpdi5zdHlsZS5kaXNwbGF5ID0gJ25v
bmUnOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="91680"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>