<?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>20866</bug_id>
          
          <creation_ts>2008-09-15 16:45:29 -0700</creation_ts>
          <short_desc>WebKit does not fire MSAA focus events</short_desc>
          <delta_ts>2009-08-14 23:16:19 -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>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, PlatformOnly</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jon Honeycutt">jhoneycutt</reporter>
          <assigned_to name="Jon Honeycutt">jhoneycutt</assigned_to>
          <cc>jon</cc>
    
    <cc>jshin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>91272</commentid>
    <comment_count>0</comment_count>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2008-09-15 16:45:29 -0700</bug_when>
    <thetext>WebKit should fire an EVENT_OBJECT_FOCUS event when an object on the page gains focus.

&lt;rdar://problem/6218721&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>101395</commentid>
    <comment_count>1</comment_count>
    <who name="Jon@Chromium">jon</who>
    <bug_when>2008-12-04 14:24:14 -0800</bug_when>
    <thetext>This is blocking Chromium from supporting readers.  See http://code.google.com/p/chromium/issues/detail?id=2564</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>140417</commentid>
    <comment_count>2</comment_count>
      <attachid>34885</attachid>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2009-08-14 20:42:47 -0700</bug_when>
    <thetext>Created attachment 34885
Patch.

Layout test to follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>140418</commentid>
    <comment_count>3</comment_count>
      <attachid>34886</attachid>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2009-08-14 20:44:45 -0700</bug_when>
    <thetext>Created attachment 34886
Layout test

Enables the accessibility tests on Windows, and adds a Windows-specific layout test for focus events.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>140435</commentid>
    <comment_count>4</comment_count>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2009-08-14 23:16:19 -0700</bug_when>
    <thetext>Committed in r47311, r47312.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34885</attachid>
            <date>2009-08-14 20:42:47 -0700</date>
            <delta_ts>2009-08-14 21:58:00 -0700</delta_ts>
            <desc>Patch.</desc>
            <filename>0001-WebCore.patch</filename>
            <type>text/plain</type>
            <size>20713</size>
            <attacher name="Jon Honeycutt">jhoneycutt</attacher>
            
              <data encoding="base64">RnJvbSBkOWRmNzRlM2JkZTE3Njg2NWM1MjNmZWY5ZWM4NTkzYWFmMDcxZjlhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb24gSG9uZXljdXR0IDxqaG9uZXljdXR0QGFwcGxlLmNvbT4K
