<?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>39783</bug_id>
          
          <creation_ts>2010-05-26 14:11:14 -0700</creation_ts>
          <short_desc>moveChild function cleanup in RenderBlock</short_desc>
          <delta_ts>2010-05-27 01:31:23 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</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>
          <dependson>39788</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dave Hyatt">hyatt</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>230883</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-05-26 14:11:14 -0700</bug_when>
    <thetext>Clean up functions and reduce the # of arguments they need.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>230885</commentid>
    <comment_count>1</comment_count>
      <attachid>57133</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-05-26 14:13:44 -0700</bug_when>
    <thetext>Created attachment 57133
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>230888</commentid>
    <comment_count>2</comment_count>
      <attachid>57134</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-05-26 14:16:17 -0700</bug_when>
    <thetext>Created attachment 57134
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>230894</commentid>
    <comment_count>3</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-05-26 14:26:04 -0700</bug_when>
    <thetext>Fixed in r60251.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>230931</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-05-26 14:50:11 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/60251 might have broken Qt Linux Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>230949</commentid>
    <comment_count>5</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-05-26 15:07:00 -0700</bug_when>
    <thetext>*** Bug 39785 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>230950</commentid>
    <comment_count>6</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-05-26 15:07:27 -0700</bug_when>
    <thetext>Reopening, had to roll out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>230952</commentid>
    <comment_count>7</comment_count>
      <attachid>57134</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-05-26 15:08:01 -0700</bug_when>
    <thetext>Comment on attachment 57134
Patch

Not good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>231003</commentid>
    <comment_count>8</comment_count>
      <attachid>57179</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-05-26 16:42:20 -0700</bug_when>
    <thetext>Created attachment 57179
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>231016</commentid>
    <comment_count>9</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-05-26 17:41:06 -0700</bug_when>
    <thetext>Fixed in r60262.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>231020</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-05-26 17:48:02 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/60262 might have broken Qt Linux ARMv5 Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>231036</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-26 18:35:25 -0700</bug_when>
    <thetext>This broke every builder.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>231037</commentid>
    <comment_count>12</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-05-26 18:37:15 -0700</bug_when>
    <thetext>Reverted r60262 for reason:

Broke every build and is blocking me from working.  :(

Committed r60264: &lt;http://trac.webkit.org/changeset/60264&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>231179</commentid>
    <comment_count>13</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-05-27 01:31:23 -0700</bug_when>
    <thetext>Landed in r60282.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>57133</attachid>
            <date>2010-05-26 14:13:44 -0700</date>
            <delta_ts>2010-05-26 14:16:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>10977</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MDI0OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzQgQEAKKzIwMTAtMDUtMjYgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTc4MywgY2xlYW4gdXAgbW92ZUNo
aWxkIGZ1bmN0aW9ucyBpbiBSZW5kZXJCbG9jay4KKworICAgICAgICBDdXQgb3V0IHRoZSBuZWVk
IHRvIHBhc3MgdGhlIHRvIGJsb2NrJ3MgY2hpbGQgbGlzdCBieSB0aWdodGVuaW5nIHVwIHRoZSB0
eXBlIG9mIHRoZSB0byBvYmplY3QKKyAgICAgICAgZnJvbSBSZW5kZXJPYmplY3QgdG8gUmVuZGVy
QmxvY2suCisKKyAgICAgICAgSW1wbGVtZW50IHRoZSAiYXBwZW5kIiB2ZXJzaW9ucyBvZiB0aGUg
bW92ZSBmdW5jdGlvbnMgdXNpbmcgdGhlaXIgImluc2VydCIgY291bnRlcnBhcnRzLCBzaW5jZQor
ICAgICAgICBpbnNlcnRDaGlsZE5vZGUganVzdCBjYWxscyBhcHBlbmRDaGlsZE5vZGUgd2hlbiBi
ZWZvcmVDaGlsZCBpcyAwIGFueXdheS4KKworICAgICAgICBBZGQgY29tbWVudHMgZXhwbGFpbmlu
ZyB3aHkgdGhlIGRlZmF1bHQgZm9yIGZ1bGxSZW1vdmVJbnNlcnQgaXMgZmFsc2UsIGFuZCBtYWtl
IHN1cmUgYWxsIGZvcm1zCisgICAgICAgIG9mIHRoZSBtb3ZlIGZ1bmN0aW9ucyBoYXZlIHRoZSBv
cHRpb25hbCBwYXJhbWV0ZXIgZm9yIGNvbnNpc3RlbmN5LgorCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpjcmVhdGVB
bmRBcHBlbmRSb290SW5saW5lQm94KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpt
b3ZlQ2hpbGRUbyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bW92ZUFsbENoaWxk
cmVuVG8pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6Om1ha2VDaGlsZHJlbk5vbklu
bGluZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6cmVtb3ZlQ2hpbGQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
QmxvY2s6Om1vdmVDaGlsZFRvKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjptb3Zl
QWxsQ2hpbGRyZW5Ubyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJ1YnlCYXNlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclJ1YnlCYXNlOjptb3ZlSW5saW5lQ2hpbGRyZW4pOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUnVieUJhc2U6Om1vdmVCbG9ja0NoaWxkcmVuKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclJ1YnlCYXNlOjptZXJnZUJsb2NrQ2hpbGRyZW4pOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJSdWJ5UnVuLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclJ1YnlSdW46OnJlbW92ZUNoaWxkKToKKwogMjAxMC0wNS0yNiAgRGFuIEJlcm5zdGVpbiAg
PG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFR5cGVkIGFuZCByZXZpZXdlZCBieSBBbGV4ZXkg
UHJvc2t1cnlha292LgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAkocmV2aXNpb24g
NjAyMDEpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTYwMSw0MiArNjAxLDIyIEBAIFJvb3RJbmxpbmVCb3gqIFJlbmRlckJsb2NrOjpjcmVh
dGVBbmRBcHAKICAgICBtX2xpbmVCb3hlcy5hcHBlbmRMaW5lQm94KHJvb3RCb3gpOwogICAgIHJl
dHVybiByb290Qm94OwogfQotICAgIAotdm9pZCBSZW5kZXJCbG9jazo6bW92ZUNoaWxkVG8oUmVu
ZGVyT2JqZWN0KiB0bywgUmVuZGVyT2JqZWN0Q2hpbGRMaXN0KiB0b0NoaWxkTGlzdCwgUmVuZGVy
T2JqZWN0KiBjaGlsZCkKLXsKLSAgICBBU1NFUlQodGhpcyA9PSBjaGlsZC0+cGFyZW50KCkpOwot
ICAgIHRvQ2hpbGRMaXN0LT5hcHBlbmRDaGlsZE5vZGUodG8sIGNoaWxkcmVuKCktPnJlbW92ZUNo
aWxkTm9kZSh0aGlzLCBjaGlsZCwgZmFsc2UpLCBmYWxzZSk7Ci19CiAKLXZvaWQgUmVuZGVyQmxv
Y2s6Om1vdmVDaGlsZFRvKFJlbmRlck9iamVjdCogdG8sIFJlbmRlck9iamVjdENoaWxkTGlzdCog
dG9DaGlsZExpc3QsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQsIFJlbmRlck9iamVjdCogY2hp
bGQpCit2b2lkIFJlbmRlckJsb2NrOjptb3ZlQ2hpbGRUbyhSZW5kZXJCbG9jayogdG8sIFJlbmRl
ck9iamVjdCogY2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQsIGJvb2wgZnVsbFJlbW92
ZUluc2VydCkKIHsKICAgICBBU1NFUlQodGhpcyA9PSBjaGlsZC0+cGFyZW50KCkpOwogICAgIEFT
U0VSVCghYmVmb3JlQ2hpbGQgfHwgdG8gPT0gYmVmb3JlQ2hpbGQtPnBhcmVudCgpKTsKLSAgICB0
b0NoaWxkTGlzdC0+aW5zZXJ0Q2hpbGROb2RlKHRvLCBjaGlsZHJlbigpLT5yZW1vdmVDaGlsZE5v
ZGUodGhpcywgY2hpbGQsIGZhbHNlKSwgYmVmb3JlQ2hpbGQsIGZhbHNlKTsKLX0KLQotdm9pZCBS
ZW5kZXJCbG9jazo6bW92ZUFsbENoaWxkcmVuVG8oUmVuZGVyT2JqZWN0KiB0bywgUmVuZGVyT2Jq
ZWN0Q2hpbGRMaXN0KiB0b0NoaWxkTGlzdCwgYm9vbCBmdWxsUmVtb3ZlQXBwZW5kKQotewotICAg
IFJlbmRlck9iamVjdCogbmV4dENoaWxkID0gY2hpbGRyZW4oKS0+Zmlyc3RDaGlsZCgpOwotICAg
IHdoaWxlIChuZXh0Q2hpbGQpIHsKLSAgICAgICAgUmVuZGVyT2JqZWN0KiBjaGlsZCA9IG5leHRD
aGlsZDsKLSAgICAgICAgbmV4dENoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCk7Ci0gICAgICAg
IHRvQ2hpbGRMaXN0LT5hcHBlbmRDaGlsZE5vZGUodG8sIGNoaWxkcmVuKCktPnJlbW92ZUNoaWxk
Tm9kZSh0aGlzLCBjaGlsZCwgZnVsbFJlbW92ZUFwcGVuZCksIGZ1bGxSZW1vdmVBcHBlbmQpOwot
ICAgIH0KKyAgICB0by0+Y2hpbGRyZW4oKS0+aW5zZXJ0Q2hpbGROb2RlKHRvLCBjaGlsZHJlbigp
LT5yZW1vdmVDaGlsZE5vZGUodGhpcywgY2hpbGQsIGZ1bGxSZW1vdmVJbnNlcnQpLCBiZWZvcmVD
aGlsZCwgZnVsbFJlbW92ZUluc2VydCk7CiB9CiAKLXZvaWQgUmVuZGVyQmxvY2s6Om1vdmVBbGxD
aGlsZHJlblRvKFJlbmRlck9iamVjdCogdG8sIFJlbmRlck9iamVjdENoaWxkTGlzdCogdG9DaGls
ZExpc3QsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQpCit2b2lkIFJlbmRlckJsb2NrOjptb3Zl
QWxsQ2hpbGRyZW5UbyhSZW5kZXJCbG9jayogdG8sIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQs
IGJvb2wgZnVsbFJlbW92ZUluc2VydCkKIHsKICAgICBBU1NFUlQoIWJlZm9yZUNoaWxkIHx8IHRv
ID09IGJlZm9yZUNoaWxkLT5wYXJlbnQoKSk7Ci0gICAgaWYgKCFiZWZvcmVDaGlsZCkgewotICAg
ICAgICBtb3ZlQWxsQ2hpbGRyZW5Ubyh0bywgdG9DaGlsZExpc3QpOwotICAgICAgICByZXR1cm47
Ci0gICAgfQogICAgIFJlbmRlck9iamVjdCogbmV4dENoaWxkID0gY2hpbGRyZW4oKS0+Zmlyc3RD
aGlsZCgpOwogICAgIHdoaWxlIChuZXh0Q2hpbGQpIHsKICAgICAgICAgUmVuZGVyT2JqZWN0KiBj
aGlsZCA9IG5leHRDaGlsZDsKICAgICAgICAgbmV4dENoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5n
KCk7Ci0gICAgICAgIHRvQ2hpbGRMaXN0LT5pbnNlcnRDaGlsZE5vZGUodG8sIGNoaWxkcmVuKCkt
PnJlbW92ZUNoaWxkTm9kZSh0aGlzLCBjaGlsZCwgZmFsc2UpLCBiZWZvcmVDaGlsZCwgZmFsc2Up
OworICAgICAgICB0by0+Y2hpbGRyZW4oKS0+aW5zZXJ0Q2hpbGROb2RlKHRvLCBjaGlsZHJlbigp
LT5yZW1vdmVDaGlsZE5vZGUodGhpcywgY2hpbGQsIGZ1bGxSZW1vdmVJbnNlcnQpLCBiZWZvcmVD
aGlsZCwgZnVsbFJlbW92ZUluc2VydCk7CiAgICAgfQogfQogCkBAIC02NzYsOSArNjU2LDkgQEAg
dm9pZCBSZW5kZXJCbG9jazo6bWFrZUNoaWxkcmVuTm9uSW5saW5lKAogICAgICAgICAgICAgUmVu
ZGVyT2JqZWN0KiBubyA9IG87CiAgICAgICAgICAgICBvID0gbm8tPm5leHRTaWJsaW5nKCk7CiAg
ICAgICAgICAgICAKLSAgICAgICAgICAgIG1vdmVDaGlsZFRvKGJsb2NrLCBibG9jay0+Y2hpbGRy
ZW4oKSwgbm8pOworICAgICAgICAgICAgbW92ZUNoaWxkVG8oYmxvY2ssIG5vLCBmYWxzZSk7CiAg
ICAgICAgIH0KLSAgICAgICAgbW92ZUNoaWxkVG8oYmxvY2ssIGJsb2NrLT5jaGlsZHJlbigpLCBp
bmxpbmVSdW5FbmQpOworICAgICAgICBtb3ZlQ2hpbGRUbyhibG9jaywgaW5saW5lUnVuRW5kLCBm
YWxzZSk7CiAgICAgfQogCiAjaWZuZGVmIE5ERUJVRwpAQCAtNzg4LDcgKzc2OCw3IEBAIHZvaWQg
UmVuZGVyQmxvY2s6OnJlbW92ZUNoaWxkKFJlbmRlck9iamUKICAgICAgICAgfSBlbHNlIHsKICAg
ICAgICAgICAgIC8vIFRha2UgYWxsIHRoZSBjaGlsZHJlbiBvdXQgb2YgdGhlIHxuZXh0fCBibG9j
ayBhbmQgcHV0IHRoZW0gaW4KICAgICAgICAgICAgIC8vIHRoZSB8cHJldnwgYmxvY2suCi0gICAg
ICAgICAgICBuZXh0QmxvY2stPm1vdmVBbGxDaGlsZHJlblRvKHByZXZCbG9jaywgcHJldkJsb2Nr
LT5jaGlsZHJlbigpLCBuZXh0QmxvY2stPmhhc0xheWVyKCkgfHwgcHJldkJsb2NrLT5oYXNMYXll
cigpKTsKKyAgICAgICAgICAgIG5leHRCbG9jay0+bW92ZUFsbENoaWxkcmVuVG8ocHJldkJsb2Nr
LCBuZXh0QmxvY2stPmhhc0xheWVyKCkgfHwgcHJldkJsb2NrLT5oYXNMYXllcigpKTsKICAgICAg
ICAKICAgICAgICAgICAgIC8vIERlbGV0ZSB0aGUgbm93LWVtcHR5IGJsb2NrJ3MgbGluZXMgYW5k
IG51a2UgaXQuCiAgICAgICAgICAgICBuZXh0QmxvY2stPmRlbGV0ZUxpbmVCb3hUcmVlKCk7CkBA
IC04MDYsNyArNzg2LDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6cmVtb3ZlQ2hpbGQoUmVuZGVyT2Jq
ZQogICAgICAgICBzZXROZWVkc0xheW91dEFuZFByZWZXaWR0aHNSZWNhbGMoKTsKICAgICAgICAg
c2V0Q2hpbGRyZW5JbmxpbmUoY2hpbGQtPmNoaWxkcmVuSW5saW5lKCkpOwogICAgICAgICBSZW5k
ZXJCbG9jayogYW5vbkJsb2NrID0gdG9SZW5kZXJCbG9jayhjaGlsZHJlbigpLT5yZW1vdmVDaGls
ZE5vZGUodGhpcywgY2hpbGQsIGNoaWxkLT5oYXNMYXllcigpKSk7Ci0gICAgICAgIGFub25CbG9j
ay0+bW92ZUFsbENoaWxkcmVuVG8odGhpcywgY2hpbGRyZW4oKSwgY2hpbGQtPmhhc0xheWVyKCkp
OworICAgICAgICBhbm9uQmxvY2stPm1vdmVBbGxDaGlsZHJlblRvKHRoaXMsIGNoaWxkLT5oYXNM
YXllcigpKTsKICAgICAgICAgLy8gRGVsZXRlIHRoZSBub3ctZW1wdHkgYmxvY2sncyBsaW5lcyBh
bmQgbnVrZSBpdC4KICAgICAgICAgYW5vbkJsb2NrLT5kZWxldGVMaW5lQm94VHJlZSgpOwogICAg
ICAgICBhbm9uQmxvY2stPmRlc3Ryb3koKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAko
cmV2aXNpb24gNjAyMDEpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNTQsMTAgKzE1NCwxOSBAQCBwdWJsaWM6CiAgICAgaW50IGNvbHVtbkdh
cCgpIGNvbnN0OwogCiBwcm90ZWN0ZWQ6Ci0gICAgdm9pZCBtb3ZlQ2hpbGRUbyhSZW5kZXJPYmpl
Y3QqIHRvLCBSZW5kZXJPYmplY3RDaGlsZExpc3QqIHRvQ2hpbGRMaXN0LCBSZW5kZXJPYmplY3Qq
IGNoaWxkKTsKLSAgICB2b2lkIG1vdmVDaGlsZFRvKFJlbmRlck9iamVjdCogdG8sIFJlbmRlck9i
amVjdENoaWxkTGlzdCogdG9DaGlsZExpc3QsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQsIFJl
bmRlck9iamVjdCogY2hpbGQpOwotICAgIHZvaWQgbW92ZUFsbENoaWxkcmVuVG8oUmVuZGVyT2Jq
ZWN0KiB0bywgUmVuZGVyT2JqZWN0Q2hpbGRMaXN0KiB0b0NoaWxkTGlzdCwgYm9vbCBmdWxsUmVt
b3ZlQXBwZW5kID0gZmFsc2UpOwotICAgIHZvaWQgbW92ZUFsbENoaWxkcmVuVG8oUmVuZGVyT2Jq
ZWN0KiB0bywgUmVuZGVyT2JqZWN0Q2hpbGRMaXN0KiB0b0NoaWxkTGlzdCwgUmVuZGVyT2JqZWN0
KiBiZWZvcmVDaGlsZCk7CisgICAgLy8gVGhlc2UgZnVuY3Rpb25zIGFyZSBvbmx5IHVzZWQgaW50
ZXJuYWxseSB0byBtYW5pcHVsYXRlIHRoZSByZW5kZXIgdHJlZSBzdHJ1Y3R1cmUgdmlhIHJlbW92
ZS9pbnNlcnQvYXBwZW5kQ2hpbGROb2RlLgorICAgIC8vIFNpbmNlIHRoZXkgYXJlIHR5cGljYWxs
eSBjYWxsZWQgb25seSB0byBtb3ZlIG9iamVjdHMgYXJvdW5kIHdpdGhpbiBhbm9ueW1vdXMgYmxv
Y2tzICh3aGljaCBvbmx5IGhhdmUgbGF5ZXJzIGluCisgICAgLy8gdGhlIGNhc2Ugb2YgY29sdW1u
IHNwYW5zKSwgdGhlIGRlZmF1bHQgZm9yIGZ1bGxSZW1vdmVJbnNlcnQgaXMgZmFsc2UgcmF0aGVy
IHRoYW4gdHJ1ZS4KKyAgICB2b2lkIG1vdmVDaGlsZFRvKFJlbmRlckJsb2NrKiB0bywgUmVuZGVy
T2JqZWN0KiBjaGlsZCwgYm9vbCBmdWxsUmVtb3ZlSW5zZXJ0ID0gZmFsc2UpCisgICAgeworICAg
ICAgICByZXR1cm4gbW92ZUNoaWxkVG8odG8sIGNoaWxkLCAwLCBmdWxsUmVtb3ZlSW5zZXJ0KTsK
KyAgICB9CisgICAgdm9pZCBtb3ZlQ2hpbGRUbyhSZW5kZXJCbG9jayogdG8sIFJlbmRlck9iamVj
dCogY2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQsIGJvb2wgZnVsbFJlbW92ZUluc2Vy
dCA9IGZhbHNlKTsKKyAgICB2b2lkIG1vdmVBbGxDaGlsZHJlblRvKFJlbmRlckJsb2NrKiB0bywg
Ym9vbCBmdWxsUmVtb3ZlSW5zZXJ0ID0gZmFsc2UpCisgICAgeworICAgICAgICByZXR1cm4gbW92
ZUFsbENoaWxkcmVuVG8odG8sIDAsIGZ1bGxSZW1vdmVJbnNlcnQpOworICAgIH0KKyAgICB2b2lk
IG1vdmVBbGxDaGlsZHJlblRvKFJlbmRlckJsb2NrKiB0bywgUmVuZGVyT2JqZWN0KiBiZWZvcmVD
aGlsZCwgYm9vbCBmdWxsUmVtb3ZlSW5zZXJ0ID0gZmFsc2UpOwogCiAgICAgaW50IG1heFRvcFBv
c01hcmdpbigpIGNvbnN0IHsgcmV0dXJuIG1fbWF4TWFyZ2luID8gbV9tYXhNYXJnaW4tPm1fdG9w
UG9zIDogTWF4TWFyZ2luOjp0b3BQb3NEZWZhdWx0KHRoaXMpOyB9CiAgICAgaW50IG1heFRvcE5l
Z01hcmdpbigpIGNvbnN0IHsgcmV0dXJuIG1fbWF4TWFyZ2luID8gbV9tYXhNYXJnaW4tPm1fdG9w
TmVnIDogTWF4TWFyZ2luOjp0b3BOZWdEZWZhdWx0KHRoaXMpOyB9CkluZGV4OiBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJSdWJ5QmFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyUnVieUJhc2UuY3BwCShyZXZpc2lvbiA2MDIwMSkKKysrIFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclJ1YnlCYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA0LDcgKzEwNCw3IEBA
IHZvaWQgUmVuZGVyUnVieUJhc2U6Om1vdmVJbmxpbmVDaGlsZHJlbigKICAgICB9CiAgICAgLy8g
TW92ZSBvdXIgaW5saW5lIGNoaWxkcmVuIGludG8gdGhlIHRhcmdldCBibG9jayB3ZSBkZXRlcm1p
bmVkIGFib3ZlLgogICAgIGZvciAoUmVuZGVyT2JqZWN0KiBjaGlsZCA9IGZpcnN0Q2hpbGQoKTsg
Y2hpbGQgIT0gZnJvbUJlZm9yZUNoaWxkOyBjaGlsZCA9IGZpcnN0Q2hpbGQoKSkKLSAgICAgICAg
bW92ZUNoaWxkVG8odG9CbG9jaywgdG9CbG9jay0+Y2hpbGRyZW4oKSwgY2hpbGQpOworICAgICAg
ICBtb3ZlQ2hpbGRUbyh0b0Jsb2NrLCBjaGlsZCk7CiB9CiAKIHZvaWQgUmVuZGVyUnVieUJhc2U6
Om1vdmVCbG9ja0NoaWxkcmVuKFJlbmRlclJ1YnlCYXNlKiB0b0Jhc2UsIFJlbmRlck9iamVjdCog
ZnJvbUJlZm9yZUNoaWxkKQpAQCAtMTE5LDEyICsxMTksMTIgQEAgdm9pZCBSZW5kZXJSdWJ5QmFz
ZTo6bW92ZUJsb2NrQ2hpbGRyZW4oUgogICAgICAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayog
YW5vbkJsb2NrID0gdG9SZW5kZXJCbG9jayhjaGlsZCk7CiAgICAgICAgICAgICAgICAgICAgIEFT
U0VSVChhbm9uQmxvY2stPmNoaWxkcmVuSW5saW5lKCkpOwogICAgICAgICAgICAgICAgICAgICBB
U1NFUlQoIWFub25CbG9jay0+aW5saW5lRWxlbWVudENvbnRpbnVhdGlvbigpKTsKLSAgICAgICAg
ICAgICAgICAgICAgYW5vbkJsb2NrLT5tb3ZlQWxsQ2hpbGRyZW5Ubyh0b0Jhc2UsIHRvQmFzZS0+
Y2hpbGRyZW4oKSk7CisgICAgICAgICAgICAgICAgICAgIGFub25CbG9jay0+bW92ZUFsbENoaWxk
cmVuVG8odG9CYXNlKTsKICAgICAgICAgICAgICAgICAgICAgYW5vbkJsb2NrLT5kZWxldGVMaW5l
Qm94VHJlZSgpOwogICAgICAgICAgICAgICAgICAgICBhbm9uQmxvY2stPmRlc3Ryb3koKTsKICAg
ICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICBBU1NFUlQoY2hpbGQt
PmlzRmxvYXRpbmdPclBvc2l0aW9uZWQoKSk7Ci0gICAgICAgICAgICAgICAgICAgIG1vdmVDaGls
ZFRvKHRvQmFzZSwgdG9CYXNlLT5jaGlsZHJlbigpLCBjaGlsZCk7CisgICAgICAgICAgICAgICAg
ICAgIG1vdmVDaGlsZFRvKHRvQmFzZSwgY2hpbGQpOwogICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIH0KICAgICAgICAgfSBlbHNlIHsKQEAgLTE0Nyw3ICsxNDcsNyBAQCB2b2lkIFJlbmRl
clJ1YnlCYXNlOjptb3ZlQmxvY2tDaGlsZHJlbihSCiAgICAgICAgICAgICAgICAgICAgIEFTU0VS
VChhbm9uQmxvY2stPmNoaWxkcmVuSW5saW5lKCkpOwogICAgICAgICAgICAgICAgICAgICBBU1NF
UlQoIWFub25CbG9jay0+aW5saW5lRWxlbWVudENvbnRpbnVhdGlvbigpKTsKICAgICAgICAgICAg
ICAgICAgICAgLy8gTW92ZSBpbmxpbmUgY2hpbGRyZW4gb3V0IG9mIGFub255bW91cyBibG9jay4K
LSAgICAgICAgICAgICAgICAgICAgYW5vbkJsb2NrLT5tb3ZlQWxsQ2hpbGRyZW5Ubyh0aGlzLCBj
aGlsZHJlbigpLCBhbm9uQmxvY2spOworICAgICAgICAgICAgICAgICAgICBhbm9uQmxvY2stPm1v
dmVBbGxDaGlsZHJlblRvKHRoaXMsIGFub25CbG9jayk7CiAgICAgICAgICAgICAgICAgICAgIGFu
b25CbG9jay0+ZGVsZXRlTGluZUJveFRyZWUoKTsKICAgICAgICAgICAgICAgICAgICAgYW5vbkJs
b2NrLT5kZXN0cm95KCk7CiAgICAgICAgICAgICAgICAgfQpAQCAtMTc2LDEzICsxNzYsMTMgQEAg
dm9pZCBSZW5kZXJSdWJ5QmFzZTo6bWVyZ2VCbG9ja0NoaWxkcmVuKAogICAgICAgICAgICAgJiYg
bGFzdENoaWxkVGhlcmUgJiYgbGFzdENoaWxkVGhlcmUtPmlzQW5vbnltb3VzQmxvY2soKSAmJiBs
YXN0Q2hpbGRUaGVyZS0+Y2hpbGRyZW5JbmxpbmUoKSkgeyAgICAgICAgICAgIAogICAgICAgICBS
ZW5kZXJCbG9jayogYW5vbkJsb2NrSGVyZSA9IHRvUmVuZGVyQmxvY2soZmlyc3RDaGlsZEhlcmUp
OwogICAgICAgICBSZW5kZXJCbG9jayogYW5vbkJsb2NrVGhlcmUgPSB0b1JlbmRlckJsb2NrKGxh
c3RDaGlsZFRoZXJlKTsKLSAgICAgICAgYW5vbkJsb2NrSGVyZS0+bW92ZUFsbENoaWxkcmVuVG8o
YW5vbkJsb2NrVGhlcmUsIGFub25CbG9ja1RoZXJlLT5jaGlsZHJlbigpKTsKKyAgICAgICAgYW5v
bkJsb2NrSGVyZS0+bW92ZUFsbENoaWxkcmVuVG8oYW5vbkJsb2NrVGhlcmUpOwogICAgICAgICBh
bm9uQmxvY2tIZXJlLT5kZWxldGVMaW5lQm94VHJlZSgpOwogICAgICAgICBhbm9uQmxvY2tIZXJl
LT5kZXN0cm95KCk7CiAgICAgfQogICAgIC8vIE1vdmUgYWxsIHJlbWFpbmluZyBjaGlsZHJlbiBu
b3JtYWxseS4KICAgICBmb3IgKFJlbmRlck9iamVjdCogY2hpbGQgPSBmaXJzdENoaWxkKCk7IGNo
aWxkICE9IGZyb21CZWZvcmVDaGlsZDsgY2hpbGQgPSBmaXJzdENoaWxkKCkpCi0gICAgICAgIG1v
dmVDaGlsZFRvKHRvQmFzZSwgdG9CYXNlLT5jaGlsZHJlbigpLCBjaGlsZCk7CisgICAgICAgIG1v
dmVDaGlsZFRvKHRvQmFzZSwgY2hpbGQpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCklu
ZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5UnVuLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5UnVuLmNwcAkocmV2aXNpb24gNjAyMDEpCisrKyBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5UnVuLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTc1
LDggKzE3NSw4IEBAIHZvaWQgUmVuZGVyUnVieVJ1bjo6cmVtb3ZlQ2hpbGQoUmVuZGVyT2IKICAg
ICAgICAgICAgIFJlbmRlclJ1YnlCYXNlKiByaWdodEJhc2UgPSByaWdodFJ1bi0+cnVieUJhc2VT
YWZlKCk7CiAgICAgICAgICAgICAvLyBDb2xsZWN0IGFsbCBjaGlsZHJlbiBpbiBhIHNpbmdsZSBi
YXNlLCB0aGVuIHN3YXAgdGhlIGJhc2VzLgogICAgICAgICAgICAgcmlnaHRCYXNlLT5tb3ZlQ2hp
bGRyZW4oYmFzZSk7Ci0gICAgICAgICAgICBtb3ZlQ2hpbGRUbyhyaWdodFJ1biwgcmlnaHRSdW4t
PmNoaWxkcmVuKCksIGJhc2UpOwotICAgICAgICAgICAgcmlnaHRSdW4tPm1vdmVDaGlsZFRvKHRo
aXMsIGNoaWxkcmVuKCksIHJpZ2h0QmFzZSk7CisgICAgICAgICAgICBtb3ZlQ2hpbGRUbyhyaWdo
dFJ1biwgYmFzZSk7CisgICAgICAgICAgICByaWdodFJ1bi0+bW92ZUNoaWxkVG8odGhpcywgcmln
aHRCYXNlKTsKICAgICAgICAgICAgIC8vIFRoZSBub3cgZW1wdHkgcnVieSBiYXNlIHdpbGwgYmUg
cmVtb3ZlZCBiZWxvdy4KICAgICAgICAgfQogICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>57134</attachid>
            <date>2010-05-26 14:16:17 -0700</date>
            <delta_ts>2010-05-26 16:42:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>10963</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MDI0OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzQgQEAKKzIwMTAtMDUtMjYgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTc4MywgY2xlYW4gdXAgbW92ZUNo
aWxkIGZ1bmN0aW9ucyBpbiBSZW5kZXJCbG9jay4KKworICAgICAgICBDdXQgb3V0IHRoZSBuZWVk
IHRvIHBhc3MgdGhlIHRvIGJsb2NrJ3MgY2hpbGQgbGlzdCBieSB0aWdodGVuaW5nIHVwIHRoZSB0
eXBlIG9mIHRoZSB0byBvYmplY3QKKyAgICAgICAgZnJvbSBSZW5kZXJPYmplY3QgdG8gUmVuZGVy
QmxvY2suCisKKyAgICAgICAgSW1wbGVtZW50IHRoZSAiYXBwZW5kIiB2ZXJzaW9ucyBvZiB0aGUg
bW92ZSBmdW5jdGlvbnMgdXNpbmcgdGhlaXIgImluc2VydCIgY291bnRlcnBhcnRzLCBzaW5jZQor
ICAgICAgICBpbnNlcnRDaGlsZE5vZGUganVzdCBjYWxscyBhcHBlbmRDaGlsZE5vZGUgd2hlbiBi
ZWZvcmVDaGlsZCBpcyAwIGFueXdheS4KKworICAgICAgICBBZGQgY29tbWVudHMgZXhwbGFpbmlu
ZyB3aHkgdGhlIGRlZmF1bHQgZm9yIGZ1bGxSZW1vdmVJbnNlcnQgaXMgZmFsc2UsIGFuZCBtYWtl
IHN1cmUgYWxsIGZvcm1zCisgICAgICAgIG9mIHRoZSBtb3ZlIGZ1bmN0aW9ucyBoYXZlIHRoZSBv
cHRpb25hbCBwYXJhbWV0ZXIgZm9yIGNvbnNpc3RlbmN5LgorCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpjcmVhdGVB
bmRBcHBlbmRSb290SW5saW5lQm94KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpt
b3ZlQ2hpbGRUbyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bW92ZUFsbENoaWxk
cmVuVG8pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6Om1ha2VDaGlsZHJlbk5vbklu
bGluZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6cmVtb3ZlQ2hpbGQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
QmxvY2s6Om1vdmVDaGlsZFRvKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjptb3Zl
QWxsQ2hpbGRyZW5Ubyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJ1YnlCYXNlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclJ1YnlCYXNlOjptb3ZlSW5saW5lQ2hpbGRyZW4pOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUnVieUJhc2U6Om1vdmVCbG9ja0NoaWxkcmVuKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclJ1YnlCYXNlOjptZXJnZUJsb2NrQ2hpbGRyZW4pOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJSdWJ5UnVuLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclJ1YnlSdW46OnJlbW92ZUNoaWxkKToKKwogMjAxMC0wNS0yNiAgRGFuIEJlcm5zdGVpbiAg
PG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFR5cGVkIGFuZCByZXZpZXdlZCBieSBBbGV4ZXkg
UHJvc2t1cnlha292LgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAkocmV2aXNpb24g
NjAyMDEpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTYwMSw0MiArNjAxLDIyIEBAIFJvb3RJbmxpbmVCb3gqIFJlbmRlckJsb2NrOjpjcmVh
dGVBbmRBcHAKICAgICBtX2xpbmVCb3hlcy5hcHBlbmRMaW5lQm94KHJvb3RCb3gpOwogICAgIHJl
dHVybiByb290Qm94OwogfQotICAgIAotdm9pZCBSZW5kZXJCbG9jazo6bW92ZUNoaWxkVG8oUmVu
ZGVyT2JqZWN0KiB0bywgUmVuZGVyT2JqZWN0Q2hpbGRMaXN0KiB0b0NoaWxkTGlzdCwgUmVuZGVy
T2JqZWN0KiBjaGlsZCkKLXsKLSAgICBBU1NFUlQodGhpcyA9PSBjaGlsZC0+cGFyZW50KCkpOwot
ICAgIHRvQ2hpbGRMaXN0LT5hcHBlbmRDaGlsZE5vZGUodG8sIGNoaWxkcmVuKCktPnJlbW92ZUNo
aWxkTm9kZSh0aGlzLCBjaGlsZCwgZmFsc2UpLCBmYWxzZSk7Ci19CiAKLXZvaWQgUmVuZGVyQmxv
Y2s6Om1vdmVDaGlsZFRvKFJlbmRlck9iamVjdCogdG8sIFJlbmRlck9iamVjdENoaWxkTGlzdCog
dG9DaGlsZExpc3QsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQsIFJlbmRlck9iamVjdCogY2hp
bGQpCit2b2lkIFJlbmRlckJsb2NrOjptb3ZlQ2hpbGRUbyhSZW5kZXJCbG9jayogdG8sIFJlbmRl
ck9iamVjdCogY2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQsIGJvb2wgZnVsbFJlbW92
ZUluc2VydCkKIHsKICAgICBBU1NFUlQodGhpcyA9PSBjaGlsZC0+cGFyZW50KCkpOwogICAgIEFT
U0VSVCghYmVmb3JlQ2hpbGQgfHwgdG8gPT0gYmVmb3JlQ2hpbGQtPnBhcmVudCgpKTsKLSAgICB0
b0NoaWxkTGlzdC0+aW5zZXJ0Q2hpbGROb2RlKHRvLCBjaGlsZHJlbigpLT5yZW1vdmVDaGlsZE5v
ZGUodGhpcywgY2hpbGQsIGZhbHNlKSwgYmVmb3JlQ2hpbGQsIGZhbHNlKTsKLX0KLQotdm9pZCBS
ZW5kZXJCbG9jazo6bW92ZUFsbENoaWxkcmVuVG8oUmVuZGVyT2JqZWN0KiB0bywgUmVuZGVyT2Jq
ZWN0Q2hpbGRMaXN0KiB0b0NoaWxkTGlzdCwgYm9vbCBmdWxsUmVtb3ZlQXBwZW5kKQotewotICAg
IFJlbmRlck9iamVjdCogbmV4dENoaWxkID0gY2hpbGRyZW4oKS0+Zmlyc3RDaGlsZCgpOwotICAg
IHdoaWxlIChuZXh0Q2hpbGQpIHsKLSAgICAgICAgUmVuZGVyT2JqZWN0KiBjaGlsZCA9IG5leHRD
aGlsZDsKLSAgICAgICAgbmV4dENoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nKCk7Ci0gICAgICAg
IHRvQ2hpbGRMaXN0LT5hcHBlbmRDaGlsZE5vZGUodG8sIGNoaWxkcmVuKCktPnJlbW92ZUNoaWxk
Tm9kZSh0aGlzLCBjaGlsZCwgZnVsbFJlbW92ZUFwcGVuZCksIGZ1bGxSZW1vdmVBcHBlbmQpOwot
ICAgIH0KKyAgICB0by0+Y2hpbGRyZW4oKS0+aW5zZXJ0Q2hpbGROb2RlKHRvLCBjaGlsZHJlbigp
LT5yZW1vdmVDaGlsZE5vZGUodGhpcywgY2hpbGQsIGZ1bGxSZW1vdmVJbnNlcnQpLCBiZWZvcmVD
aGlsZCwgZnVsbFJlbW92ZUluc2VydCk7CiB9CiAKLXZvaWQgUmVuZGVyQmxvY2s6Om1vdmVBbGxD
aGlsZHJlblRvKFJlbmRlck9iamVjdCogdG8sIFJlbmRlck9iamVjdENoaWxkTGlzdCogdG9DaGls
ZExpc3QsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQpCit2b2lkIFJlbmRlckJsb2NrOjptb3Zl
QWxsQ2hpbGRyZW5UbyhSZW5kZXJCbG9jayogdG8sIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQs
IGJvb2wgZnVsbFJlbW92ZUluc2VydCkKIHsKICAgICBBU1NFUlQoIWJlZm9yZUNoaWxkIHx8IHRv
ID09IGJlZm9yZUNoaWxkLT5wYXJlbnQoKSk7Ci0gICAgaWYgKCFiZWZvcmVDaGlsZCkgewotICAg
ICAgICBtb3ZlQWxsQ2hpbGRyZW5Ubyh0bywgdG9DaGlsZExpc3QpOwotICAgICAgICByZXR1cm47
Ci0gICAgfQogICAgIFJlbmRlck9iamVjdCogbmV4dENoaWxkID0gY2hpbGRyZW4oKS0+Zmlyc3RD
aGlsZCgpOwogICAgIHdoaWxlIChuZXh0Q2hpbGQpIHsKICAgICAgICAgUmVuZGVyT2JqZWN0KiBj
aGlsZCA9IG5leHRDaGlsZDsKICAgICAgICAgbmV4dENoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5n
KCk7Ci0gICAgICAgIHRvQ2hpbGRMaXN0LT5pbnNlcnRDaGlsZE5vZGUodG8sIGNoaWxkcmVuKCkt
PnJlbW92ZUNoaWxkTm9kZSh0aGlzLCBjaGlsZCwgZmFsc2UpLCBiZWZvcmVDaGlsZCwgZmFsc2Up
OworICAgICAgICB0by0+Y2hpbGRyZW4oKS0+aW5zZXJ0Q2hpbGROb2RlKHRvLCBjaGlsZHJlbigp
LT5yZW1vdmVDaGlsZE5vZGUodGhpcywgY2hpbGQsIGZ1bGxSZW1vdmVJbnNlcnQpLCBiZWZvcmVD
aGlsZCwgZnVsbFJlbW92ZUluc2VydCk7CiAgICAgfQogfQogCkBAIC02NzYsOSArNjU2LDkgQEAg
dm9pZCBSZW5kZXJCbG9jazo6bWFrZUNoaWxkcmVuTm9uSW5saW5lKAogICAgICAgICAgICAgUmVu
ZGVyT2JqZWN0KiBubyA9IG87CiAgICAgICAgICAgICBvID0gbm8tPm5leHRTaWJsaW5nKCk7CiAg
ICAgICAgICAgICAKLSAgICAgICAgICAgIG1vdmVDaGlsZFRvKGJsb2NrLCBibG9jay0+Y2hpbGRy
ZW4oKSwgbm8pOworICAgICAgICAgICAgbW92ZUNoaWxkVG8oYmxvY2ssIG5vKTsKICAgICAgICAg
fQotICAgICAgICBtb3ZlQ2hpbGRUbyhibG9jaywgYmxvY2stPmNoaWxkcmVuKCksIGlubGluZVJ1
bkVuZCk7CisgICAgICAgIG1vdmVDaGlsZFRvKGJsb2NrLCBpbmxpbmVSdW5FbmQpOwogICAgIH0K
IAogI2lmbmRlZiBOREVCVUcKQEAgLTc4OCw3ICs3NjgsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpy
ZW1vdmVDaGlsZChSZW5kZXJPYmplCiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAvLyBU
YWtlIGFsbCB0aGUgY2hpbGRyZW4gb3V0IG9mIHRoZSB8bmV4dHwgYmxvY2sgYW5kIHB1dCB0aGVt
IGluCiAgICAgICAgICAgICAvLyB0aGUgfHByZXZ8IGJsb2NrLgotICAgICAgICAgICAgbmV4dEJs
b2NrLT5tb3ZlQWxsQ2hpbGRyZW5UbyhwcmV2QmxvY2ssIHByZXZCbG9jay0+Y2hpbGRyZW4oKSwg
bmV4dEJsb2NrLT5oYXNMYXllcigpIHx8IHByZXZCbG9jay0+aGFzTGF5ZXIoKSk7CisgICAgICAg
ICAgICBuZXh0QmxvY2stPm1vdmVBbGxDaGlsZHJlblRvKHByZXZCbG9jaywgbmV4dEJsb2NrLT5o
YXNMYXllcigpIHx8IHByZXZCbG9jay0+aGFzTGF5ZXIoKSk7CiAgICAgICAgCiAgICAgICAgICAg
ICAvLyBEZWxldGUgdGhlIG5vdy1lbXB0eSBibG9jaydzIGxpbmVzIGFuZCBudWtlIGl0LgogICAg
ICAgICAgICAgbmV4dEJsb2NrLT5kZWxldGVMaW5lQm94VHJlZSgpOwpAQCAtODA2LDcgKzc4Niw3
IEBAIHZvaWQgUmVuZGVyQmxvY2s6OnJlbW92ZUNoaWxkKFJlbmRlck9iamUKICAgICAgICAgc2V0
TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhzUmVjYWxjKCk7CiAgICAgICAgIHNldENoaWxkcmVuSW5s
aW5lKGNoaWxkLT5jaGlsZHJlbklubGluZSgpKTsKICAgICAgICAgUmVuZGVyQmxvY2sqIGFub25C
bG9jayA9IHRvUmVuZGVyQmxvY2soY2hpbGRyZW4oKS0+cmVtb3ZlQ2hpbGROb2RlKHRoaXMsIGNo
aWxkLCBjaGlsZC0+aGFzTGF5ZXIoKSkpOwotICAgICAgICBhbm9uQmxvY2stPm1vdmVBbGxDaGls
ZHJlblRvKHRoaXMsIGNoaWxkcmVuKCksIGNoaWxkLT5oYXNMYXllcigpKTsKKyAgICAgICAgYW5v
bkJsb2NrLT5tb3ZlQWxsQ2hpbGRyZW5Ubyh0aGlzLCBjaGlsZC0+aGFzTGF5ZXIoKSk7CiAgICAg
ICAgIC8vIERlbGV0ZSB0aGUgbm93LWVtcHR5IGJsb2NrJ3MgbGluZXMgYW5kIG51a2UgaXQuCiAg
ICAgICAgIGFub25CbG9jay0+ZGVsZXRlTGluZUJveFRyZWUoKTsKICAgICAgICAgYW5vbkJsb2Nr
LT5kZXN0cm95KCk7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgJKHJldmlzaW9uIDYwMjAx
KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAkod29ya2luZyBjb3B5KQpAQCAt
MTU0LDEwICsxNTQsMTkgQEAgcHVibGljOgogICAgIGludCBjb2x1bW5HYXAoKSBjb25zdDsKIAog
cHJvdGVjdGVkOgotICAgIHZvaWQgbW92ZUNoaWxkVG8oUmVuZGVyT2JqZWN0KiB0bywgUmVuZGVy
T2JqZWN0Q2hpbGRMaXN0KiB0b0NoaWxkTGlzdCwgUmVuZGVyT2JqZWN0KiBjaGlsZCk7Ci0gICAg
dm9pZCBtb3ZlQ2hpbGRUbyhSZW5kZXJPYmplY3QqIHRvLCBSZW5kZXJPYmplY3RDaGlsZExpc3Qq
IHRvQ2hpbGRMaXN0LCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkLCBSZW5kZXJPYmplY3QqIGNo
aWxkKTsKLSAgICB2b2lkIG1vdmVBbGxDaGlsZHJlblRvKFJlbmRlck9iamVjdCogdG8sIFJlbmRl
ck9iamVjdENoaWxkTGlzdCogdG9DaGlsZExpc3QsIGJvb2wgZnVsbFJlbW92ZUFwcGVuZCA9IGZh
bHNlKTsKLSAgICB2b2lkIG1vdmVBbGxDaGlsZHJlblRvKFJlbmRlck9iamVjdCogdG8sIFJlbmRl
ck9iamVjdENoaWxkTGlzdCogdG9DaGlsZExpc3QsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQp
OworICAgIC8vIFRoZXNlIGZ1bmN0aW9ucyBhcmUgb25seSB1c2VkIGludGVybmFsbHkgdG8gbWFu
aXB1bGF0ZSB0aGUgcmVuZGVyIHRyZWUgc3RydWN0dXJlIHZpYSByZW1vdmUvaW5zZXJ0L2FwcGVu
ZENoaWxkTm9kZS4KKyAgICAvLyBTaW5jZSB0aGV5IGFyZSB0eXBpY2FsbHkgY2FsbGVkIG9ubHkg
dG8gbW92ZSBvYmplY3RzIGFyb3VuZCB3aXRoaW4gYW5vbnltb3VzIGJsb2NrcyAod2hpY2ggb25s
eSBoYXZlIGxheWVycyBpbgorICAgIC8vIHRoZSBjYXNlIG9mIGNvbHVtbiBzcGFucyksIHRoZSBk
ZWZhdWx0IGZvciBmdWxsUmVtb3ZlSW5zZXJ0IGlzIGZhbHNlIHJhdGhlciB0aGFuIHRydWUuCisg
ICAgdm9pZCBtb3ZlQ2hpbGRUbyhSZW5kZXJCbG9jayogdG8sIFJlbmRlck9iamVjdCogY2hpbGQs
IGJvb2wgZnVsbFJlbW92ZUluc2VydCA9IGZhbHNlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIG1v
dmVDaGlsZFRvKHRvLCBjaGlsZCwgMCwgZnVsbFJlbW92ZUluc2VydCk7CisgICAgfQorICAgIHZv
aWQgbW92ZUNoaWxkVG8oUmVuZGVyQmxvY2sqIHRvLCBSZW5kZXJPYmplY3QqIGNoaWxkLCBSZW5k
ZXJPYmplY3QqIGJlZm9yZUNoaWxkLCBib29sIGZ1bGxSZW1vdmVJbnNlcnQgPSBmYWxzZSk7Cisg
ICAgdm9pZCBtb3ZlQWxsQ2hpbGRyZW5UbyhSZW5kZXJCbG9jayogdG8sIGJvb2wgZnVsbFJlbW92
ZUluc2VydCA9IGZhbHNlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIG1vdmVBbGxDaGlsZHJlblRv
KHRvLCAwLCBmdWxsUmVtb3ZlSW5zZXJ0KTsKKyAgICB9CisgICAgdm9pZCBtb3ZlQWxsQ2hpbGRy
ZW5UbyhSZW5kZXJCbG9jayogdG8sIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQsIGJvb2wgZnVs
bFJlbW92ZUluc2VydCA9IGZhbHNlKTsKIAogICAgIGludCBtYXhUb3BQb3NNYXJnaW4oKSBjb25z
dCB7IHJldHVybiBtX21heE1hcmdpbiA/IG1fbWF4TWFyZ2luLT5tX3RvcFBvcyA6IE1heE1hcmdp
bjo6dG9wUG9zRGVmYXVsdCh0aGlzKTsgfQogICAgIGludCBtYXhUb3BOZWdNYXJnaW4oKSBjb25z
dCB7IHJldHVybiBtX21heE1hcmdpbiA/IG1fbWF4TWFyZ2luLT5tX3RvcE5lZyA6IE1heE1hcmdp
bjo6dG9wTmVnRGVmYXVsdCh0aGlzKTsgfQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
UnVieUJhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJ1YnlC
YXNlLmNwcAkocmV2aXNpb24gNjAyMDEpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5
QmFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNCw3ICsxMDQsNyBAQCB2b2lkIFJlbmRlclJ1
YnlCYXNlOjptb3ZlSW5saW5lQ2hpbGRyZW4oCiAgICAgfQogICAgIC8vIE1vdmUgb3VyIGlubGlu
ZSBjaGlsZHJlbiBpbnRvIHRoZSB0YXJnZXQgYmxvY2sgd2UgZGV0ZXJtaW5lZCBhYm92ZS4KICAg
ICBmb3IgKFJlbmRlck9iamVjdCogY2hpbGQgPSBmaXJzdENoaWxkKCk7IGNoaWxkICE9IGZyb21C
ZWZvcmVDaGlsZDsgY2hpbGQgPSBmaXJzdENoaWxkKCkpCi0gICAgICAgIG1vdmVDaGlsZFRvKHRv
QmxvY2ssIHRvQmxvY2stPmNoaWxkcmVuKCksIGNoaWxkKTsKKyAgICAgICAgbW92ZUNoaWxkVG8o
dG9CbG9jaywgY2hpbGQpOwogfQogCiB2b2lkIFJlbmRlclJ1YnlCYXNlOjptb3ZlQmxvY2tDaGls
ZHJlbihSZW5kZXJSdWJ5QmFzZSogdG9CYXNlLCBSZW5kZXJPYmplY3QqIGZyb21CZWZvcmVDaGls
ZCkKQEAgLTExOSwxMiArMTE5LDEyIEBAIHZvaWQgUmVuZGVyUnVieUJhc2U6Om1vdmVCbG9ja0No
aWxkcmVuKFIKICAgICAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sqIGFub25CbG9jayA9IHRv
UmVuZGVyQmxvY2soY2hpbGQpOwogICAgICAgICAgICAgICAgICAgICBBU1NFUlQoYW5vbkJsb2Nr
LT5jaGlsZHJlbklubGluZSgpKTsKICAgICAgICAgICAgICAgICAgICAgQVNTRVJUKCFhbm9uQmxv
Y2stPmlubGluZUVsZW1lbnRDb250aW51YXRpb24oKSk7Ci0gICAgICAgICAgICAgICAgICAgIGFu
b25CbG9jay0+bW92ZUFsbENoaWxkcmVuVG8odG9CYXNlLCB0b0Jhc2UtPmNoaWxkcmVuKCkpOwor
ICAgICAgICAgICAgICAgICAgICBhbm9uQmxvY2stPm1vdmVBbGxDaGlsZHJlblRvKHRvQmFzZSk7
CiAgICAgICAgICAgICAgICAgICAgIGFub25CbG9jay0+ZGVsZXRlTGluZUJveFRyZWUoKTsKICAg
ICAgICAgICAgICAgICAgICAgYW5vbkJsb2NrLT5kZXN0cm95KCk7CiAgICAgICAgICAgICAgICAg
fSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgQVNTRVJUKGNoaWxkLT5pc0Zsb2F0aW5nT3JQ
b3NpdGlvbmVkKCkpOwotICAgICAgICAgICAgICAgICAgICBtb3ZlQ2hpbGRUbyh0b0Jhc2UsIHRv
QmFzZS0+Y2hpbGRyZW4oKSwgY2hpbGQpOworICAgICAgICAgICAgICAgICAgICBtb3ZlQ2hpbGRU
byh0b0Jhc2UsIGNoaWxkKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0gZWxzZSB7CkBAIC0xNDcsNyArMTQ3LDcgQEAgdm9pZCBSZW5kZXJSdWJ5QmFzZTo6bW92
ZUJsb2NrQ2hpbGRyZW4oUgogICAgICAgICAgICAgICAgICAgICBBU1NFUlQoYW5vbkJsb2NrLT5j
aGlsZHJlbklubGluZSgpKTsKICAgICAgICAgICAgICAgICAgICAgQVNTRVJUKCFhbm9uQmxvY2st
PmlubGluZUVsZW1lbnRDb250aW51YXRpb24oKSk7CiAgICAgICAgICAgICAgICAgICAgIC8vIE1v
dmUgaW5saW5lIGNoaWxkcmVuIG91dCBvZiBhbm9ueW1vdXMgYmxvY2suCi0gICAgICAgICAgICAg
ICAgICAgIGFub25CbG9jay0+bW92ZUFsbENoaWxkcmVuVG8odGhpcywgY2hpbGRyZW4oKSwgYW5v
bkJsb2NrKTsKKyAgICAgICAgICAgICAgICAgICAgYW5vbkJsb2NrLT5tb3ZlQWxsQ2hpbGRyZW5U
byh0aGlzLCBhbm9uQmxvY2spOwogICAgICAgICAgICAgICAgICAgICBhbm9uQmxvY2stPmRlbGV0
ZUxpbmVCb3hUcmVlKCk7CiAgICAgICAgICAgICAgICAgICAgIGFub25CbG9jay0+ZGVzdHJveSgp
OwogICAgICAgICAgICAgICAgIH0KQEAgLTE3NiwxMyArMTc2LDEzIEBAIHZvaWQgUmVuZGVyUnVi
eUJhc2U6Om1lcmdlQmxvY2tDaGlsZHJlbigKICAgICAgICAgICAgICYmIGxhc3RDaGlsZFRoZXJl
ICYmIGxhc3RDaGlsZFRoZXJlLT5pc0Fub255bW91c0Jsb2NrKCkgJiYgbGFzdENoaWxkVGhlcmUt
PmNoaWxkcmVuSW5saW5lKCkpIHsgICAgICAgICAgICAKICAgICAgICAgUmVuZGVyQmxvY2sqIGFu
b25CbG9ja0hlcmUgPSB0b1JlbmRlckJsb2NrKGZpcnN0Q2hpbGRIZXJlKTsKICAgICAgICAgUmVu
ZGVyQmxvY2sqIGFub25CbG9ja1RoZXJlID0gdG9SZW5kZXJCbG9jayhsYXN0Q2hpbGRUaGVyZSk7
Ci0gICAgICAgIGFub25CbG9ja0hlcmUtPm1vdmVBbGxDaGlsZHJlblRvKGFub25CbG9ja1RoZXJl
LCBhbm9uQmxvY2tUaGVyZS0+Y2hpbGRyZW4oKSk7CisgICAgICAgIGFub25CbG9ja0hlcmUtPm1v
dmVBbGxDaGlsZHJlblRvKGFub25CbG9ja1RoZXJlKTsKICAgICAgICAgYW5vbkJsb2NrSGVyZS0+
ZGVsZXRlTGluZUJveFRyZWUoKTsKICAgICAgICAgYW5vbkJsb2NrSGVyZS0+ZGVzdHJveSgpOwog
ICAgIH0KICAgICAvLyBNb3ZlIGFsbCByZW1haW5pbmcgY2hpbGRyZW4gbm9ybWFsbHkuCiAgICAg
Zm9yIChSZW5kZXJPYmplY3QqIGNoaWxkID0gZmlyc3RDaGlsZCgpOyBjaGlsZCAhPSBmcm9tQmVm
b3JlQ2hpbGQ7IGNoaWxkID0gZmlyc3RDaGlsZCgpKQotICAgICAgICBtb3ZlQ2hpbGRUbyh0b0Jh
c2UsIHRvQmFzZS0+Y2hpbGRyZW4oKSwgY2hpbGQpOworICAgICAgICBtb3ZlQ2hpbGRUbyh0b0Jh
c2UsIGNoaWxkKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyUnVieVJ1bi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyUnVieVJ1bi5jcHAJKHJldmlzaW9uIDYwMjAxKQorKysgV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyUnVieVJ1bi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3NSw4ICsxNzUsOCBAQCB2
b2lkIFJlbmRlclJ1YnlSdW46OnJlbW92ZUNoaWxkKFJlbmRlck9iCiAgICAgICAgICAgICBSZW5k
ZXJSdWJ5QmFzZSogcmlnaHRCYXNlID0gcmlnaHRSdW4tPnJ1YnlCYXNlU2FmZSgpOwogICAgICAg
ICAgICAgLy8gQ29sbGVjdCBhbGwgY2hpbGRyZW4gaW4gYSBzaW5nbGUgYmFzZSwgdGhlbiBzd2Fw
IHRoZSBiYXNlcy4KICAgICAgICAgICAgIHJpZ2h0QmFzZS0+bW92ZUNoaWxkcmVuKGJhc2UpOwot
ICAgICAgICAgICAgbW92ZUNoaWxkVG8ocmlnaHRSdW4sIHJpZ2h0UnVuLT5jaGlsZHJlbigpLCBi
YXNlKTsKLSAgICAgICAgICAgIHJpZ2h0UnVuLT5tb3ZlQ2hpbGRUbyh0aGlzLCBjaGlsZHJlbigp
LCByaWdodEJhc2UpOworICAgICAgICAgICAgbW92ZUNoaWxkVG8ocmlnaHRSdW4sIGJhc2UpOwor
ICAgICAgICAgICAgcmlnaHRSdW4tPm1vdmVDaGlsZFRvKHRoaXMsIHJpZ2h0QmFzZSk7CiAgICAg
ICAgICAgICAvLyBUaGUgbm93IGVtcHR5IHJ1YnkgYmFzZSB3aWxsIGJlIHJlbW92ZWQgYmVsb3cu
CiAgICAgICAgIH0KICAgICB9Cg==
</data>
<flag name="review"
          id="41664"
          type_id="1"
          status="-"
          setter="hyatt"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>57179</attachid>
            <date>2010-05-26 16:42:20 -0700</date>
            <delta_ts>2010-05-26 16:44:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>13059</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MDI1OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDIgQEAKKzIwMTAtMDUtMjYgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTc4MywgY2xlYW4gdXAgdGhlIG1v
dmVDaGlsZCBmdW5jdGlvbnMgb24gUmVuZGVyQmxvY2suCisgICAgICAgIAorICAgICAgICBFbGlt
aW5hdGUgdGhlIG5lZWQgdG8gcGFzcyB0aGUgdG9DaGlsZHJlbkxpc3QgdG8gdGhlIG1vdmVDaGls
ZCBmdW5jdGlvbnMgYnkgdGlnaHRlbmluZyB1cCB0aGUgdHlwZSBvZiB0aGUKKyAgICAgICAgfHRv
fCBhcmd1bWVudCB0byBiZSBhIFJlbmRlckJsb2NrLgorICAgICAgICAKKyAgICAgICAgQWRkIGEg
bW92ZUNoaWxkcmVuVG8gZnVuY3Rpb24gdGhhdCBjYW4gbW92ZSBhIHJhbmdlIG9mIGNoaWxkcmVu
LCBhbmQgcGF0Y2ggcGxhY2VzIHRoYXQgd2VyZSBkb2luZyB0aGlzCisgICAgICAgIGJ5IGhhbmQu
CisKKyAgICAgICAgTWFrZSB0aGUgYXBwZW5kIGZvcm1zIG9mIHRoZSBmdW5jdGlvbnMganVzdCB1
c2UgdGhlIGluc2VydCBmb3JtcyB3aXRoIGEgYmVmb3JlQ2hpbGQgb2YgMC4KKyAgICAgICAgCisg
ICAgICAgIFBhdGNoIGluc2VydENoaWxkTm9kZSBpbiBSZW5kZXJPYmplY3RDaGlsZExpc3Qgc28g
dGhhdCBpdCBwYXNzZXMgdGhlIGZ1bGxJbnNlcnQgcGFyYW1ldGVyIHRocm91Z2ggaW4gdGhlCisg
ICAgICAgIGNhc2Ugd2hlcmUgaXQgZG9lcyBhbiBhcHBlbmQuCisgICAgICAgIAorICAgICAgICBB
ZGQgYW4gYXNzZXJ0IHRvIFJlbmRlckxheWVyIHRoYXQgY2F0Y2hlcyBiYWQgc3RydWN0dXJlIGJ1
aWx0IHdoZW4gdGhlIGZ1bGxJbnNlcnQvUmVtb3ZlIHBhcmFtZXRlcnMgYXJlCisgICAgICAgIG1l
c3NlZCB1cCB3aGVuIHVzaW5nIGFwcGVuZC9pbnNlcnRDaGlsZE5vZGUuCisKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6
OnNwbGl0QW5vbnltb3VzQmxvY2tzQXJvdW5kQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyQmxvY2s6Om1ha2VDaGlsZHJlbkFub255bW91c0NvbHVtbkJsb2Nrcyk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJCbG9jazo6Y3JlYXRlQW5kQXBwZW5kUm9vdElubGluZUJveCk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bW92ZUNoaWxkVG8pOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQmxvY2s6Om1vdmVDaGlsZHJlblRvKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJsb2NrOjptYWtlQ2hpbGRyZW5Ob25JbmxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
QmxvY2s6OnJlbW92ZUNoaWxkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suaDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjptb3ZlQ2hpbGRUbyk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJCbG9jazo6bW92ZUFsbENoaWxkcmVuVG8pOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQmxvY2s6Om1vdmVDaGlsZHJlblRvKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmFkZENoaWxkKToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Q2hpbGRMaXN0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlck9iamVjdENoaWxkTGlzdDo6aW5zZXJ0Q2hpbGROb2RlKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyUnVieUJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyUnVieUJhc2U6Om1vdmVJbmxpbmVDaGlsZHJlbik6CisKIDIwMTAtMDUtMjUgIEFuZGVycyBD
YXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJp
biBBZGxlci4KSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHJldmlzaW9uIDYwMjU1
KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zMjIsMTQgKzMyMiw3IEBAIFJlbmRlck9iamVjdCogUmVuZGVyQmxvY2s6OnNwbGl0QW5vbnlt
b3UKICAgICAgICAgICAgIHBvc3QtPnNldENoaWxkcmVuSW5saW5lKGJsb2NrVG9TcGxpdC0+Y2hp
bGRyZW5JbmxpbmUoKSk7CiAgICAgICAgICAgICBSZW5kZXJCbG9jayogcGFyZW50QmxvY2sgPSB0
b1JlbmRlckJsb2NrKGJsb2NrVG9TcGxpdC0+cGFyZW50KCkpOwogICAgICAgICAgICAgcGFyZW50
QmxvY2stPmNoaWxkcmVuKCktPmluc2VydENoaWxkTm9kZShwYXJlbnRCbG9jaywgcG9zdCwgYmxv
Y2tUb1NwbGl0LT5uZXh0U2libGluZygpKTsKLSAgICAgICAgICAgIFJlbmRlck9iamVjdCogbyA9
IGJlZm9yZUNoaWxkOwotICAgICAgICAgICAgd2hpbGUgKG8pIHsKLSAgICAgICAgICAgICAgICBS
ZW5kZXJPYmplY3QqIG5vID0gbzsKLSAgICAgICAgICAgICAgICBvID0gbm8tPm5leHRTaWJsaW5n
KCk7Ci0gICAgICAgICAgICAgICAgcG9zdC0+Y2hpbGRyZW4oKS0+YXBwZW5kQ2hpbGROb2RlKHBv
c3QsIGJsb2NrVG9TcGxpdC0+Y2hpbGRyZW4oKS0+cmVtb3ZlQ2hpbGROb2RlKGJsb2NrVG9TcGxp
dCwgbm8pKTsKLSAgICAgICAgICAgICAgICBuby0+c2V0TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhz
UmVjYWxjKCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKKyAgICAgICAgICAgIGJsb2Nr
VG9TcGxpdC0+bW92ZUNoaWxkcmVuVG8ocG9zdCwgYmVmb3JlQ2hpbGQsIDAsIGJsb2NrVG9TcGxp
dC0+aGFzTGF5ZXIoKSk7CiAgICAgICAgICAgICBwb3N0LT5zZXROZWVkc0xheW91dEFuZFByZWZX
aWR0aHNSZWNhbGMoKTsKICAgICAgICAgICAgIGJsb2NrVG9TcGxpdC0+c2V0TmVlZHNMYXlvdXRB
bmRQcmVmV2lkdGhzUmVjYWxjKCk7CiAgICAgICAgICAgICBiZWZvcmVDaGlsZCA9IHBvc3Q7CkBA
IC0zNzEsMjUgKzM2NCw5IEBAIHZvaWQgUmVuZGVyQmxvY2s6Om1ha2VDaGlsZHJlbkFub255bW91
c0MKICAgICAgICAgYmxvY2stPmNoaWxkcmVuKCktPmluc2VydENoaWxkTm9kZShibG9jaywgcG9z
dCwgYm94Rmlyc3QpOwogICAgIGJsb2NrLT5zZXRDaGlsZHJlbklubGluZShmYWxzZSk7CiAgICAg
Ci0gICAgUmVuZGVyT2JqZWN0KiBvID0gYm94Rmlyc3Q7Ci0gICAgd2hpbGUgKG8pIHsKLSAgICAg
ICAgaWYgKG8gPT0gYmVmb3JlQ2hpbGQpCi0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgQVNT
RVJUKHByZSk7Ci0gICAgICAgIFJlbmRlck9iamVjdCogbm8gPSBvOwotICAgICAgICBvID0gbm8t
Pm5leHRTaWJsaW5nKCk7Ci0gICAgICAgIHByZS0+Y2hpbGRyZW4oKS0+YXBwZW5kQ2hpbGROb2Rl
KHByZSwgYmxvY2stPmNoaWxkcmVuKCktPnJlbW92ZUNoaWxkTm9kZShibG9jaywgbm8pKTsKLSAg
ICAgICAgbm8tPnNldE5lZWRzTGF5b3V0QW5kUHJlZldpZHRoc1JlY2FsYygpOwotICAgIH0KLQot
ICAgIG8gPSBiZWZvcmVDaGlsZDsKLSAgICB3aGlsZSAobykgewotICAgICAgICBBU1NFUlQocG9z
dCk7Ci0gICAgICAgIFJlbmRlck9iamVjdCogbm8gPSBvOwotICAgICAgICBvID0gbm8tPm5leHRT
aWJsaW5nKCk7Ci0gICAgICAgIHBvc3QtPmNoaWxkcmVuKCktPmFwcGVuZENoaWxkTm9kZShwb3N0
LCBibG9jay0+Y2hpbGRyZW4oKS0+cmVtb3ZlQ2hpbGROb2RlKGJsb2NrLCBubykpOwotICAgICAg
ICBuby0+c2V0TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhzUmVjYWxjKCk7Ci0gICAgfQorICAgIC8v
IFRoZSBwcmUvcG9zdCBibG9ja3MgYWx3YXlzIGhhdmUgbGF5ZXJzLCBzbyB3ZSBrbm93IHRvIGFs
d2F5cyBkbyBhIGZ1bGwgaW5zZXJ0L3JlbW92ZSAoc28gd2UgcGFzcyB0cnVlIGFzIHRoZSBsYXN0
IGFyZ3VtZW50KS4KKyAgICBibG9jay0+bW92ZUNoaWxkcmVuVG8ocHJlLCBib3hGaXJzdCwgYmVm
b3JlQ2hpbGQsIHRydWUpOworICAgIGJsb2NrLT5tb3ZlQ2hpbGRyZW5Ubyhwb3N0LCBiZWZvcmVD
aGlsZCwgMCwgdHJ1ZSk7CiAKICAgICAvLyBXZSBhbHJlYWR5IGtub3cgdGhlIG5ld0Jsb2NrQm94
IGlzbid0IGdvaW5nIHRvIGNvbnRhaW4gaW5saW5lIGtpZHMsIHNvIGF2b2lkIHdhc3RpbmcKICAg
ICAvLyB0aW1lIGluIG1ha2VDaGlsZHJlbk5vbklubGluZSBieSBqdXN0IHNldHRpbmcgdGhpcyBl
eHBsaWNpdGx5IHVwIGZyb250LgpAQCAtNjAxLDQyICs1NzgsMjQgQEAgUm9vdElubGluZUJveCog
UmVuZGVyQmxvY2s6OmNyZWF0ZUFuZEFwcAogICAgIG1fbGluZUJveGVzLmFwcGVuZExpbmVCb3go
cm9vdEJveCk7CiAgICAgcmV0dXJuIHJvb3RCb3g7CiB9Ci0gICAgCi12b2lkIFJlbmRlckJsb2Nr
Ojptb3ZlQ2hpbGRUbyhSZW5kZXJPYmplY3QqIHRvLCBSZW5kZXJPYmplY3RDaGlsZExpc3QqIHRv
Q2hpbGRMaXN0LCBSZW5kZXJPYmplY3QqIGNoaWxkKQotewotICAgIEFTU0VSVCh0aGlzID09IGNo
aWxkLT5wYXJlbnQoKSk7Ci0gICAgdG9DaGlsZExpc3QtPmFwcGVuZENoaWxkTm9kZSh0bywgY2hp
bGRyZW4oKS0+cmVtb3ZlQ2hpbGROb2RlKHRoaXMsIGNoaWxkLCBmYWxzZSksIGZhbHNlKTsKLX0K
IAotdm9pZCBSZW5kZXJCbG9jazo6bW92ZUNoaWxkVG8oUmVuZGVyT2JqZWN0KiB0bywgUmVuZGVy
T2JqZWN0Q2hpbGRMaXN0KiB0b0NoaWxkTGlzdCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCwg
UmVuZGVyT2JqZWN0KiBjaGlsZCkKK3ZvaWQgUmVuZGVyQmxvY2s6Om1vdmVDaGlsZFRvKFJlbmRl
ckJsb2NrKiB0bywgUmVuZGVyT2JqZWN0KiBjaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGls
ZCwgYm9vbCBmdWxsUmVtb3ZlSW5zZXJ0KQogewogICAgIEFTU0VSVCh0aGlzID09IGNoaWxkLT5w
YXJlbnQoKSk7CiAgICAgQVNTRVJUKCFiZWZvcmVDaGlsZCB8fCB0byA9PSBiZWZvcmVDaGlsZC0+
cGFyZW50KCkpOwotICAgIHRvQ2hpbGRMaXN0LT5pbnNlcnRDaGlsZE5vZGUodG8sIGNoaWxkcmVu
KCktPnJlbW92ZUNoaWxkTm9kZSh0aGlzLCBjaGlsZCwgZmFsc2UpLCBiZWZvcmVDaGlsZCwgZmFs
c2UpOwotfQotCi12b2lkIFJlbmRlckJsb2NrOjptb3ZlQWxsQ2hpbGRyZW5UbyhSZW5kZXJPYmpl
Y3QqIHRvLCBSZW5kZXJPYmplY3RDaGlsZExpc3QqIHRvQ2hpbGRMaXN0LCBib29sIGZ1bGxSZW1v
dmVBcHBlbmQpCi17Ci0gICAgUmVuZGVyT2JqZWN0KiBuZXh0Q2hpbGQgPSBjaGlsZHJlbigpLT5m
aXJzdENoaWxkKCk7Ci0gICAgd2hpbGUgKG5leHRDaGlsZCkgewotICAgICAgICBSZW5kZXJPYmpl
Y3QqIGNoaWxkID0gbmV4dENoaWxkOwotICAgICAgICBuZXh0Q2hpbGQgPSBjaGlsZC0+bmV4dFNp
YmxpbmcoKTsKLSAgICAgICAgdG9DaGlsZExpc3QtPmFwcGVuZENoaWxkTm9kZSh0bywgY2hpbGRy
ZW4oKS0+cmVtb3ZlQ2hpbGROb2RlKHRoaXMsIGNoaWxkLCBmdWxsUmVtb3ZlQXBwZW5kKSwgZnVs
bFJlbW92ZUFwcGVuZCk7Ci0gICAgfQorICAgIHRvLT5jaGlsZHJlbigpLT5pbnNlcnRDaGlsZE5v
ZGUodG8sIGNoaWxkcmVuKCktPnJlbW92ZUNoaWxkTm9kZSh0aGlzLCBjaGlsZCwgZnVsbFJlbW92
ZUluc2VydCksIGJlZm9yZUNoaWxkLCBmdWxsUmVtb3ZlSW5zZXJ0KTsKIH0KIAotdm9pZCBSZW5k
ZXJCbG9jazo6bW92ZUFsbENoaWxkcmVuVG8oUmVuZGVyT2JqZWN0KiB0bywgUmVuZGVyT2JqZWN0
Q2hpbGRMaXN0KiB0b0NoaWxkTGlzdCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCkKK3ZvaWQg
UmVuZGVyQmxvY2s6Om1vdmVDaGlsZHJlblRvKFJlbmRlckJsb2NrKiB0bywgUmVuZGVyT2JqZWN0
KiBzdGFydENoaWxkLCBSZW5kZXJPYmplY3QqIGVuZENoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9y
ZUNoaWxkLCBib29sIGZ1bGxSZW1vdmVJbnNlcnQpCiB7CiAgICAgQVNTRVJUKCFiZWZvcmVDaGls
ZCB8fCB0byA9PSBiZWZvcmVDaGlsZC0+cGFyZW50KCkpOwotICAgIGlmICghYmVmb3JlQ2hpbGQp
IHsKLSAgICAgICAgbW92ZUFsbENoaWxkcmVuVG8odG8sIHRvQ2hpbGRMaXN0KTsKLSAgICAgICAg
cmV0dXJuOwotICAgIH0KLSAgICBSZW5kZXJPYmplY3QqIG5leHRDaGlsZCA9IGNoaWxkcmVuKCkt
PmZpcnN0Q2hpbGQoKTsKLSAgICB3aGlsZSAobmV4dENoaWxkKSB7CisgICAgUmVuZGVyT2JqZWN0
KiBuZXh0Q2hpbGQgPSBzdGFydENoaWxkOworICAgIHdoaWxlIChuZXh0Q2hpbGQgJiYgbmV4dENo
aWxkICE9IGVuZENoaWxkKSB7CiAgICAgICAgIFJlbmRlck9iamVjdCogY2hpbGQgPSBuZXh0Q2hp
bGQ7CiAgICAgICAgIG5leHRDaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZygpOwotICAgICAgICB0
b0NoaWxkTGlzdC0+aW5zZXJ0Q2hpbGROb2RlKHRvLCBjaGlsZHJlbigpLT5yZW1vdmVDaGlsZE5v
ZGUodGhpcywgY2hpbGQsIGZhbHNlKSwgYmVmb3JlQ2hpbGQsIGZhbHNlKTsKKyAgICAgICAgdG8t
PmNoaWxkcmVuKCktPmluc2VydENoaWxkTm9kZSh0bywgY2hpbGRyZW4oKS0+cmVtb3ZlQ2hpbGRO
b2RlKHRoaXMsIGNoaWxkLCBmdWxsUmVtb3ZlSW5zZXJ0KSwgYmVmb3JlQ2hpbGQsIGZ1bGxSZW1v
dmVJbnNlcnQpOworICAgICAgICBpZiAoY2hpbGQgPT0gZW5kQ2hpbGQpCisgICAgICAgICAgICBy
ZXR1cm47CiAgICAgfQogfQogCkBAIC02NzEsMTQgKzYzMCw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6
Om1ha2VDaGlsZHJlbk5vbklubGluZSgKIAogICAgICAgICBSZW5kZXJCbG9jayogYmxvY2sgPSBj
cmVhdGVBbm9ueW1vdXNCbG9jaygpOwogICAgICAgICBjaGlsZHJlbigpLT5pbnNlcnRDaGlsZE5v
ZGUodGhpcywgYmxvY2ssIGlubGluZVJ1blN0YXJ0KTsKLSAgICAgICAgUmVuZGVyT2JqZWN0KiBv
ID0gaW5saW5lUnVuU3RhcnQ7Ci0gICAgICAgIHdoaWxlIChvICE9IGlubGluZVJ1bkVuZCkgewot
ICAgICAgICAgICAgUmVuZGVyT2JqZWN0KiBubyA9IG87Ci0gICAgICAgICAgICBvID0gbm8tPm5l
eHRTaWJsaW5nKCk7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIG1vdmVDaGlsZFRvKGJsb2Nr
LCBibG9jay0+Y2hpbGRyZW4oKSwgbm8pOwotICAgICAgICB9Ci0gICAgICAgIG1vdmVDaGlsZFRv
KGJsb2NrLCBibG9jay0+Y2hpbGRyZW4oKSwgaW5saW5lUnVuRW5kKTsKKyAgICAgICAgbW92ZUNo
aWxkcmVuVG8oYmxvY2ssIGlubGluZVJ1blN0YXJ0LCBjaGlsZCk7CiAgICAgfQogCiAjaWZuZGVm
IE5ERUJVRwpAQCAtNzk0LDcgKzc0Niw3IEBAIHZvaWQgUmVuZGVyQmxvY2s6OnJlbW92ZUNoaWxk
KFJlbmRlck9iamUKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIC8vIFRha2UgYWxsIHRo
ZSBjaGlsZHJlbiBvdXQgb2YgdGhlIHxuZXh0fCBibG9jayBhbmQgcHV0IHRoZW0gaW4KICAgICAg
ICAgICAgIC8vIHRoZSB8cHJldnwgYmxvY2suCi0gICAgICAgICAgICBuZXh0QmxvY2stPm1vdmVB
bGxDaGlsZHJlblRvKHByZXZCbG9jaywgcHJldkJsb2NrLT5jaGlsZHJlbigpLCBuZXh0QmxvY2st
Pmhhc0xheWVyKCkgfHwgcHJldkJsb2NrLT5oYXNMYXllcigpKTsKKyAgICAgICAgICAgIG5leHRC
bG9jay0+bW92ZUFsbENoaWxkcmVuVG8ocHJldkJsb2NrLCBuZXh0QmxvY2stPmhhc0xheWVyKCkg
fHwgcHJldkJsb2NrLT5oYXNMYXllcigpKTsKICAgICAgICAKICAgICAgICAgICAgIC8vIERlbGV0
ZSB0aGUgbm93LWVtcHR5IGJsb2NrJ3MgbGluZXMgYW5kIG51a2UgaXQuCiAgICAgICAgICAgICBu
ZXh0QmxvY2stPmRlbGV0ZUxpbmVCb3hUcmVlKCk7CkBAIC04MTIsNyArNzY0LDcgQEAgdm9pZCBS
ZW5kZXJCbG9jazo6cmVtb3ZlQ2hpbGQoUmVuZGVyT2JqZQogICAgICAgICBzZXROZWVkc0xheW91
dEFuZFByZWZXaWR0aHNSZWNhbGMoKTsKICAgICAgICAgc2V0Q2hpbGRyZW5JbmxpbmUoY2hpbGQt
PmNoaWxkcmVuSW5saW5lKCkpOwogICAgICAgICBSZW5kZXJCbG9jayogYW5vbkJsb2NrID0gdG9S
ZW5kZXJCbG9jayhjaGlsZHJlbigpLT5yZW1vdmVDaGlsZE5vZGUodGhpcywgY2hpbGQsIGNoaWxk
LT5oYXNMYXllcigpKSk7Ci0gICAgICAgIGFub25CbG9jay0+bW92ZUFsbENoaWxkcmVuVG8odGhp
cywgY2hpbGRyZW4oKSwgY2hpbGQtPmhhc0xheWVyKCkpOworICAgICAgICBhbm9uQmxvY2stPm1v
dmVBbGxDaGlsZHJlblRvKHRoaXMsIGNoaWxkLT5oYXNMYXllcigpKTsKICAgICAgICAgLy8gRGVs
ZXRlIHRoZSBub3ctZW1wdHkgYmxvY2sncyBsaW5lcyBhbmQgbnVrZSBpdC4KICAgICAgICAgYW5v
bkJsb2NrLT5kZWxldGVMaW5lQm94VHJlZSgpOwogICAgICAgICBhbm9uQmxvY2stPmRlc3Ryb3ko
KTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAkocmV2aXNpb24gNjAyNTUpCisrKyBXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNTQsMTEgKzE1
NCwzMCBAQCBwdWJsaWM6CiAgICAgaW50IGNvbHVtbkdhcCgpIGNvbnN0OwogCiBwcm90ZWN0ZWQ6
Ci0gICAgdm9pZCBtb3ZlQ2hpbGRUbyhSZW5kZXJPYmplY3QqIHRvLCBSZW5kZXJPYmplY3RDaGls
ZExpc3QqIHRvQ2hpbGRMaXN0LCBSZW5kZXJPYmplY3QqIGNoaWxkKTsKLSAgICB2b2lkIG1vdmVD
aGlsZFRvKFJlbmRlck9iamVjdCogdG8sIFJlbmRlck9iamVjdENoaWxkTGlzdCogdG9DaGlsZExp
c3QsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQsIFJlbmRlck9iamVjdCogY2hpbGQpOwotICAg
IHZvaWQgbW92ZUFsbENoaWxkcmVuVG8oUmVuZGVyT2JqZWN0KiB0bywgUmVuZGVyT2JqZWN0Q2hp
bGRMaXN0KiB0b0NoaWxkTGlzdCwgYm9vbCBmdWxsUmVtb3ZlQXBwZW5kID0gZmFsc2UpOwotICAg
IHZvaWQgbW92ZUFsbENoaWxkcmVuVG8oUmVuZGVyT2JqZWN0KiB0bywgUmVuZGVyT2JqZWN0Q2hp
bGRMaXN0KiB0b0NoaWxkTGlzdCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCk7Ci0KKyAgICAv
LyBUaGVzZSBmdW5jdGlvbnMgYXJlIG9ubHkgdXNlZCBpbnRlcm5hbGx5IHRvIG1hbmlwdWxhdGUg
dGhlIHJlbmRlciB0cmVlIHN0cnVjdHVyZSB2aWEgcmVtb3ZlL2luc2VydC9hcHBlbmRDaGlsZE5v
ZGUuCisgICAgLy8gU2luY2UgdGhleSBhcmUgdHlwaWNhbGx5IGNhbGxlZCBvbmx5IHRvIG1vdmUg
b2JqZWN0cyBhcm91bmQgd2l0aGluIGFub255bW91cyBibG9ja3MgKHdoaWNoIG9ubHkgaGF2ZSBs
YXllcnMgaW4KKyAgICAvLyB0aGUgY2FzZSBvZiBjb2x1bW4gc3BhbnMpLCB0aGUgZGVmYXVsdCBm
b3IgZnVsbFJlbW92ZUluc2VydCBpcyBmYWxzZSByYXRoZXIgdGhhbiB0cnVlLgorICAgIHZvaWQg
bW92ZUNoaWxkVG8oUmVuZGVyQmxvY2sqIHRvLCBSZW5kZXJPYmplY3QqIGNoaWxkLCBib29sIGZ1
bGxSZW1vdmVJbnNlcnQgPSBmYWxzZSkKKyAgICB7CisgICAgICAgIHJldHVybiBtb3ZlQ2hpbGRU
byh0bywgY2hpbGQsIDAsIGZ1bGxSZW1vdmVJbnNlcnQpOworICAgIH0KKyAgICB2b2lkIG1vdmVD
aGlsZFRvKFJlbmRlckJsb2NrKiB0bywgUmVuZGVyT2JqZWN0KiBjaGlsZCwgUmVuZGVyT2JqZWN0
KiBiZWZvcmVDaGlsZCwgYm9vbCBmdWxsUmVtb3ZlSW5zZXJ0ID0gZmFsc2UpOworICAgIHZvaWQg
bW92ZUFsbENoaWxkcmVuVG8oUmVuZGVyQmxvY2sqIHRvLCBib29sIGZ1bGxSZW1vdmVJbnNlcnQg
PSBmYWxzZSkKKyAgICB7CisgICAgICAgIHJldHVybiBtb3ZlQWxsQ2hpbGRyZW5Ubyh0bywgMCwg
ZnVsbFJlbW92ZUluc2VydCk7CisgICAgfQorICAgIHZvaWQgbW92ZUFsbENoaWxkcmVuVG8oUmVu
ZGVyQmxvY2sqIHRvLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkLCBib29sIGZ1bGxSZW1vdmVJ
bnNlcnQgPSBmYWxzZSkKKyAgICB7CisgICAgICAgIHJldHVybiBtb3ZlQ2hpbGRyZW5Ubyh0bywg
Zmlyc3RDaGlsZCgpLCAwLCBiZWZvcmVDaGlsZCwgZnVsbFJlbW92ZUluc2VydCk7CisgICAgfQor
ICAgIC8vIE1vdmUgYWxsIG9mIHRoZSBraWRzIGZyb20gfHN0YXJ0Q2hpbGR8IHVwIHRvIGJ1dCBl
eGNsdWRpbmcgfGVuZENoaWxkfC4gIDAgY2FuIGJlIHBhc3NlZCBhcyB0aGUgZW5kQ2hpbGQgdG8g
ZGVub3RlCisgICAgLy8gdGhhdCBhbGwgdGhlIGtpZHMgZnJvbSB8c3RhcnRDaGlsZHwgb253YXJk
cyBzaG91bGQgYmUgYWRkZWQuCisgICAgdm9pZCBtb3ZlQ2hpbGRyZW5UbyhSZW5kZXJCbG9jayog
dG8sIFJlbmRlck9iamVjdCogc3RhcnRDaGlsZCwgUmVuZGVyT2JqZWN0KiBlbmRDaGlsZCwgYm9v
bCBmdWxsUmVtb3ZlSW5zZXJ0ID0gZmFsc2UpCisgICAgeworICAgICAgICByZXR1cm4gbW92ZUNo
aWxkcmVuVG8odG8sIHN0YXJ0Q2hpbGQsIGVuZENoaWxkLCAwLCBmdWxsUmVtb3ZlSW5zZXJ0KTsK
KyAgICB9CisgICAgdm9pZCBtb3ZlQ2hpbGRyZW5UbyhSZW5kZXJCbG9jayogdG8sIFJlbmRlck9i
amVjdCogc3RhcnRDaGlsZCwgUmVuZGVyT2JqZWN0KiBlbmRDaGlsZCwgUmVuZGVyT2JqZWN0KiBi
ZWZvcmVDaGlsZCwgYm9vbCBmdWxsUmVtb3ZlSW5zZXJ0ID0gZmFsc2UpOworICAgIAogICAgIGlu
dCBtYXhUb3BQb3NNYXJnaW4oKSBjb25zdCB7IHJldHVybiBtX21heE1hcmdpbiA/IG1fbWF4TWFy
Z2luLT5tX3RvcFBvcyA6IE1heE1hcmdpbjo6dG9wUG9zRGVmYXVsdCh0aGlzKTsgfQogICAgIGlu
dCBtYXhUb3BOZWdNYXJnaW4oKSBjb25zdCB7IHJldHVybiBtX21heE1hcmdpbiA/IG1fbWF4TWFy
Z2luLT5tX3RvcE5lZyA6IE1heE1hcmdpbjo6dG9wTmVnRGVmYXVsdCh0aGlzKTsgfQogICAgIGlu
dCBtYXhCb3R0b21Qb3NNYXJnaW4oKSBjb25zdCB7IHJldHVybiBtX21heE1hcmdpbiA/IG1fbWF4
TWFyZ2luLT5tX2JvdHRvbVBvcyA6IE1heE1hcmdpbjo6Ym90dG9tUG9zRGVmYXVsdCh0aGlzKTsg
fQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAkocmV2aXNpb24gNjAyNTEpCisrKyBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk2OCwx
MiArOTY4LDE0IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OmFkZENoaWxkKFJlbmRlckxheWVyKiAKICAg
ICBpZiAocHJldlNpYmxpbmcpIHsKICAgICAgICAgY2hpbGQtPnNldFByZXZpb3VzU2libGluZyhw
cmV2U2libGluZyk7CiAgICAgICAgIHByZXZTaWJsaW5nLT5zZXROZXh0U2libGluZyhjaGlsZCk7
CisgICAgICAgIEFTU0VSVChwcmV2U2libGluZyAhPSBjaGlsZCk7CiAgICAgfSBlbHNlCiAgICAg
ICAgIHNldEZpcnN0Q2hpbGQoY2hpbGQpOwogCiAgICAgaWYgKGJlZm9yZUNoaWxkKSB7CiAgICAg
ICAgIGJlZm9yZUNoaWxkLT5zZXRQcmV2aW91c1NpYmxpbmcoY2hpbGQpOwogICAgICAgICBjaGls
ZC0+c2V0TmV4dFNpYmxpbmcoYmVmb3JlQ2hpbGQpOworICAgICAgICBBU1NFUlQoYmVmb3JlQ2hp
bGQgIT0gY2hpbGQpOwogICAgIH0gZWxzZQogICAgICAgICBzZXRMYXN0Q2hpbGQoY2hpbGQpOwog
CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3RDaGlsZExpc3QuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdENoaWxkTGlzdC5jcHAJKHJl
dmlzaW9uIDYwMjUxKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0Q2hpbGRMaXN0
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTcxLDcgKzE3MSw3IEBAIHZvaWQgUmVuZGVyT2JqZWN0
Q2hpbGRMaXN0OjphcHBlbmRDaGlsZE4KIHZvaWQgUmVuZGVyT2JqZWN0Q2hpbGRMaXN0OjppbnNl
cnRDaGlsZE5vZGUoUmVuZGVyT2JqZWN0KiBvd25lciwgUmVuZGVyT2JqZWN0KiBjaGlsZCwgUmVu
ZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCwgYm9vbCBmdWxsSW5zZXJ0KQogewogICAgIGlmICghYmVm
b3JlQ2hpbGQpIHsKLSAgICAgICAgYXBwZW5kQ2hpbGROb2RlKG93bmVyLCBjaGlsZCk7CisgICAg
ICAgIGFwcGVuZENoaWxkTm9kZShvd25lciwgY2hpbGQsIGZ1bGxJbnNlcnQpOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSdWJ5QmFzZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUnVieUJhc2UuY3BwCShy
ZXZpc2lvbiA2MDI1MSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJ1YnlCYXNlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTAzLDggKzEwMyw3IEBAIHZvaWQgUmVuZGVyUnVieUJhc2U6Om1v
dmVJbmxpbmVDaGlsZHJlbigKICAgICAgICAgfQogICAgIH0KICAgICAvLyBNb3ZlIG91ciBpbmxp
bmUgY2hpbGRyZW4gaW50byB0aGUgdGFyZ2V0IGJsb2NrIHdlIGRldGVybWluZWQgYWJvdmUuCi0g
ICAgZm9yIChSZW5kZXJPYmplY3QqIGNoaWxkID0gZmlyc3RDaGlsZCgpOyBjaGlsZCAhPSBmcm9t
QmVmb3JlQ2hpbGQ7IGNoaWxkID0gZmlyc3RDaGlsZCgpKQotICAgICAgICBtb3ZlQ2hpbGRUbyh0
b0Jsb2NrLCBjaGlsZCk7CisgICAgbW92ZUNoaWxkcmVuVG8odG9CbG9jaywgZmlyc3RDaGlsZCgp
LCBmcm9tQmVmb3JlQ2hpbGQpOwogfQogCiB2b2lkIFJlbmRlclJ1YnlCYXNlOjptb3ZlQmxvY2tD
aGlsZHJlbihSZW5kZXJSdWJ5QmFzZSogdG9CYXNlLCBSZW5kZXJPYmplY3QqIGZyb21CZWZvcmVD
aGlsZCkK
</data>
<flag name="review"
          id="41734"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>