<?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>6094</bug_id>
          
          <creation_ts>2005-12-15 02:37:07 -0800</creation_ts>
          <short_desc>khtml/css should use RefPtr instead of manual ref() deref()</short_desc>
          <delta_ts>2005-12-15 13:38:56 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P4</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Eric Seidel (no email)">eric</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>25989</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-12-15 02:37:07 -0800</bug_when>
    <thetext>khtml/css should use RefPtr instead of manual ref() deref()

This patch does just that.  (I&apos;m doing each of the khtml sub-directories one at a time to keep these 
patches small).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25990</commentid>
    <comment_count>1</comment_count>
      <attachid>5085</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-12-15 02:38:37 -0800</bug_when>
    <thetext>Created attachment 5085
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25999</commentid>
    <comment_count>2</comment_count>
      <attachid>5085</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-12-15 06:27:06 -0800</bug_when>
    <thetext>Comment on attachment 5085
Proposed patch

To avoid leaks, getPropertyCSSValue should be changed to return a PassRefPtr
rather than a raw pointer.

CSSStyleRuleImpl::setDeclaration doesn&apos;t need the != check. It can just be a
one-liner m_style = style.

The changes to CSSPrimitiveValueImpl don&apos;t seem like much of an improvement to
me.

~CSSProperty should be removed altogether rather than left declared as an empty
inline.

In this line:

     RefPtr&lt;CSSMutableStyleDeclarationImpl&gt;dummyStyleDeclaration

there&apos;s a space missing after the &gt; symbol.

But none of these are major issues, it&apos;s fine to land as-is if you like.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>5085</attachid>
            <date>2005-12-15 02:38:37 -0800</date>
            <delta_ts>2005-12-15 06:27:06 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>css_ref.patch</filename>
            <type>text/plain</type>
            <size>22864</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">SW5kZXg6IGNzc19jb21wdXRlZHN0eWxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jv