RGF0ZTogVGh1LCAxMyBBdWcgMjAwOSAyMzo1NDoxMyAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMS8y
XSBXZWJDb3JlOgoKMjAwOS0wOC0xMyAgSm9uIEhvbmV5Y3V0dCAgPGpob25leWN1dHRAYXBwbGUu
Y29tPgoKICAgICAgICBQYXJ0IG9mIDxyZGFyOi8vcHJvYmxlbS82MjE4NzIxPiBObyBNU0FBIGZv
Y3VzIGV2ZW50cyBmaXJlZCBmb3IgV2Via2l0CiAgICAgICAgbmlnaHRseSAoMjA4NjYpCgogICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg2NgoKICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FY
T2JqZWN0Q2FjaGUuY3BwOgogICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpBWE9iamVj
dENhY2hlKToKICAgICAgICBDaGFuZ2VkIHRvIHRha2UgYSBwb2ludGVyIHRvIGl0cyBvd25lciBk
b2N1bWVudC4gVGhpcyBpcyB1c2VkIGJ5CiAgICAgICAgQVhPYmplY3RDYWNoZTo6aGFuZGxlRm9j
dXNlZFVJRWxlbWVudENoYW5nZWQoKS4KICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
Zm9jdXNlZFVJRWxlbWVudEZvclBhZ2UpOgogICAgICAgIENvZGUgbW92ZWQgZnJvbSBBY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0Ojpmb2N1c2VkVUlFbGVtZW50KCkuIE1vZGlmaWVkCiAgICAgICAg
dG8gYmUgYSBzdGF0aWMgZnVuY3Rpb24gYW5kIHRvIHRha2UgYSBwb2ludGVyIHRvIGEgUGFnZS4K
ICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cGxhdGZvcm1HZW5lcmF0ZUFYSUQpOgog
ICAgICAgIE1vdmVkIHRoZSBjb2RlIHRvIGdlbmVyYXRlIHRoZSBuZXh0IEFYSUQgZnJvbSBnZXRB
WElEKCkgdG8gaGVyZS4gQWRkZWQKICAgICAgICBhICNpZiB0byBtYWtlIHRoaXMgbm9uLVdJTiBv
bmx5LCBiZWNhdXNlIFdpbmRvd3MgaGFzIGl0cyBvd24KICAgICAgICBpbXBsZW1lbnRhdGlvbi4K
ICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6Z2V0QVhJRCk6CiAgICAgICAgRW5zdXJl
IHRoYXQgd2UgZ2VuZXJhdGUgYSBwb3NpdGl2ZSBBWElELCByYW5naW5nIGZyb20gMSB0byBMT05H
X01BWC4KCiAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKICAgICAgICBB
ZGQgYSBkZWNsYXJhdGlvbiBmb3IgRG9jdW1lbnQgYW5kIFBhZ2UuIFJlbW92ZWQgdGhlIGRlY2xh
cmF0aW9uIG9mCiAgICAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCwgYmVjYXVzZSB3ZSBpbmNsdWRl
IHRoZSBoZWFkZXIuIFJlb3JkZXJlZCB0aGUKICAgICAgICBkZWNsYXJhdGlvbiBvZiBOb2RlIGFs
cGhhYmV0aWNhbGx5LiBNb3ZlZCB0aGUgdHlwZWRlZiBmb3IgQVhJRCB0bwogICAgICAgIEFjY2Vz
c2liaWxpdHlPYmplY3QuIFJlbW92ZWQgc29tZSB0cmFpbGluZyB3aGl0ZXNwYWNlLiBBZGRlZCBh
IG1lbWJlcgogICAgICAgIHZhcmlhYmxlIHRvIGhvbGQgYSBwb2ludGVyIHRvIHRoZSBvd25lciBE
b2N1bWVudC4KICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6QVhPYmplY3RDYWNoZSk6
CiAgICAgICAgQ2hhbmdlZCB0byB0YWtlIGEgcG9pbnRlciB0byBpdHMgb3duZXIgRG9jdW1lbnQu
CiAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmZvY3VzZWRVSUVsZW1lbnRGb3JQYWdl
KToKICAgICAgICBBZGRlZDsgY29kZSBtb3ZlZCBmcm9tIEFjY2Vzc2libGl0eVJlbmRlck9iamVj
dDo6Zm9jdXNlZFVJRWxlbWVudCgpLgogICAgICAgIFJldHVybnMgdGhlIGZvY3VzZWQgZWxlbWVu
dCB3aXRoIHJlc3BlY3QgdG8gYWNjZXNzaWJpbGl0eS4KICAgICAgICAoV2ViQ29yZTo6QVhPYmpl
Y3RDYWNoZTo6cGxhdGZvcm1HZW5lcmF0ZUFYSUQpOgogICAgICAgIERlY2xhcmUgYSBmdW5jdGlv
biB0byBnZW5lcmF0ZSBhbiBBWElELgogICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpv
YmplY3RGcm9tQVhJRCk6CiAgICAgICAgUmV0dXJuIHRoZSBBY2Nlc3NpYmlsaXR5T2JqZWN0IHdp
dGggdGhlIGdpdmVuIEFYSUQuCgogICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0Lmg6CiAgICAgICAgTW92ZWQgdGhlIHR5cGVkZWYgZm9yIEFYSUQgZnJvbSBBWE9iamVj
dENhY2hlIHRvIGhlcmUuIE1hZGUgdGhlIG1faWQKICAgICAgICBtZW1iZXIgdXNlIHRoZSB0eXBl
ZGVmLgogICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjpheE9iamVjdElEKToK
ICAgICAgICBDaGFuZ2VkIHRoZSByZXR1cm4gdHlwZSB0byB1c2UgdGhlIHR5cGVkZWYuCiAgICAg
ICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OnNldEFYT2JqZWN0SUQpOgogICAgICAg
IENoYW5nZWQgdGhlIGFyZ3VtZW50IHR5cGUgdG8gdXNlIHRoZSB0eXBlZGVmLgoKICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHA6CiAgICAgICAgUmVt
b3ZlZCBzb21lIHVubmVlZGVkICNpbmNsdWRlcy4KICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdDo6Zm9jdXNlZFVJRWxlbWVudCk6CiAgICAgICAgTW92ZWQgdGhlIGNv
ZGUgdG8gQVhPYmplY3RDYWNoZTo6Zm9jdXNlZFVJRWxlbWVudEZvclBhZ2UoKSwgd2hpY2ggd2Ug
bm93CiAgICAgICAgY2FsbC4KCiAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L3dpbi9BWE9iamVjdENh
Y2hlV2luLmNwcDoKICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cGxhdGZvcm1HZW5l
cmF0ZUFYSUQpOgogICAgICAgIEVuc3VyZSB0aGF0IHdlIGdlbmVyYXRlIGFuIEFYSUQgdGhhdCBp
cyBpbiB0aGUgcmFuZ2UgMSB0byBMT05HX01BWC4KICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RD
YWNoZTo6aGFuZGxlRm9jdXNlZFVJRWxlbWVudENoYW5nZWQpOgogICAgICAgIElmIHRoZSBEb2N1
bWVudCBoYXMgbm8gUGFnZSwgcmV0dXJuLiBJZiB0aGUgUGFnZSBoYXMgbm90IGZvY3VzZWQKICAg
ICAgICBlbGVtZW50IChyZXNwZWN0aW5nIGFjY2Vzc2liaWxpdHkpLCByZXR1cm4uIEFzc2VydCB0
aGF0IHRoZQogICAgICAgIGFjY2Vzc2liaWxpdHkgb2YgdGhlIGZvY3VzZWQgZWxlbWVudCBpcyBu
b3QgaWdub3JlZCwgYW5kIHRoYXQgdGhlCiAgICAgICAgb2JqZWN0J3MgQVhJRCB3aWxsIGJlIG5l
Z2F0aXZlIGFuZCBmaXQgaW50byBhIExPTkcgd2hlbiBuZWdhdGVkLgogICAgICAgIEJyb2FkY2Fz
dCBhIGZvY3VzIGV2ZW50IGZvciB0aGUgb2JqZWN0LgoKICAgICAgICAqIGRvbS9Eb2N1bWVudC5j
cHA6CiAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpheE9iamVjdENhY2hlKToKICAgICAgICBQ
YXNzIHRoaXMgd2hlbiBjcmVhdGluZyB0aGUgQVhPYmplY3RDYWNoZS4KICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnQ6OnNldEZvY3VzZWROb2RlKToKICAgICAgICBDYWxsIEFYT2JqZWN0Q2FjaGU6
OmhhbmRsZUZvY3VzZWRVSUVsZW1lbnRDaGFuZ2VkKCkgb24gV2luZG93cy4KCldlYktpdC93aW46
CgoyMDA5LTA4LTEzICBKb24gSG9uZXljdXR0ICA8amhvbmV5Y3V0dEBhcHBsZS5jb20+CgogICAg
ICAgIFBhcnQgb2YgPHJkYXI6Ly9wcm9ibGVtLzYyMTg3MjE+IE5vIE1TQUEgZm9jdXMgZXZlbnRz
IGZpcmVkIGZvciBXZWJraXQKICAgICAgICBuaWdodGx5ICgyMDg2NikKCiAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODY2CgogICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICAqIEFjY2Vzc2libGVCYXNlLmNwcDoKICAgICAg
ICAoQWNjZXNzaWJsZUJhc2U6OmdldEFjY2Vzc2liaWxpdHlPYmplY3RGb3JDaGlsZCk6CiAgICAg
ICAgSWYgdGhlIGNoaWxkIElEIGlzIG5lZ2F0aXZlLCBuZWdhdGUgaXQgYW5kIHRyZWF0IGl0IGFz
IGFuIEFYSUQuCi0tLQogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgIDY5ICsrKysrKysrKysrKysrKysrKysrCiBXZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQVhPYmplY3RDYWNoZS5jcHAgICAgICAgICAgICB8ICAgNjIgKysrKysrKysrKysrKysrLS0t
CiBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oICAgICAgICAgICAgICB8ICAg
MTkgKysrKy0tCiBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oICAg
ICAgICB8ICAgIDggKystCiAuLi4vYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2Jq
ZWN0LmNwcCAgICB8ICAgMjcgKy0tLS0tLS0KIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS93aW4vQVhP
YmplY3RDYWNoZVdpbi5jcHAgICAgIHwgICAzOSArKysrKysrKysrKwogV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA0ICstCiBXZWJLaXQvd2lu
L0FjY2Vzc2libGVCYXNlLmNwcCAgICAgICAgICAgICAgICAgICAgICB8ICAgMTAgKysrLQogV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEzICsr
KysKIDkgZmlsZXMgY2hhbmdlZCwgMjAzIGluc2VydGlvbnMoKyksIDQ4IGRlbGV0aW9ucygtKQoK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YzQ2NTI5Mi4uYzE5ZjJmNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3MiBAQAorMjAwOS0wOC0xMyAgSm9uIEhvbmV5Y3V0
dCAgPGpob25leWN1dHRAYXBwbGUuY29tPgorCisgICAgICAgIFBhcnQgb2YgPHJkYXI6Ly9wcm9i
bGVtLzYyMTg3MjE+IE5vIE1TQUEgZm9jdXMgZXZlbnRzIGZpcmVkIGZvciBXZWJraXQKKyAgICAg
ICAgbmlnaHRseSAoMjA4NjYpCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwODY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6QVhPYmplY3RDYWNoZSk6CisgICAgICAgIENoYW5nZWQg
dG8gdGFrZSBhIHBvaW50ZXIgdG8gaXRzIG93bmVyIGRvY3VtZW50LiBUaGlzIGlzIHVzZWQgYnkK
KyAgICAgICAgQVhPYmplY3RDYWNoZTo6aGFuZGxlRm9jdXNlZFVJRWxlbWVudENoYW5nZWQoKS4K
KyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmZvY3VzZWRVSUVsZW1lbnRGb3JQYWdl
KToKKyAgICAgICAgQ29kZSBtb3ZlZCBmcm9tIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmZv
Y3VzZWRVSUVsZW1lbnQoKS4gTW9kaWZpZWQKKyAgICAgICAgdG8gYmUgYSBzdGF0aWMgZnVuY3Rp
b24gYW5kIHRvIHRha2UgYSBwb2ludGVyIHRvIGEgUGFnZS4KKyAgICAgICAgKFdlYkNvcmU6OkFY
T2JqZWN0Q2FjaGU6OnBsYXRmb3JtR2VuZXJhdGVBWElEKToKKyAgICAgICAgTW92ZWQgdGhlIGNv
ZGUgdG8gZ2VuZXJhdGUgdGhlIG5leHQgQVhJRCBmcm9tIGdldEFYSUQoKSB0byBoZXJlLiBBZGRl
ZAorICAgICAgICBhICNpZiB0byBtYWtlIHRoaXMgbm9uLVdJTiBvbmx5LCBiZWNhdXNlIFdpbmRv
d3MgaGFzIGl0cyBvd24KKyAgICAgICAgaW1wbGVtZW50YXRpb24uCisgICAgICAgIChXZWJDb3Jl
OjpBWE9iamVjdENhY2hlOjpnZXRBWElEKToKKyAgICAgICAgRW5zdXJlIHRoYXQgd2UgZ2VuZXJh
dGUgYSBwb3NpdGl2ZSBBWElELCByYW5naW5nIGZyb20gMSB0byBMT05HX01BWC4KKworICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oOgorICAgICAgICBBZGQgYSBkZWNsYXJh
dGlvbiBmb3IgRG9jdW1lbnQgYW5kIFBhZ2UuIFJlbW92ZWQgdGhlIGRlY2xhcmF0aW9uIG9mCisg
ICAgICAgIEFjY2Vzc2liaWxpdHlPYmplY3QsIGJlY2F1c2Ugd2UgaW5jbHVkZSB0aGUgaGVhZGVy
LiBSZW9yZGVyZWQgdGhlCisgICAgICAgIGRlY2xhcmF0aW9uIG9mIE5vZGUgYWxwaGFiZXRpY2Fs
bHkuIE1vdmVkIHRoZSB0eXBlZGVmIGZvciBBWElEIHRvCisgICAgICAgIEFjY2Vzc2liaWxpdHlP
YmplY3QuIFJlbW92ZWQgc29tZSB0cmFpbGluZyB3aGl0ZXNwYWNlLiBBZGRlZCBhIG1lbWJlcgor
ICAgICAgICB2YXJpYWJsZSB0byBob2xkIGEgcG9pbnRlciB0byB0aGUgb3duZXIgRG9jdW1lbnQu
CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpBWE9iamVjdENhY2hlKToKKyAgICAg
ICAgQ2hhbmdlZCB0byB0YWtlIGEgcG9pbnRlciB0byBpdHMgb3duZXIgRG9jdW1lbnQuCisgICAg
ICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpmb2N1c2VkVUlFbGVtZW50Rm9yUGFnZSk6Cisg
ICAgICAgIEFkZGVkOyBjb2RlIG1vdmVkIGZyb20gQWNjZXNzaWJsaXR5UmVuZGVyT2JqZWN0Ojpm
b2N1c2VkVUlFbGVtZW50KCkuCisgICAgICAgIFJldHVybnMgdGhlIGZvY3VzZWQgZWxlbWVudCB3
aXRoIHJlc3BlY3QgdG8gYWNjZXNzaWJpbGl0eS4KKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0
Q2FjaGU6OnBsYXRmb3JtR2VuZXJhdGVBWElEKToKKyAgICAgICAgRGVjbGFyZSBhIGZ1bmN0aW9u
IHRvIGdlbmVyYXRlIGFuIEFYSUQuCisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpv
YmplY3RGcm9tQVhJRCk6CisgICAgICAgIFJldHVybiB0aGUgQWNjZXNzaWJpbGl0eU9iamVjdCB3
aXRoIHRoZSBnaXZlbiBBWElELgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5T2JqZWN0Lmg6CisgICAgICAgIE1vdmVkIHRoZSB0eXBlZGVmIGZvciBBWElEIGZyb20gQVhP
YmplY3RDYWNoZSB0byBoZXJlLiBNYWRlIHRoZSBtX2lkCisgICAgICAgIG1lbWJlciB1c2UgdGhl
IHR5cGVkZWYuCisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjpheE9iamVj
dElEKToKKyAgICAgICAgQ2hhbmdlZCB0aGUgcmV0dXJuIHR5cGUgdG8gdXNlIHRoZSB0eXBlZGVm
LgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6c2V0QVhPYmplY3RJRCk6
CisgICAgICAgIENoYW5nZWQgdGhlIGFyZ3VtZW50IHR5cGUgdG8gdXNlIHRoZSB0eXBlZGVmLgor
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcDoK
KyAgICAgICAgUmVtb3ZlZCBzb21lIHVubmVlZGVkICNpbmNsdWRlcy4KKyAgICAgICAgKFdlYkNv
cmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmZvY3VzZWRVSUVsZW1lbnQpOgorICAgICAg
ICBNb3ZlZCB0aGUgY29kZSB0byBBWE9iamVjdENhY2hlOjpmb2N1c2VkVUlFbGVtZW50Rm9yUGFn
ZSgpLCB3aGljaCB3ZSBub3cKKyAgICAgICAgY2FsbC4KKworICAgICAgICAqIGFjY2Vzc2liaWxp
dHkvd2luL0FYT2JqZWN0Q2FjaGVXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RD
YWNoZTo6cGxhdGZvcm1HZW5lcmF0ZUFYSUQpOgorICAgICAgICBFbnN1cmUgdGhhdCB3ZSBnZW5l
cmF0ZSBhbiBBWElEIHRoYXQgaXMgaW4gdGhlIHJhbmdlIDEgdG8gTE9OR19NQVguCisgICAgICAg
IChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpoYW5kbGVGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCk6
CisgICAgICAgIElmIHRoZSBEb2N1bWVudCBoYXMgbm8gUGFnZSwgcmV0dXJuLiBJZiB0aGUgUGFn
ZSBoYXMgbm90IGZvY3VzZWQKKyAgICAgICAgZWxlbWVudCAocmVzcGVjdGluZyBhY2Nlc3NpYmls
aXR5KSwgcmV0dXJuLiBBc3NlcnQgdGhhdCB0aGUKKyAgICAgICAgYWNjZXNzaWJpbGl0eSBvZiB0
aGUgZm9jdXNlZCBlbGVtZW50IGlzIG5vdCBpZ25vcmVkLCBhbmQgdGhhdCB0aGUKKyAgICAgICAg
b2JqZWN0J3MgQVhJRCB3aWxsIGJlIG5lZ2F0aXZlIGFuZCBmaXQgaW50byBhIExPTkcgd2hlbiBu
ZWdhdGVkLgorICAgICAgICBCcm9hZGNhc3QgYSBmb2N1cyBldmVudCBmb3IgdGhlIG9iamVjdC4K
KworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dDo6YXhPYmplY3RDYWNoZSk6CisgICAgICAgIFBhc3MgdGhpcyB3aGVuIGNyZWF0aW5nIHRoZSBB
WE9iamVjdENhY2hlLgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNldEZvY3VzZWROb2Rl
KToKKyAgICAgICAgQ2FsbCBBWE9iamVjdENhY2hlOjpoYW5kbGVGb2N1c2VkVUlFbGVtZW50Q2hh
bmdlZCgpIG9uIFdpbmRvd3MuCisKIDIwMDktMDgtMTQgIE1heGltZSBTaW1vbiAgPHNpbW9uLm1h
eGltZUBnbWFpbC5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgT2xpdmVyIEh1bnQuCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgYi9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKaW5kZXggMGI3NThlNi4uZGI1N2YzYiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCisrKyBi
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcApAQCAtNDMsOCArNDMsMTEg
QEAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW4uaCIKICNpbmNsdWRlICJBY2Nl
c3NpYmlsaXR5VGFibGVIZWFkZXJDb250YWluZXIuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5
VGFibGVSb3cuaCIKLSNpbmNsdWRlICJJbnB1dEVsZW1lbnQuaCIKKyNpbmNsdWRlICJGb2N1c0Nv
bnRyb2xsZXIuaCIKKyNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgor
I2luY2x1ZGUgIklucHV0RWxlbWVudC5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJS
ZW5kZXJPYmplY3QuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCiAKQEAgLTU3LDggKzYwLDkg
QEAgdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIGJvb2wgQVhPYmplY3RDYWNoZTo6Z0FjY2Vz
c2liaWxpdHlFbmFibGVkID0gZmFsc2U7CiBib29sIEFYT2JqZWN0Q2FjaGU6OmdBY2Nlc3NpYmls
aXR5RW5oYW5jZWRVc2VySW50ZXJmYWNlRW5hYmxlZCA9IGZhbHNlOwogCi1BWE9iamVjdENhY2hl
OjpBWE9iamVjdENhY2hlKCkKK0FYT2JqZWN0Q2FjaGU6OkFYT2JqZWN0Q2FjaGUoY29uc3QgRG9j
dW1lbnQqIGRvY3VtZW50KQogICAgIDogbV9ub3RpZmljYXRpb25Qb3N0VGltZXIodGhpcywgJkFY
T2JqZWN0Q2FjaGU6Om5vdGlmaWNhdGlvblBvc3RUaW1lckZpcmVkKQorICAgICwgbV9kb2N1bWVu
dChkb2N1bWVudCkKIHsKIH0KIApAQCAtNzMsNiArNzcsMzIgQEAgQVhPYmplY3RDYWNoZTo6fkFY
T2JqZWN0Q2FjaGUoKQogICAgIH0KIH0KIAorQWNjZXNzaWJpbGl0eU9iamVjdCogQVhPYmplY3RD
YWNoZTo6Zm9jdXNlZFVJRWxlbWVudEZvclBhZ2UoY29uc3QgUGFnZSogcGFnZSkKK3sKKyAgICAv
LyBnZXQgdGhlIGZvY3VzZWQgbm9kZSBpbiB0aGUgcGFnZQorICAgIERvY3VtZW50KiBmb2N1c2Vk
RG9jdW1lbnQgPSBwYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS0+Zm9jdXNlZE9yTWFpbkZyYW1lKCkt
PmRvY3VtZW50KCk7CisgICAgTm9kZSogZm9jdXNlZE5vZGUgPSBmb2N1c2VkRG9jdW1lbnQtPmZv
Y3VzZWROb2RlKCk7CisgICAgaWYgKCFmb2N1c2VkTm9kZSkKKyAgICAgICAgZm9jdXNlZE5vZGUg
PSBmb2N1c2VkRG9jdW1lbnQ7CisKKyAgICBSZW5kZXJPYmplY3QqIGZvY3VzZWROb2RlUmVuZGVy
ZXIgPSBmb2N1c2VkTm9kZS0+cmVuZGVyZXIoKTsKKyAgICBpZiAoIWZvY3VzZWROb2RlUmVuZGVy
ZXIpCisgICAgICAgIHJldHVybiAwOworCisgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqID0g
Zm9jdXNlZE5vZGVSZW5kZXJlci0+ZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZSgpLT5nZXRPckNy
ZWF0ZShmb2N1c2VkTm9kZVJlbmRlcmVyKTsKKworICAgIGlmIChvYmotPnNob3VsZEZvY3VzQWN0
aXZlRGVzY2VuZGFudCgpKSB7CisgICAgICAgIGlmIChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBkZXNj
ZW5kYW50ID0gb2JqLT5hY3RpdmVEZXNjZW5kYW50KCkpCisgICAgICAgICAgICBvYmogPSBkZXNj
ZW5kYW50OworICAgIH0KKworICAgIC8vIHRoZSBIVE1MIGVsZW1lbnQsIGZvciBleGFtcGxlLCBp
cyBmb2N1c2FibGUgYnV0IGhhcyBhbiBBWCBvYmplY3QgdGhhdCBpcyBpZ25vcmVkCisgICAgaWYg
KG9iai0+YWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpKQorICAgICAgICBvYmogPSBvYmotPnBhcmVu
dE9iamVjdFVuaWdub3JlZCgpOworCisgICAgcmV0dXJuIG9iajsKK30KKwogQWNjZXNzaWJpbGl0
eU9iamVjdCogQVhPYmplY3RDYWNoZTo6Z2V0KFJlbmRlck9iamVjdCogcmVuZGVyZXIpCiB7CiAg
ICAgaWYgKCFyZW5kZXJlcikKQEAgLTIxMyw2ICsyNDMsMjMgQEAgdm9pZCBBWE9iamVjdENhY2hl
OjpyZW1vdmUoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKICAgICBtX3JlbmRlck9iamVjdE1hcHBp
bmcucmVtb3ZlKHJlbmRlcmVyKTsKIH0KIAorI2lmICFQTEFURk9STShXSU4pCitBWElEIEFYT2Jq
ZWN0Q2FjaGU6OnBsYXRmb3JtR2VuZXJhdGVBWElEKCkgY29uc3QKK3sKKyAgICBzdGF0aWMgQVhJ
RCBsYXN0VXNlZElEID0gMDsKKworICAgIC8vIEdlbmVyYXRlIGEgbmV3IElELgorICAgIEFYSUQg
b2JqSUQgPSBsYXN0VXNlZElEOworICAgIGRvIHsKKyAgICAgICAgKytvYmpJRDsKKyAgICB9IHdo
aWxlIChvYmpJRCA9PSAwIHx8IEhhc2hUcmFpdHM8QVhJRD46OmlzRGVsZXRlZFZhbHVlKG9iaklE
KSB8fCBtX2lkc0luVXNlLmNvbnRhaW5zKG9iaklEKSk7CisKKyAgICBsYXN0VXNlZElEID0gb2Jq
SUQ7CisKKyAgICByZXR1cm4gb2JqSUQ7Cit9CisjZW5kaWYKKwogQVhJRCBBWE9iamVjdENhY2hl
OjpnZXRBWElEKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iaikKIHsKICAgICAvLyBjaGVjayBmb3Ig
YWxyZWFkeS1hc3NpZ25lZCBJRApAQCAtMjIxLDE1ICsyNjgsMTAgQEAgQVhJRCBBWE9iamVjdENh
Y2hlOjpnZXRBWElEKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iaikKICAgICAgICAgQVNTRVJUKG1f
aWRzSW5Vc2UuY29udGFpbnMob2JqSUQpKTsKICAgICAgICAgcmV0dXJuIG9iaklEOwogICAgIH0K
LSAgICAKLSAgICAvLyBnZW5lcmF0ZSBhIG5ldyBJRAotICAgIHN0YXRpYyBBWElEIGxhc3RVc2Vk
SUQgPSAwOwotICAgIG9iaklEID0gbGFzdFVzZWRJRDsKLSAgICBkbwotICAgICAgICArK29iaklE
OwotICAgIHdoaWxlIChvYmpJRCA9PSAwIHx8IEhhc2hUcmFpdHM8QVhJRD46OmlzRGVsZXRlZFZh
bHVlKG9iaklEKSB8fCBtX2lkc0luVXNlLmNvbnRhaW5zKG9iaklEKSk7CisKKyAgICBvYmpJRCA9
IHBsYXRmb3JtR2VuZXJhdGVBWElEKCk7CisKICAgICBtX2lkc0luVXNlLmFkZChvYmpJRCk7Ci0g
ICAgbGFzdFVzZWRJRCA9IG9iaklEOwogICAgIG9iai0+c2V0QVhPYmplY3RJRChvYmpJRCk7CiAg
ICAgCiAgICAgcmV0dXJuIG9iaklEOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FYT2JqZWN0Q2FjaGUuaCBiL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgK
aW5kZXggN2E4MDhkZC4uOTZkZWQ0NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FYT2JqZWN0Q2FjaGUuaAorKysgYi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNo
ZS5oCkBAIC00MiwxMyArNDIsMTIgQEAgY2xhc3MgV2ViQ29yZVRleHRNYXJrZXI7CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAorICAgIGNsYXNzIERvY3VtZW50OworICAgIGNsYXNzIE5vZGU7Cisg
ICAgY2xhc3MgUGFnZTsKICAgICBjbGFzcyBSZW5kZXJPYmplY3Q7CiAgICAgY2xhc3MgU3RyaW5n
OwogICAgIGNsYXNzIFZpc2libGVQb3NpdGlvbjsKLSAgICBjbGFzcyBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0OwotICAgIGNsYXNzIE5vZGU7Ci0gICAgCi0gICAgdHlwZWRlZiB1bnNpZ25lZCBBWElEOwog
CiAgICAgc3RydWN0IFRleHRNYXJrZXJEYXRhICB7CiAgICAgICAgIEFYSUQgYXhJRDsKQEAgLTU5
LDkgKzU4LDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEFYT2JqZWN0Q2Fj
aGUgewogICAgIHB1YmxpYzoKLSAgICAgICAgQVhPYmplY3RDYWNoZSgpOworICAgICAgICBBWE9i
amVjdENhY2hlKGNvbnN0IERvY3VtZW50Kik7CiAgICAgICAgIH5BWE9iamVjdENhY2hlKCk7Ci0g
ICAgICAgIAorCisgICAgICAgIHN0YXRpYyBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBmb2N1c2VkVUlF
bGVtZW50Rm9yUGFnZShjb25zdCBQYWdlKik7CisKICAgICAgICAgLy8gdG8gYmUgdXNlZCB3aXRo
IHJlbmRlciBvYmplY3RzCiAgICAgICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIGdldE9yQ3JlYXRl
KFJlbmRlck9iamVjdCopOwogICAgICAgICAKQEAgLTk0LDExICs5NSwxMyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKICAgICAgICAgdm9pZCByZW1vdmVBWElEKEFjY2Vzc2liaWxpdHlPYmplY3Qq
KTsKICAgICAgICAgYm9vbCBpc0lEaW5Vc2UoQVhJRCBpZCkgY29uc3QgeyByZXR1cm4gbV9pZHNJ
blVzZS5jb250YWlucyhpZCk7IH0KKyAgICAgICAgQVhJRCBwbGF0Zm9ybUdlbmVyYXRlQVhJRCgp
IGNvbnN0OworICAgICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3RGcm9tQVhJRChBWElE
IGlkKSBjb25zdCB7IHJldHVybiBtX29iamVjdHMuZ2V0KGlkKS5nZXQoKTsgfQogCiAgICAgICAg
IC8vIFRleHQgbWFya2VyIHV0aWxpdGllcy4KICAgICAgICAgc3RhdGljIHZvaWQgdGV4dE1hcmtl
ckRhdGFGb3JWaXNpYmxlUG9zaXRpb24oVGV4dE1hcmtlckRhdGEmLCBjb25zdCBWaXNpYmxlUG9z
aXRpb24mKTsKICAgICAgICAgc3RhdGljIFZpc2libGVQb3NpdGlvbiB2aXNpYmxlUG9zaXRpb25G
b3JUZXh0TWFya2VyRGF0YShUZXh0TWFya2VyRGF0YSYpOwotICAgICAgICAgICAgICAgIAorCiAg
ICAgcHJpdmF0ZToKICAgICAgICAgSGFzaE1hcDxBWElELCBSZWZQdHI8QWNjZXNzaWJpbGl0eU9i
amVjdD4gPiBtX29iamVjdHM7CiAgICAgICAgIEhhc2hNYXA8UmVuZGVyT2JqZWN0KiwgQVhJRD4g
bV9yZW5kZXJPYmplY3RNYXBwaW5nOwpAQCAtMTEzLDYgKzExNiw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgCiAgICAgICAgIEFYSUQgZ2V0QVhJRChBY2Nlc3NpYmlsaXR5T2JqZWN0
Kik7CiAgICAgICAgIGJvb2wgbm9kZUlzQXJpYVR5cGUoTm9kZSogbm9kZSwgU3RyaW5nIHJvbGUp
OworCisgICAgICAgIGNvbnN0IERvY3VtZW50KiBtX2RvY3VtZW50OwogICAgIH07CiAKICNpZiAh
SEFWRShBQ0NFU1NJQklMSVRZKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3QuaCBiL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0LmgKaW5kZXggYjU0YjA0MS4uOTE3Mzk1MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAorKysgYi9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCkBAIC05MSw2ICs5MSw4IEBAIGNsYXNzIFZpc2libGVT
ZWxlY3Rpb247CiBjbGFzcyBTdHJpbmc7CiBjbGFzcyBXaWRnZXQ7CiAKK3R5cGVkZWYgdW5zaWdu
ZWQgQVhJRDsKKwogZW51bSBBY2Nlc3NpYmlsaXR5Um9sZSB7CiAgICAgVW5rbm93blJvbGUgPSAx
LAogICAgIEJ1dHRvblJvbGUsCkBAIC0zMDUsOCArMzA3LDggQEAgcHVibGljOgogICAgIHZpcnR1
YWwgUGFzc1JlZlB0cjxSYW5nZT4gYXJpYVNlbGVjdGVkVGV4dERPTVJhbmdlKCkgY29uc3QgeyBy
ZXR1cm4gMDsgfQogCiAgICAgdmlydHVhbCBBWE9iamVjdENhY2hlKiBheE9iamVjdENhY2hlKCkg
Y29uc3QgeyByZXR1cm4gMDsgfQotICAgIHVuc2lnbmVkIGF4T2JqZWN0SUQoKSBjb25zdCB7IHJl
dHVybiBtX2lkOyB9Ci0gICAgdm9pZCBzZXRBWE9iamVjdElEKHVuc2lnbmVkIGF4T2JqZWN0SUQp
IHsgbV9pZCA9IGF4T2JqZWN0SUQ7IH0KKyAgICBBWElEIGF4T2JqZWN0SUQoKSBjb25zdCB7IHJl
dHVybiBtX2lkOyB9CisgICAgdm9pZCBzZXRBWE9iamVjdElEKEFYSUQgYXhPYmplY3RJRCkgeyBt
X2lkID0gYXhPYmplY3RJRDsgfQogICAgIAogICAgIHN0YXRpYyBBY2Nlc3NpYmlsaXR5T2JqZWN0
KiBhbmNob3JFbGVtZW50Rm9yTm9kZShOb2RlKik7CiAgICAgdmlydHVhbCBFbGVtZW50KiBhbmNo
b3JFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gMDsgfQpAQCAtNDM4LDcgKzQ0MCw3IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQmFja2luZ1N0b3JlKCkgeyB9CiAgICAgCiBwcm90
ZWN0ZWQ6Ci0gICAgdW5zaWduZWQgbV9pZDsKKyAgICBBWElEIG1faWQ7CiAgICAgQWNjZXNzaWJp
bGl0eUNoaWxkcmVuVmVjdG9yIG1fY2hpbGRyZW47CiAgICAgbXV0YWJsZSBib29sIG1faGF2ZUNo
aWxkcmVuOwogICAgIEFjY2Vzc2liaWxpdHlSb2xlIG1fcm9sZTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCBiL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAppbmRleCBlMGY5YTkx
Li5lMzU5OTQ2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdC5jcHAKKysrIGIvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3QuY3BwCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiQ2hhcmFjdGVy
TmFtZXMuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRmxvYXRSZWN0Lmgi
Ci0jaW5jbHVkZSAiRm9jdXNDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNs
dWRlICJGcmFtZUxvYWRlci5oIgogI2luY2x1ZGUgIkhUTUxBcmVhRWxlbWVudC5oIgpAQCAtNTQs
NyArNTMsNiBAQAogI2luY2x1ZGUgIkhpdFRlc3RSZXN1bHQuaCIKICNpbmNsdWRlICJMb2NhbGl6
ZWRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiTm9kZUxpc3QuaCIKLSNpbmNsdWRlICJQYWdlLmgiCiAj
aW5jbHVkZSAiUmVuZGVyQnV0dG9uLmgiCiAjaW5jbHVkZSAiUmVuZGVyRmllbGRzZXQuaCIKICNp
bmNsdWRlICJSZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5oIgpAQCAtMjEwMiwzMiArMjEwMCwxMSBA
QCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojpkb0FjY2Vz
c2liaWxpdHlIaXRUZXN0KGNvbnN0IEludAogCiBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0Ojpmb2N1c2VkVUlFbGVtZW50KCkgY29uc3QKIHsKLSAgICAvLyBn
ZXQgdGhlIGZvY3VzZWQgbm9kZSBpbiB0aGUgcGFnZQogICAgIFBhZ2UqIHBhZ2UgPSBtX3JlbmRl
cmVyLT5kb2N1bWVudCgpLT5wYWdlKCk7CiAgICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1cm4g
MDsKLSAgICAKLSAgICBEb2N1bWVudCogZm9jdXNlZERvY3VtZW50ID0gcGFnZS0+Zm9jdXNDb250
cm9sbGVyKCktPmZvY3VzZWRPck1haW5GcmFtZSgpLT5kb2N1bWVudCgpOwotICAgIE5vZGUqIGZv
Y3VzZWROb2RlID0gZm9jdXNlZERvY3VtZW50LT5mb2N1c2VkTm9kZSgpOwotICAgIGlmICghZm9j
dXNlZE5vZGUpCi0gICAgICAgIGZvY3VzZWROb2RlID0gZm9jdXNlZERvY3VtZW50OwotICAgIAot
ICAgIFJlbmRlck9iamVjdCogZm9jdXNlZE5vZGVSZW5kZXJlciA9IGZvY3VzZWROb2RlLT5yZW5k
ZXJlcigpOwotICAgIGlmICghZm9jdXNlZE5vZGVSZW5kZXJlcikKLSAgICAgICAgcmV0dXJuIDA7
Ci0gICAgCi0gICAgQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqID0gZm9jdXNlZE5vZGVSZW5kZXJl
ci0+ZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZSgpLT5nZXRPckNyZWF0ZShmb2N1c2VkTm9kZVJl
bmRlcmVyKTsKLSAgICAKLSAgICBpZiAob2JqLT5zaG91bGRGb2N1c0FjdGl2ZURlc2NlbmRhbnQo
KSkgewotICAgICAgICBpZiAoQWNjZXNzaWJpbGl0eU9iamVjdCogZGVzY2VuZGFudCA9IG9iai0+
YWN0aXZlRGVzY2VuZGFudCgpKQotICAgICAgICAgICAgb2JqID0gZGVzY2VuZGFudDsKLSAgICB9
Ci0gICAgCi0gICAgLy8gdGhlIEhUTUwgZWxlbWVudCwgZm9yIGV4YW1wbGUsIGlzIGZvY3VzYWJs
ZSBidXQgaGFzIGFuIEFYIG9iamVjdCB0aGF0IGlzIGlnbm9yZWQKLSAgICBpZiAob2JqLT5hY2Nl
c3NpYmlsaXR5SXNJZ25vcmVkKCkpCi0gICAgICAgIG9iaiA9IG9iai0+cGFyZW50T2JqZWN0VW5p
Z25vcmVkKCk7Ci0gICAgCi0gICAgcmV0dXJuIG9iajsKKworICAgIHJldHVybiBBWE9iamVjdENh
Y2hlOjpmb2N1c2VkVUlFbGVtZW50Rm9yUGFnZShwYWdlKTsKIH0KIAogYm9vbCBBY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0OjpzaG91bGRGb2N1c0FjdGl2ZURlc2NlbmRhbnQoKSBjb25zdApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L3dpbi9BWE9iamVjdENhY2hlV2luLmNwcCBi
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS93aW4vQVhPYmplY3RDYWNoZVdpbi5jcHAKaW5kZXggZTM5
ZDVhNS4uZjc4MmNlYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L3dpbi9BWE9i
amVjdENhY2hlV2luLmNwcAorKysgYi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvd2luL0FYT2JqZWN0
Q2FjaGVXaW4uY3BwCkBAIC0yOCw2ICsyOCwxMCBAQAogI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUu
aCIKIAogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKKyNpbmNsdWRlICJEb2N1bWVu
dC5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKKwordXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCkBAIC01MCw4ICs1NCw0MyBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnBv
c3RQbGF0Zm9ybU5vdGlmaWNhdGlvbihBY2Nlc3NpYmlsaXR5T2JqZWN0KiwgY29uc3QgU3RyaW5n
JgogewogfQogCitBWElEIEFYT2JqZWN0Q2FjaGU6OnBsYXRmb3JtR2VuZXJhdGVBWElEKCkgY29u
c3QKK3sKKyAgICBzdGF0aWMgQVhJRCBsYXN0VXNlZElEID0gMDsKKworICAgIC8vIEdlbmVyYXRl
IGEgbmV3IElELiBXaW5kb3dzIGFjY2Vzc2liaWxpdHkgcmVsaWVzIG9uIGEgcG9zaXRpdmUgQVhJ
RCwKKyAgICAvLyByYW5naW5nIGZyb20gMSB0byBMT05HX01BWC4KKyAgICBBWElEIG9iaklEID0g
bGFzdFVzZWRJRDsKKyAgICBkbyB7CisgICAgICAgICsrb2JqSUQ7CisgICAgICAgIG9iaklEICU9
IHN0ZDo6bnVtZXJpY19saW1pdHM8TE9ORz46Om1heCgpOworICAgIH0gd2hpbGUgKG9iaklEID09
IDAgfHwgSGFzaFRyYWl0czxBWElEPjo6aXNEZWxldGVkVmFsdWUob2JqSUQpIHx8IG1faWRzSW5V
c2UuY29udGFpbnMob2JqSUQpKTsKKworICAgIEFTU0VSVChvYmpJRCA+PSAxICYmIG9iaklEIDw9
IHN0ZDo6bnVtZXJpY19saW1pdHM8TE9ORz46Om1heCgpKTsKKworICAgIGxhc3RVc2VkSUQgPSBv
YmpJRDsKKworICAgIHJldHVybiBvYmpJRDsKK30KKwogdm9pZCBBWE9iamVjdENhY2hlOjpoYW5k
bGVGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCgpCiB7CisgICAgUGFnZSogcGFnZSA9IG1fZG9jdW1l
bnQtPnBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UgfHwgIXBhZ2UtPmNocm9tZSgpLT5wbGF0Zm9ybVdp
bmRvdygpKQorICAgICAgICByZXR1cm47CisKKyAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBmb2N1
c2VkT2JqZWN0ID0gZm9jdXNlZFVJRWxlbWVudEZvclBhZ2UocGFnZSk7CisgICAgaWYgKCFmb2N1
c2VkT2JqZWN0KQorICAgICAgICByZXR1cm47CisKKyAgICBBU1NFUlQoIWZvY3VzZWRPYmplY3Qt
PmFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSk7CisgICAgQVNTRVJUKGZvY3VzZWRPYmplY3QtPmF4
T2JqZWN0SUQoKSA+PSAxICYmIGZvY3VzZWRPYmplY3QtPmF4T2JqZWN0SUQoKSA8PSBudW1lcmlj
X2xpbWl0czxMT05HPjo6bWF4KCkpOworCisgICAgLy8gV2luZG93cyB3aWxsIGVuZCB1cCBjYWxs
aW5nIGdldF9hY2NDaGlsZCgpIG9uIHRoZSByb290IGFjY2Vzc2libGUKKyAgICAvLyBvYmplY3Qg
Zm9yIHRoZSBXZWJWaWV3LCBwYXNzaW5nIHRoZSBjaGlsZCBJRCB0aGF0IHdlIHNwZWNpZnkgYmVs
b3cuIFdlCisgICAgLy8gbmVnYXRlIHRoZSBBWElEIHNvIHdlIGtub3cgdGhhdCB0aGUgY2FsbGVy
IGlzIHBhc3NpbmcgdGhlIElEIG9mIGFuCisgICAgLy8gZWxlbWVudCwgbm90IHRoZSBpbmRleCBv
ZiBhIGNoaWxkIGVsZW1lbnQuCisgICAgTm90aWZ5V2luRXZlbnQoRVZFTlRfT0JKRUNUX0ZPQ1VT
LCBwYWdlLT5jaHJvbWUoKS0+cGxhdGZvcm1XaW5kb3coKSwgT0JKSURfQ0xJRU5ULCAtc3RhdGlj
X2Nhc3Q8TE9ORz4oZm9jdXNlZE9iamVjdC0+YXhPYmplY3RJRCgpKSk7CiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA4OWJiOTRlLi43NDE5OGJkIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CkBAIC0xNDY3LDcgKzE0NjcsNyBAQCBBWE9iamVjdENhY2hlKiBEb2N1bWVudDo6YXhPYmplY3RD
YWNoZSgpIGNvbnN0CiAgICAgICAgIHJldHVybiBkb2MtPmF4T2JqZWN0Q2FjaGUoKTsKICAgICAK
ICAgICAvLyB0aGlzIGlzIHRoZSB0b3AtbGV2ZWwgZG9jdW1lbnQsIHNvIGluc3RhbGwgYSBuZXcg
Y2FjaGUKLSAgICBtX2F4T2JqZWN0Q2FjaGUgPSBuZXcgQVhPYmplY3RDYWNoZTsKKyAgICBtX2F4
T2JqZWN0Q2FjaGUgPSBuZXcgQVhPYmplY3RDYWNoZSh0aGlzKTsKICAgICByZXR1cm4gbV9heE9i
amVjdENhY2hlOwogfQogCkBAIC0yNjIyLDcgKzI2MjIsNyBAQCBib29sIERvY3VtZW50OjpzZXRG
b2N1c2VkTm9kZShQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKQogICAgICAgICB9CiAg
ICAgfQogCi0jaWYgUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oQ0hST01JVU0pCisjaWYgKFBM
QVRGT1JNKE1BQykgfHwgUExBVEZPUk0oV0lOKSkgJiYgIVBMQVRGT1JNKENIUk9NSVVNKQogICAg
IGlmICghZm9jdXNDaGFuZ2VCbG9ja2VkICYmIG1fZm9jdXNlZE5vZGUgJiYgQVhPYmplY3RDYWNo
ZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSkKICAgICAgICAgYXhPYmplY3RDYWNoZSgpLT5oYW5k
bGVGb2N1c2VkVUlFbGVtZW50Q2hhbmdlZCgpOwogI2VsaWYgUExBVEZPUk0oR1RLKQpkaWZmIC0t
Z2l0IGEvV2ViS2l0L3dpbi9BY2Nlc3NpYmxlQmFzZS5jcHAgYi9XZWJLaXQvd2luL0FjY2Vzc2li
bGVCYXNlLmNwcAppbmRleCBkZjkxMTUxLi5kZjEyNWIxIDEwMDY0NAotLS0gYS9XZWJLaXQvd2lu
L0FjY2Vzc2libGVCYXNlLmNwcAorKysgYi9XZWJLaXQvd2luL0FjY2Vzc2libGVCYXNlLmNwcApA
QCAtNTkyLDcgKzU5MiwxNSBAQCBIUkVTVUxUIEFjY2Vzc2libGVCYXNlOjpnZXRBY2Nlc3NpYmls
aXR5T2JqZWN0Rm9yQ2hpbGQoVkFSSUFOVCB2Q2hpbGQsIEFjY2Vzc2liaQogCiAgICAgaWYgKHZD
aGlsZC5sVmFsID09IENISUxESURfU0VMRikKICAgICAgICAgY2hpbGRPYmogPSBtX29iamVjdDsK
LSAgICBlbHNlIHsKKyAgICBlbHNlIGlmICh2Q2hpbGQubFZhbCA8IDApIHsKKyAgICAgICAgLy8g
V2hlbiBicm9hZGNhc3RpbmcgTVNBQSBldmVudHMsIHdlIG5lZ2F0ZSB0aGUgQVhJRCBhbmQgcGFz
cyBpdCBhcyB0aGUKKyAgICAgICAgLy8gY2hpbGQgSUQuCisgICAgICAgIERvY3VtZW50KiBkb2N1
bWVudCA9IG1fb2JqZWN0LT5kb2N1bWVudCgpOworICAgICAgICBpZiAoIWRvY3VtZW50KQorICAg
ICAgICAgICAgcmV0dXJuIEVfRkFJTDsKKworICAgICAgICBjaGlsZE9iaiA9IGRvY3VtZW50LT5h
eE9iamVjdENhY2hlKCktPm9iamVjdEZyb21BWElEKC12Q2hpbGQubFZhbCk7CisgICAgfSBlbHNl
IHsKICAgICAgICAgc2l6ZV90IGNoaWxkSW5kZXggPSBzdGF0aWNfY2FzdDxzaXplX3Q+KHZDaGls
ZC5sVmFsIC0gMSk7CiAKICAgICAgICAgaWYgKGNoaWxkSW5kZXggPj0gbV9vYmplY3QtPmNoaWxk
cmVuKCkuc2l6ZSgpKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9XZWJLaXQv
d2luL0NoYW5nZUxvZwppbmRleCA3OTNiNGJkLi5kNmE5MTc2IDEwMDY0NAotLS0gYS9XZWJLaXQv
d2luL0NoYW5nZUxvZworKysgYi9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBA
CisyMDA5LTA4LTEzICBKb24gSG9uZXljdXR0ICA8amhvbmV5Y3V0dEBhcHBsZS5jb20+CisKKyAg
ICAgICAgUGFydCBvZiA8cmRhcjovL3Byb2JsZW0vNjIxODcyMT4gTm8gTVNBQSBmb2N1cyBldmVu
dHMgZmlyZWQgZm9yIFdlYmtpdAorICAgICAgICBuaWdodGx5ICgyMDg2NikKKworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NjYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEFjY2Vzc2libGVCYXNlLmNw
cDoKKyAgICAgICAgKEFjY2Vzc2libGVCYXNlOjpnZXRBY2Nlc3NpYmlsaXR5T2JqZWN0Rm9yQ2hp
bGQpOgorICAgICAgICBJZiB0aGUgY2hpbGQgSUQgaXMgbmVnYXRpdmUsIG5lZ2F0ZSBpdCBhbmQg
dHJlYXQgaXQgYXMgYW4gQVhJRC4KKwogMjAwOS0wOC0xMiAgQnJpYW4gV2VpbnN0ZWluICA8Yndl
aW5zdGVpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBSb2Jlbi4KLS0g
CjEuNi40LnJjMC4xNy5nZDllYjAKCg==
</data>
<flag name="review"
          id="19081"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34886</attachid>
            <date>2009-08-14 20:44:45 -0700</date>
            <delta_ts>2009-08-14 21:58:47 -0700</delta_ts>
            <desc>Layout test</desc>
            <filename>0002-WebKitTools-Add-a-mechanism-for-logging-MSAA-focus-e.patch</filename>
            <type>text/plain</type>
            <size>15500</size>
            <attacher name="Jon Honeycutt">jhoneycutt</attacher>
            
              <data encoding="base64">RnJvbSAzODk0NjZlNjE0ZTJjNjMzZTQ2OGNjZmIzNDUwNzU5ODJmYTE0ODk3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb24gSG9uZXljdXR0IDxqaG9uZXljdXR0QGFwcGxlLmNvbT4K
