<?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>24158</bug_id>
          
          <creation_ts>2009-02-25 05:34:08 -0800</creation_ts>
          <short_desc>DumpRenderTree for Qt port does not implement queue methods nor does it implement dumpBackForwardList</short_desc>
          <delta_ts>2009-02-25 06:18:16 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Treat">manyoso</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>110936</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Treat">manyoso</who>
    <bug_when>2009-02-25 05:34:08 -0800</bug_when>
    <thetext>Hi,

Currently the Qt port does not implement queue methods nor does it implement dumpBackForwardList.  The forthcoming patch resolves this and thereby gets 2% more tests passing as well as a number of tests from the current Qt Skipped file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>110937</commentid>
    <comment_count>1</comment_count>
      <attachid>27964</attachid>
    <who name="Adam Treat">manyoso</who>
    <bug_when>2009-02-25 05:34:56 -0800</bug_when>
    <thetext>Created attachment 27964
Implements missing DRT methods for Qt port</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>110938</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Treat">manyoso</who>
    <bug_when>2009-02-25 06:18:16 -0800</bug_when>
    <thetext>Fixed with r41211.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27964</attachid>
            <date>2009-02-25 05:34:56 -0800</date>
            <delta_ts>2009-02-25 06:01:45 -0800</delta_ts>
            <desc>Implements missing DRT methods for Qt port</desc>
            <filename>queue_drt.patch</filename>
            <type>text/plain</type>
            <size>24770</size>
            <attacher name="Adam Treat">manyoso</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2Mzg5MjQ3Li5kOWZjYzQ2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMDktMDIt
MjUgIEFkYW0gVHJlYXQgIDxhZGFtLnRyZWF0QHRvcmNobW9iaWxlLmNvbT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRpbmcgdGhlc2UgdGVzdHMg
YmFjayBpbiBhcyB0aGV5IGFyZSBub3cgcGFzc2luZyB3aXRoIHRoZSBpbXBsZW1lbnRhdGlvbgor
ICAgICAgICBvZiB0aGUgcXVldWUqKCkgbWV0aG9kcyBvbiBsYXlvdXRUZXN0Q29udHJvbGxlci4K
KworICAgICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6CisKIDIwMDktMDItMjQgIEFkYW0gVHJl
YXQgIDxhZGFtLnRyZWF0QHRvcmNobW9iaWxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBT
aW1vbiBGcmFzZXIuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVk
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAppbmRleCA1MGZhOTE3Li5jMjcyZTM3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKQEAgLTEwNTIsNyArMTA1Miw2IEBAIGZhc3QvZm9y
bXMvbWFpbHRvL3Bvc3QtbXVsdGlwbGUtaXRlbXMuaHRtbAogZmFzdC9mb3Jtcy9tYWlsdG8vcG9z
dC10ZXh0LXBsYWluLXdpdGgtYWNjZXB0LWNoYXJzZXQuaHRtbAogZmFzdC9mb3Jtcy9tYWlsdG8v
cG9zdC10ZXh0LXBsYWluLmh0bWwKIGZhc3QvZnJhbWVzL29ubHlDb21tZW50SW5JRnJhbWUuaHRt
bAotZmFzdC9mcmFtZXMvdmlld3NvdXJjZS1lbXB0eS1hdHRyaWJ1dGUtdmFsdWUuaHRtbAogZmFz
dC9oaXN0b3J5L3N1YmZyYW1lLWlzLXZpc2l0ZWQuaHRtbAogZmFzdC9pbmxpbmUvcG9zaXRpb25l
ZExpZmV0aW1lLmh0bWwKIGZhc3QvaW52YWxpZC9qdW5rLWRhdGEueG1sCkBAIC0yODY0LDEwICsy
ODYzLDYgQEAgZmFzdC9mb3Jtcy9zbGlkZXItdGh1bWItc2hhcmVkLXN0eWxlLmh0bWwKIGZhc3Qv
Zm9ybXMvc2xpZGVyLXRodW1iLXN0eWxhYmlsaXR5Lmh0bWwKIGZhc3QvZm9ybXMvc3R1ZmYtb24t
bXktb3B0Z3JvdXAuaHRtbAogZmFzdC9mb3Jtcy90YXJnZXRlZC1mcmFtZS1zdWJtaXNzaW9uLmh0
bWwKLWZhc3QvZm9ybXMvdGV4dGFyZWEtY3JsZi5odG1sCi1mYXN0L2Zvcm1zL3RleHRhcmVhLWxp
bmV3cmFwLWR5bmFtaWMuaHRtbAotZmFzdC9mb3Jtcy90ZXh0YXJlYS1zZXR2YWx1ZS1zdWJtaXQu
aHRtbAotZmFzdC9mb3Jtcy90ZXh0YXJlYS10cmFpbGluZy1uZXdsaW5lLmh0bWwKIGZhc3QvZm9y
bXMvdGV4dGZpZWxkLWRyYWctaW50by1kaXNhYmxlZC5odG1sCiBmYXN0L2Zvcm1zL3RleHRmaWVs
ZC1vdmVyZmxvdy5odG1sCiBmYXN0L2Zvcm1zL3RleHQtZmllbGQtc2V0dmFsdWUtY3Jhc2guaHRt
bApAQCAtMjg4MiwxMyArMjg3Nyw3IEBAIGZhc3QvZnJhbWVzL2ZyYW1lLWVsZW1lbnQtbmFtZS5o
dG1sCiBmYXN0L2ZyYW1lcy9pZnJhbWUtb3B0aW9uLWNyYXNoLnhodG1sCiBmYXN0L2ZyYW1lcy9p
ZnJhbWUtd2l0aC1mcmFtZWJvcmRlci5odG1sCiBmYXN0L2ZyYW1lcy9pbmxpbmUtb2JqZWN0LWlu
c2lkZS1mcmFtZXNldC5odG1sCi1mYXN0L2ZyYW1lcy9pbnZhbGlkLmh0bWwKLWZhc3QvZnJhbWVz
L2xvY2F0aW9uLWNoYW5nZS5odG1sCi1mYXN0L2ZyYW1lcy9sb2NhdGlvbi1wdXQtYWZ0ZXItcmVt
b3ZhbC5odG1sCi1mYXN0L2ZyYW1lcy9vbmxvYWQtcmVtb3ZlLWlmcmFtZS1jcmFzaC5odG1sCiBm
YXN0L2ZyYW1lcy92aWV3c291cmNlLWF0dHJpYnV0ZS5odG1sCi1mYXN0L2ZyYW1lcy92aWV3c291
cmNlLXBsYWluLXRleHQtdGFncy5odG1sCi1mYXN0L2dyYWRpZW50cy9jcmFzaC1vbi1yZW1vdmUu
aHRtbAogZmFzdC9odG1sL2xpc3RpbmcuaHRtbAogZmFzdC9pbWFnZXMvYW5pbWF0ZWQtZ2lmLXdp
dGgtb2Zmc2V0cy5odG1sCiBmYXN0L2ltYWdlcy9pbWFnZW1hcC1jYXNlLmh0bWwKQEAgLTQxOTEs
MTIgKzQxODAsNyBAQCBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXJlc2l6ZS5odG1sCiBmYXN0L2R5
bmFtaWMvaW5zZXJ0QWRqYWNlbnRFbGVtZW50Lmh0bWwKIGZhc3QvZm9ybXMvdGV4dGFyZWEtYWxp
Z24uaHRtbAogZmFzdC9mb3Jtcy90ZXh0YXJlYS1zZXRpbm5lcmh0bWwuaHRtbAotZmFzdC9mcmFt
ZXMvbmVnYXRpdmUtcmVtYWluaW5nLWxlbmd0aC1jcmFzaC5odG1sCi1mYXN0L2ZyYW1lcy9yZW1v
dmUtZnJhbWUtd2l0aC1zY3JvbGxiYXJzLWNyYXNoLmh0bWwKLWZhc3QvaHRtbC9ib2R5LW9mZnNl
dC1wcm9wZXJ0aWVzLmh0bWwKIGZhc3QvZG9tL1N0eWxlU2hlZXQvb3duZXJOb2RlLWxpZmV0aW1l
LTIuaHRtbAotZmFzdC9mcmFtZXMvbm8tZnJhbWUtYm9yZGVycy5odG1sCi1mYXN0L2ZyYW1lcy9y
ZXBhaW50LWRpc3BsYXktbm9uZS1jcmFzaC5odG1sCiBmYXN0L2RvbS9pbXBvcnROb2RlSFRNTC5o
dG1sCiBmYXN0L2RvbS9vdXRlclRleHQuaHRtbAogZmFzdC9lbmNvZGluZy9jaGFyLWRlY29kaW5n
LW1hYy5odG1sCkBAIC00MjA2LDEzICs0MTkwLDcgQEAgZmFzdC9ldmVudHMvb2Zmc2V0WC1vZmZz
ZXRZLmh0bWwKIGZhc3QvZXZlbnRzL29udW5sb2FkLW5vdC1vbi1ib2R5Lmh0bWwKIGZhc3QvZm9y
bXMvZm9ybS1hbmQtZnJhbWUtaW50ZXJhY3Rpb24tcmV0YWlucy12YWx1ZXMuaHRtbAogZmFzdC9m
b3Jtcy9yYWRpb19jaGVja2VkX25hbWUuaHRtbAotZmFzdC9mb3Jtcy90ZXh0YXJlYS1pbml0aWFs
LWNhcmV0LXBvc2l0aW9uLmh0bWwKLWZhc3QvZm9ybXMvdGV4dGFyZWEtbm8tc2Nyb2xsLW9uLWJs
dXIuaHRtbAotZmFzdC9mb3Jtcy90ZXh0YXJlYS1zY3JvbGxlZC1lbmRsaW5lLWNhcmV0Lmh0bWwK
LWZhc3QvZm9ybXMvdGV4dGFyZWEtdHlwZS1zcGFjZXMuaHRtbAogZmFzdC9mb3Jtcy93aWxsdmFs
aWRhdGUtMDAwLmh0bWwKLWZhc3QvZnJhbWVzL3NldC11bmxvYWRlZC1mcmFtZS1sb2NhdGlvbi5o
dG1sCi1mYXN0L2ZyYW1lcy92YWxpZC5odG1sCiBmYXN0L2pzL2V4Y2VwdGlvbnMtdGhyb3duLWlu
LWNhbGxiYWNrcy5odG1sCiBmYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMuaHRtbAogZmFzdC9q
cy9uYXZpZ2F0b3ItbWltZVR5cGVzLWxlbmd0aC5odG1sCkBAIC00MjIzLDcgKzQyMDEsNiBAQCBm
YXN0L2V2ZW50cy9tb3VzZS1jbGljay1ldmVudHMuaHRtbAogZmFzdC9kb20vSFRNTEZvbnRFbGVt
ZW50L3NpemUtYXR0cmlidXRlLmh0bWwKIGZhc3QvZG9tL3Jvdy1pbm5lci10ZXh0Lmh0bWwKIGZh
c3QvZXZlbnRzL2F1dG9zY3JvbGwtaW4tdGV4dGZpZWxkLmh0bWwKLWZhc3QvZm9ybXMvdGV4dGFy
ZWEtZGVmYXVsdC12YWx1ZS1sZWFkaW5nLW5ld2xpbmUuaHRtbAogZmFzdC9kb20vZG9tLXBhcnNl
LXNlcmlhbGl6ZS1kaXNwbGF5Lmh0bWwKIGZhc3QvY2FudmFzL3F1YWRyYXRpY0N1cnZlVG8ueG1s
CiBmYXN0L2Nzcy9uYW1lc3BhY2VzLzAwMS54bWwKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0No
YW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwppbmRleCAyMDBiNWEzLi43M2RjNWM5IDEw
MDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMDktMDItMjUgIEFkYW0gVHJlYXQgIDxhZGFtLnRyZWF0
QHRvcmNobW9iaWxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJbXBsZW1lbnQgdGhlIHF1ZXVlKigpIG1ldGhvZHMgb2YgdGhlIGxheW91dFRl
c3RDb250cm9sbGVyIGFuZCBiZWdpbgorICAgICAgICBpbXBsZW1lbnRpbmcgdGhlIGR1bXAgb2Yg
dGhlIGJhY2svZm9yd2FyZCBsaXN0LiAgVGhpcyByZXN1bHRzIGluIDIlIG1vcmUKKyAgICAgICAg
dGVzdHMgcGFzc2luZyBhcyB3ZWxsIGFzIDIzIGN1cnJlbnRseSBza2lwcGVkIHRlc3RzIG5vdyBw
YXNzaW5nLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RHVtcFJlbmRlclRyZWU6OmR1bXBCYWNrRm9yd2FyZExpc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6RHVtcFJlbmRlclRyZWU6OmR1bXApOgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlLmg6CisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvcXQvRHVtcFJlbmRlclRyZWUucHJvOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L2pz
b2JqZWN0cy5jcHA6CisgICAgICAgIChmaW5kRnJhbWVOYW1lZCk6CisgICAgICAgIChMb2FkSXRl
bTo6aW52b2tlKToKKyAgICAgICAgKFJlbG9hZEl0ZW06Omludm9rZSk6CisgICAgICAgIChTY3Jp
cHRJdGVtOjppbnZva2UpOgorICAgICAgICAoQmFja0ZvcndhcmRJdGVtOjppbnZva2UpOgorICAg
ICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnJlc2V0KToKKyAgICAgICAgKExheW91dFRlc3RD
b250cm9sbGVyOjpwcm9jZXNzV29yayk6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6
bWF5YmVEdW1wKToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpxdWV1ZUJhY2tOYXZp
Z2F0aW9uKToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpxdWV1ZUZvcndhcmROYXZp
Z2F0aW9uKToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpxdWV1ZUxvYWQpOgorICAg
ICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnF1ZXVlUmVsb2FkKToKKyAgICAgICAgKExheW91
dFRlc3RDb250cm9sbGVyOjpxdWV1ZVNjcmlwdCk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
cXQvanNvYmplY3RzLmg6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2hvdWxkRHVt
cEJhY2tGb3J3YXJkTGlzdCk6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZHVtcEJh
Y2tGb3J3YXJkTGlzdCk6CisKIDIwMDktMDItMjQgIEFkYW0gVHJlYXQgIDxhZGFtLnRyZWF0QHRv
cmNobW9iaWxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbGV4ZXkgUHJvc2t1cnlha292
LgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRy
ZWUuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWUuY3Bw
CmluZGV4IDgzOTUyYzEuLmEzYWMyMTMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlLmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9xdC9EdW1wUmVuZGVyVHJlZS5jcHAKQEAgLTIsNiArMiw3IEBACiAgKiBDb3B5cmlnaHQg
KEMpIDIwMDUsIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtk
ZS5vcmc+CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0
cyBzdWJzaWRpYXJ5KC1pZXMpCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgVG9yY2ggTW9iaWxlIElu
Yy4gaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTI1NCw2ICsyNTUsMTUgQEAgUVN0cmluZyBEdW1wUmVuZGVyVHJlZTo6ZHVtcEZy
YW1lc0FzVGV4dChRV2ViRnJhbWUqIGZyYW1lKQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKK1FT
dHJpbmcgRHVtcFJlbmRlclRyZWU6OmR1bXBCYWNrRm9yd2FyZExpc3QoKQoreworICAgIFFTdHJp
bmcgcmVzdWx0OworICAgIHJlc3VsdC5hcHBlbmQoUUxhdGluMVN0cmluZygiXG49PT09PT09PT09
PT09PSBCYWNrIEZvcndhcmQgTGlzdCA9PT09PT09PT09PT09PVxuIikpOworICAgIHJlc3VsdC5h
cHBlbmQoUUxhdGluMVN0cmluZygiRklYTUU6IFVuaW1wbGVtZW50ZWQhXG4iKSk7CisgICAgcmVz
dWx0LmFwcGVuZChRTGF0aW4xU3RyaW5nKCI9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PVxuIikpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKIHZvaWQgRHVt
cFJlbmRlclRyZWU6OmR1bXAoKQogewogICAgIFFXZWJGcmFtZSAqZnJhbWUgPSBtX3BhZ2UtPm1h
aW5GcmFtZSgpOwpAQCAtMjcyLDYgKzI4MiwxMSBAQCB2b2lkIER1bXBSZW5kZXJUcmVlOjpkdW1w
KCkKICAgICB9IGVsc2UgewogICAgICAgICByZW5kZXJEdW1wID0gZnJhbWUtPnJlbmRlclRyZWVE
dW1wKCk7CiAgICAgfQorCisgICAgaWYgKG1fY29udHJvbGxlci0+c2hvdWxkRHVtcEJhY2tGb3J3
YXJkTGlzdCgpKSB7CisgICAgICAgIHJlbmRlckR1bXAuYXBwZW5kKGR1bXBCYWNrRm9yd2FyZExp
c3QoKSk7CisgICAgfQorCiAgICAgaWYgKHJlbmRlckR1bXAuaXNFbXB0eSgpKSB7CiAgICAgICAg
IHByaW50ZigiRVJST1I6IG5pbCByZXN1bHQgZnJvbSAlcyIsIG1fY29udHJvbGxlci0+c2hvdWxk
RHVtcEFzVGV4dCgpID8gIltkb2N1bWVudEVsZW1lbnQgaW5uZXJUZXh0XSIgOiAiW2ZyYW1lIHJl
bmRlclRyZWVBc0V4dGVybmFsUmVwcmVzZW50YXRpb25dIik7CiAgICAgfSBlbHNlIHsKZGlmZiAt
LWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlLmggYi9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZS5oCmluZGV4IGE0NmNj
Y2IuLjE3MGVhNmQgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1
bXBSZW5kZXJUcmVlLmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJl
bmRlclRyZWUuaApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgTmlr
b2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIw
MDkgVG9yY2ggTW9iaWxlIEluYy4gaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTgzLDYgKzg0LDcgQEAgUV9TSUdOQUxTOgogCiBw
cml2YXRlOgogICAgIFFTdHJpbmcgZHVtcEZyYW1lc0FzVGV4dChRV2ViRnJhbWUqIGZyYW1lKTsK
KyAgICBRU3RyaW5nIGR1bXBCYWNrRm9yd2FyZExpc3QoKTsKICAgICBMYXlvdXRUZXN0Q29udHJv
bGxlciAqbV9jb250cm9sbGVyOwogCiAgICAgUVdlYlBhZ2UgKm1fcGFnZTsKZGlmZiAtLWdpdCBh
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlLnBybyBiL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlLnBybwppbmRleCAwOGYxYWI3
Li40YTRlNzkwIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1w
UmVuZGVyVHJlZS5wcm8KKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJl
bmRlclRyZWUucHJvCkBAIC0zLDE1ICszLDE1IEBAIENPTkZJRyAgLT0gYXBwX2J1bmRsZQogCiBp
bmNsdWRlKC4uLy4uLy4uL1dlYktpdC5wcmkpCiBJTkNMVURFUEFUSCArPSAvdXNyL2luY2x1ZGUv
ZnJlZXR5cGUyCi1JTkNMVURFUEFUSCArPSAuLi8uLi8uLi9KYXZhU2NyaXB0Q29yZS9ranMKK0lO
Q0xVREVQQVRIICs9IC4uLy4uLy4uL0phdmFTY3JpcHRDb3JlCiBERVNURElSID0gLi4vLi4vLi4v
YmluCiAKIAogUVQgPSBjb3JlIGd1aQogbWFjeDogUVQgKz0geG1sIG5ldHdvcmsKIAotSEVBREVS
UyA9IER1bXBSZW5kZXJUcmVlLmgganNvYmplY3RzLmggdGVzdHBsdWdpbi5oCi1TT1VSQ0VTID0g
RHVtcFJlbmRlclRyZWUuY3BwIG1haW4uY3BwIGpzb2JqZWN0cy5jcHAgdGVzdHBsdWdpbi5jcHAK
K0hFQURFUlMgPSBXb3JrUXVldWUuaCBXb3JrUXVldWVJdGVtLmggRHVtcFJlbmRlclRyZWUuaCBq
c29iamVjdHMuaCB0ZXN0cGx1Z2luLmgKK1NPVVJDRVMgPSBXb3JrUXVldWUuY3BwIER1bXBSZW5k
ZXJUcmVlLmNwcCBtYWluLmNwcCBqc29iamVjdHMuY3BwIHRlc3RwbHVnaW4uY3BwCiAKIHVuaXg6
IW1hYyB7CiAgICAgUU1BS0VfUlBBVEhESVIgPSAkJE9VVFBVVF9ESVIvbGliICQkUU1BS0VfUlBB
VEhESVIKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L1dvcmtRdWV1
ZS5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9Xb3JrUXVldWUuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjNmQ0OGMKLS0tIC9kZXYvbnVsbAorKysg
Yi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9Xb3JrUXVldWUuY3BwCkBAIC0wLDAgKzEs
OTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSBUb3JjaCBNb2JpbGUgSW5jLiBodHRwOi8v
d3d3LnRvcmNobW9iaWxlLmNvbS8KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorICogMi4gIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uIAorICogMy4gIE5laXRoZXIg
dGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMg
b2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAKKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV29y
a1F1ZXVlLmgiCisKKyNpbmNsdWRlICJXb3JrUXVldWVJdGVtLmgiCisjaW5jbHVkZSA8d3RmL0Fz
c2VydGlvbnMuaD4KKworc3RhdGljIGNvbnN0IHVuc2lnbmVkIHF1ZXVlTGVuZ3RoID0gMTAyNDsK
Kworc3RhdGljIFdvcmtRdWV1ZUl0ZW0qIHRoZVF1ZXVlW3F1ZXVlTGVuZ3RoXTsKK3N0YXRpYyB1
bnNpZ25lZCBzdGFydE9mUXVldWU7CitzdGF0aWMgdW5zaWduZWQgZW5kT2ZRdWV1ZTsKKworV29y
a1F1ZXVlKiBXb3JrUXVldWU6OnNoYXJlZCgpCit7CisgICAgc3RhdGljIFdvcmtRdWV1ZSogc2hh
cmVkSW5zdGFuY2UgPSBuZXcgV29ya1F1ZXVlOworICAgIHJldHVybiBzaGFyZWRJbnN0YW5jZTsK
K30KKworV29ya1F1ZXVlOjpXb3JrUXVldWUoKQorICAgIDogbV9mcm96ZW4oZmFsc2UpCit7Cit9
CisKK3ZvaWQgV29ya1F1ZXVlOjpxdWV1ZShXb3JrUXVldWVJdGVtKiBpdGVtKQoreworICAgIEFT
U0VSVChlbmRPZlF1ZXVlIDwgcXVldWVMZW5ndGgpOworICAgIEFTU0VSVChlbmRPZlF1ZXVlID49
IHN0YXJ0T2ZRdWV1ZSk7CisKKyAgICBpZiAobV9mcm96ZW4pIHsKKyAgICAgICAgZGVsZXRlIGl0
ZW07CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICB0aGVRdWV1ZVtlbmRPZlF1ZXVlKytd
ID0gaXRlbTsKK30KKworV29ya1F1ZXVlSXRlbSogV29ya1F1ZXVlOjpkZXF1ZXVlKCkKK3sKKyAg
ICBBU1NFUlQoZW5kT2ZRdWV1ZSA+PSBzdGFydE9mUXVldWUpOworCisgICAgaWYgKHN0YXJ0T2ZR
dWV1ZSA9PSBlbmRPZlF1ZXVlKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHJldHVybiB0aGVR
dWV1ZVtzdGFydE9mUXVldWUrK107Cit9CisKK3Vuc2lnbmVkIFdvcmtRdWV1ZTo6Y291bnQoKQor
eworICAgIHJldHVybiBlbmRPZlF1ZXVlIC0gc3RhcnRPZlF1ZXVlOworfQorCit2b2lkIFdvcmtR
dWV1ZTo6Y2xlYXIoKQoreworICAgIGZvciAodW5zaWduZWQgaSA9IHN0YXJ0T2ZRdWV1ZTsgaSA8
IGVuZE9mUXVldWU7ICsraSkgeworICAgICAgICBkZWxldGUgdGhlUXVldWVbaV07CisgICAgICAg
IHRoZVF1ZXVlW2ldID0gMDsKKyAgICB9CisKKyAgICBzdGFydE9mUXVldWUgPSAwOworICAgIGVu
ZE9mUXVldWUgPSAwOworfQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
cXQvV29ya1F1ZXVlLmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9Xb3JrUXVldWUu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NGM3NzVhCi0tLSAvZGV2L251
bGwKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvV29ya1F1ZXVlLmgKQEAgLTAs
MCArMSw1MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNyBBcHBsZSBJbmMuICBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5IFRvcmNoIE1vYmlsZSBJbmMuIGh0
dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLworICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisgKiAyLiAgUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCisgKiAzLiAgTmVp
dGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBu
YW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwor
ICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV29ya1F1ZXVlX2gKKyNkZWZpbmUg
V29ya1F1ZXVlX2gKKworY2xhc3MgV29ya1F1ZXVlSXRlbTsKKworY2xhc3MgV29ya1F1ZXVlIHsK
K3B1YmxpYzoKKyAgICBzdGF0aWMgV29ya1F1ZXVlKiBzaGFyZWQoKTsKKworICAgIHZvaWQgcXVl
dWUoV29ya1F1ZXVlSXRlbSopOworICAgIFdvcmtRdWV1ZUl0ZW0qIGRlcXVldWUoKTsKKyAgICB2
b2lkIGNsZWFyKCk7CisgICAgdW5zaWduZWQgY291bnQoKTsKKworICAgIHZvaWQgc2V0RnJvemVu
KGJvb2wgYikgeyBtX2Zyb3plbiA9IGI7IH0KKworcHJpdmF0ZToKKyAgICBXb3JrUXVldWUoKTsK
KworICAgIGJvb2wgbV9mcm96ZW47Cit9OworCisjZW5kaWYgLy8gIWRlZmluZWQoV29ya1F1ZXVl
X2gpCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9Xb3JrUXVldWVJ
dGVtLmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9Xb3JrUXVldWVJdGVtLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzVhYTU5OAotLS0gL2Rldi9udWxsCisr
KyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L1dvcmtRdWV1ZUl0ZW0uaApAQCAtMCww
ICsxLDEyMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNyBBcHBsZSBJbmMuICBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5IFRvcmNoIE1vYmlsZSBJbmMuIGh0
dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLworICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisgKiAyLiAgUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCisgKiAzLiAgTmVp
dGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBu
YW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwor
ICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV29ya1F1ZXVlSXRlbV9oCisjZGVm
aW5lIFdvcmtRdWV1ZUl0ZW1faAorCisjaW5jbHVkZSA8cXN0cmluZy5oPgorI2luY2x1ZGUgPHFw
b2ludGVyLmg+CisjaW5jbHVkZSA8cXdlYnBhZ2UuaD4KKworY2xhc3MgV29ya1F1ZXVlSXRlbSB7
CitwdWJsaWM6CisgICAgV29ya1F1ZXVlSXRlbShRV2ViUGFnZSAqcGFnZSkgOiBtX3dlYlBhZ2Uo
cGFnZSkge30KKyAgICB2aXJ0dWFsIH5Xb3JrUXVldWVJdGVtKCkgeyB9CisgICAgdmlydHVhbCB2
b2lkIGludm9rZSgpIGNvbnN0ID0gMDsKKworcHJvdGVjdGVkOgorICAgIFFQb2ludGVyPFFXZWJQ
YWdlPiBtX3dlYlBhZ2U7Cit9OworCitjbGFzcyBMb2FkSXRlbSA6IHB1YmxpYyBXb3JrUXVldWVJ
dGVtIHsKK3B1YmxpYzoKKyAgICBMb2FkSXRlbShjb25zdCBRU3RyaW5nICZ1cmwsIGNvbnN0IFFT
dHJpbmcgJnRhcmdldCwgUVdlYlBhZ2UgKnBhZ2UpCisgICAgICAgIDogV29ya1F1ZXVlSXRlbShw
YWdlKQorICAgICAgICAsIG1fdXJsKHVybCkKKyAgICAgICAgLCBtX3RhcmdldCh0YXJnZXQpCisg
ICAgeworICAgIH0KKworICAgIFFTdHJpbmcgdXJsKCkgY29uc3QgeyByZXR1cm4gbV91cmw7IH0K
KyAgICBRU3RyaW5nIHRhcmdldCgpIGNvbnN0IHsgcmV0dXJuIG1fdGFyZ2V0OyB9CisKKyAgICB2
aXJ0dWFsIHZvaWQgaW52b2tlKCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgUVN0cmluZyBtX3Vy
bDsKKyAgICBRU3RyaW5nIG1fdGFyZ2V0OworfTsKKworY2xhc3MgUmVsb2FkSXRlbSA6IHB1Ymxp
YyBXb3JrUXVldWVJdGVtIHsKK3B1YmxpYzoKKyAgICBSZWxvYWRJdGVtKFFXZWJQYWdlICpwYWdl
KQorICAgICAgICA6IFdvcmtRdWV1ZUl0ZW0ocGFnZSkKKyAgICB7CisgICAgfQorICAgIHZpcnR1
YWwgdm9pZCBpbnZva2UoKSBjb25zdDsKK307CisKK2NsYXNzIFNjcmlwdEl0ZW0gOiBwdWJsaWMg
V29ya1F1ZXVlSXRlbSB7CitwdWJsaWM6CisgICAgU2NyaXB0SXRlbShjb25zdCBRU3RyaW5nICZz
Y3JpcHQsIFFXZWJQYWdlICpwYWdlKQorICAgICAgICA6IFdvcmtRdWV1ZUl0ZW0ocGFnZSkKKyAg
ICAgICAgLCBtX3NjcmlwdChzY3JpcHQpCisgICAgeworICAgIH0KKworICAgIFFTdHJpbmcgc2Ny
aXB0KCkgY29uc3QgeyByZXR1cm4gbV9zY3JpcHQ7IH0KKworICAgIHZpcnR1YWwgdm9pZCBpbnZv
a2UoKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBRU3RyaW5nIG1fc2NyaXB0OworfTsKKworY2xh
c3MgQmFja0ZvcndhcmRJdGVtIDogcHVibGljIFdvcmtRdWV1ZUl0ZW0geworcHVibGljOgorICAg
IHZpcnR1YWwgdm9pZCBpbnZva2UoKSBjb25zdDsKKworcHJvdGVjdGVkOgorICAgIEJhY2tGb3J3
YXJkSXRlbShpbnQgaG93RmFyLCBRV2ViUGFnZSAqcGFnZSkKKyAgICAgICAgOiBXb3JrUXVldWVJ
dGVtKHBhZ2UpCisgICAgICAgICwgbV9ob3dGYXIoaG93RmFyKQorICAgIHsKKyAgICB9CisKKyAg
ICBpbnQgbV9ob3dGYXI7Cit9OworCitjbGFzcyBCYWNrSXRlbSA6IHB1YmxpYyBCYWNrRm9yd2Fy
ZEl0ZW0geworcHVibGljOgorICAgIEJhY2tJdGVtKHVuc2lnbmVkIGhvd0ZhciwgUVdlYlBhZ2Ug
KnBhZ2UpCisgICAgICAgIDogQmFja0ZvcndhcmRJdGVtKC1ob3dGYXIsIHBhZ2UpCisgICAgewor
ICAgIH0KK307CisKK2NsYXNzIEZvcndhcmRJdGVtIDogcHVibGljIEJhY2tGb3J3YXJkSXRlbSB7
CitwdWJsaWM6CisgICAgRm9yd2FyZEl0ZW0odW5zaWduZWQgaG93RmFyLCBRV2ViUGFnZSAqcGFn
ZSkKKyAgICAgICAgOiBCYWNrRm9yd2FyZEl0ZW0oaG93RmFyLCBwYWdlKQorICAgIHsKKyAgICB9
Cit9OworCisjZW5kaWYgLy8gIWRlZmluZWQoV29ya1F1ZXVlSXRlbV9oKQpkaWZmIC0tZ2l0IGEv
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvanNvYmplY3RzLmNwcCBiL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL3F0L2pzb2JqZWN0cy5jcHAKaW5kZXggYzgwZGZiZS4uZGU4ODQ5ZiAx
MDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvanNvYmplY3RzLmNwcAor
KysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9qc29iamVjdHMuY3BwCkBAIC0xLDUg
KzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwOCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQv
b3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKyAqIENvcHlyaWdodCAoQykgMjAwOSBUb3JjaCBNb2Jp
bGUgSW5jLiBodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNvbS8KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtMzIsMTIgKzMzLDcyIEBACiAjaW5jbHVkZSA8cWV2ZW50Lmg+CiAjaW5j
bHVkZSA8cWFwcGxpY2F0aW9uLmg+CiAjaW5jbHVkZSA8cWV2ZW50Lmg+CisjaW5jbHVkZSA8cXRp
bWVyLmg+CiAKICNpbmNsdWRlICJEdW1wUmVuZGVyVHJlZS5oIgorI2luY2x1ZGUgIldvcmtRdWV1
ZUl0ZW0uaCIKKyNpbmNsdWRlICJXb3JrUXVldWUuaCIKIGV4dGVybiB2b2lkIHF0X2R1bXBfZWRp
dGluZ19jYWxsYmFja3MoYm9vbCBiKTsKIGV4dGVybiB2b2lkIHF0X2R1bXBfcmVzb3VyY2VfbG9h
ZF9jYWxsYmFja3MoYm9vbCBiKTsKIGV4dGVybiB2b2lkIHF0X2RydF9zZXRKYXZhU2NyaXB0UHJv
ZmlsaW5nRW5hYmxlZChRV2ViRnJhbWUqLCBib29sIGVuYWJsZWQpOwogCitRV2ViRnJhbWUgKmZp
bmRGcmFtZU5hbWVkKGNvbnN0IFFTdHJpbmcgJmZyYW1lTmFtZSwgUVdlYkZyYW1lICpmcmFtZSkK
K3sKKyAgICBpZiAoZnJhbWUtPmZyYW1lTmFtZSgpID09IGZyYW1lTmFtZSkKKyAgICAgICAgcmV0
dXJuIGZyYW1lOworCisgICAgZm9yZWFjaCAoUVdlYkZyYW1lICpjaGlsZEZyYW1lLCBmcmFtZS0+
Y2hpbGRGcmFtZXMoKSkKKyAgICAgICAgaWYgKFFXZWJGcmFtZSAqZiA9IGZpbmRGcmFtZU5hbWVk
KGZyYW1lTmFtZSwgY2hpbGRGcmFtZSkpCisgICAgICAgICAgICByZXR1cm4gZjsKKworICAgIHJl
dHVybiAwOworfQorCit2b2lkIExvYWRJdGVtOjppbnZva2UoKSBjb25zdAoreworICAgIC8vcURl
YnVnKCkgPDwgIj4+PkxvYWRJdGVtOjppbnZva2UiOworICAgIFFfQVNTRVJUKG1fd2ViUGFnZSk7
CisKKyAgICBRV2ViRnJhbWUgKmZyYW1lID0gMDsKKyAgICBjb25zdCBRU3RyaW5nIHQgPSB0YXJn
ZXQoKTsKKyAgICBpZiAodC5pc0VtcHR5KCkpCisgICAgICAgIGZyYW1lID0gbV93ZWJQYWdlLT5t
YWluRnJhbWUoKTsKKyAgICBlbHNlCisgICAgICAgIGZyYW1lID0gZmluZEZyYW1lTmFtZWQodCwg
bV93ZWJQYWdlLT5tYWluRnJhbWUoKSk7CisKKyAgICBpZiAoIWZyYW1lKQorICAgICAgICByZXR1
cm47CisKKyAgICBmcmFtZS0+bG9hZCh1cmwoKSk7Cit9CisKK3ZvaWQgUmVsb2FkSXRlbTo6aW52
b2tlKCkgY29uc3QKK3sKKyAgICAvL3FEZWJ1ZygpIDw8ICI+Pj5SZWxvYWRJdGVtOjppbnZva2Ui
OworICAgIFFfQVNTRVJUKG1fd2ViUGFnZSk7CisgICAgbV93ZWJQYWdlLT50cmlnZ2VyQWN0aW9u
KFFXZWJQYWdlOjpSZWxvYWQpOworfQorCit2b2lkIFNjcmlwdEl0ZW06Omludm9rZSgpIGNvbnN0
Cit7CisgICAgLy9xRGVidWcoKSA8PCAiPj4+U2NyaXB0SXRlbTo6aW52b2tlIjsKKyAgICBRX0FT
U0VSVChtX3dlYlBhZ2UpOworICAgIG1fd2ViUGFnZS0+bWFpbkZyYW1lKCktPmV2YWx1YXRlSmF2
YVNjcmlwdChzY3JpcHQoKSk7Cit9CisKK3ZvaWQgQmFja0ZvcndhcmRJdGVtOjppbnZva2UoKSBj
b25zdAoreworICAgIC8vcURlYnVnKCkgPDwgIj4+PkJhY2tGb3J3YXJkSXRlbTo6aW52b2tlIjsK
KyAgICBRX0FTU0VSVChtX3dlYlBhZ2UpOworICAgIGlmIChtX2hvd0ZhciA+IDApIHsKKyAgICAg
ICAgZm9yIChpbnQgaSA9IDA7IGkgIT0gbV9ob3dGYXI7ICsraSkKKyAgICAgICAgICAgIG1fd2Vi
UGFnZS0+dHJpZ2dlckFjdGlvbihRV2ViUGFnZTo6Rm9yd2FyZCk7CisgICAgfSBlbHNlIHsKKyAg
ICAgICAgZm9yIChpbnQgaSA9IDA7IGkgIT0gbV9ob3dGYXI7IC0taSkKKyAgICAgICAgICAgIG1f
d2ViUGFnZS0+dHJpZ2dlckFjdGlvbihRV2ViUGFnZTo6QmFjayk7CisgICAgfQorfQorCiBMYXlv
dXRUZXN0Q29udHJvbGxlcjo6TGF5b3V0VGVzdENvbnRyb2xsZXIoV2ViQ29yZTo6RHVtcFJlbmRl
clRyZWUgKmRydCkKICAgICA6IFFPYmplY3QoKQogICAgICwgbV9kcnQoZHJ0KQpAQCAtNTAsNiAr
MTExLDcgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6cmVzZXQoKQogewogICAgIG1faXNM
b2FkaW5nID0gdHJ1ZTsKICAgICBtX3RleHREdW1wID0gZmFsc2U7CisgICAgbV9kdW1wQmFja0Zv
cndhcmRMaXN0ID0gZmFsc2U7CiAgICAgbV9kdW1wQ2hpbGRyZW5Bc1RleHQgPSBmYWxzZTsKICAg
ICBtX2Nhbk9wZW5XaW5kb3dzID0gZmFsc2U7CiAgICAgbV93YWl0Rm9yRG9uZSA9IGZhbHNlOwpA
QCAtNjMsMTMgKzEyNSwzNyBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpyZXNldCgpCiAg
ICAgcXRfZHVtcF9yZXNvdXJjZV9sb2FkX2NhbGxiYWNrcyhmYWxzZSk7CiB9CiAKK3ZvaWQgTGF5
b3V0VGVzdENvbnRyb2xsZXI6OnByb2Nlc3NXb3JrKCkKK3sKKyAgICBxRGVidWcoKSA8PCAiPj4+
cHJvY2Vzc1dvcmsiOworCisgICAgLy8gcXVpdCBkb2luZyB3b3JrIG9uY2UgYSBsb2FkIGlzIGlu
IHByb2dyZXNzCisgICAgd2hpbGUgKFdvcmtRdWV1ZTo6c2hhcmVkKCktPmNvdW50KCkgPiAwICYm
ICFtX3RvcExvYWRpbmdGcmFtZSkgeworICAgICAgICBXb3JrUXVldWVJdGVtKiBpdGVtID0gV29y
a1F1ZXVlOjpzaGFyZWQoKS0+ZGVxdWV1ZSgpOworICAgICAgICBRX0FTU0VSVChpdGVtKTsKKyAg
ICAgICAgaXRlbS0+aW52b2tlKCk7CisgICAgICAgIGRlbGV0ZSBpdGVtOworICAgIH0KKworICAg
IC8vIGlmIHdlIGRpZG4ndCBzdGFydCBhIG5ldyBsb2FkLCB0aGVuIHdlIGZpbmlzaGVkIGFsbCB0
aGUgY29tbWFuZHMsIHNvIHdlJ3JlIHJlYWR5IHRvIGR1bXAgc3RhdGUKKyAgICBpZiAoIW1fdG9w
TG9hZGluZ0ZyYW1lICYmICFzaG91bGRXYWl0VW50aWxEb25lKCkpIHsKKyAgICAgICAgZW1pdCBk
b25lKCk7CisgICAgICAgIG1faXNMb2FkaW5nID0gZmFsc2U7CisgICAgfQorfQorCiB2b2lkIExh
eW91dFRlc3RDb250cm9sbGVyOjptYXliZUR1bXAoYm9vbCkKIHsKICAgICBtX3RvcExvYWRpbmdG
cmFtZSA9IDA7CisgICAgV29ya1F1ZXVlOjpzaGFyZWQoKS0+c2V0RnJvemVuKHRydWUpOyAvLyBm
aXJzdCBjb21wbGV0ZSBsb2FkIGZyZWV6ZXMgdGhlIHF1ZXVlIGZvciB0aGUgcmVzdCBvZiB0aGlz
IHRlc3QKIAogICAgIGlmICghc2hvdWxkV2FpdFVudGlsRG9uZSgpKSB7Ci0gICAgICAgIGVtaXQg
ZG9uZSgpOwotICAgICAgICBtX2lzTG9hZGluZyA9IGZhbHNlOworICAgICAgICBpZiAoV29ya1F1
ZXVlOjpzaGFyZWQoKS0+Y291bnQoKSkKKyAgICAgICAgICAgIFFUaW1lcjo6c2luZ2xlU2hvdCgw
LCB0aGlzLCBTTE9UKHByb2Nlc3NXb3JrKCkpKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAg
ICBlbWl0IGRvbmUoKTsKKyAgICAgICAgICAgIG1faXNMb2FkaW5nID0gZmFsc2U7CisgICAgICAg
IH0KICAgICB9CiB9CiAKQEAgLTEwMSw3ICsxODcsNiBAQCB2b2lkIExheW91dFRlc3RDb250cm9s
bGVyOjpjbGVhckJhY2tGb3J3YXJkTGlzdCgpCiAgICAgbV9kcnQtPndlYlBhZ2UoKS0+aGlzdG9y
eSgpLT5jbGVhcigpOwogfQogCi0KIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmR1bXBFZGl0
aW5nQ2FsbGJhY2tzKCkKIHsKICAgICBxRGVidWcoKSA8PCAiPj4+ZHVtcEVkaXRpbmdDYWxsYmFj
a3MiOwpAQCAtMTEzLDkgKzE5OCwzNiBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpkdW1w
UmVzb3VyY2VMb2FkQ2FsbGJhY2tzKCkKICAgICBxdF9kdW1wX3Jlc291cmNlX2xvYWRfY2FsbGJh
Y2tzKHRydWUpOwogfQogCit2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpxdWV1ZUJhY2tOYXZp
Z2F0aW9uKGludCBob3dGYXJCYWNrd2FyZCkKK3sKKyAgICAvL3FEZWJ1ZygpIDw8ICI+Pj5xdWV1
ZUJhY2tOYXZpZ2F0aW9uIiA8PCBob3dGYXJCYWNrd2FyZDsKKyAgICBXb3JrUXVldWU6OnNoYXJl
ZCgpLT5xdWV1ZShuZXcgQmFja0l0ZW0oaG93RmFyQmFja3dhcmQsIG1fZHJ0LT53ZWJQYWdlKCkp
KTsKK30KKwordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6cXVldWVGb3J3YXJkTmF2aWdhdGlv
bihpbnQgaG93RmFyRm9yd2FyZCkKK3sKKyAgICAvL3FEZWJ1ZygpIDw8ICI+Pj5xdWV1ZUZvcndh
cmROYXZpZ2F0aW9uIiA8PCBob3dGYXJGb3J3YXJkOworICAgIFdvcmtRdWV1ZTo6c2hhcmVkKCkt
PnF1ZXVlKG5ldyBGb3J3YXJkSXRlbShob3dGYXJGb3J3YXJkLCBtX2RydC0+d2ViUGFnZSgpKSk7
Cit9CisKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnF1ZXVlTG9hZChjb25zdCBRU3RyaW5n
ICZ1cmwsIGNvbnN0IFFTdHJpbmcgJnRhcmdldCkKK3sKKyAgICAvL3FEZWJ1ZygpIDw8ICI+Pj5x
dWV1ZUxvYWQiIDw8IHVybCA8PCB0YXJnZXQ7CisgICAgUVVybCBtYWluUmVzb3VyY2VVcmwgPSBt
X2RydC0+d2ViUGFnZSgpLT5tYWluRnJhbWUoKS0+dXJsKCk7CisgICAgUVN0cmluZyBhYnNvbHV0
ZVVybCA9IG1haW5SZXNvdXJjZVVybC5yZXNvbHZlZChRVXJsKHVybCkpLnRvRW5jb2RlZCgpOwor
ICAgIFdvcmtRdWV1ZTo6c2hhcmVkKCktPnF1ZXVlKG5ldyBMb2FkSXRlbShhYnNvbHV0ZVVybCwg
dGFyZ2V0LCBtX2RydC0+d2ViUGFnZSgpKSk7Cit9CisKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xs
ZXI6OnF1ZXVlUmVsb2FkKCkKIHsKICAgICAvL3FEZWJ1ZygpIDw8ICI+Pj5xdWV1ZVJlbG9hZCI7
CisgICAgV29ya1F1ZXVlOjpzaGFyZWQoKS0+cXVldWUobmV3IFJlbG9hZEl0ZW0obV9kcnQtPndl
YlBhZ2UoKSkpOworfQorCit2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpxdWV1ZVNjcmlwdChj
b25zdCBRU3RyaW5nICZ1cmwpCit7CisgICAgLy9xRGVidWcoKSA8PCAiPj4+cXVldWVTY3JpcHQi
IDw8IHVybDsKKyAgICBXb3JrUXVldWU6OnNoYXJlZCgpLT5xdWV1ZShuZXcgU2NyaXB0SXRlbSh1
cmwsIG1fZHJ0LT53ZWJQYWdlKCkpKTsKIH0KIAogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6
cHJvdmlzaW9uYWxMb2FkKCkKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L3F0L2pzb2JqZWN0cy5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvanNvYmplY3Rz
LmgKaW5kZXggN2UzZjgxNy4uYWMzYjVmOSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvcXQvanNvYmplY3RzLmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
cXQvanNvYmplY3RzLmgKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA4
IE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorICogQ29weXJp
Z2h0IChDKSAyMDA5IFRvcmNoIE1vYmlsZSBJbmMuIGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29t
LwogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC00OCw2ICs0OSw3IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHNldExvYWRpbmcoYm9vbCBsb2FkaW5nKSB7IG1faXNMb2FkaW5nID0gbG9h
ZGluZzsgfQogCiAgICAgYm9vbCBzaG91bGREdW1wQXNUZXh0KCkgY29uc3QgeyByZXR1cm4gbV90
ZXh0RHVtcDsgfQorICAgIGJvb2wgc2hvdWxkRHVtcEJhY2tGb3J3YXJkTGlzdCgpIGNvbnN0IHsg
cmV0dXJuIG1fZHVtcEJhY2tGb3J3YXJkTGlzdDsgfQogICAgIGJvb2wgc2hvdWxkRHVtcENoaWxk
cmVuQXNUZXh0KCkgY29uc3QgeyByZXR1cm4gbV9kdW1wQ2hpbGRyZW5Bc1RleHQ7IH0KICAgICBi
b29sIHNob3VsZFdhaXRVbnRpbERvbmUoKSBjb25zdCB7IHJldHVybiBtX3dhaXRGb3JEb25lOyB9
CiAgICAgYm9vbCBjYW5PcGVuV2luZG93cygpIGNvbnN0IHsgcmV0dXJuIG1fY2FuT3BlbldpbmRv
d3M7IH0KQEAgLTY4LDkgKzcwLDE0IEBAIHB1YmxpYyBzbG90czoKICAgICB2b2lkIHNldENhbk9w
ZW5XaW5kb3dzKCkgeyBtX2Nhbk9wZW5XaW5kb3dzID0gdHJ1ZTsgfQogICAgIHZvaWQgd2FpdFVu
dGlsRG9uZSgpOwogICAgIHZvaWQgbm90aWZ5RG9uZSgpOworICAgIHZvaWQgZHVtcEJhY2tGb3J3
YXJkTGlzdCgpIHsgbV9kdW1wQmFja0ZvcndhcmRMaXN0ID0gdHJ1ZTsgfQogICAgIHZvaWQgZHVt
cEVkaXRpbmdDYWxsYmFja3MoKTsKICAgICB2b2lkIGR1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3Mo
KTsKKyAgICB2b2lkIHF1ZXVlQmFja05hdmlnYXRpb24oaW50IGhvd0ZhckJhY2t3YXJkKTsKKyAg
ICB2b2lkIHF1ZXVlRm9yd2FyZE5hdmlnYXRpb24oaW50IGhvd0ZhckZvcndhcmQpOworICAgIHZv
aWQgcXVldWVMb2FkKGNvbnN0IFFTdHJpbmcgJnVybCwgY29uc3QgUVN0cmluZyAmdGFyZ2V0ID0g
UVN0cmluZygpKTsKICAgICB2b2lkIHF1ZXVlUmVsb2FkKCk7CisgICAgdm9pZCBxdWV1ZVNjcmlw
dChjb25zdCBRU3RyaW5nICZ1cmwpOwogICAgIHZvaWQgcHJvdmlzaW9uYWxMb2FkKCk7CiAgICAg
dm9pZCBzZXRDbG9zZVJlbWFpbmluZ1dpbmRvd3NXaGVuQ29tcGxldGUoYm9vbD1mYWxzZSkge30K
ICAgICBpbnQgd2luZG93Q291bnQoKTsKQEAgLTgzLDEwICs5MCwxNCBAQCBwdWJsaWMgc2xvdHM6
CiAgICAgdm9pZCBzZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZChib29sIGVuYWJsZSk7CiAg
ICAgdm9pZCBzZXRGaXhlZExheW91dFNpemUoaW50IHdpZHRoLCBpbnQgaGVpZ2h0KTsKICAgICB2
b2lkIHNldFVzZUZpeGVkTGF5b3V0KGJvb2wgZW5hYmxlKTsKLSAgICAKKworcHJpdmF0ZSBzbG90
czoKKyAgICB2b2lkIHByb2Nlc3NXb3JrKCk7CisKIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzTG9h
ZGluZzsKICAgICBib29sIG1fdGV4dER1bXA7CisgICAgYm9vbCBtX2R1bXBCYWNrRm9yd2FyZExp
c3Q7CiAgICAgYm9vbCBtX2R1bXBDaGlsZHJlbkFzVGV4dDsKICAgICBib29sIG1fY2FuT3Blbldp
bmRvd3M7CiAgICAgYm9vbCBtX3dhaXRGb3JEb25lOwo=
</data>
<flag name="review"
          id="13624"
          type_id="1"
          status="+"
          setter="zack"
    />
          </attachment>
      

    </bug>

</bugzilla>