b3QvV2ViQ29yZS9raHRtbC9jc3MvY3NzX2NvbXB1dGVkc3R5bGUuY3BwLHYKcmV0cmlldmluZyBy
ZXZpc2lvbiAxLjQxCmRpZmYgLXAgLXUgLXIxLjQxIGNzc19jb21wdXRlZHN0eWxlLmNwcAotLS0g
Y3NzX2NvbXB1dGVkc3R5bGUuY3BwCTggRGVjIDIwMDUgMDg6NDA6MjQgLTAwMDAJMS40MQorKysg
Y3NzX2NvbXB1dGVkc3R5bGUuY3BwCTE1IERlYyAyMDA1IDA5OjI0OjExIC0wMDAwCkBAIC0xMjEx
LDEzICsxMjExLDkgQEAgQ1NTVmFsdWVJbXBsICpDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpbwog
CiBET01TdHJpbmcgQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uSW1wbDo6Z2V0UHJvcGVydHlW
YWx1ZShpbnQgcHJvcGVydHlJRCkgY29uc3QKIHsKLSAgICBDU1NWYWx1ZUltcGwqIHZhbHVlID0g
Z2V0UHJvcGVydHlDU1NWYWx1ZShwcm9wZXJ0eUlEKTsKLSAgICBpZiAodmFsdWUpIHsKLSAgICAg
ICAgdmFsdWUtPnJlZigpOwotICAgICAgICBET01TdHJpbmcgcmVzdWx0ID0gdmFsdWUtPmNzc1Rl
eHQoKTsKLSAgICAgICAgdmFsdWUtPmRlcmVmKCk7Ci0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0g
ICAgfQorICAgIFJlZlB0cjxDU1NWYWx1ZUltcGw+IHZhbHVlID0gZ2V0UHJvcGVydHlDU1NWYWx1
ZShwcm9wZXJ0eUlEKTsKKyAgICBpZiAodmFsdWUpCisgICAgICAgIHJldHVybiB2YWx1ZS0+Y3Nz
VGV4dCgpOwogICAgIHJldHVybiAiIjsKIH0KIApJbmRleDogY3NzX3J1bGVpbXBsLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9raHRtbC9jc3MvY3NzX3J1bGVpbXBs
LmNwcCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4yNwpkaWZmIC1wIC11IC1yMS4yNyBjc3NfcnVs
ZWltcGwuY3BwCi0tLSBjc3NfcnVsZWltcGwuY3BwCTEyIERlYyAyMDA1IDIyOjIyOjIxIC0wMDAw
CTEuMjcKKysrIGNzc19ydWxlaW1wbC5jcHAJMTUgRGVjIDIwMDUgMDk6MjQ6MTEgLTAwMDAKQEAg
LTY0LDEyICs2NCwxMCBAQCBDU1NGb250RmFjZVJ1bGVJbXBsOjpDU1NGb250RmFjZVJ1bGVJbXBs
CiAgICAgOiBDU1NSdWxlSW1wbChwYXJlbnQpCiB7CiAgICAgbV90eXBlID0gQ1NTUnVsZTo6Rk9O
VF9GQUNFX1JVTEU7Ci0gICAgbV9zdHlsZSA9IDA7CiB9CiAKIENTU0ZvbnRGYWNlUnVsZUltcGw6
On5DU1NGb250RmFjZVJ1bGVJbXBsKCkKIHsKLSAgICBpZihtX3N0eWxlKSBtX3N0eWxlLT5kZXJl
ZigpOwogfQogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtODIsMTQgKzgwLDExIEBAIENTU0lt
cG9ydFJ1bGVJbXBsOjpDU1NJbXBvcnRSdWxlSW1wbCggU3QKICAgICBtX3R5cGUgPSBDU1NSdWxl
OjpJTVBPUlRfUlVMRTsKIAogICAgIG1fbHN0TWVkaWEgPSBtZWRpYTsKLSAgICBpZiAoICFtX2xz
dE1lZGlhICkKLSAgICAgICAgbV9sc3RNZWRpYSA9IG5ldyBNZWRpYUxpc3RJbXBsKCB0aGlzLCBE
T01TdHJpbmcoKSApOwotICAgIG1fbHN0TWVkaWEtPnNldFBhcmVudCggdGhpcyApOwotICAgIG1f
bHN0TWVkaWEtPnJlZigpOworICAgIGlmICghbV9sc3RNZWRpYSkKKyAgICAgICAgbV9sc3RNZWRp
YSA9IG5ldyBNZWRpYUxpc3RJbXBsKHRoaXMsIERPTVN0cmluZygpKTsKKyAgICBtX2xzdE1lZGlh
LT5zZXRQYXJlbnQodGhpcyk7CiAKICAgICBtX3N0ckhyZWYgPSBocmVmOwotICAgIG1fc3R5bGVT
aGVldCA9IDA7Ci0KICAgICBtX2NhY2hlZFNoZWV0ID0gMDsKIAogICAgIGluaXQoKTsKQEAgLTEw
MCwxMyArOTUsOCBAQCBDU1NJbXBvcnRSdWxlSW1wbDo6Q1NTSW1wb3J0UnVsZUltcGwoIFN0CiAg
ICAgOiBDU1NSdWxlSW1wbChwYXJlbnQpCiB7CiAgICAgbV90eXBlID0gQ1NTUnVsZTo6SU1QT1JU
X1JVTEU7Ci0KLSAgICBtX2xzdE1lZGlhID0gbmV3IE1lZGlhTGlzdEltcGwoIHRoaXMsIG1lZGlh
ICk7Ci0gICAgbV9sc3RNZWRpYS0+cmVmKCk7Ci0KKyAgICBtX2xzdE1lZGlhID0gbmV3IE1lZGlh
TGlzdEltcGwodGhpcywgbWVkaWEpOwogICAgIG1fc3RySHJlZiA9IGhyZWY7Ci0gICAgbV9zdHls
ZVNoZWV0ID0gMDsKLQogICAgIG1fY2FjaGVkU2hlZXQgPSAwOwogCiAgICAgaW5pdCgpOwpAQCAt
MTE0LDI2ICsxMDQsMTkgQEAgQ1NTSW1wb3J0UnVsZUltcGw6OkNTU0ltcG9ydFJ1bGVJbXBsKCBT
dAogCiBDU1NJbXBvcnRSdWxlSW1wbDo6fkNTU0ltcG9ydFJ1bGVJbXBsKCkKIHsKLSAgICBpZigg
bV9sc3RNZWRpYSApIHsKKyAgICBpZihtX2xzdE1lZGlhKQogICAgICAgICBtX2xzdE1lZGlhLT5z
ZXRQYXJlbnQoIDAgKTsKLSAgICAgICAgbV9sc3RNZWRpYS0+ZGVyZWYoKTsKLSAgICB9Ci0gICAg
aWYobV9zdHlsZVNoZWV0KSB7CisgICAgaWYobV9zdHlsZVNoZWV0KQogICAgICAgICBtX3N0eWxl
U2hlZXQtPnNldFBhcmVudCgwKTsKLSAgICAgICAgbV9zdHlsZVNoZWV0LT5kZXJlZigpOwotICAg
IH0KLQotICAgIGlmKG1fY2FjaGVkU2hlZXQpIG1fY2FjaGVkU2hlZXQtPmRlcmVmKHRoaXMpOwor
ICAgIGlmKG1fY2FjaGVkU2hlZXQpCisgICAgICAgIG1fY2FjaGVkU2hlZXQtPmRlcmVmKHRoaXMp
OwogfQogCiB2b2lkIENTU0ltcG9ydFJ1bGVJbXBsOjpzZXRTdHlsZVNoZWV0KGNvbnN0IERPTTo6
RE9NU3RyaW5nICZ1cmwsIGNvbnN0IERPTTo6RE9NU3RyaW5nICZzaGVldCkKIHsKLSAgICBpZiAo
IG1fc3R5bGVTaGVldCApIHsKKyAgICBpZiAobV9zdHlsZVNoZWV0KQogICAgICAgICBtX3N0eWxl
U2hlZXQtPnNldFBhcmVudCgwKTsKLSAgICAgICAgbV9zdHlsZVNoZWV0LT5kZXJlZigpOwotICAg
IH0KICAgICBtX3N0eWxlU2hlZXQgPSBuZXcgQ1NTU3R5bGVTaGVldEltcGwodGhpcywgdXJsKTsK
LSAgICBtX3N0eWxlU2hlZXQtPnJlZigpOwogCiAgICAgQ1NTU3R5bGVTaGVldEltcGwgKnBhcmVu
dCA9IHBhcmVudFN0eWxlU2hlZXQoKTsKICAgICBtX3N0eWxlU2hlZXQtPnBhcnNlU3RyaW5nKCBz
aGVldCwgcGFyZW50ID8gcGFyZW50LT51c2VTdHJpY3RQYXJzaW5nKCkgOiB0cnVlICk7CkBAIC0y
MTYsOSArMTk5LDcgQEAgQ1NTTWVkaWFSdWxlSW1wbDo6Q1NTTWVkaWFSdWxlSW1wbCggU3R5bAog
ewogICAgIG1fdHlwZSA9IENTU1J1bGU6Ok1FRElBX1JVTEU7CiAgICAgbV9sc3RNZWRpYSA9IG1l
ZGlhTGlzdDsKLSAgICBtX2xzdE1lZGlhLT5yZWYoKTsKICAgICBtX2xzdENTU1J1bGVzID0gcnVs
ZUxpc3Q7Ci0gICAgbV9sc3RDU1NSdWxlcy0+cmVmKCk7CiB9CiAKIENTU01lZGlhUnVsZUltcGw6
OkNTU01lZGlhUnVsZUltcGwoU3R5bGVCYXNlSW1wbCAqcGFyZW50KQpAQCAtMjI3LDcgKzIwOCw2
IEBAIENTU01lZGlhUnVsZUltcGw6OkNTU01lZGlhUnVsZUltcGwoU3R5bGUKICAgICBtX3R5cGUg
PSBDU1NSdWxlOjpNRURJQV9SVUxFOwogICAgIG1fbHN0TWVkaWEgPSAwOwogICAgIG1fbHN0Q1NT
UnVsZXMgPSBuZXcgQ1NTUnVsZUxpc3RJbXBsKCk7Ci0gICAgbV9sc3RDU1NSdWxlcy0+cmVmKCk7
CiB9CiAKIENTU01lZGlhUnVsZUltcGw6OkNTU01lZGlhUnVsZUltcGwoIFN0eWxlQmFzZUltcGwg
KnBhcmVudCwgY29uc3QgRE9NOjpET01TdHJpbmcgJm1lZGlhICkKQEAgLTIzNSwyMyArMjE1LDE3
IEBAIENTU01lZGlhUnVsZUltcGw6OkNTU01lZGlhUnVsZUltcGwoIFN0eWwKIHsKICAgICBtX3R5
cGUgPSBDU1NSdWxlOjpNRURJQV9SVUxFOwogICAgIG1fbHN0TWVkaWEgPSBuZXcgTWVkaWFMaXN0
SW1wbCggdGhpcywgbWVkaWEgKTsKLSAgICBtX2xzdE1lZGlhLT5yZWYoKTsKICAgICBtX2xzdENT
U1J1bGVzID0gbmV3IENTU1J1bGVMaXN0SW1wbCgpOwotICAgIG1fbHN0Q1NTUnVsZXMtPnJlZigp
OwogfQogCiBDU1NNZWRpYVJ1bGVJbXBsOjp+Q1NTTWVkaWFSdWxlSW1wbCgpCiB7Ci0gICAgaWYo
IG1fbHN0TWVkaWEgKSB7Ci0gICAgICAgIG1fbHN0TWVkaWEtPnNldFBhcmVudCggMCApOwotICAg
ICAgICBtX2xzdE1lZGlhLT5kZXJlZigpOwotICAgIH0KKyAgICBpZihtX2xzdE1lZGlhKQorICAg
ICAgICBtX2xzdE1lZGlhLT5zZXRQYXJlbnQoMCk7CiAKICAgICBpbnQgbGVuZ3RoID0gbV9sc3RD
U1NSdWxlcy0+bGVuZ3RoKCk7Ci0gICAgZm9yIChpbnQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykg
ewotICAgICAgICBtX2xzdENTU1J1bGVzLT5pdGVtKCBpICktPnNldFBhcmVudCggMCApOwotICAg
IH0KLSAgICBtX2xzdENTU1J1bGVzLT5kZXJlZigpOworICAgIGZvciAoaW50IGkgPSAwOyBpIDwg
bGVuZ3RoOyBpKyspCisgICAgICAgIG1fbHN0Q1NTUnVsZXMtPml0ZW0oaSktPnNldFBhcmVudCgw
KTsKIH0KIAogdW5zaWduZWQgQ1NTTWVkaWFSdWxlSW1wbDo6YXBwZW5kKCBDU1NSdWxlSW1wbCAq
cnVsZSApCkBAIC0zMjcsMTIgKzMwMSwxMCBAQCBDU1NQYWdlUnVsZUltcGw6OkNTU1BhZ2VSdWxl
SW1wbChTdHlsZUJhCiAgICAgOiBDU1NSdWxlSW1wbChwYXJlbnQpCiB7CiAgICAgbV90eXBlID0g
Q1NTUnVsZTo6UEFHRV9SVUxFOwotICAgIG1fc3R5bGUgPSAwOwogfQogCiBDU1NQYWdlUnVsZUlt
cGw6On5DU1NQYWdlUnVsZUltcGwoKQogewotICAgIGlmKG1fc3R5bGUpIG1fc3R5bGUtPmRlcmVm
KCk7CiB9CiAKIERPTTo6RE9NU3RyaW5nIENTU1BhZ2VSdWxlSW1wbDo6c2VsZWN0b3JUZXh0KCkg
Y29uc3QKQEAgLTM1MiwxNiArMzI0LDEzIEBAIENTU1N0eWxlUnVsZUltcGw6OkNTU1N0eWxlUnVs
ZUltcGwoU3R5bGUKICAgICA6IENTU1J1bGVJbXBsKHBhcmVudCkKIHsKICAgICBtX3R5cGUgPSBD
U1NSdWxlOjpTVFlMRV9SVUxFOwotICAgIG1fc3R5bGUgPSAwOwogICAgIG1fc2VsZWN0b3IgPSAw
OwogfQogCiBDU1NTdHlsZVJ1bGVJbXBsOjp+Q1NTU3R5bGVSdWxlSW1wbCgpCiB7Ci0gICAgaWYo
bV9zdHlsZSkgeworICAgIGlmKG1fc3R5bGUpCiAgICAgICAgIG1fc3R5bGUtPnNldFBhcmVudCgg
MCApOwotICAgICAgICBtX3N0eWxlLT5kZXJlZigpOwotICAgIH0KICAgICBkZWxldGUgbV9zZWxl
Y3RvcjsKIH0KIApAQCAtNDAzLDEzICszNzIsOCBAQCBib29sIENTU1N0eWxlUnVsZUltcGw6OnBh
cnNlU3RyaW5nKCBjb25zCiAKIHZvaWQgQ1NTU3R5bGVSdWxlSW1wbDo6c2V0RGVjbGFyYXRpb24o
IENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uSW1wbCAqc3R5bGUpCiB7Ci0gICAgaWYgKCBtX3N0
eWxlICE9IHN0eWxlICkgewotICAgICAgICBpZiAobV9zdHlsZSkKLSAgICAgICAgICAgIG1fc3R5
bGUtPmRlcmVmKCk7CisgICAgaWYgKG1fc3R5bGUgIT0gc3R5bGUpCiAgICAgICAgIG1fc3R5bGUg
PSBzdHlsZTsKLSAgICAgICAgaWYgKG1fc3R5bGUpCi0gICAgICAgICAgICBtX3N0eWxlLT5yZWYo
KTsKLSAgICB9CiB9CiAKIHZvaWQgQ1NTUnVsZUxpc3RJbXBsOjpkZWxldGVSdWxlICggdW5zaWdu
ZWQgaW5kZXggKQpJbmRleDogY3NzX3J1bGVpbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2
cy9yb290L1dlYkNvcmUva2h0bWwvY3NzL2Nzc19ydWxlaW1wbC5oLHYKcmV0cmlldmluZyByZXZp
c2lvbiAxLjE4CmRpZmYgLXAgLXUgLXIxLjE4IGNzc19ydWxlaW1wbC5oCi0tLSBjc3NfcnVsZWlt
cGwuaAkyNyBTZXAgMjAwNSAyMjozNzowMSAtMDAwMAkxLjE4CisrKyBjc3NfcnVsZWltcGwuaAkx
NSBEZWMgMjAwNSAwOToyNDoxMSAtMDAwMApAQCAtODksMTIgKzg5LDEyIEBAIHB1YmxpYzoKICAg
ICBDU1NGb250RmFjZVJ1bGVJbXBsKFN0eWxlQmFzZUltcGwgKnBhcmVudCk7CiAgICAgdmlydHVh
bCB+Q1NTRm9udEZhY2VSdWxlSW1wbCgpOwogCi0gICAgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRp
b25JbXBsICpzdHlsZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3R5bGU7IH0KKyAgICBDU1NNdXRhYmxl
U3R5bGVEZWNsYXJhdGlvbkltcGwgKnN0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9zdHlsZS5nZXQo
KTsgfQogCiAgICAgdmlydHVhbCBib29sIGlzRm9udEZhY2VSdWxlKCkgeyByZXR1cm4gdHJ1ZTsg
fQogCiBwcm90ZWN0ZWQ6Ci0gICAgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb25JbXBsICptX3N0
eWxlOworICAgIFJlZlB0cjxDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbkltcGw+IG1fc3R5bGU7
CiB9OwogCiAKQEAgLTEwOCw4ICsxMDgsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+Q1NTSW1w
b3J0UnVsZUltcGwoKTsKIAogICAgIERPTTo6RE9NU3RyaW5nIGhyZWYoKSBjb25zdCB7IHJldHVy
biBtX3N0ckhyZWY7IH0KLSAgICBNZWRpYUxpc3RJbXBsICptZWRpYSgpIGNvbnN0IHsgcmV0dXJu
IG1fbHN0TWVkaWE7IH0KLSAgICBDU1NTdHlsZVNoZWV0SW1wbCAqc3R5bGVTaGVldCgpIGNvbnN0
IHsgcmV0dXJuIG1fc3R5bGVTaGVldDsgfQorICAgIE1lZGlhTGlzdEltcGwgKm1lZGlhKCkgY29u
c3QgeyByZXR1cm4gbV9sc3RNZWRpYS5nZXQoKTsgfQorICAgIENTU1N0eWxlU2hlZXRJbXBsICpz
dHlsZVNoZWV0KCkgY29uc3QgeyByZXR1cm4gbV9zdHlsZVNoZWV0LmdldCgpOyB9CiAKICAgICB2
aXJ0dWFsIGJvb2wgaXNJbXBvcnRSdWxlKCkgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwg
RE9NU3RyaW5nIGNzc1RleHQoKSBjb25zdDsKQEAgLTEyMiw4ICsxMjIsOCBAQCBwdWJsaWM6CiAK
IHByb3RlY3RlZDoKICAgICBET01TdHJpbmcgbV9zdHJIcmVmOwotICAgIE1lZGlhTGlzdEltcGwg
Km1fbHN0TWVkaWE7Ci0gICAgQ1NTU3R5bGVTaGVldEltcGwgKm1fc3R5bGVTaGVldDsKKyAgICBS
ZWZQdHI8TWVkaWFMaXN0SW1wbD4gbV9sc3RNZWRpYTsKKyAgICBSZWZQdHI8Q1NTU3R5bGVTaGVl
dEltcGw+IG1fc3R5bGVTaGVldDsKICAgICBraHRtbDo6Q2FjaGVkQ1NTU3R5bGVTaGVldCAqbV9j
YWNoZWRTaGVldDsKICAgICBib29sIG1fbG9hZGluZzsKIH07CkBAIC0xNzAsNyArMTcwLDcgQEAg
cHVibGljOgogICAgIHVuc2lnbmVkIGFwcGVuZCggQ1NTUnVsZUltcGwgKnJ1bGUgKTsKIHByb3Rl
Y3RlZDoKICAgICBNZWRpYUxpc3RJbXBsICptX2xzdE1lZGlhOwotICAgIENTU1J1bGVMaXN0SW1w
bCAqbV9sc3RDU1NSdWxlczsKKyAgICBSZWZQdHI8Q1NTUnVsZUxpc3RJbXBsPiBtX2xzdENTU1J1
bGVzOwogfTsKIAogCkBAIC0xODAsNyArMTgwLDcgQEAgcHVibGljOgogICAgIENTU1BhZ2VSdWxl
SW1wbChTdHlsZUJhc2VJbXBsICpwYXJlbnQpOwogICAgIHZpcnR1YWwgfkNTU1BhZ2VSdWxlSW1w
bCgpOwogCi0gICAgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb25JbXBsICpzdHlsZSgpIGNvbnN0
IHsgcmV0dXJuIG1fc3R5bGU7IH0KKyAgICBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbkltcGwg
KnN0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9zdHlsZS5nZXQoKTsgfQogCiAgICAgdmlydHVhbCBi
b29sIGlzUGFnZVJ1bGUoKSB7IHJldHVybiB0cnVlOyB9CiAKQEAgLTE4OCw3ICsxODgsNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCBzZXRTZWxlY3RvclRleHQoRE9NOjpET01TdHJpbmcgc3RyKTsKIAog
cHJvdGVjdGVkOgotICAgIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uSW1wbCAqbV9zdHlsZTsK
KyAgICBSZWZQdHI8Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb25JbXBsPiBtX3N0eWxlOwogfTsK
IAogY2xhc3MgQ1NTSW1wb3J0YW50UnVsZUltcGw7CkBAIC0xOTksNyArMTk5LDcgQEAgcHVibGlj
OgogICAgIENTU1N0eWxlUnVsZUltcGwoU3R5bGVCYXNlSW1wbCAqcGFyZW50KTsKICAgICB2aXJ0
dWFsIH5DU1NTdHlsZVJ1bGVJbXBsKCk7CiAKLSAgICBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlv
bkltcGwgKnN0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9zdHlsZTsgfQorICAgIENTU011dGFibGVT
dHlsZURlY2xhcmF0aW9uSW1wbCAqc3R5bGUoKSBjb25zdCB7IHJldHVybiBtX3N0eWxlLmdldCgp
OyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNTdHlsZVJ1bGUoKSB7IHJldHVybiB0cnVlOyB9CiAg
ICAgdmlydHVhbCBET01TdHJpbmcgY3NzVGV4dCgpIGNvbnN0OwpAQCAtMjEzLDEwICsyMTMsMTAg
QEAgcHVibGljOgogICAgIHZvaWQgc2V0RGVjbGFyYXRpb24oIENTU011dGFibGVTdHlsZURlY2xh
cmF0aW9uSW1wbCAqc3R5bGUpOwogCiAgICAgQ1NTU2VsZWN0b3IqIHNlbGVjdG9yKCkgeyByZXR1
cm4gbV9zZWxlY3RvcjsgfQotICAgIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uSW1wbCAqZGVj
bGFyYXRpb24oKSB7IHJldHVybiBtX3N0eWxlOyB9CisgICAgQ1NTTXV0YWJsZVN0eWxlRGVjbGFy
YXRpb25JbXBsICpkZWNsYXJhdGlvbigpIHsgcmV0dXJuIG1fc3R5bGUuZ2V0KCk7IH0KICAKIHBy
b3RlY3RlZDoKLSAgICBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbkltcGwgKm1fc3R5bGU7Cisg
ICAgUmVmUHRyPENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uSW1wbD4gbV9zdHlsZTsKICAgICBD
U1NTZWxlY3RvciogbV9zZWxlY3RvcjsKIH07CiAKSW5kZXg6IGNzc19zdHlsZXNoZWV0aW1wbC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYkNvcmUva2h0bWwvY3NzL2Nzc19z
dHlsZXNoZWV0aW1wbC5jcHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTkKZGlmZiAtcCAtdSAt
cjEuMTkgY3NzX3N0eWxlc2hlZXRpbXBsLmNwcAotLS0gY3NzX3N0eWxlc2hlZXRpbXBsLmNwcAky
NSBPY3QgMjAwNSAwMDowNzo0NSAtMDAwMAkxLjE5CisrKyBjc3Nfc3R5bGVzaGVldGltcGwuY3Bw
CTE1IERlYyAyMDA1IDA5OjI0OjEyIC0wMDAwCkBAIC00OSw3ICs0OSw2IEBAIFN0eWxlU2hlZXRJ
bXBsOjpTdHlsZVNoZWV0SW1wbChTdHlsZVNoZWUKICAgICA6IFN0eWxlTGlzdEltcGwocGFyZW50
U2hlZXQpCiB7CiAgICAgbV9kaXNhYmxlZCA9IGZhbHNlOwotICAgIG1fbWVkaWEgPSAwOwogICAg
IG1fcGFyZW50Tm9kZSA9IDA7CiAgICAgbV9zdHJIcmVmID0gaHJlZjsKIH0KQEAgLTYwLDcgKzU5
LDYgQEAgU3R5bGVTaGVldEltcGw6OlN0eWxlU2hlZXRJbXBsKERPTTo6Tm9kZQogewogICAgIG1f
cGFyZW50Tm9kZSA9IHBhcmVudE5vZGU7CiAgICAgbV9kaXNhYmxlZCA9IGZhbHNlOwotICAgIG1f
bWVkaWEgPSAwOwogICAgIG1fc3RySHJlZiA9IGhyZWY7CiB9CiAKQEAgLTY4LDE3ICs2NiwxNCBA
QCBTdHlsZVNoZWV0SW1wbDo6U3R5bGVTaGVldEltcGwoU3R5bGVCYXNlCiAgICAgOiBTdHlsZUxp
c3RJbXBsKG93bmVyKQogewogICAgIG1fZGlzYWJsZWQgPSBmYWxzZTsKLSAgICBtX21lZGlhID0g
MDsKICAgICBtX3BhcmVudE5vZGUgPSAwOwogICAgIG1fc3RySHJlZiA9IGhyZWY7CiB9CiAKIFN0
eWxlU2hlZXRJbXBsOjp+U3R5bGVTaGVldEltcGwoKQogewotICAgIGlmIChtX21lZGlhKSB7Ci0g
ICAgICAgIG1fbWVkaWEtPnNldFBhcmVudCggMCApOwotICAgICAgICBtX21lZGlhLT5kZXJlZigp
OwotICAgIH0KKyAgICBpZiAobV9tZWRpYSkKKyAgICAgICAgbV9tZWRpYS0+c2V0UGFyZW50KDAp
OwogfQogCiBTdHlsZVNoZWV0SW1wbCAqU3R5bGVTaGVldEltcGw6OnBhcmVudFN0eWxlU2hlZXQo
KSBjb25zdApAQCAtODYsMTIgKzgxLDggQEAgU3R5bGVTaGVldEltcGwgKlN0eWxlU2hlZXRJbXBs
OjpwYXJlbnRTdAogICAgIHJldHVybiAocGFyZW50KCkgJiYgcGFyZW50KCktPmlzU3R5bGVTaGVl
dCgpKSA/IHN0YXRpY19jYXN0PFN0eWxlU2hlZXRJbXBsICo+KHBhcmVudCgpKSA6IDA7CiB9CiAK
LXZvaWQgU3R5bGVTaGVldEltcGw6OnNldE1lZGlhKCBNZWRpYUxpc3RJbXBsICptZWRpYSApCit2
b2lkIFN0eWxlU2hlZXRJbXBsOjpzZXRNZWRpYShNZWRpYUxpc3RJbXBsICptZWRpYSkKIHsKLSAg
ICBpZiAobWVkaWEpCi0gICAgICAgIG1lZGlhLT5yZWYoKTsKLSAgICBpZiAobV9tZWRpYSkKLSAg
ICAgICAgbV9tZWRpYS0+ZGVyZWYoKTsKICAgICBtX21lZGlhID0gbWVkaWE7CiB9CiAKSW5kZXg6
IGNzc19zdHlsZXNoZWV0aW1wbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJD
b3JlL2todG1sL2Nzcy9jc3Nfc3R5bGVzaGVldGltcGwuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24g
MS4xMwpkaWZmIC1wIC11IC1yMS4xMyBjc3Nfc3R5bGVzaGVldGltcGwuaAotLS0gY3NzX3N0eWxl
c2hlZXRpbXBsLmgJMTYgU2VwIDIwMDUgMjI6NDI6MDEgLTAwMDAJMS4xMworKysgY3NzX3N0eWxl
c2hlZXRpbXBsLmgJMTUgRGVjIDIwMDUgMDk6MjQ6MTIgLTAwMDAKQEAgLTY5LDcgKzY5LDcgQEAg
cHVibGljOgogICAgIFN0eWxlU2hlZXRJbXBsICpwYXJlbnRTdHlsZVNoZWV0KCkgY29uc3Q7CiAg
ICAgRE9NOjpET01TdHJpbmcgaHJlZigpIGNvbnN0IHsgcmV0dXJuIG1fc3RySHJlZjsgfQogICAg
IERPTTo6RE9NU3RyaW5nIHRpdGxlKCkgY29uc3QgeyByZXR1cm4gbV9zdHJUaXRsZTsgfQotICAg
IE1lZGlhTGlzdEltcGwgKm1lZGlhKCkgY29uc3QgeyByZXR1cm4gbV9tZWRpYTsgfQorICAgIE1l
ZGlhTGlzdEltcGwgKm1lZGlhKCkgY29uc3QgeyByZXR1cm4gbV9tZWRpYS5nZXQoKTsgfQogICAg
IHZvaWQgc2V0TWVkaWEoIE1lZGlhTGlzdEltcGwgKm1lZGlhICk7CiAKICAgICB2aXJ0dWFsIGJv
b2wgaXNMb2FkaW5nKCkgeyByZXR1cm4gZmFsc2U7IH0KQEAgLTc4LDcgKzc4LDcgQEAgcHJvdGVj
dGVkOgogICAgIERPTTo6Tm9kZUltcGwgKm1fcGFyZW50Tm9kZTsKICAgICBET006OkRPTVN0cmlu
ZyBtX3N0ckhyZWY7CiAgICAgRE9NOjpET01TdHJpbmcgbV9zdHJUaXRsZTsKLSAgICBNZWRpYUxp
c3RJbXBsICptX21lZGlhOworICAgIFJlZlB0cjxNZWRpYUxpc3RJbXBsPiBtX21lZGlhOwogICAg
IGJvb2wgbV9kaXNhYmxlZDsKIH07CiAKSW5kZXg6IGNzc192YWx1ZWltcGwuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL2todG1sL2Nzcy9jc3NfdmFsdWVpbXBsLmNw
cCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS44NApkaWZmIC1wIC11IC1yMS44NCBjc3NfdmFsdWVp
bXBsLmNwcAotLS0gY3NzX3ZhbHVlaW1wbC5jcHAJMTQgRGVjIDIwMDUgMDA6NDA6NTYgLTAwMDAJ
MS44NAorKysgY3NzX3ZhbHVlaW1wbC5jcHAJMTUgRGVjIDIwMDUgMDk6MjQ6MTMgLTAwMDAKQEAg
LTMxNCwxNCArMzE0LDEyIEBAIERPTVN0cmluZyBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbklt
cGwKICAgICBET01TdHJpbmcgcmVzOwogICAgIGZvciAoaW50IGkgPSAwOyBpIDwgNDsgKytpKSB7
CiAgICAgICAgIGlmICghaXNQcm9wZXJ0eUltcGxpY2l0KHByb3BlcnRpZXNbaV0pKSB7Ci0gICAg
ICAgICAgICBDU1NWYWx1ZUltcGwqIHZhbHVlID0gZ2V0UHJvcGVydHlDU1NWYWx1ZShwcm9wZXJ0
aWVzW2ldKTsKKyAgICAgICAgICAgIFJlZlB0cjxDU1NWYWx1ZUltcGw+IHZhbHVlID0gZ2V0UHJv
cGVydHlDU1NWYWx1ZShwcm9wZXJ0aWVzW2ldKTsKICAgICAgICAgICAgIGlmICghdmFsdWUpIC8v
IGFwcGFyZW50bHkgYWxsIDQgcHJvcGVydGllcyBtdXN0IGJlIHNwZWNpZmllZC4KICAgICAgICAg
ICAgICAgICByZXR1cm4gRE9NU3RyaW5nKCk7Ci0gICAgICAgICAgICB2YWx1ZS0+cmVmKCk7CiAg
ICAgICAgICAgICBpZiAoIXJlcy5pc051bGwoKSkKICAgICAgICAgICAgICAgICByZXMgKz0gIiAi
OwogICAgICAgICAgICAgcmVzICs9IHZhbHVlLT5jc3NUZXh0KCk7Ci0gICAgICAgICAgICB2YWx1
ZS0+ZGVyZWYoKTsKICAgICAgICAgfQogICAgIH0KICAgICByZXR1cm4gcmVzOwpAQCAtMzMyLDEz
ICszMzAsMTEgQEAgRE9NU3RyaW5nIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uSW1wbAogICAg
IERPTVN0cmluZyByZXM7CiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBudW1iZXI7ICsraSkgewog
ICAgICAgICBpZiAoIWlzUHJvcGVydHlJbXBsaWNpdChwcm9wZXJ0aWVzW2ldKSkgewotICAgICAg
ICAgICAgQ1NTVmFsdWVJbXBsKiB2YWx1ZSA9IGdldFByb3BlcnR5Q1NTVmFsdWUocHJvcGVydGll
c1tpXSk7CisgICAgICAgICAgICBSZWZQdHI8Q1NTVmFsdWVJbXBsPiB2YWx1ZSA9IGdldFByb3Bl
cnR5Q1NTVmFsdWUocHJvcGVydGllc1tpXSk7CiAgICAgICAgICAgICBpZiAodmFsdWUpIHsgLy8g
VE9ETyBwcm92aWRlIGRlZmF1bHQgdmFsdWUgaWYgIXZhbHVlCi0gICAgICAgICAgICAgICAgdmFs
dWUtPnJlZigpOwogICAgICAgICAgICAgICAgIGlmICghcmVzLmlzTnVsbCgpKQogICAgICAgICAg
ICAgICAgICAgICByZXMgKz0gIiAiOwogICAgICAgICAgICAgICAgIHJlcyArPSB2YWx1ZS0+Y3Nz
VGV4dCgpOwotICAgICAgICAgICAgICAgIHZhbHVlLT5kZXJlZigpOwogICAgICAgICAgICAgfQog
ICAgICAgICB9CiAgICAgfQpAQCAtNTUyLDEwICs1NDgsOCBAQCB2b2lkIENTU011dGFibGVTdHls
ZURlY2xhcmF0aW9uSW1wbDo6bWVyCiAgICAgUVZhbHVlTGlzdENvbnN0SXRlcmF0b3I8Q1NTUHJv
cGVydHk+IGVuZDsKICAgICBmb3IgKFFWYWx1ZUxpc3RDb25zdEl0ZXJhdG9yPENTU1Byb3BlcnR5
PiBpdCA9IG90aGVyLT52YWx1ZXNJdGVyYXRvcigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKICAgICAg
ICAgY29uc3QgQ1NTUHJvcGVydHkgJnByb3BlcnR5ID0gKml0OwotICAgICAgICBDU1NWYWx1ZUlt
cGwgKnZhbHVlID0gZ2V0UHJvcGVydHlDU1NWYWx1ZShwcm9wZXJ0eS5pZCgpKTsKKyAgICAgICAg
UmVmUHRyPENTU1ZhbHVlSW1wbD4gdmFsdWUgPSBnZXRQcm9wZXJ0eUNTU1ZhbHVlKHByb3BlcnR5
LmlkKCkpOwogICAgICAgICBpZiAodmFsdWUpIHsKLSAgICAgICAgICAgIHZhbHVlLT5yZWYoKTsK
LSAgICAgICAgICAgIHZhbHVlLT5kZXJlZigpOwogICAgICAgICAgICAgaWYgKCFhcmdPdmVycmlk
ZXNPbkNvbmZsaWN0KQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgcmVt
b3ZlUHJvcGVydHkocHJvcGVydHkuaWQoKSk7CkBAIC01NzUsMTQgKzU2OSw5IEBAIHZvaWQgQ1NT
U3R5bGVEZWNsYXJhdGlvbkltcGw6OmRpZmYoQ1NTTXUKICAgICBRVmFsdWVMaXN0Q29uc3RJdGVy
YXRvcjxDU1NQcm9wZXJ0eT4gZW5kOwogICAgIGZvciAoUVZhbHVlTGlzdENvbnN0SXRlcmF0b3I8
Q1NTUHJvcGVydHk+IGl0KHN0eWxlLT52YWx1ZXNJdGVyYXRvcigpKTsgaXQgIT0gZW5kOyArK2l0
KSB7CiAgICAgICAgIGNvbnN0IENTU1Byb3BlcnR5ICZwcm9wZXJ0eSA9ICppdDsKLSAgICAgICAg
Q1NTVmFsdWVJbXBsICp2YWx1ZSA9IGdldFByb3BlcnR5Q1NTVmFsdWUocHJvcGVydHkuaWQoKSk7
Ci0gICAgICAgIGlmICh2YWx1ZSkgewotICAgICAgICAgICAgdmFsdWUtPnJlZigpOwotICAgICAg
ICAgICAgaWYgKHZhbHVlLT5jc3NUZXh0KCkgPT0gcHJvcGVydHkudmFsdWUoKS0+Y3NzVGV4dCgp
KSB7Ci0gICAgICAgICAgICAgICAgcHJvcGVydGllcy5hcHBlbmQocHJvcGVydHkuaWQoKSk7Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgICAgICB2YWx1ZS0+ZGVyZWYoKTsKLSAgICAgICAgfQorICAg
ICAgICBSZWZQdHI8Q1NTVmFsdWVJbXBsPiB2YWx1ZSA9IGdldFByb3BlcnR5Q1NTVmFsdWUocHJv
cGVydHkuaWQoKSk7CisgICAgICAgIGlmICh2YWx1ZSAmJiAodmFsdWUtPmNzc1RleHQoKSA9PSBw
cm9wZXJ0eS52YWx1ZSgpLT5jc3NUZXh0KCkpKQorICAgICAgICAgICAgcHJvcGVydGllcy5hcHBl
bmQocHJvcGVydHkuaWQoKSk7CiAgICAgfQogICAgIAogICAgIGZvciAoUVZhbHVlTGlzdEl0ZXJh
dG9yPGludD4gaXQocHJvcGVydGllcy5iZWdpbigpKTsgaXQgIT0gcHJvcGVydGllcy5lbmQoKTsg
KytpdCkKQEAgLTc2MiwzMSArNzUxLDI4IEBAIENTU1ByaW1pdGl2ZVZhbHVlSW1wbDo6Q1NTUHJp
bWl0aXZlVmFsdWUKIAogQ1NTUHJpbWl0aXZlVmFsdWVJbXBsOjpDU1NQcmltaXRpdmVWYWx1ZUlt
cGwoY29uc3QgRE9NU3RyaW5nICZzdHIsIENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMgdHlw
ZSkKIHsKLSAgICBtX3ZhbHVlLnN0cmluZyA9IHN0ci5pbXBsKCk7Ci0gICAgaWYobV92YWx1ZS5z
dHJpbmcpIG1fdmFsdWUuc3RyaW5nLT5yZWYoKTsKKyAgICBpZiAobV92YWx1ZS5zdHJpbmcgPSBz
dHIuaW1wbCgpKQorICAgICAgICBtX3ZhbHVlLnN0cmluZy0+cmVmKCk7CiAgICAgbV90eXBlID0g
dHlwZTsKIH0KIAogQ1NTUHJpbWl0aXZlVmFsdWVJbXBsOjpDU1NQcmltaXRpdmVWYWx1ZUltcGwo
Q291bnRlckltcGwgKmMpCiB7Ci0gICAgbV92YWx1ZS5jb3VudGVyID0gYzsKLSAgICBpZiAobV92
YWx1ZS5jb3VudGVyKQorICAgIGlmIChtX3ZhbHVlLmNvdW50ZXIgPSBjKQogICAgICAgICBtX3Zh
bHVlLmNvdW50ZXItPnJlZigpOwogICAgIG1fdHlwZSA9IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1Nf
Q09VTlRFUjsKIH0KIAogQ1NTUHJpbWl0aXZlVmFsdWVJbXBsOjpDU1NQcmltaXRpdmVWYWx1ZUlt
cGwoIFJlY3RJbXBsICpyKQogewotICAgIG1fdmFsdWUucmVjdCA9IHI7Ci0gICAgaWYgKG1fdmFs
dWUucmVjdCkKKyAgICBpZiAobV92YWx1ZS5yZWN0ID0gcikKICAgICAgICAgbV92YWx1ZS5yZWN0
LT5yZWYoKTsKICAgICBtX3R5cGUgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1JFQ1Q7CiB9CiAK
IENTU1ByaW1pdGl2ZVZhbHVlSW1wbDo6Q1NTUHJpbWl0aXZlVmFsdWVJbXBsKCBEYXNoYm9hcmRS
ZWdpb25JbXBsICpyKQogewotICAgIG1fdmFsdWUucmVnaW9uID0gcjsKLSAgICBpZiAobV92YWx1
ZS5yZWdpb24pCisgICAgaWYgKG1fdmFsdWUucmVnaW9uID0gcikKICAgICAgICAgbV92YWx1ZS5y
ZWdpb24tPnJlZigpOwogICAgIG1fdHlwZSA9IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfREFTSEJP
QVJEX1JFR0lPTjsKIH0KQEAgLTc5OSw4ICs3ODUsNyBAQCBDU1NQcmltaXRpdmVWYWx1ZUltcGw6
OkNTU1ByaW1pdGl2ZVZhbHVlCiAKIENTU1ByaW1pdGl2ZVZhbHVlSW1wbDo6Q1NTUHJpbWl0aXZl
VmFsdWVJbXBsKFBhaXJJbXBsKiBwKQogewotICAgIG1fdmFsdWUucGFpciA9IHA7Ci0gICAgaWYg
KHApCisgICAgaWYgKG1fdmFsdWUucGFpciA9IHApCiAgICAgICAgIHAtPnJlZigpOwogICAgIG1f
dHlwZSA9IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEFJUjsKIH0KQEAgLTgxNiw3ICs4MDEsOCBA
QCB2b2lkIENTU1ByaW1pdGl2ZVZhbHVlSW1wbDo6Y2xlYW51cCgpCiAgICAgY2FzZSBDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTX1NUUklORzoKICAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1Nf
VVJJOgogICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19BVFRSOgotICAgICAgICBpZiht
X3ZhbHVlLnN0cmluZykgbV92YWx1ZS5zdHJpbmctPmRlcmVmKCk7CisgICAgICAgIGlmKG1fdmFs
dWUuc3RyaW5nKQorICAgICAgICAgICAgbV92YWx1ZS5zdHJpbmctPmRlcmVmKCk7CiAgICAgICAg
IGJyZWFrOwogICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19DT1VOVEVSOgogICAgICAg
ICBtX3ZhbHVlLmNvdW50ZXItPmRlcmVmKCk7CkBAIC0xMTEzLDQ1ICsxMDk5LDI5IEBAIERPTTo6
RE9NU3RyaW5nIENTU1ByaW1pdGl2ZVZhbHVlSW1wbDo6Y3MKIAogUmVjdEltcGw6OlJlY3RJbXBs
KCkKIHsKLSAgICBtX3RvcCA9IDA7Ci0gICAgbV9yaWdodCA9IDA7Ci0gICAgbV9ib3R0b20gPSAw
OwotICAgIG1fbGVmdCA9IDA7CiB9CiAKIFJlY3RJbXBsOjp+UmVjdEltcGwoKQogewotICAgIGlm
IChtX3RvcCkgbV90b3AtPmRlcmVmKCk7Ci0gICAgaWYgKG1fcmlnaHQpIG1fcmlnaHQtPmRlcmVm
KCk7Ci0gICAgaWYgKG1fYm90dG9tKSBtX2JvdHRvbS0+ZGVyZWYoKTsKLSAgICBpZiAobV9sZWZ0
KSBtX2xlZnQtPmRlcmVmKCk7CiB9CiAKIHZvaWQgUmVjdEltcGw6OnNldFRvcCggQ1NTUHJpbWl0
aXZlVmFsdWVJbXBsICp0b3AgKQogewotICAgIGlmKCB0b3AgKSB0b3AtPnJlZigpOwotICAgIGlm
ICggbV90b3AgKSBtX3RvcC0+ZGVyZWYoKTsKICAgICBtX3RvcCA9IHRvcDsKIH0KIAogdm9pZCBS
ZWN0SW1wbDo6c2V0UmlnaHQoIENTU1ByaW1pdGl2ZVZhbHVlSW1wbCAqcmlnaHQgKQogewotICAg
IGlmKCByaWdodCApIHJpZ2h0LT5yZWYoKTsKLSAgICBpZiAoIG1fcmlnaHQgKSBtX3JpZ2h0LT5k
ZXJlZigpOwogICAgIG1fcmlnaHQgPSByaWdodDsKIH0KIAogdm9pZCBSZWN0SW1wbDo6c2V0Qm90
dG9tKCBDU1NQcmltaXRpdmVWYWx1ZUltcGwgKmJvdHRvbSApCiB7Ci0gICAgaWYoIGJvdHRvbSAp
IGJvdHRvbS0+cmVmKCk7Ci0gICAgaWYgKCBtX2JvdHRvbSApIG1fYm90dG9tLT5kZXJlZigpOwog
ICAgIG1fYm90dG9tID0gYm90dG9tOwogfQogCiB2b2lkIFJlY3RJbXBsOjpzZXRMZWZ0KCBDU1NQ
cmltaXRpdmVWYWx1ZUltcGwgKmxlZnQgKQogewotICAgIGlmKCBsZWZ0ICkgbGVmdC0+cmVmKCk7
Ci0gICAgaWYgKCBtX2xlZnQgKSBtX2xlZnQtPmRlcmVmKCk7CiAgICAgbV9sZWZ0ID0gbGVmdDsK
IH0KIApAQCAtMTE1OSwyNiArMTEyOSwxOSBAQCB2b2lkIFJlY3RJbXBsOjpzZXRMZWZ0KCBDU1NQ
cmltaXRpdmVWYWx1CiAKIFBhaXJJbXBsOjpQYWlySW1wbCgpCiB7Ci0gICAgbV9maXJzdCA9IG1f
c2Vjb25kID0gMDsKIH0KIAogUGFpckltcGw6On5QYWlySW1wbCgpCiB7Ci0gICAgaWYgKG1fZmly
c3QpIG1fZmlyc3QtPmRlcmVmKCk7Ci0gICAgaWYgKG1fc2Vjb25kKSBtX3NlY29uZC0+ZGVyZWYo
KTsKIH0KIAogdm9pZCBQYWlySW1wbDo6c2V0Rmlyc3QoQ1NTUHJpbWl0aXZlVmFsdWVJbXBsICpm
aXJzdCkKIHsKLSAgICBpZiAoZmlyc3QpIGZpcnN0LT5yZWYoKTsKLSAgICBpZiAobV9maXJzdCkg
bV9maXJzdC0+ZGVyZWYoKTsKICAgICBtX2ZpcnN0ID0gZmlyc3Q7CiB9CiAKIHZvaWQgUGFpcklt
cGw6OnNldFNlY29uZChDU1NQcmltaXRpdmVWYWx1ZUltcGwgKnNlY29uZCkKIHsKLSAgICBpZiAo
c2Vjb25kKSBzZWNvbmQtPnJlZigpOwotICAgIGlmIChtX3NlY29uZCkgbV9zZWNvbmQtPmRlcmVm
KCk7CiAgICAgbV9zZWNvbmQgPSBzZWNvbmQ7CiB9CiAKQEAgLTEyMjQsMTggKzExODcsMTAgQEAg
Q1NTQm9yZGVySW1hZ2VWYWx1ZUltcGw6OkNTU0JvcmRlckltYWdlVgogOiBtX2ltYWdlKGltYWdl
KSwgbV9pbWFnZVNsaWNlUmVjdChpbWFnZVJlY3QpLAogICBtX2hvcml6b250YWxTaXplUnVsZSho
b3Jpem9udGFsUnVsZSksIG1fdmVydGljYWxTaXplUnVsZSh2ZXJ0aWNhbFJ1bGUpCiB7Ci0gICAg
aWYgKG1faW1hZ2UpCi0gICAgICAgIG1faW1hZ2UtPnJlZigpOwotICAgIGlmIChtX2ltYWdlU2xp
Y2VSZWN0KQotICAgICAgICBtX2ltYWdlU2xpY2VSZWN0LT5yZWYoKTsKIH0KIAogQ1NTQm9yZGVy
SW1hZ2VWYWx1ZUltcGw6On5DU1NCb3JkZXJJbWFnZVZhbHVlSW1wbCgpCiB7Ci0gICAgaWYgKG1f
aW1hZ2UpCi0gICAgICAgIG1faW1hZ2UtPmRlcmVmKCk7Ci0gICAgaWYgKG1faW1hZ2VTbGljZVJl
Y3QpCi0gICAgICAgIG1faW1hZ2VTbGljZVJlY3QtPmRlcmVmKCk7CiB9CiAKIERPTVN0cmluZyBD
U1NCb3JkZXJJbWFnZVZhbHVlSW1wbDo6Y3NzVGV4dCgpIGNvbnN0CkluZGV4OiBjc3NfdmFsdWVp
bXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYkNvcmUva2h0bWwvY3NzL2Nz
c192YWx1ZWltcGwuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS41NApkaWZmIC1wIC11IC1yMS41
NCBjc3NfdmFsdWVpbXBsLmgKLS0tIGNzc192YWx1ZWltcGwuaAk3IERlYyAyMDA1IDAxOjEyOjM2
IC0wMDAwCTEuNTQKKysrIGNzc192YWx1ZWltcGwuaAkxNSBEZWMgMjAwNSAwOToyNDoxMyAtMDAw
MApAQCAtMjY5LDEwICsyNjksMTAgQEAgcHVibGljOgogICAgIHZvaWQgc2V0Qm90dG9tKCBDU1NQ
cmltaXRpdmVWYWx1ZUltcGwgKmJvdHRvbSApOwogICAgIHZvaWQgc2V0TGVmdCggQ1NTUHJpbWl0
aXZlVmFsdWVJbXBsICpsZWZ0ICk7CiBwcm90ZWN0ZWQ6Ci0gICAgQ1NTUHJpbWl0aXZlVmFsdWVJ
bXBsICptX3RvcDsKLSAgICBDU1NQcmltaXRpdmVWYWx1ZUltcGwgKm1fcmlnaHQ7Ci0gICAgQ1NT
UHJpbWl0aXZlVmFsdWVJbXBsICptX2JvdHRvbTsKLSAgICBDU1NQcmltaXRpdmVWYWx1ZUltcGwg
Km1fbGVmdDsKKyAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWVJbXBsPiBtX3RvcDsKKyAgICBS
ZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWVJbXBsPiBtX3JpZ2h0OworICAgIFJlZlB0cjxDU1NQcmlt
aXRpdmVWYWx1ZUltcGw+IG1fYm90dG9tOworICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZUlt
cGw+IG1fbGVmdDsKIH07CiAKIC8vIEEgcHJpbWl0aXZlIHZhbHVlIHJlcHJlc2VudGluZyBhIHBh
aXIuICBUaGlzIGlzIHVzZWZ1bCBmb3IgcHJvcGVydGllcyBsaWtlIGJvcmRlci1yYWRpdXMsIGJh
Y2tncm91bmQtc2l6ZS9wb3NpdGlvbiwKQEAgLTI5MSw4ICsyOTEsOCBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZXRTZWNvbmQoQ1NTUHJpbWl0aXZlVmFsdWVJbXBsICpzZWNvbmQpOwogCiBwcm90ZWN0
ZWQ6Ci0gICAgQ1NTUHJpbWl0aXZlVmFsdWVJbXBsICptX2ZpcnN0OwotICAgIENTU1ByaW1pdGl2
ZVZhbHVlSW1wbCAqbV9zZWNvbmQ7CisgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlSW1wbD4g
bV9maXJzdDsKKyAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWVJbXBsPiBtX3NlY29uZDsKIH07
CiAKIApAQCAtMzA2LDEzICszMDYsMTEgQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXROZXh0IChE
YXNoYm9hcmRSZWdpb25JbXBsICpuZXh0KQogICAgIHsKLSAgICAgICAgaWYgKG5leHQpIG5leHQt
PnJlZigpOwotICAgICAgICBpZiAobV9uZXh0KSBtX25leHQtPmRlcmVmKCk7CiAgICAgICAgIG1f
bmV4dCA9IG5leHQ7CiAgICAgfQogICAgIAogcHVibGljOgotICAgIERhc2hib2FyZFJlZ2lvbklt
cGwgKm1fbmV4dDsKKyAgICBSZWZQdHI8RGFzaGJvYXJkUmVnaW9uSW1wbD4gbV9uZXh0OwogICAg
IFFTdHJpbmcgbV9sYWJlbDsKICAgICBRU3RyaW5nIG1fZ2VvbWV0cnlUeXBlOwogICAgIHVuc2ln
bmVkIGludCBtX2lzQ2lyY2xlOjE7CkBAIC0zNDYsMTEgKzM0NCwxMSBAQCBwdWJsaWM6CiAKIHB1
YmxpYzoKICAgICAvLyBUaGUgYm9yZGVyIGltYWdlLgotICAgIENTU0ltYWdlVmFsdWVJbXBsKiBt
X2ltYWdlOworICAgIFJlZlB0cjxDU1NJbWFnZVZhbHVlSW1wbD4gbV9pbWFnZTsKIAogICAgIC8v
IFRoZXNlIGZvdXIgdmFsdWVzIGFyZSB1c2VkIHRvIG1ha2UgImN1dHMiIGluIHRoZSBpbWFnZS4g
IFRoZXkgY2FuIGJlIG51bWJlcnMKICAgICAvLyBvciBwZXJjZW50YWdlcy4KLSAgICBSZWN0SW1w
bCogbV9pbWFnZVNsaWNlUmVjdDsKKyAgICBSZWZQdHI8UmVjdEltcGw+IG1faW1hZ2VTbGljZVJl
Y3Q7CiAgICAgCiAgICAgLy8gVmFsdWVzIGZvciBob3cgdG8gaGFuZGxlIHRoZSBzY2FsaW5nL3N0
cmV0Y2hpbmcvdGlsaW5nIG9mIHRoZSBpbWFnZSBzbGljZXMuCiAgICAgaW50IG1faG9yaXpvbnRh
bFNpemVSdWxlOyAvLyBSdWxlIGZvciBob3cgdG8gYWRqdXN0IHRoZSB3aWR0aHMgb2YgdGhlIHRv
cC9taWRkbGUvYm90dG9tCkBAIC00MTQsOCArNDEyLDYgQEAgcHVibGljOgogICAgIENTU1Byb3Bl
cnR5KGludCBwcm9wSUQsIENTU1ZhbHVlSW1wbCAqdmFsdWUsIGJvb2wgaW1wb3J0YW50ID0gZmFs
c2UsIGludCBzaG9ydGhhbmRJRCA9IDAsIGJvb2wgaW1wbGljaXQgPSBmYWxzZSkKICAgICAgICAg
OiBtX2lkKHByb3BJRCksIG1fc2hvcnRoYW5kSUQoc2hvcnRoYW5kSUQpLCBtX2ltcG9ydGFudChp
bXBvcnRhbnQpLCBtX2ltcGxpY2l0KGltcGxpY2l0KSwgbV92YWx1ZSh2YWx1ZSkKICAgICB7Ci0g
ICAgICAgIGlmICh2YWx1ZSkKLSAgICAgICAgICAgIHZhbHVlLT5yZWYoKTsKICAgICB9CiAgICAg
CiAgICAgQ1NTUHJvcGVydHkoY29uc3QgQ1NTUHJvcGVydHkmIG8pCkBAIC00MjUsMTYgKzQyMSwx
MCBAQCBwdWJsaWM6CiAgICAgICAgIG1faW1wb3J0YW50ID0gby5tX2ltcG9ydGFudDsKICAgICAg
ICAgbV9pbXBsaWNpdCA9IG8ubV9pbXBsaWNpdDsKICAgICAgICAgbV92YWx1ZSA9IG8ubV92YWx1
ZTsKLSAgICAgICAgaWYgKG1fdmFsdWUpCi0gICAgICAgICAgICBtX3ZhbHVlLT5yZWYoKTsKICAg
ICB9CiAgICAgCiAgICAgQ1NTUHJvcGVydHkgJm9wZXJhdG9yPShjb25zdCBDU1NQcm9wZXJ0eSYg
bykKICAgICB7Ci0gICAgICAgIGlmIChvLm1fdmFsdWUpCi0gICAgICAgICAgICBvLm1fdmFsdWUt
PnJlZigpOwotCWlmIChtX3ZhbHVlKQotICAgICAgICAgICAgbV92YWx1ZS0+ZGVyZWYoKTsKICAg
ICAgICAgbV9pZCA9IG8ubV9pZDsKICAgICAgICAgbV9zaG9ydGhhbmRJRCA9IG8ubV9zaG9ydGhh
bmRJRDsKICAgICAgICAgbV9pbXBvcnRhbnQgPSBvLm1faW1wb3J0YW50OwpAQCAtNDQyLDE2ICs0
MzIsOSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAqdGhpczsKICAgICB9CiAgICAgCi0gICAg
fkNTU1Byb3BlcnR5KCkgewotCWlmIChtX3ZhbHVlKQotICAgICAgICAgICAgbV92YWx1ZS0+ZGVy
ZWYoKTsKLSAgICB9CisgICAgfkNTU1Byb3BlcnR5KCkge30KIAogICAgIHZvaWQgc2V0VmFsdWUo
Q1NTVmFsdWVJbXBsICp2YWwpIHsKLQlpZiAodmFsKQotICAgICAgICAgICAgdmFsLT5yZWYoKTsK
LSAgICAgICAgaWYgKG1fdmFsdWUpCi0gICAgICAgICAgICBtX3ZhbHVlLT5kZXJlZigpOwogICAg
ICAgICBtX3ZhbHVlID0gdmFsOwogICAgIH0KIApAQCAtNDYxLDcgKzQ0NCw3IEBAIHB1YmxpYzoK
ICAgICBib29sIGlzSW1wb3J0YW50KCkgY29uc3QgeyByZXR1cm4gbV9pbXBvcnRhbnQ7IH0KICAg
ICBib29sIGlzSW1wbGljaXQoKSBjb25zdCB7IHJldHVybiBtX2ltcGxpY2l0OyB9CiAKLSAgICBD
U1NWYWx1ZUltcGwgKnZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZTsgfQorICAgIENTU1Zh
bHVlSW1wbCAqdmFsdWUoKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlLmdldCgpOyB9CiAgICAgCiAg
ICAgRE9NU3RyaW5nIGNzc1RleHQoKSBjb25zdDsKIApAQCAtNDc0LDcgKzQ1Nyw3IEBAIHB1Ymxp
YzoKICAgICBmcmllbmQgYm9vbCBvcGVyYXRvcj09KGNvbnN0IENTU1Byb3BlcnR5ICYsIGNvbnN0
IENTU1Byb3BlcnR5ICYpOwogCiBwcm90ZWN0ZWQ6Ci0gICAgQ1NTVmFsdWVJbXBsICptX3ZhbHVl
OworICAgIFJlZlB0cjxDU1NWYWx1ZUltcGw+IG1fdmFsdWU7CiB9OwogCiBjbGFzcyBDU1NNdXRh
YmxlU3R5bGVEZWNsYXJhdGlvbkltcGwgOiBwdWJsaWMgQ1NTU3R5bGVEZWNsYXJhdGlvbkltcGwK
SW5kZXg6IGNzc3BhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYkNv
cmUva2h0bWwvY3NzL2Nzc3BhcnNlci5jcHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTE2CmRp
ZmYgLXAgLXUgLXIxLjExNiBjc3NwYXJzZXIuY3BwCi0tLSBjc3NwYXJzZXIuY3BwCTExIERlYyAy
MDA1IDA5OjI2OjA2IC0wMDAwCTEuMTE2CisrKyBjc3NwYXJzZXIuY3BwCTE1IERlYyAyMDA1IDA5
OjI0OjE2IC0wMDAwCkBAIC0yMzcsOSArMjM3LDcgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFs
dWUoIENTU011dGFibGVTdAogUVJnYiBDU1NQYXJzZXI6OnBhcnNlQ29sb3IoY29uc3QgRE9NU3Ry
aW5nICZzdHJpbmcpCiB7CiAgICAgUVJnYiBjb2xvciA9IDA7Ci0gICAgQ1NTTXV0YWJsZVN0eWxl
RGVjbGFyYXRpb25JbXBsICpkdW1teVN0eWxlRGVjbGFyYXRpb24gPSBuZXcgQ1NTTXV0YWJsZVN0
eWxlRGVjbGFyYXRpb25JbXBsOwotICAgIAotICAgIGR1bW15U3R5bGVEZWNsYXJhdGlvbi0+cmVm
KCk7CisgICAgUmVmUHRyPENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uSW1wbD5kdW1teVN0eWxl
RGVjbGFyYXRpb24gPSBuZXcgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb25JbXBsOwogCiAgICAg
Q1NTUGFyc2VyIHBhcnNlcih0cnVlKTsKIApAQCAtMjQ3LDE5ICsyNDUsMTUgQEAgUVJnYiBDU1NQ
YXJzZXI6OnBhcnNlQ29sb3IoY29uc3QgRE9NU3RyaQogICAgIGlmICghcGFyc2VyLnBhcnNlQ29s
b3Ioc3RyaW5nLnFzdHJpbmcoKSwgY29sb3IpKSB7CiAgICAgCiAgICAgICAgIC8vIE5vdyB0cnkg
dG8gY3JlYXRlIGEgY29sb3IgZnJvbSB0aGUgcmdiKCkgb3IgcmdiYSgpIHN5bnRheC4KLSAgICAg
ICAgYm9vbCBvayA9IHBhcnNlci5wYXJzZUNvbG9yKGR1bW15U3R5bGVEZWNsYXJhdGlvbiwgc3Ry
aW5nKTsKLSAgICAgICAgaWYgKCBvayApIHsKKyAgICAgICAgaWYgKHBhcnNlci5wYXJzZUNvbG9y
KGR1bW15U3R5bGVEZWNsYXJhdGlvbi5nZXQoKSwgc3RyaW5nKSkgewogICAgICAgICAgICAgQ1NT
VmFsdWVJbXBsICp2YWx1ZSA9IHBhcnNlci5wYXJzZWRQcm9wZXJ0aWVzWzBdLT52YWx1ZSgpOwog
ICAgICAgICAgICAgaWYgKHZhbHVlLT5jc3NWYWx1ZVR5cGUoKSA9PSBDU1NWYWx1ZTo6Q1NTX1BS
SU1JVElWRV9WQUxVRSkgewogICAgICAgICAgICAgICAgIENTU1ByaW1pdGl2ZVZhbHVlSW1wbCAq
cHJpbWl0aXZlVmFsdWUgPSBzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZUltcGwgKj4odmFs
dWUpOwogICAgICAgICAgICAgICAgIGNvbG9yID0gcHJpbWl0aXZlVmFsdWUtPmdldFJHQkNvbG9y
VmFsdWUoKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgIAogICAgIH0KICAgICAKLSAg
ICBkdW1teVN0eWxlRGVjbGFyYXRpb24tPmRlcmVmKCk7Ci0gICAgCiAgICAgcmV0dXJuIGNvbG9y
OwogfQogCg==
</data>
<flag name="review"
          id="1009"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>