RGF0ZTogRnJpLCAxNCBBdWcgMjAwOSAxOToxODowNCAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMi8y
XSBXZWJLaXRUb29sczogQWRkIGEgbWVjaGFuaXNtIGZvciBsb2dnaW5nIE1TQUEgZm9jdXMgZXZl
bnRzLgoKUGFydCBvZiA8cmRhcjovL3Byb2JsZW0vNjIxODcyMT4gTm8gTVNBQSBmb2N1cyBldmVu
dHMgZmlyZWQgZm9yIFdlYmtpdApuaWdodGx5ICgyMDg2NikKCmh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg2NgoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgoq
IER1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmNwcDoKKGxvZ0ZvY3VzRXZl
bnRzQ2FsbGJhY2spOgpDYWxsIHRoZSBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcidzIGxvZ0ZvY3Vz
RXZlbnRzKCkgZnVuY3Rpb24uCihBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6Z2V0SlNDbGFzcyk6
CkFkZCBhICJsb2dGb2N1c0V2ZW50cyIgZnVuY3Rpb24gdG8gdGhlIEFjY2Vzc2liaWxpdHlDb250
cm9sbGVyJ3MgSlMKY2xhc3MgZGVmaW5pdGlvbi4KCiogRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXIuaDoKT24gV2luZG93cywgaW5jbHVkZSB3aW5kb3dzLmgsIGFuZCBhZGQg
YSBtZW1iZXIgdmFyaWFibGUgdG8gaG9sZCB0aGUKaGFuZGxlIHRvIHRoZSBldmVudCBob29rIGZv
ciBmb2N1cyBldmVudHMuIEFkZCBhIGRlY2xhcmF0aW9uIGZvciBhCmZ1bmN0aW9uIHRoYXQgZW5h
YmxlcyBsb2dnaW5nIG9mIGZvY3VzIGV2ZW50cy4KCiogRHVtcFJlbmRlclRyZWUvZ3RrL0FjY2Vz
c2liaWxpdHlDb250cm9sbGVyR3RrLmNwcDoKKEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpsb2dG
b2N1c0V2ZW50cyk6ClN0dWJiZWQuCgoqIER1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5
Q29udHJvbGxlck1hYy5tbToKKEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpsb2dGb2N1c0V2ZW50
cyk6ClN0dWJiZWQuCgoqIER1bXBSZW5kZXJUcmVlL3dpbi9BY2Nlc3NpYmlsaXR5Q29udHJvbGxl
cldpbi5jcHA6CihBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6QWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIpOgooQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6On5BY2Nlc3NpYmlsaXR5Q29udHJvbGxlcik6
CklmIHdlIGhvb2tlZCB0aGUgZm9jdXMgZXZlbnQsIHVuaG9vayBpdC4KKGxvZ0ZvY3VzRXZlbnRQ
cm9jKToKV2hlbiB3ZSByZWNlaXZlIGEgZm9jdXMgZXZlbnQsIGdldCB0aGUgYWNjZXNzaWJsZSBv
YmplY3QgZm9yIHRoZSBldmVudCwKYW5kIGxvZyBpdHMgbmFtZSB0byBzdGRvdXQuCihBY2Nlc3Np
YmlsaXR5Q29udHJvbGxlcjo6bG9nRm9jdXNFdmVudHMpOgpTZXR1cCB0aGUgZm9jdXMgZXZlbnQg
aG9vayB0byBsaXN0ZW4gZm9yIGV2ZW50cyBpbiB0aGUgY3VycmVudCBwcm9jZXNzLgoKTGF5b3V0
VGVzdHM6IEFkZCBhIGxheW91dCB0ZXN0IGZvciA8cmRhcjovL3Byb2JsZW0vNjIxODcyMT4gTm8g
TVNBQSBmb2N1cyBldmVudHMKZmlyZWQgZm9yIFdlYmtpdCBuaWdodGx5ICgyMDg2NikKCmh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg2NgoKUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCgoqIHBsYXRmb3JtL3dpbi9Ta2lwcGVkOgpSZW1vdmUgdGhlIGJsYW5rZXQg
c2tpcHBpbmcgb2YgYWNjZXNzaWJpbGl0eS8sIGFuZCBhZGQgdGhlIGluZGl2aWR1YWwKdGVzdHMu
CgoqIHBsYXRmb3JtL3dpbi9hY2Nlc3NpYmlsaXR5L2ZvY3VzLWV2ZW50cy1leHBlY3RlZC50eHQ6
IEFkZGVkLgoqIHBsYXRmb3JtL3dpbi9hY2Nlc3NpYmlsaXR5L2ZvY3VzLWV2ZW50cy5odG1sOiBB
ZGRlZC4KLS0tCiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8ICAgMTYgKysrKysrCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZCAgICAg
ICAgICAgICAgICAgICB8ICAgNTYgKysrKysrKysrKysrKysrKysrKy0KIC4uLi93aW4vYWNjZXNz
aWJpbGl0eS9mb2N1cy1ldmVudHMtZXhwZWN0ZWQudHh0ICAgIHwgICAgNyArKysKIC4uLi9wbGF0
Zm9ybS93aW4vYWNjZXNzaWJpbGl0eS9mb2N1cy1ldmVudHMuaHRtbCAgIHwgICAyNyArKysrKysr
KysKIFdlYktpdFRvb2xzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg
ICA0MSArKysrKysrKysrKysrKwogLi4uL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlDb250
cm9sbGVyLmNwcCAgICAgfCAgIDE0ICsrKysrLQogLi4uL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2li
aWxpdHlDb250cm9sbGVyLmggICAgICAgfCAgICA5ICsrKwogLi4uL2d0ay9BY2Nlc3NpYmlsaXR5
Q29udHJvbGxlckd0ay5jcHAgICAgICAgICAgICAgfCAgICA0ICsrCiAuLi4vbWFjL0FjY2Vzc2li
aWxpdHlDb250cm9sbGVyTWFjLm1tICAgICAgICAgICAgICB8ICAgIDQgKysKIC4uLi93aW4vQWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXJXaW4uY3BwICAgICAgICAgICAgIHwgICA0MiArKysrKysrKysr
KysrKysKIDEwIGZpbGVzIGNoYW5nZWQsIDIxNyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygt
KQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9hY2Nlc3NpYmls
aXR5L2ZvY3VzLWV2ZW50cy1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW4vYWNjZXNzaWJpbGl0eS9mb2N1cy1ldmVudHMuaHRtbAoKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCAwNzEwZDIxLi4wMjczNWQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMDktMDgtMTQgIEpv
biBIb25leWN1dHQgIDxqaG9uZXljdXR0QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgYSBsYXlv
dXQgdGVzdCBmb3IgPHJkYXI6Ly9wcm9ibGVtLzYyMTg3MjE+IE5vIE1TQUEgZm9jdXMgZXZlbnRz
CisgICAgICAgIGZpcmVkIGZvciBXZWJraXQgbmlnaHRseSAoMjA4NjYpCisKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODY2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vU2tpcHBl
ZDoKKyAgICAgICAgUmVtb3ZlIHRoZSBibGFua2V0IHNraXBwaW5nIG9mIGFjY2Vzc2liaWxpdHkv
LCBhbmQgYWRkIHRoZSBpbmRpdmlkdWFsCisgICAgICAgIHRlc3RzLgorCisgICAgICAgICogcGxh
dGZvcm0vd2luL2FjY2Vzc2liaWxpdHkvZm9jdXMtZXZlbnRzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vd2luL2FjY2Vzc2liaWxpdHkvZm9jdXMtZXZlbnRzLmh0bWw6
IEFkZGVkLgorCiAyMDA5LTA4LTE0ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4K
IAogICAgICAgICBEaXNhYmxlIG1lZGlhL2NvbnRyb2xzLWRyYWctdGltZWJhci5odG1sIG9uIFNu
b3dMZW9wYXJkLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAppbmRleCBhMjYwYWE2Li5hNGNkNjRj
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZApAQCAtMzU1LDggKzM1NSw2MCBAQCBodHRwL3Rl
c3RzL2FwcGNhY2hlCiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLWJh
c2ljLW5vbi1zaW1wbGUtYWxsb3ctYXN5bmMuaHRtbAogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVz
dC9hY2Nlc3MtY29udHJvbC1iYXNpYy1ub24tc2ltcGxlLWFsbG93Lmh0bWwKIAotIyBTdGlsbCBu
ZWVkIHRvIGltcGxlbWVudCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlciBmb3IgRHVtcFJlbmRlclRy
ZWUgb24gV2luZG93cwotYWNjZXNzaWJpbGl0eQorIyBBY2Nlc3NpYmlsaXR5IHRlc3RzIHdpdGhv
dXQgcmVzdWx0cyBvciB3aXRoIE1hYy1zcGVjaWZpYyByZXN1bHRzLgorYWNjZXNzaWJpbGl0eS9h
cmlhLWRlc2NyaWJlZGJ5LW9uLWlucHV0Lmh0bWwKK2FjY2Vzc2liaWxpdHkvYXJpYS1kaXNhYmxl
ZC5odG1sCithY2Nlc3NpYmlsaXR5L2FyaWEtaGlkZGVuLmh0bWwKK2FjY2Vzc2liaWxpdHkvYXJp
YS1sYWJlbC5odG1sCithY2Nlc3NpYmlsaXR5L2FyaWEtbGFiZWxsZWRieS1vbi1pbnB1dC5odG1s
CithY2Nlc3NpYmlsaXR5L2FyaWEtbGFiZWxsZWRieS1zdGF5LXdpdGhpbi5odG1sCithY2Nlc3Np
YmlsaXR5L2FyaWEtbGluay1zdXBwb3J0cy1wcmVzcy5odG1sCithY2Nlc3NpYmlsaXR5L2FyaWEt
cmVhZG9ubHkuaHRtbAorYWNjZXNzaWJpbGl0eS9hcmlhLXJvbGVzLmh0bWwKK2FjY2Vzc2liaWxp
dHkvYXJpYS10YWJsZXMuaHRtbAorYWNjZXNzaWJpbGl0eS9idXR0b24tcHJlc3MtYWN0aW9uLmh0
bWwKK2FjY2Vzc2liaWxpdHkvY2FudmFzLmh0bWwKK2FjY2Vzc2liaWxpdHkvZWRpdGFibGUtd2Vi
YXJlYS1jb250ZXh0LW1lbnUtcG9pbnQuaHRtbAorYWNjZXNzaWJpbGl0eS9pZnJhbWUtYmFzdGFy
ZGl6YXRpb24uaHRtbAorYWNjZXNzaWJpbGl0eS9pZ25vcmUtc3BhY2VyLWVsZW1lbnRzLmh0bWwK
K2FjY2Vzc2liaWxpdHkvaW1hZ2UtbWFwMS5odG1sCithY2Nlc3NpYmlsaXR5L2ltYWdlLW1hcDIu
aHRtbAorYWNjZXNzaWJpbGl0eS9pbWctYXJpYS1idXR0b24tYWx0LXRhZy5odG1sCithY2Nlc3Np
YmlsaXR5L2lucHV0LWltYWdlLWFsdC5odG1sCithY2Nlc3NpYmlsaXR5L2lucHV0LXNsaWRlci5o
dG1sCithY2Nlc3NpYmlsaXR5L2ludGVybmFsLWxpbmstYW5jaG9yczIuaHRtbAorYWNjZXNzaWJp
bGl0eS9sYW5ndWFnZS1hdHRyaWJ1dGUuaHRtbAorYWNjZXNzaWJpbGl0eS9sZWdlbmQuaHRtbAor
YWNjZXNzaWJpbGl0eS9saXN0ZWxlbWVudHMtZGV0ZWN0aW9uLmh0bWwKK2FjY2Vzc2liaWxpdHkv
bGlzdHMuaHRtbAorYWNjZXNzaWJpbGl0eS9ub2NoaWxkcmVuLWVsZW1lbnRzLmh0bWwKK2FjY2Vz
c2liaWxpdHkvbm9uLWRhdGEtdGFibGUtY2VsbC10aXRsZS11aS1lbGVtZW50Lmh0bWwKK2FjY2Vz
c2liaWxpdHkvbm9uLW5hdGl2ZS1pbWFnZS1jcmFzaC5odG1sCithY2Nlc3NpYmlsaXR5L29uY2xp
Y2staGFuZGxlcnMuaHRtbAorYWNjZXNzaWJpbGl0eS9wYXJlbnQtZWxlbWVudC5odG1sCithY2Nl
c3NpYmlsaXR5L3BsYWNlaG9sZGVyLmh0bWwKK2FjY2Vzc2liaWxpdHkvcGx1Z2luLmh0bWwKK2Fj
Y2Vzc2liaWxpdHkvcmFkaW8tYnV0dG9uLWNoZWNrYm94LXNpemUuaHRtbAorYWNjZXNzaWJpbGl0
eS9yYWRpby1idXR0b24tZ3JvdXAtbWVtYmVycy5odG1sCithY2Nlc3NpYmlsaXR5L3JhZGlvLWJ1
dHRvbi10aXRsZS1sYWJlbC5odG1sCithY2Nlc3NpYmlsaXR5L3NlY3VyZS10ZXh0ZmllbGQtdGl0
bGUtdWkuaHRtbAorYWNjZXNzaWJpbGl0eS90YWJsZS1hdHRyaWJ1dGVzLmh0bWwKK2FjY2Vzc2li
aWxpdHkvdGFibGUtY2VsbC1zcGFucy5odG1sCithY2Nlc3NpYmlsaXR5L3RhYmxlLWNlbGxzLmh0
bWwKK2FjY2Vzc2liaWxpdHkvdGFibGUtZGV0ZWN0aW9uLmh0bWwKK2FjY2Vzc2liaWxpdHkvdGFi
bGUtbW9kaWZpY2F0aW9uLWNyYXNoLmh0bWwKK2FjY2Vzc2liaWxpdHkvdGFibGUtbm9maXJzdGJv
ZHkuaHRtbAorYWNjZXNzaWJpbGl0eS90YWJsZS1ub3Rib2R5Lmh0bWwKK2FjY2Vzc2liaWxpdHkv
dGFibGUtb25lLWNlbGwuaHRtbAorYWNjZXNzaWJpbGl0eS90YWJsZS1zZWN0aW9ucy5odG1sCith
Y2Nlc3NpYmlsaXR5L3RhYmxlLXdpdGgtYXJpYS1yb2xlLmh0bWwKK2FjY2Vzc2liaWxpdHkvdGFi
bGUtd2l0aC1ydWxlcy5odG1sCithY2Nlc3NpYmlsaXR5L3RleHRhcmVhLWluc2VydGlvbi1wb2lu
dC1saW5lLW51bWJlci5odG1sCithY2Nlc3NpYmlsaXR5L3RleHRhcmVhLWxpbmUtZm9yLWluZGV4
Lmh0bWwKK2FjY2Vzc2liaWxpdHkvdGV4dGFyZWEtc2VsZWN0ZWQtdGV4dC1yYW5nZS5odG1sCith
Y2Nlc3NpYmlsaXR5L3RoLWFzLXRpdGxlLXVpLmh0bWwKK2FjY2Vzc2liaWxpdHkvdHJhbnNmb3Jt
ZWQtZWxlbWVudC5odG1sCithY2Nlc3NpYmlsaXR5L3Zpc2libGUtZWxlbWVudHMuaHRtbAogCiAj
IE5vIHN1cHBvcnQgZm9yIHByaW50LXRvLXBkZiBpbiBXaW5kb3dzIERSVAogcHJpbnRpbmcKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9hY2Nlc3NpYmlsaXR5L2ZvY3VzLWV2
ZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vYWNjZXNzaWJpbGl0
eS9mb2N1cy1ldmVudHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLjVkM2U4NjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW4vYWNjZXNzaWJpbGl0eS9mb2N1cy1ldmVudHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBA
QAorUmVjZWl2ZWQgZm9jdXMgZXZlbnQgZm9yIG9iamVjdCAnZmllbGQgMScuCitSZWNlaXZlZCBm
b2N1cyBldmVudCBmb3Igb2JqZWN0ICdmaWVsZCAyJy4KK1JlY2VpdmVkIGZvY3VzIGV2ZW50IGZv
ciBvYmplY3QgJ2ZpZWxkIDMnLgorVGhpcyB0ZXN0cyB0aGF0IHdlIGJyb2FkY2FzdCBmb2N1cyBl
dmVudHMgd2hlbiB0aGUgZm9jdXNlZCBlbGVtZW50IGNoYW5nZXMuCisKKworICAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9hY2Nlc3NpYmlsaXR5L2ZvY3VzLWV2ZW50cy5o
dG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2FjY2Vzc2liaWxpdHkvZm9jdXMtZXZlbnRz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzgzNWYxNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9hY2Nlc3NpYmlsaXR5L2ZvY3Vz
LWV2ZW50cy5odG1sCkBAIC0wLDAgKzEsMjcgQEAKKzxodG1sPgorPGJvZHkgaWQ9ImJvZHkiPgor
Cis8cD5UaGlzIHRlc3RzIHRoYXQgd2UgYnJvYWRjYXN0IGZvY3VzIGV2ZW50cyB3aGVuIHRoZSBm
b2N1c2VkIGVsZW1lbnQgY2hhbmdlcy48L3A+CisKKzxwIGlkPSJub3REUlQiIHN0eWxlPSJ2aXNp
YmlsaXR5OiBoaWRkZW47Ij5UaGlzIHRlc3Qgc2hvdWxkIG9ubHkgYmUgcnVuIGluc2lkZSBvZiBE
dW1wUmVuZGVyVHJlZS48L3A+CisKKzxpbnB1dCBpZD0iaTEiIHRpdGxlPSJmaWVsZCAxIj4KKzxp
bnB1dCBpZD0iaTIiIHRpdGxlPSJmaWVsZCAyIj4KKzxpbnB1dCBpZD0iaTMiIHRpdGxlPSJmaWVs
ZCAzIj4KKworPHNjcmlwdD4KKyAgICBpZiAoIXdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
KyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdERSVCIpLnN0eWxlLnZpc2liaWxp
dHkgPSAidmlzaWJsZSI7CisKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7
CisKKyAgICBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5sb2dGb2N1c0V2ZW50cygpOworCisgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImkxIikuZm9jdXMoKTsKKworICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJpMiIpLmZvY3VzKCk7CisKKyAgICBldmVudFNlbmRlci5rZXlEb3duKCJc
dCIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKaW5kZXggYmIxY2MxZC4uNWY0MGE3
YyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdFRvb2xzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDA5LTA4LTE0ICBKb24gSG9uZXljdXR0ICA8amhv
bmV5Y3V0dEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgbWVjaGFuaXNtIGZvciBsb2dnaW5n
IE1TQUEgZm9jdXMgZXZlbnRzLgorCisgICAgICAgIFBhcnQgb2YgPHJkYXI6Ly9wcm9ibGVtLzYy
MTg3MjE+IE5vIE1TQUEgZm9jdXMgZXZlbnRzIGZpcmVkIGZvciBXZWJraXQKKyAgICAgICAgbmln
aHRseSAoMjA4NjYpCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwODY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5jcHA6CisgICAg
ICAgIChsb2dGb2N1c0V2ZW50c0NhbGxiYWNrKToKKyAgICAgICAgQ2FsbCB0aGUgQWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXIncyBsb2dGb2N1c0V2ZW50cygpIGZ1bmN0aW9uLgorICAgICAgICAoQWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmdldEpTQ2xhc3MpOgorICAgICAgICBBZGQgYSAibG9nRm9j
dXNFdmVudHMiIGZ1bmN0aW9uIHRvIHRoZSBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcidzIEpTCisg
ICAgICAgIGNsYXNzIGRlZmluaXRpb24uCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9BY2Nl
c3NpYmlsaXR5Q29udHJvbGxlci5oOgorICAgICAgICBPbiBXaW5kb3dzLCBpbmNsdWRlIHdpbmRv
d3MuaCwgYW5kIGFkZCBhIG1lbWJlciB2YXJpYWJsZSB0byBob2xkIHRoZQorICAgICAgICBoYW5k
bGUgdG8gdGhlIGV2ZW50IGhvb2sgZm9yIGZvY3VzIGV2ZW50cy4gQWRkIGEgZGVjbGFyYXRpb24g
Zm9yIGEKKyAgICAgICAgZnVuY3Rpb24gdGhhdCBlbmFibGVzIGxvZ2dpbmcgb2YgZm9jdXMgZXZl
bnRzLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZ3RrL0FjY2Vzc2liaWxpdHlDb250cm9s
bGVyR3RrLmNwcDoKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpsb2dGb2N1c0V2
ZW50cyk6CisgICAgICAgIFN0dWJiZWQuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMv
QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJNYWMubW06CisgICAgICAgIChBY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlcjo6bG9nRm9jdXNFdmVudHMpOgorICAgICAgICBTdHViYmVkLgorCisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvd2luL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyV2luLmNwcDoKKyAgICAg
ICAgKEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcik6Cisg
ICAgICAgIChBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6fkFjY2Vzc2liaWxpdHlDb250cm9sbGVy
KToKKyAgICAgICAgSWYgd2UgaG9va2VkIHRoZSBmb2N1cyBldmVudCwgdW5ob29rIGl0LgorICAg
ICAgICAobG9nRm9jdXNFdmVudFByb2MpOgorICAgICAgICBXaGVuIHdlIHJlY2VpdmUgYSBmb2N1
cyBldmVudCwgZ2V0IHRoZSBhY2Nlc3NpYmxlIG9iamVjdCBmb3IgdGhlIGV2ZW50LAorICAgICAg
ICBhbmQgbG9nIGl0cyBuYW1lIHRvIHN0ZG91dC4KKyAgICAgICAgKEFjY2Vzc2liaWxpdHlDb250
cm9sbGVyOjpsb2dGb2N1c0V2ZW50cyk6CisgICAgICAgIFNldHVwIHRoZSBmb2N1cyBldmVudCBo
b29rIHRvIGxpc3RlbiBmb3IgZXZlbnRzIGluIHRoZSBjdXJyZW50IHByb2Nlc3MuCisKIDIwMDkt
MDgtMTQgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCiAgICAgICAgIE5vIHJldmll
dy4gIEZpeCA1LXNwYWNlIGluZGVudCB0byBiZSA0LXNwYWNlcy4KZGlmZiAtLWdpdCBhL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmNwcCBiL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmNwcAppbmRleCA2
NTU2ZjkxLi4wYTRjMGU4IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9B
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlci5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuY3BwCkBAIC01Miw4ICs1MiwyMCBAQCB2b2lkIEFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyOjptYWtlV2luZG93T2JqZWN0KEpTQ29udGV4dFJlZiBjb250
ZXh0LCBKU09iamVjdFJlZgogICAgIEpTT2JqZWN0U2V0UHJvcGVydHkoY29udGV4dCwgd2luZG93
T2JqZWN0LCBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlclN0ci5nZXQoKSwgYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXJPYmplY3QsIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0
eUF0dHJpYnV0ZURvbnREZWxldGUsIGV4Y2VwdGlvbik7CiB9CiAKK3N0YXRpYyBKU1ZhbHVlUmVm
IGxvZ0ZvY3VzRXZlbnRzQ2FsbGJhY2soSlNDb250ZXh0UmVmIGN0eCwgSlNPYmplY3RSZWYsIEpT
T2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCwgY29uc3QgSlNWYWx1ZVJlZltdLCBKU1ZhbHVl
UmVmKikKK3sKKyAgICBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlciogY29udHJvbGxlciA9IHN0YXRp
Y19jYXN0PEFjY2Vzc2liaWxpdHlDb250cm9sbGVyKj4oSlNPYmplY3RHZXRQcml2YXRlKHRoaXNP
YmplY3QpKTsKKyAgICBjb250cm9sbGVyLT5sb2dGb2N1c0V2ZW50cygpOworICAgIHJldHVybiBK
U1ZhbHVlTWFrZVVuZGVmaW5lZChjdHgpOworfQorCiBKU0NsYXNzUmVmIEFjY2Vzc2liaWxpdHlD
b250cm9sbGVyOjpnZXRKU0NsYXNzKCkKIHsKKyAgICBzdGF0aWMgSlNTdGF0aWNGdW5jdGlvbiBz
dGF0aWNGdW5jdGlvbnNbXSA9IHsKKyAgICAgICAgeyAibG9nRm9jdXNFdmVudHMiLCBsb2dGb2N1
c0V2ZW50c0NhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVy
dHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCisgICAgICAgIHsgMCwgMCwgMCB9CisgICAgfTsKKwog
ICAgIHN0YXRpYyBKU1N0YXRpY1ZhbHVlIHN0YXRpY1ZhbHVlc1tdID0gewogICAgICAgICB7ICJm
b2N1c2VkRWxlbWVudCIsIGdldEZvY3VzZWRFbGVtZW50Q2FsbGJhY2ssIDAsIGtKU1Byb3BlcnR5
QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAg
ICAgICAgeyAicm9vdEVsZW1lbnQiLCBnZXRSb290RWxlbWVudENhbGxiYWNrLCAwLCBrSlNQcm9w
ZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0s
CkBAIC02MSw3ICs3Myw3IEBAIEpTQ2xhc3NSZWYgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6Omdl
dEpTQ2xhc3MoKQogICAgIH07CiAKICAgICBzdGF0aWMgSlNDbGFzc0RlZmluaXRpb24gY2xhc3NE
ZWZpbml0aW9uID0gewotICAgICAgICAwLCBrSlNDbGFzc0F0dHJpYnV0ZU5vbmUsICJBY2Nlc3Np
YmlsaXR5Q29udHJvbGxlciIsIDAsIHN0YXRpY1ZhbHVlcywgMCwKKyAgICAgICAgMCwga0pTQ2xh
c3NBdHRyaWJ1dGVOb25lLCAiQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIiLCAwLCBzdGF0aWNWYWx1
ZXMsIHN0YXRpY0Z1bmN0aW9ucywKICAgICAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMAogICAgIH07CiAKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0Fj
Y2Vzc2liaWxpdHlDb250cm9sbGVyLmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9BY2Nl
c3NpYmlsaXR5Q29udHJvbGxlci5oCmluZGV4IDBhZjY2MTMuLmE3YmE0YWMgMTAwNjQ0Ci0tLSBh
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmgKKysr
IGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuaApA
QCAtMjcsNiArMjcsOSBAQAogI2RlZmluZSBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcl9oCiAKICNp
bmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU09iamVjdFJlZi5oPgorI2lmIFBMQVRGT1JNKFdJTikK
KyNpbmNsdWRlIDx3aW5kb3dzLmg+CisjZW5kaWYKIAogY2xhc3MgQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDsKIApAQCAtNDEsOCArNDQsMTQgQEAgcHVibGljOgogICAgIEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQgcm9vdEVsZW1lbnQoKTsKICAgICBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50IGZvY3VzZWRF
bGVtZW50KCk7CiAKKyAgICB2b2lkIGxvZ0ZvY3VzRXZlbnRzKCk7CisKIHByaXZhdGU6CiAgICAg
c3RhdGljIEpTQ2xhc3NSZWYgZ2V0SlNDbGFzcygpOworCisjaWYgUExBVEZPUk0oV0lOKQorICAg
IEhXSU5FVkVOVEhPT0sgbV9mb2N1c0V2ZW50SG9vazsKKyNlbmRpZgogfTsKIAogI2VuZGlmIC8v
IEFjY2Vzc2liaWxpdHlDb250cm9sbGVyX2gKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL2d0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckd0ay5jcHAgYi9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9ndGsvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJHdGsuY3BwCmluZGV4
IGFiOTJlMWQuLjhiMWVlYzAgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L2d0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckd0ay5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvZ3RrL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyR3RrLmNwcApAQCAtNjEsMyAr
NjEsNyBAQCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50IEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpy
b290RWxlbWVudCgpCiAgICAgQXRrT2JqZWN0KiBheE9iamVjdCA9IGd0a193aWRnZXRfZ2V0X2Fj
Y2Vzc2libGUoR1RLX1dJREdFVCh2aWV3KSk7CiAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQoYXhPYmplY3QpOwogfQorCit2b2lkIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpsb2dG
b2N1c0V2ZW50cygpCit7Cit9CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9tYWMvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJNYWMubW0gYi9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJNYWMubW0KaW5kZXggYTE5MTQ5NS4u
NGIxNGQ3NSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0FjY2Vz
c2liaWxpdHlDb250cm9sbGVyTWFjLm1tCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L21hYy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlck1hYy5tbQpAQCAtNTMsMyArNTMsNyBAQCBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50IEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpyb290RWxlbWVudCgp
CiAgICAgaWQgYWNjZXNzaWJpbGl0eU9iamVjdCA9IFtbbWFpbkZyYW1lIGZyYW1lVmlld10gZG9j
dW1lbnRWaWV3XTsKICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudChhY2Nlc3NpYmls
aXR5T2JqZWN0KTsKIH0KKwordm9pZCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6bG9nRm9jdXNF
dmVudHMoKQoreworfQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2lu
L0FjY2Vzc2liaWxpdHlDb250cm9sbGVyV2luLmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL3dpbi9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlcldpbi5jcHAKaW5kZXggYjZlNDVmMi4uMjRi
NDY1OSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0FjY2Vzc2li
aWxpdHlDb250cm9sbGVyV2luLmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93
aW4vQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJXaW4uY3BwCkBAIC0zMiwxMyArMzIsMTkgQEAKICNp
bmNsdWRlIDxXZWJDb3JlL0NPTVB0ci5oPgogI2luY2x1ZGUgPFdlYktpdC9XZWJLaXQuaD4KICNp
bmNsdWRlIDxvbGVhY2MuaD4KKyNpbmNsdWRlIDxzdHJpbmc+CisKK3VzaW5nIG5hbWVzcGFjZSBz
dGQ7CiAKIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcigp
CisgICAgOiBtX2ZvY3VzRXZlbnRIb29rKDApCiB7CiB9CiAKIEFjY2Vzc2liaWxpdHlDb250cm9s
bGVyOjp+QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIoKQogeworICAgIGlmIChtX2ZvY3VzRXZlbnRI
b29rKQorICAgICAgICBVbmhvb2tXaW5FdmVudChtX2ZvY3VzRXZlbnRIb29rKTsKIH0KIAogQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6Zm9jdXNlZEVsZW1l
bnQoKQpAQCAtODIsMyArODgsMzkgQEAgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCBBY2Nlc3NpYmls
aXR5Q29udHJvbGxlcjo6cm9vdEVsZW1lbnQoKQogCiAgICAgcmV0dXJuIHJvb3RBY2Nlc3NpYmxl
OwogfQorCitzdGF0aWMgdm9pZCBDQUxMQkFDSyBsb2dGb2N1c0V2ZW50UHJvYyhIV0lORVZFTlRI
T09LIGhXaW5FdmVudEhvb2ssIERXT1JEIGV2ZW50LCBIV05EIGh3bmQsIExPTkcgaWRPYmplY3Qs
IExPTkcgaWRDaGlsZCwgRFdPUkQsIERXT1JEKQoreworICAgIEFTU0VSVF9BUkcoZXZlbnQsIGV2
ZW50ID09IEVWRU5UX09CSkVDVF9GT0NVUyk7CisKKyAgICAvLyBHZXQgdGhlIGFjY2Vzc2libGUg
b2JqZWN0IGZvciB0aGlzIGV2ZW50LgorICAgIENPTVB0cjxJQWNjZXNzaWJsZT4gcGFyZW50T2Jq
ZWN0OworCisgICAgVkFSSUFOVCB2Q2hpbGQ7CisgICAgVmFyaWFudEluaXQoJnZDaGlsZCk7CisK
KyAgICBIUkVTVUxUIGhyID0gQWNjZXNzaWJsZU9iamVjdEZyb21FdmVudChod25kLCBpZE9iamVj
dCwgaWRDaGlsZCwgJnBhcmVudE9iamVjdCwgJnZDaGlsZCk7CisgICAgQVNTRVJUKFNVQ0NFRURF
RChocikpOworCisgICAgLy8gR2V0IHRoZSBuYW1lIG9mIHRoZSBmb2N1c2VkIGVsZW1lbnQsIGFu
ZCBsb2cgaXQgdG8gc3Rkb3V0LgorICAgIEJTVFIgbmFtZUJTVFI7CisgICAgaHIgPSBwYXJlbnRP
YmplY3QtPmdldF9hY2NOYW1lKHZDaGlsZCwgJm5hbWVCU1RSKTsKKyAgICBBU1NFUlQoU1VDQ0VF
REVEKGhyKSk7CisgICAgd3N0cmluZyBuYW1lKG5hbWVCU1RSLCA6OlN5c1N0cmluZ0xlbihuYW1l
QlNUUikpOworICAgIFN5c0ZyZWVTdHJpbmcobmFtZUJTVFIpOworCisgICAgcHJpbnRmKCJSZWNl
aXZlZCBmb2N1cyBldmVudCBmb3Igb2JqZWN0ICclUycuXG4iLCBuYW1lLmNfc3RyKCkpOworfQor
Cit2b2lkIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpsb2dGb2N1c0V2ZW50cygpCit7CisgICAg
QVNTRVJUKCFtX2ZvY3VzRXZlbnRIb29rKTsKKworICAgIC8vIEVuc3VyZSB0aGF0IGFjY2Vzc2li
aWxpdHkgaXMgaW5pdGlhbGl6ZWQgZm9yIHRoZSBXZWJWaWV3IGJ5IHF1ZXJ5aW5nIGZvcgorICAg
IC8vIHRoZSByb290IGFjY2Vzc2libGUgb2JqZWN0LgorICAgIHJvb3RFbGVtZW50KCk7CisKKyAg
ICBtX2ZvY3VzRXZlbnRIb29rID0gU2V0V2luRXZlbnRIb29rKEVWRU5UX09CSkVDVF9GT0NVUywg
RVZFTlRfT0JKRUNUX0ZPQ1VTLCBHZXRNb2R1bGVIYW5kbGUoMCksIGxvZ0ZvY3VzRXZlbnRQcm9j
LCBHZXRDdXJyZW50UHJvY2Vzc0lkKCksIDAsIFdJTkVWRU5UX0lOQ09OVEVYVCk7CisKKyAgICBB
U1NFUlQobV9mb2N1c0V2ZW50SG9vayk7Cit9Ci0tIAoxLjYuNC5yYzAuMTcuZ2Q5ZWIwCgo=
</data>
<flag name="review"
          id="19082"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>