<?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>47635</bug_id>
          
          <creation_ts>2010-10-13 16:27:54 -0700</creation_ts>
          <short_desc>Add a FindIndicator class</short_desc>
          <delta_ts>2010-10-15 10:27:54 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>293803</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-10-13 16:27:54 -0700</bug_when>
    <thetext>Add a FindIndicator class</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293831</commentid>
    <comment_count>1</comment_count>
      <attachid>70687</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-10-13 17:14:11 -0700</bug_when>
    <thetext>Created attachment 70687
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293835</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-13 17:16:57 -0700</bug_when>
    <thetext>Attachment 70687 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKit2/UIProcess/FindIndicator.cpp:26:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/UIProcess/FindIndicator.h:36:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 2 in 19 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>294805</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-10-15 10:27:54 -0700</bug_when>
    <thetext>Committed r69862: &lt;http://trac.webkit.org/changeset/69862&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70687</attachid>
            <date>2010-10-13 17:14:11 -0700</date>
            <delta_ts>2010-10-13 17:15:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47635-20101013171410.patch</filename>
            <type>text/plain</type>
            <size>29052</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXgg
NzNjNzJhYjc2YTMyNTRhZWRjODc5MWFmMWNlODgyYzZhY2U0NmY0My4uNjRkMGI4ZmEyYTVlNjdi
MjU4YmMyNDk4MjcxOWY4NGI0ZDA4NWE1MyAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsNSArMSw1MSBAQAogMjAxMC0xMC0xMyAgQW5k
ZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIEZpbmRJbmRpY2F0b3IgY2xhc3MKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3NjM1CisKKyAg
ICAgICAgKiBTaGFyZWQvQmFja2luZ1N0b3JlLmg6CisgICAgICAgIChXZWJLaXQ6OkJhY2tpbmdT
dG9yZTo6Ym91bmRzKToKKyAgICAgICAgTmV3IGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUgYm91
bmRzIG9mIHRoZSBiYWNraW5nIHN0b3JlLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9tYWMv
UGFnZUNsaWVudEltcGwubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpzZXRG
aW5kSW5kaWNhdG9yKToKKyAgICAgICAgQWRkIHN0dWIuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL3F0L3F3a3BhZ2UuY3BwOgorICAgICAgICAoUVdLUGFnZVByaXZhdGU6OnNldEZpbmRJbmRp
Y2F0b3IpOgorICAgICAgICBBZGQgc3R1Yi4KKworICAgICAgICAqIFVJUHJvY2Vzcy9GaW5kSW5k
aWNhdG9yLmNwcDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL0ZpbmRJbmRpY2F0b3IuaDoK
KworICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6CisgICAgICAgIEFkZCBzZXRGaW5k
SW5kaWNhdG9yIGNsaWVudCBtZW1iZXIgZnVuY3Rpb24uCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpzZXRGaW5k
SW5kaWNhdG9yKToKKyAgICAgICAgQ2FsbCBQYWdlQ2xpZW50OjpzZXRGaW5kSW5kaWNhdG9yLgor
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAg
QWRkIGEgZmFkZU91dCBib29sZWFuIHRvIHRoZSBtZXNzYWdlLgorCisgICAgICAgICogVUlQcm9j
ZXNzL3dpbi9XZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6c2V0RmluZElu
ZGljYXRvcik6CisgICAgICAgIEFkZCBzdHViLgorCisgICAgICAgICogVUlQcm9jZXNzL3dpbi9X
ZWJWaWV3Lmg6CisgICAgICAgICogV2ViS2l0Mi5wcm86CisgICAgICAgICogV2ViS2l0Mi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9GaW5k
Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OkZpbmRDb250cm9sbGVyOjpmaW5kU3Ry
aW5nKToKKyAgICAgICAgKFdlYktpdDo6RmluZENvbnRyb2xsZXI6OnVwZGF0ZUZpbmRJbmRpY2F0
b3IpOgorICAgICAgICAoV2ViS2l0OjpGaW5kQ29udHJvbGxlcjo6cmVzZXRGaW5kSW5kaWNhdG9y
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuaDoKKyAgICAg
ICAgKiB3aW4vV2ViS2l0Mi52Y3Byb2o6CisKKzIwMTAtMTAtMTMgIEFuZGVycyBDYXJsc3NvbiAg
PGFuZGVyc2NhQGFwcGxlLmNvbT4KKwogICAgICAgICBSZXZpZXdlZCBieSBKb2huIFN1bGxpdmFu
LgogCiAgICAgICAgIERyYXcgdGhlIGZpbmQgb3ZlcmxheSBob2xlcwpkaWZmIC0tZ2l0IGEvV2Vi
S2l0Mi9TaGFyZWQvQmFja2luZ1N0b3JlLmggYi9XZWJLaXQyL1NoYXJlZC9CYWNraW5nU3RvcmUu
aAppbmRleCA0MTRkZTEzM2NjZTNmZjBjY2NlMTlmOTFhNjhkMjBkZjNjM2FkOTIxLi5iZjAwNTE5
ZDYzMjcwMWU3YmJmNTNjZDJkMjkyY2U4MzdhNDAxOTkyIDEwMDY0NAotLS0gYS9XZWJLaXQyL1No
YXJlZC9CYWNraW5nU3RvcmUuaAorKysgYi9XZWJLaXQyL1NoYXJlZC9CYWNraW5nU3RvcmUuaApA
QCAtMjcsNyArMjcsNyBAQAogI2RlZmluZSBCYWNraW5nU3RvcmVfaAogCiAjaW5jbHVkZSAiU2hh
cmVkTWVtb3J5LmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9JbnRTaXplLmg+CisjaW5jbHVkZSA8V2Vi
Q29yZS9JbnRSZWN0Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3
dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CkBAIC0zNSw3ICsz
NSw2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBHcmFwaGljc0NvbnRleHQ7
Ci0gICAgY2xhc3MgSW50UmVjdDsKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC01Nyw2ICs1
Niw4IEBAIHB1YmxpYzoKICAgICB+QmFja2luZ1N0b3JlKCk7CiAKICAgICBjb25zdCBXZWJDb3Jl
OjpJbnRTaXplJiBzaXplKCkgY29uc3QgeyByZXR1cm4gbV9zaXplOyB9CisgICAgV2ViQ29yZTo6
SW50UmVjdCBib3VuZHMoKSBjb25zdCB7IHJldHVybiBXZWJDb3JlOjpJbnRSZWN0KFdlYkNvcmU6
OkludFBvaW50KCksIHNpemUoKSk7IH0KKwogICAgIGJvb2wgcmVzaXplKGNvbnN0IFdlYkNvcmU6
OkludFNpemUmIHNpemUpOwogCiAgICAgLy8gQ3JlYXRlIGEgZ3JhcGhpY3MgY29udGV4dCB0aGF0
IGNhbiBiZSB1c2VkIHRvIHBhaW50IGludG8gdGhlIGJhY2tpbmcgc3RvcmUuCmRpZmYgLS1naXQg
YS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BhZ2VDbGllbnRJbXBsLmggYi9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvbWFjL1BhZ2VDbGllbnRJbXBsLmgKaW5kZXggZjUzOWQ0NzdmMzUyNWYxZTg1
ZGI2MjAwOWY2NmYwZmM3ZTEzMjIxYy4uODIzMGIxMjY5YTQ0MzU5M2QxZDUzYThmZDcwMjQxNDlh
ZWM3YjdiMiAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9QYWdlQ2xpZW50
SW1wbC5oCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvUGFnZUNsaWVudEltcGwuaApA
QCAtNjAsNiArNjAsOCBAQCBwcml2YXRlOgogICAgIFdlYkNvcmU6OkZsb2F0UmVjdCBjb252ZXJ0
VG9EZXZpY2VTcGFjZShjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmKTsKICAgICBXZWJDb3JlOjpG
bG9hdFJlY3QgY29udmVydFRvVXNlclNwYWNlKGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYpOwog
CisgICAgdm9pZCBzZXRGaW5kSW5kaWNhdG9yKFBhc3NSZWZQdHI8RmluZEluZGljYXRvcj4sIGJv
b2wgZmFkZU91dCk7CisKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgdm9p
ZCBwYWdlRGlkRW50ZXJBY2NlbGVyYXRlZENvbXBvc2l0aW5nKCk7CiAgICAgdm9pZCBwYWdlRGlk
TGVhdmVBY2NlbGVyYXRlZENvbXBvc2l0aW5nKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvbWFjL1BhZ2VDbGllbnRJbXBsLm1tIGIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21h
Yy9QYWdlQ2xpZW50SW1wbC5tbQppbmRleCBhNTIyYzNkZWZlOGY3ODlkNjRmMmVhOTVkODA2ZWQx
NTUyOTU3NWQzLi45ZTY1YzM5ZjhiMzQyYTRkMmQxODhlNWUxYjc4NGM3ZTE0MDg5ZWYzIDEwMDY0
NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCisrKyBi
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvUGFnZUNsaWVudEltcGwubW0KQEAgLTIyMSw2ICsy
MjEsMTEgQEAgRmxvYXRSZWN0IFBhZ2VDbGllbnRJbXBsOjpjb252ZXJ0VG9Vc2VyU3BhY2UoY29u
c3QgRmxvYXRSZWN0JiByZWN0KQogICAgIHJldHVybiBbbV93a1ZpZXcgX2NvbnZlcnRUb1VzZXJT
cGFjZTpyZWN0XTsKIH0KIAordm9pZCBQYWdlQ2xpZW50SW1wbDo6c2V0RmluZEluZGljYXRvcihQ
YXNzUmVmUHRyPEZpbmRJbmRpY2F0b3I+LCBib29sIGZhZGVPdXQpCit7CisgICAgLy8gRklYTUU6
IEltcGxlbWVudC4KK30KKwogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKIHZvaWQg
UGFnZUNsaWVudEltcGw6OnBhZ2VEaWRFbnRlckFjY2VsZXJhdGVkQ29tcG9zaXRpbmcoKQogewpk
aWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3a3BhZ2UuY3BwIGIvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3F3a3BhZ2UuY3BwCmluZGV4IDRjNTE5NjY3MDBhMmU5NDE5MjI5
YzQyYzMxNjg0Zjc4NWZhZGIyM2MuLjhhMmE5NTA0OTUyNzhhMzUyMmY5NjdlYzgxZjgwOTFlMzQ4
NWU4ZDMgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2twYWdlLmNwcAor
KysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdrcGFnZS5jcHAKQEAgLTEwOCw2ICsxMDgs
MTAgQEAgRmxvYXRSZWN0IFFXS1BhZ2VQcml2YXRlOjpjb252ZXJ0VG9Vc2VyU3BhY2UoY29uc3Qg
RmxvYXRSZWN0JiByZWN0KQogICAgIHJldHVybiByZWN0OwogfQogCit2b2lkIFFXS1BhZ2VQcml2
YXRlOjpzZXRGaW5kSW5kaWNhdG9yKFBhc3NSZWZQdHI8RmluZEluZGljYXRvcj4sIGJvb2wgZmFk
ZU91dCkKK3sKK30KKwogdm9pZCBRV0tQYWdlUHJpdmF0ZTo6cGFpbnQoUVBhaW50ZXIqIHBhaW50
ZXIsIFFSZWN0IGFyZWEpCiB7CiAgICAgcGFpbnRlci0+c2F2ZSgpOwpkaWZmIC0tZ2l0IGEvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3a3BhZ2VfcC5oIGIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L3F0L3F3a3BhZ2VfcC5oCmluZGV4IDQyOTkwNTIyMTZiODZkNDNhOTA4OThmMWJkZThjYWI5ZjA3
MTI2NTkuLmNhYWU4M2M3NmViNDRiOTUxZTA5YzRjZDMxZDFmZWFlMzlhNzg5ODAgMTAwNjQ0Ci0t
LSBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2twYWdlX3AuaAorKysgYi9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvcXdrcGFnZV9wLmgKQEAgLTU5LDYgKzU5LDggQEAgcHVibGljOgogICAg
IHZpcnR1YWwgV2ViQ29yZTo6RmxvYXRSZWN0IGNvbnZlcnRUb0RldmljZVNwYWNlKGNvbnN0IFdl
YkNvcmU6OkZsb2F0UmVjdCYpOwogICAgIHZpcnR1YWwgV2ViQ29yZTo6RmxvYXRSZWN0IGNvbnZl
cnRUb1VzZXJTcGFjZShjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmKTsKIAorICAgIHZpcnR1YWwg
dm9pZCBzZXRGaW5kSW5kaWNhdG9yKFBhc3NSZWZQdHI8V2ViS2l0OjpGaW5kSW5kaWNhdG9yPiwg
Ym9vbCBmYWRlT3V0KTsKKwogICAgIHZvaWQgcGFpbnQoUVBhaW50ZXIqIHBhaW50ZXIsIFFSZWN0
KTsKIAogICAgIHZvaWQga2V5UHJlc3NFdmVudChRS2V5RXZlbnQqKTsKZGlmZiAtLWdpdCBhL1dl
YktpdDIvVUlQcm9jZXNzL0ZpbmRJbmRpY2F0b3IuY3BwIGIvV2ViS2l0Mi9VSVByb2Nlc3MvRmlu
ZEluZGljYXRvci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTJmNDhjYjAwOTY3M2JlZDczODE5NjEzOGQwZjNh
NzhhMzFjM2VmNAotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL0ZpbmRJbmRp
Y2F0b3IuY3BwCkBAIC0wLDAgKzEsMTc1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgIkZpbmRJ
bmRpY2F0b3IuaCIKKworI2luY2x1ZGUgIkJhY2tpbmdTdG9yZS5oIgorI2luY2x1ZGUgPFdlYkNv
cmUvR3JhZGllbnQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dC5oPgorI2lu
Y2x1ZGUgPFdlYkNvcmUvSW50UmVjdC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGF0aC5oPgorCit1
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworc3RhdGljIGNvbnN0IGZsb2F0IGNvcm5lclJhZGl1
cyA9IDMuMDsKKworc3RhdGljIGNvbnN0IGZsb2F0IHNoYWRvd09mZnNldFggPSAwLjA7CitzdGF0
aWMgY29uc3QgZmxvYXQgc2hhZG93T2Zmc2V0WSA9IDEuMDsKK3N0YXRpYyBjb25zdCBmbG9hdCBz
aGFkb3dCbHVyUmFkaXVzID0gMy4wOworCitzdGF0aWMgY29uc3QgaW50IHNoYWRvd1JlZCA9IDA7
CitzdGF0aWMgY29uc3QgaW50IHNoYWRvd0dyZWVuID0gMDsKK3N0YXRpYyBjb25zdCBpbnQgc2hh
ZG93Qmx1ZSA9IDA7CitzdGF0aWMgY29uc3QgaW50IHNoYWRvd0FscGhhID0gMjA0OworCitzdGF0
aWMgY29uc3QgZmxvYXQgbGlnaHRCb3JkZXJUaGlja25lc3MgPSAxLjA7CitzdGF0aWMgY29uc3Qg
ZmxvYXQgaG9yaXpvbnRhbFBhZGRpbmdJbnNpZGVMaWdodEJvcmRlciA9IDMuMDsKK3N0YXRpYyBj
b25zdCBmbG9hdCB2ZXJ0aWNhbFBhZGRpbmdJbnNpZGVMaWdodEJvcmRlciA9IDEuMDsKKworc3Rh
dGljIGNvbnN0IGZsb2F0IGhvcml6b250YWxCb3JkZXJJbnNpZGVTaGFkb3cgPSBsaWdodEJvcmRl
clRoaWNrbmVzcyArIGhvcml6b250YWxQYWRkaW5nSW5zaWRlTGlnaHRCb3JkZXI7CitzdGF0aWMg
Y29uc3QgZmxvYXQgdmVydGljYWxCb3JkZXJJbnNpZGVTaGFkb3cgPSBsaWdodEJvcmRlclRoaWNr
bmVzcyArIHZlcnRpY2FsUGFkZGluZ0luc2lkZUxpZ2h0Qm9yZGVyOworCitzdGF0aWMgY29uc3Qg
ZmxvYXQgbGVmdEJvcmRlclRoaWNrbmVzcyA9IGhvcml6b250YWxCb3JkZXJJbnNpZGVTaGFkb3cg
KyBzaGFkb3dPZmZzZXRYICsgc2hhZG93Qmx1clJhZGl1cyAvIDIuMDsKK3N0YXRpYyBjb25zdCBm
bG9hdCB0b3BCb3JkZXJUaGlja25lc3MgPSB2ZXJ0aWNhbEJvcmRlckluc2lkZVNoYWRvdyAtIHNo
YWRvd09mZnNldFkgKyBzaGFkb3dCbHVyUmFkaXVzIC8gMi4wOworc3RhdGljIGNvbnN0IGZsb2F0
IHJpZ2h0Qm9yZGVyVGhpY2tuZXNzID0gaG9yaXpvbnRhbEJvcmRlckluc2lkZVNoYWRvdyAtIHNo
YWRvd09mZnNldFggKyBzaGFkb3dCbHVyUmFkaXVzIC8gMi4wOworc3RhdGljIGNvbnN0IGZsb2F0
IGJvdHRvbUJvcmRlclRoaWNrbmVzcyA9IHZlcnRpY2FsQm9yZGVySW5zaWRlU2hhZG93ICsgc2hh
ZG93T2Zmc2V0WSArIHNoYWRvd0JsdXJSYWRpdXMgLyAyLjA7CisKK3N0YXRpYyBjb25zdCBmbG9h
dCBob3Jpem9udGFsT3V0c2V0VG9DZW50ZXJPZkxpZ2h0Qm9yZGVyID0gaG9yaXpvbnRhbEJvcmRl
ckluc2lkZVNoYWRvdyAtIGxpZ2h0Qm9yZGVyVGhpY2tuZXNzIC8gMi4wOworc3RhdGljIGNvbnN0
IGZsb2F0IHZlcnRpY2FsT3V0c2V0VG9DZW50ZXJPZkxpZ2h0Qm9yZGVyID0gdmVydGljYWxCb3Jk
ZXJJbnNpZGVTaGFkb3cgLSBsaWdodEJvcmRlclRoaWNrbmVzcyAvIDIuMDsKKworc3RhdGljIGNv
bnN0IGludCBsaWdodEJvcmRlclJlZCA9IDI0NTsKK3N0YXRpYyBjb25zdCBpbnQgbGlnaHRCb3Jk
ZXJHcmVlbiA9IDIzMDsKK3N0YXRpYyBjb25zdCBpbnQgbGlnaHRCb3JkZXJCbHVlID0gMDsKK3N0
YXRpYyBjb25zdCBpbnQgbGlnaHRCb3JkZXJBbHBoYSA9IDI1NTsKKworc3RhdGljIGNvbnN0IGlu
dCBncmFkaWVudERhcmtSZWQgPSAyMzc7CitzdGF0aWMgY29uc3QgaW50IGdyYWRpZW50RGFya0dy
ZWVuID0gMjA0Oworc3RhdGljIGNvbnN0IGludCBncmFkaWVudERhcmtCbHVlID0gMDsKK3N0YXRp
YyBjb25zdCBpbnQgZ3JhZGllbnREYXJrQWxwaGEgPSAyNTU7CisKK3N0YXRpYyBjb25zdCBpbnQg
Z3JhZGllbnRMaWdodFJlZCA9IDI0MjsKK3N0YXRpYyBjb25zdCBpbnQgZ3JhZGllbnRMaWdodEdy
ZWVuID0gMjM5Oworc3RhdGljIGNvbnN0IGludCBncmFkaWVudExpZ2h0Qmx1ZSA9IDA7CitzdGF0
aWMgY29uc3QgaW50IGdyYWRpZW50TGlnaHRBbHBoYSA9IDI1NTsKKworbmFtZXNwYWNlIFdlYktp
dCB7CisKK1Bhc3NSZWZQdHI8RmluZEluZGljYXRvcj4gRmluZEluZGljYXRvcjo6Y3JlYXRlKGNv
bnN0IEZsb2F0UmVjdCYgc2VsZWN0aW9uUmVjdCwgY29uc3QgVmVjdG9yPEZsb2F0UmVjdD4mIHRl
eHRSZWN0cywgY29uc3QgU2hhcmVkTWVtb3J5OjpIYW5kbGUmIGNvbnRlbnRJbWFnZUhhbmRsZSkK
K3sKKyAgICBSZWZQdHI8QmFja2luZ1N0b3JlPiBjb250ZW50SW1hZ2UgPSBCYWNraW5nU3RvcmU6
OmNyZWF0ZShlbmNsb3NpbmdJbnRSZWN0KHNlbGVjdGlvblJlY3QpLnNpemUoKSwgY29udGVudElt
YWdlSGFuZGxlKTsKKyAgICBpZiAoIWNvbnRlbnRJbWFnZSkKKyAgICAgICAgcmV0dXJuIDA7CisK
KyAgICByZXR1cm4gYWRvcHRSZWYobmV3IEZpbmRJbmRpY2F0b3Ioc2VsZWN0aW9uUmVjdCwgdGV4
dFJlY3RzLCBjb250ZW50SW1hZ2UucmVsZWFzZSgpKSk7Cit9CisKK0ZpbmRJbmRpY2F0b3I6OkZp
bmRJbmRpY2F0b3IoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBzZWxlY3Rpb25SZWN0LCBjb25z
dCBWZWN0b3I8V2ViQ29yZTo6RmxvYXRSZWN0PiYgdGV4dFJlY3RzLCBQYXNzUmVmUHRyPEJhY2tp
bmdTdG9yZT4gY29udGVudEltYWdlKQorICAgIDogbV9zZWxlY3Rpb25SZWN0KHNlbGVjdGlvblJl
Y3QpCisgICAgLCBtX3RleHRSZWN0cyh0ZXh0UmVjdHMpCisgICAgLCBtX2NvbnRlbnRJbWFnZShj
b250ZW50SW1hZ2UpCit7Cit9CisKK0ZpbmRJbmRpY2F0b3I6On5GaW5kSW5kaWNhdG9yKCkKK3sK
K30KKworc3RhdGljIEZsb2F0UmVjdCBpbmZsYXRlUmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3Qs
IGZsb2F0IGluZmxhdGVYLCBmbG9hdCBpbmZsYXRlWSkKK3sKKyAgICBGbG9hdFJlY3QgaW5mbGF0
ZWRSZWN0ID0gcmVjdDsKKyAgICBpbmZsYXRlZFJlY3QuaW5mbGF0ZVgoaW5mbGF0ZVgpOworICAg
IGluZmxhdGVkUmVjdC5pbmZsYXRlWShpbmZsYXRlWSk7CisgICAgCisgICAgcmV0dXJuIGluZmxh
dGVkUmVjdDsKK30KKworRmxvYXRSZWN0IEZpbmRJbmRpY2F0b3I6OmZyYW1lUmVjdCgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIEZsb2F0UmVjdChtX3NlbGVjdGlvblJlY3QueCgpIC0gbGVmdEJvcmRl
clRoaWNrbmVzcywgbV9zZWxlY3Rpb25SZWN0LnkoKSAtIHRvcEJvcmRlclRoaWNrbmVzcywKKyAg
ICAgICAgICAgICAgICAgICAgIG1fc2VsZWN0aW9uUmVjdC53aWR0aCgpICsgcmlnaHRCb3JkZXJU
aGlja25lc3MgKyBsZWZ0Qm9yZGVyVGhpY2tuZXNzLAorICAgICAgICAgICAgICAgICAgICAgbV9z
ZWxlY3Rpb25SZWN0LmhlaWdodCgpICsgdG9wQm9yZGVyVGhpY2tuZXNzICsgYm90dG9tQm9yZGVy
VGhpY2tuZXNzKTsKK30KKworc3RhdGljIENvbG9yIGxpZ2h0Qm9yZGVyQ29sb3IoKQoreworICAg
IHJldHVybiBDb2xvcihsaWdodEJvcmRlclJlZCwgbGlnaHRCb3JkZXJHcmVlbiwgbGlnaHRCb3Jk
ZXJCbHVlLCBsaWdodEJvcmRlckFscGhhKTsKK30KKworc3RhdGljIENvbG9yIHNoYWRvd0NvbG9y
KCkKK3sKKyAgICByZXR1cm4gQ29sb3Ioc2hhZG93UmVkLCBzaGFkb3dHcmVlbiwgc2hhZG93Qmx1
ZSwgc2hhZG93QWxwaGEpOworfQorCitzdGF0aWMgQ29sb3IgZ3JhZGllbnRMaWdodENvbG9yKCkK
K3sKKyAgICByZXR1cm4gQ29sb3IoZ3JhZGllbnRMaWdodFJlZCwgZ3JhZGllbnRMaWdodEdyZWVu
LCBncmFkaWVudExpZ2h0Qmx1ZSwgZ3JhZGllbnRMaWdodEFscGhhKTsKK30KKworc3RhdGljIENv
bG9yIGdyYWRpZW50RGFya0NvbG9yKCkKK3sKKyAgICByZXR1cm4gQ29sb3IoZ3JhZGllbnREYXJr
UmVkLCBncmFkaWVudERhcmtHcmVlbiwgZ3JhZGllbnREYXJrQmx1ZSwgZ3JhZGllbnREYXJrQWxw
aGEpOworfQorCitzdGF0aWMgUGF0aCBwYXRoV2l0aFJvdW5kZWRSZWN0KGNvbnN0IEZsb2F0UmVj
dCYgcGF0aFJlY3QsIGZsb2F0IHJhZGl1cykKK3sKKyAgICBQYXRoIHBhdGg7CisgICAgcGF0aC5h
ZGRSb3VuZGVkUmVjdChwYXRoUmVjdCwgRmxvYXRTaXplKHJhZGl1cywgcmFkaXVzKSk7CisKKyAg
ICByZXR1cm4gcGF0aDsKK30KKyAgICAKK3ZvaWQgRmluZEluZGljYXRvcjo6ZHJhdyhHcmFwaGlj
c0NvbnRleHQmIGdyYXBoaWNzQ29udGV4dCwgY29uc3QgSW50UmVjdCYgZGlydHlSZWN0KQorewor
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV90ZXh0UmVjdHMuc2l6ZSgpOyArK2kpIHsKKyAg
ICAgICAgRmxvYXRSZWN0IHRleHRSZWN0ID0gbV90ZXh0UmVjdHNbaV07CisgICAgICAgIHRleHRS
ZWN0Lm1vdmUobGVmdEJvcmRlclRoaWNrbmVzcywgdG9wQm9yZGVyVGhpY2tuZXNzKTsKKworICAg
ICAgICBncmFwaGljc0NvbnRleHQuc2F2ZSgpOworICAgICAgICBGbG9hdFJlY3Qgb3V0ZXJQYXRo
UmVjdCA9IGluZmxhdGVSZWN0KHRleHRSZWN0LCBob3Jpem9udGFsT3V0c2V0VG9DZW50ZXJPZkxp
Z2h0Qm9yZGVyLCB2ZXJ0aWNhbE91dHNldFRvQ2VudGVyT2ZMaWdodEJvcmRlcik7CisgICAgICAg
IGdyYXBoaWNzQ29udGV4dC5zZXRTaGFkb3coRmxvYXRTaXplKHNoYWRvd09mZnNldFgsIHNoYWRv
d09mZnNldFkpLCBzaGFkb3dCbHVyUmFkaXVzLCBzaGFkb3dDb2xvcigpLCBzUkdCQ29sb3JTcGFj
ZSk7CisgICAgICAgIGdyYXBoaWNzQ29udGV4dC5hZGRQYXRoKHBhdGhXaXRoUm91bmRlZFJlY3Qo
b3V0ZXJQYXRoUmVjdCwgY29ybmVyUmFkaXVzKSk7CisgICAgICAgIGdyYXBoaWNzQ29udGV4dC5z
ZXRGaWxsQ29sb3IobGlnaHRCb3JkZXJDb2xvcigpLCBEZXZpY2VDb2xvclNwYWNlKTsKKyAgICAg
ICAgZ3JhcGhpY3NDb250ZXh0LmZpbGxQYXRoKCk7CisgICAgICAgIGdyYXBoaWNzQ29udGV4dC5y
ZXN0b3JlKCk7CisKKyAgICAgICAgZ3JhcGhpY3NDb250ZXh0LnNhdmUoKTsKKyAgICAgICAgRmxv
YXRSZWN0IGlubmVyUGF0aFJlY3QgPSBpbmZsYXRlUmVjdCh0ZXh0UmVjdCwgaG9yaXpvbnRhbFBh
ZGRpbmdJbnNpZGVMaWdodEJvcmRlciwgdmVydGljYWxQYWRkaW5nSW5zaWRlTGlnaHRCb3JkZXIp
OworICAgICAgICBncmFwaGljc0NvbnRleHQuY2xpcChwYXRoV2l0aFJvdW5kZWRSZWN0KGlubmVy
UGF0aFJlY3QsIGNvcm5lclJhZGl1cykpOworICAgICAgICBSZWZQdHI8R3JhZGllbnQ+IGdyYWRp
ZW50ID0gR3JhZGllbnQ6OmNyZWF0ZShGbG9hdFBvaW50KGlubmVyUGF0aFJlY3QueCgpLCBpbm5l
clBhdGhSZWN0LnkoKSksIEZsb2F0UG9pbnQoaW5uZXJQYXRoUmVjdC54KCksIGlubmVyUGF0aFJl
Y3QuYm90dG9tKCkpKTsKKyAgICAgICAgZ3JhZGllbnQtPmFkZENvbG9yU3RvcCgwLCBncmFkaWVu
dExpZ2h0Q29sb3IoKSk7CisgICAgICAgIGdyYWRpZW50LT5hZGRDb2xvclN0b3AoMSwgZ3JhZGll
bnREYXJrQ29sb3IoKSk7CisgICAgICAgIGdyYXBoaWNzQ29udGV4dC5zZXRGaWxsR3JhZGllbnQo
Z3JhZGllbnQpOworICAgICAgICBncmFwaGljc0NvbnRleHQuZmlsbFJlY3Qob3V0ZXJQYXRoUmVj
dCk7CisgICAgICAgIGdyYXBoaWNzQ29udGV4dC5yZXN0b3JlKCk7CisKKyAgICAgICAgZ3JhcGhp
Y3NDb250ZXh0LnNhdmUoKTsKKyAgICAgICAgZ3JhcGhpY3NDb250ZXh0LnRyYW5zbGF0ZShGbG9h
dFNpemUocm91bmRmKGxlZnRCb3JkZXJUaGlja25lc3MpLCByb3VuZGYodG9wQm9yZGVyVGhpY2tu
ZXNzKSArIG1fY29udGVudEltYWdlLT5ib3VuZHMoKS5oZWlnaHQoKSkpOworICAgICAgICBncmFw
aGljc0NvbnRleHQuc2NhbGUoRmxvYXRTaXplKDEsIC0xKSk7CisgICAgICAgIG1fY29udGVudElt
YWdlLT5wYWludCgmZ3JhcGhpY3NDb250ZXh0LCBtX2NvbnRlbnRJbWFnZS0+Ym91bmRzKCkpOwor
ICAgICAgICBncmFwaGljc0NvbnRleHQucmVzdG9yZSgpOworICAgIH0KK30KKworfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9GaW5kSW5kaWNhdG9y
LmggYi9XZWJLaXQyL1VJUHJvY2Vzcy9GaW5kSW5kaWNhdG9yLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzIyMDE5
MzJlODI4NDFkOWI3Yjc3ZDhhOGY1ZDU5MmZhNmNjODk3NAotLS0gL2Rldi9udWxsCisrKyBiL1dl
YktpdDIvVUlQcm9jZXNzL0ZpbmRJbmRpY2F0b3IuaApAQCAtMCwwICsxLDY2IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBGaW5kSW5kaWNhdG9yX2gKKyNkZWZpbmUgRmluZEluZGljYXRvcl9oCisK
KyNpbmNsdWRlICJTaGFyZWRNZW1vcnkuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0Zsb2F0UmVjdC5o
PgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQu
aD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKyAgICBj
bGFzcyBHcmFwaGljc0NvbnRleHQ7Cit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBC
YWNraW5nU3RvcmU7CisKK2NsYXNzIEZpbmRJbmRpY2F0b3IgOiBwdWJsaWMgUmVmQ291bnRlZDxG
aW5kSW5kaWNhdG9yPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8RmluZEluZGlj
YXRvcj4gY3JlYXRlKGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgc2VsZWN0aW9uUmVjdCwgY29u
c3QgVmVjdG9yPFdlYkNvcmU6OkZsb2F0UmVjdD4mIHRleHRSZWN0cywgY29uc3QgU2hhcmVkTWVt
b3J5OjpIYW5kbGUmIGNvbnRlbnRJbWFnZUhhbmRsZSk7CisgICAgfkZpbmRJbmRpY2F0b3IoKTsK
KworICAgIFdlYkNvcmU6OkZsb2F0UmVjdCBmcmFtZVJlY3QoKSBjb25zdDsKKworICAgIGNvbnN0
IFZlY3RvcjxXZWJDb3JlOjpGbG9hdFJlY3Q+JiB0ZXh0UmVjdHMoKSBjb25zdCB7IHJldHVybiBt
X3RleHRSZWN0czsgfQorCisgICAgQmFja2luZ1N0b3JlKiBjb250ZW50SW1hZ2UoKSBjb25zdCB7
IHJldHVybiBtX2NvbnRlbnRJbWFnZS5nZXQoKTsgfQorCisgICAgdm9pZCBkcmF3KFdlYkNvcmU6
OkdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGRpcnR5UmVjdCk7CisK
K3ByaXZhdGU6CisgICAgRmluZEluZGljYXRvcihjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHNl
bGVjdGlvblJlY3QsIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpGbG9hdFJlY3Q+JiB0ZXh0UmVjdHMs
IFBhc3NSZWZQdHI8QmFja2luZ1N0b3JlPiBjb250ZW50SW1hZ2UpOworCisgICAgV2ViQ29yZTo6
RmxvYXRSZWN0IG1fc2VsZWN0aW9uUmVjdDsKKyAgICBWZWN0b3I8V2ViQ29yZTo6RmxvYXRSZWN0
PiBtX3RleHRSZWN0czsKKyAgICBSZWZQdHI8QmFja2luZ1N0b3JlPiBtX2NvbnRlbnRJbWFnZTsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRmluZEluZGljYXRvcl9o
CmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmggYi9XZWJLaXQyL1VJ
UHJvY2Vzcy9QYWdlQ2xpZW50LmgKaW5kZXggMmY1ZDNjZjg1MWFjYTE5NjE2OTRjZGZlZTI5NzYw
MThmMmFkNDJkYS4uZDkzNDA3Y2U0M2YwMjcwNmM4OTI4OWRlOTI5N2MzMDQ5MjVkYjMwYiAxMDA2
NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCisrKyBiL1dlYktpdDIvVUlQ
cm9jZXNzL1BhZ2VDbGllbnQuaApAQCAtMzYsNiArMzYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCitjbGFzcyBGaW5kSW5kaWNhdG9yOwogY2xhc3MgV2Vi
RWRpdENvbW1hbmRQcm94eTsKIAogY2xhc3MgUGFnZUNsaWVudCB7CkBAIC01OCw2ICs1OSw4IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIFdlYkNvcmU6OkZsb2F0UmVjdCBjb252ZXJ0VG9EZXZpY2VT
cGFjZShjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmKSA9IDA7CiAgICAgdmlydHVhbCBXZWJDb3Jl
OjpGbG9hdFJlY3QgY29udmVydFRvVXNlclNwYWNlKGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYp
ID0gMDsKIAorICAgIHZpcnR1YWwgdm9pZCBzZXRGaW5kSW5kaWNhdG9yKFBhc3NSZWZQdHI8Rmlu
ZEluZGljYXRvcj4sIGJvb2wgZmFkZU91dCkgPSAwOworCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NP
TVBPU0lUSU5HKQogICAgIHZpcnR1YWwgdm9pZCBwYWdlRGlkRW50ZXJBY2NlbGVyYXRlZENvbXBv
c2l0aW5nKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBwYWdlRGlkTGVhdmVBY2NlbGVyYXRlZENv
bXBvc2l0aW5nKCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcCBiL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggNTgxOWUw
OTk2MjE4ODc0MDg2NzYzYzk2NmI5M2I0MGUyZDA4NDViYS4uY2RlN2YwZTY0MTI4MGJkNTU4ZDcx
ZmJjOGIyNDJkYzk5MzBmYzc5OSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0y
Niw2ICsyNiw3IEBACiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCiAKICNpbmNsdWRlICJEcmF3
aW5nQXJlYVByb3h5LmgiCisjaW5jbHVkZSAiRmluZEluZGljYXRvci5oIgogI2luY2x1ZGUgIk1l
c3NhZ2VJRC5oIgogI2luY2x1ZGUgIk5hdGl2ZVdlYktleWJvYXJkRXZlbnQuaCIKICNpbmNsdWRl
ICJQYWdlQ2xpZW50LmgiCkBAIC05NTYsOSArOTU3LDEwIEBAIHZvaWQgV2ViUGFnZVByb3h5Ojpk
aWRDb3VudFN0cmluZ01hdGNoZXMoY29uc3QgU3RyaW5nJiBzdHJpbmcsIHVpbnQzMl90IG51bU1h
dGNoCiAgICAgbV9maW5kQ2xpZW50LmRpZENvdW50U3RyaW5nTWF0Y2hlcyh0aGlzLCBzdHJpbmcs
IG51bU1hdGNoZXMpOwogfQogCi12b2lkIFdlYlBhZ2VQcm94eTo6c2V0RmluZEluZGljYXRvcihj
b25zdCBGbG9hdFJlY3QmIHNlbGVjdGlvblJlY3QsIGNvbnN0IFZlY3RvcjxGbG9hdFJlY3Q+JiB0
ZXh0UmVjdHMsIGNvbnN0IFNoYXJlZE1lbW9yeTo6SGFuZGxlJiBjb250ZW50SW1hZ2VIYW5kbGUp
Cit2b2lkIFdlYlBhZ2VQcm94eTo6c2V0RmluZEluZGljYXRvcihjb25zdCBGbG9hdFJlY3QmIHNl
bGVjdGlvblJlY3QsIGNvbnN0IFZlY3RvcjxGbG9hdFJlY3Q+JiB0ZXh0UmVjdHMsIGNvbnN0IFNo
YXJlZE1lbW9yeTo6SGFuZGxlJiBjb250ZW50SW1hZ2VIYW5kbGUsIGJvb2wgZmFkZU91dCkKIHsK
LSAgICAvLyBGSVhNRTogSW1wbGVtZW50LgorICAgIFJlZlB0cjxGaW5kSW5kaWNhdG9yPiBmaW5k
SW5kaWNhdG9yID0gRmluZEluZGljYXRvcjo6Y3JlYXRlKHNlbGVjdGlvblJlY3QsIHRleHRSZWN0
cywgY29udGVudEltYWdlSGFuZGxlKTsKKyAgICBtX3BhZ2VDbGllbnQtPnNldEZpbmRJbmRpY2F0
b3IoZmluZEluZGljYXRvci5yZWxlYXNlKCksIGZhZGVPdXQpOwogfQogCiB2b2lkIFdlYlBhZ2VQ
cm94eTo6cmVnaXN0ZXJFZGl0Q29tbWFuZChQYXNzUmVmUHRyPFdlYkVkaXRDb21tYW5kUHJveHk+
IGNvbW1hbmRQcm94eSwgVW5kb09yUmVkbyB1bmRvT3JSZWRvKQpkaWZmIC0tZ2l0IGEvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaAppbmRleCA1YTUzNzhmMWYzYzAxNmIzOWMzMzljZGY0ODYxYTAyZTRjMTRkYmQ5Li4xNjgw
NzZlMWUwNGNjNDA5Mjg3MTczZWE0ZTJiNTgzYTE1ZmM0MjE5IDEwMDY0NAotLS0gYS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaApAQCAtMjgyLDcgKzI4Miw3IEBAIHByaXZhdGU6CiAKICAgICAvLyBGaW5kLgogICAg
IHZvaWQgZGlkQ291bnRTdHJpbmdNYXRjaGVzKGNvbnN0IFN0cmluZyYsIHVpbnQzMl90IG51bU1h
dGNoZXMpOwotICAgIHZvaWQgc2V0RmluZEluZGljYXRvcihjb25zdCBXZWJDb3JlOjpGbG9hdFJl
Y3QmIHNlbGVjdGlvblJlY3QsIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpGbG9hdFJlY3Q+JiB0ZXh0
UmVjdHMsIGNvbnN0IFNoYXJlZE1lbW9yeTo6SGFuZGxlJiBjb250ZW50SW1hZ2VIYW5kbGUpOwor
ICAgIHZvaWQgc2V0RmluZEluZGljYXRvcihjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHNlbGVj
dGlvblJlY3QsIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpGbG9hdFJlY3Q+JiB0ZXh0UmVjdHMsIGNv
bnN0IFNoYXJlZE1lbW9yeTo6SGFuZGxlJiBjb250ZW50SW1hZ2VIYW5kbGUsIGJvb2wgZmFkZU91
dCk7CiAKICAgICB2b2lkIHRha2VGb2N1cyhib29sIGRpcmVjdGlvbik7CiAgICAgdm9pZCBzZXRU
b29sVGlwKGNvbnN0IFN0cmluZyYpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluCmluZGV4IDAyOGZiOGEyMzVjODU4MTAyMzNmNTgxN2U0ZjA0MzI1ZDg0MDQxMDgu
LjEzYjA5YzUwNmFjODU5MzZhNDhjZDk0NzE0N2Q1NjczZDliMDc1Y2EgMTAwNjQ0Ci0tLSBhL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTkzLDcgKzkzLDcgQEAgbWVzc2Fn
ZXMgLT4gV2ViUGFnZVByb3h5IHsKIAogICAgICMgRmluZC4KICAgICBEaWRDb3VudFN0cmluZ01h
dGNoZXMoV1RGOjpTdHJpbmcgc3RyaW5nLCB1aW50MzJfdCBudW1NYXRjaGVzKQotICAgIFNldEZp
bmRJbmRpY2F0b3IoV2ViQ29yZTo6RmxvYXRSZWN0IHNlbGVjdGlvblJlY3QsIFZlY3RvcjxXZWJD
b3JlOjpGbG9hdFJlY3Q+IHRleHRSZWN0cywgV2ViS2l0OjpTaGFyZWRNZW1vcnk6OkhhbmRsZSBj
b250ZW50SW1hZ2VIYW5kbGUpCisgICAgU2V0RmluZEluZGljYXRvcihXZWJDb3JlOjpGbG9hdFJl
Y3Qgc2VsZWN0aW9uUmVjdCwgVmVjdG9yPFdlYkNvcmU6OkZsb2F0UmVjdD4gdGV4dFJlY3RzLCBX
ZWJLaXQ6OlNoYXJlZE1lbW9yeTo6SGFuZGxlIGNvbnRlbnRJbWFnZUhhbmRsZSwgYm9vbCBmYWRl
T3V0KQogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgICMgQWNjZWxlcmF0
ZWQgY29tcHNpdGluZyBtZXNzYWdlcy4KZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL3dp
bi9XZWJWaWV3LmNwcCBiL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcAppbmRleCAz
YWZmM2IyMDVlOWJhNDg1MWY5NjAxNTBiNjFjMjNjYzE2ZTMyNTNhLi42NjU5M2I4MTI3OGM4NDlh
NDgyY2M3MjBlNTc4NzU4ZGUyNDM5MGZhIDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy93
aW4vV2ViVmlldy5jcHAKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3BwCkBA
IC01OTksNiArNTk5LDExIEBAIEZsb2F0UmVjdCBXZWJWaWV3Ojpjb252ZXJ0VG9Vc2VyU3BhY2Uo
Y29uc3QgRmxvYXRSZWN0JiByZWN0KQogICAgIHJldHVybiByZWN0OwogfQogCit2b2lkIFdlYlZp
ZXc6OnNldEZpbmRJbmRpY2F0b3IoUGFzc1JlZlB0cjxGaW5kSW5kaWNhdG9yPiwgYm9vbCBmYWRl
T3V0KQoreworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCit9CisKICNpZiBVU0UoQUNDRUxFUkFU
RURfQ09NUE9TSVRJTkcpCiB2b2lkIFdlYlZpZXc6OnBhZ2VEaWRFbnRlckFjY2VsZXJhdGVkQ29t
cG9zaXRpbmcoKQogewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlZpZXcu
aCBiL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmgKaW5kZXggZWZkNTNhN2M1NzJmNTIx
Y2UxZjliZmNjYjczM2M5YjliYzk5YjYxMy4uZmI1ZmJhNDlkODVmOTQ1YTk4N2QyMTlhZmI1ZjUy
NzFjZTNlOGU5NSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYlZpZXcuaAor
KysgYi9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2ViVmlldy5oCkBAIC0xMDEsNiArMTAxLDcgQEAg
cHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgc2V0RWRpdENvbW1hbmRTdGF0ZShjb25zdCBXVEY6
OlN0cmluZyYsIGJvb2wsIGludCk7CiAgICAgdmlydHVhbCBXZWJDb3JlOjpGbG9hdFJlY3QgY29u
dmVydFRvRGV2aWNlU3BhY2UoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0Jik7CiAgICAgdmlydHVh
bCBXZWJDb3JlOjpGbG9hdFJlY3QgY29udmVydFRvVXNlclNwYWNlKGNvbnN0IFdlYkNvcmU6OkZs
b2F0UmVjdCYpOworICAgIHZpcnR1YWwgdm9pZCBzZXRGaW5kSW5kaWNhdG9yKFBhc3NSZWZQdHI8
RmluZEluZGljYXRvcj4sIGJvb2wgZmFkZU91dCk7CiAKICNpZiBVU0UoQUNDRUxFUkFURURfQ09N
UE9TSVRJTkcpCiAgICAgdmlydHVhbCB2b2lkIHBhZ2VEaWRFbnRlckFjY2VsZXJhdGVkQ29tcG9z
aXRpbmcoKTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViS2l0Mi5wcm8gYi9XZWJLaXQyL1dlYktp
dDIucHJvCmluZGV4IDc0YzcxZmQ5NzE1NmEzMDY0YjdkMDI2MTNiYjlkNzVlNjBmZjdhNmMuLmU4
NmE4OTFhZTI4MDZhNGMzYTgwZmE2YWRjM2ViNGIxYzExZTlmNGQgMTAwNjQ0Ci0tLSBhL1dlYktp
dDIvV2ViS2l0Mi5wcm8KKysrIGIvV2ViS2l0Mi9XZWJLaXQyLnBybwpAQCAtMjQwLDYgKzI0MCw3
IEBAIEhFQURFUlMgKz0gXAogICAgIFVJUHJvY2Vzcy9BUEkvcXQvcXdrcHJlZmVyZW5jZXMuaCBc
CiAgICAgVUlQcm9jZXNzL0NodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVByb3h5LmggXAogICAgIFVJ
UHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmggXAorICAgIFVJUHJvY2Vzcy9GaW5kSW5kaWNhdG9y
LmggXAogICAgIFVJUHJvY2Vzcy9HZW5lcmljQ2FsbGJhY2suaCBcCiAgICAgVUlQcm9jZXNzL0xh
dW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5oIFwKICAgICBVSVByb2Nlc3MvTGF1bmNoZXIvVGhyZWFk
TGF1bmNoZXIuaCBcCkBAIC0zNzYsNiArMzc3LDcgQEAgU09VUkNFUyArPSBcCiAgICAgVUlQcm9j
ZXNzL0FQSS9jcHAvcXQvV0tVUkxRdC5jcHAgXAogICAgIFVJUHJvY2Vzcy9DaHVua2VkVXBkYXRl
RHJhd2luZ0FyZWFQcm94eS5jcHAgXAogICAgIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNw
cCBcCisgICAgVUlQcm9jZXNzL0ZpbmRJbmRpY2F0b3IuY3BwIFwKICAgICBVSVByb2Nlc3MvUGx1
Z2lucy9QbHVnaW5JbmZvU3RvcmUuY3BwIFwKICAgICBVSVByb2Nlc3MvUGx1Z2lucy9xdC9QbHVn
aW5JbmZvU3RvcmVRdC5jcHAgXAogICAgIFVJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNo
ZXIuY3BwIFwKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
Y2JlY2UyZWEzZTJlY2ZmZWZkY2VmY2ZiMTc4ZjNkYjM5NTA2OTZlNC4uZjQwNmQ4MmZkODQzN2Nl
MTM5M2IzYjY5MzkwMWZiZTJkOGZlN2I2NiAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJLaXQyLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTEyNiw2ICsxMjYsOCBAQAogCQkxQTkwQzIzODEyNjUwNzE3MDAz
RTQ0RDQgLyogUGFnZU92ZXJsYXkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUE5MEMyMzYxMjY1MDcxNzAwM0U0NEQ0IC8qIFBhZ2VPdmVybGF5LmNw
cCAqLzsgfTsKIAkJMUE5MEMyQTMxMjY1MEM2MDAwM0U0NEQ0IC8qIEZpbmRQYWdlT3ZlcmxheS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE5MEMyQTEx
MjY1MEM2MDAwM0U0NEQ0IC8qIEZpbmRQYWdlT3ZlcmxheS5oICovOyB9OwogCQkxQTkwQzJBNDEy
NjUwQzYwMDAzRTQ0RDQgLyogRmluZFBhZ2VPdmVybGF5LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBOTBDMkEyMTI2NTBDNjAwMDNFNDRENCAvKiBG
aW5kUGFnZU92ZXJsYXkuY3BwICovOyB9OworCQkxQTkxMDA3MTEyNjY3NUM0MDAxODQyRjUgLyog
RmluZEluZGljYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUE5MTAwNkYxMjY2NzVDMzAwMTg0MkY1IC8qIEZpbmRJbmRpY2F0b3IuaCAqLzsgfTsK
KwkJMUE5MTAwNzIxMjY2NzVDNDAwMTg0MkY1IC8qIEZpbmRJbmRpY2F0b3IuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE5MTAwNzAxMjY2NzVDNDAw
MTg0MkY1IC8qIEZpbmRJbmRpY2F0b3IuY3BwICovOyB9OwogCQkxQUExQ0M1RDEwMEZBMUExMDA3
OERFQkMgLyogUXVhcnR6Q29yZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUExQ0M1QzEwMEZBMUExMDA3OERFQkMgLyogUXVhcnR6
Q29yZS5mcmFtZXdvcmsgKi87IH07CiAJCTFBQTFDRDA3MTAwRkExQkEwMDc4REVCQyAvKiBDYXJi
b24uZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUFBMUNEMDYxMDBGQTFCQTAwNzhERUJDIC8qIENhcmJvbi5mcmFtZXdvcmsgKi87IH07
CiAJCTFBQTU2RjI5MTFFOTJCQzgwMDYxQjg4MiAvKiBQbHVnaW5Db250cm9sbGVyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUE1NkYyODExRTkyQkM4
MDA2MUI4ODIgLyogUGx1Z2luQ29udHJvbGxlci5oICovOyB9OwpAQCAtNTkxLDYgKzU5Myw4IEBA
CiAJCTFBOTBDMjM2MTI2NTA3MTcwMDNFNDRENCAvKiBQYWdlT3ZlcmxheS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQYWdlT3ZlcmxheS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTFBOTBDMkExMTI2NTBDNjAwMDNFNDRENCAvKiBGaW5kUGFnZU92
ZXJsYXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRmluZFBhZ2VPdmVybGF5
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBOTBDMkEyMTI2NTBDNjAwMDNFNDRE
NCAvKiBGaW5kUGFnZU92ZXJsYXkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gRmluZFBhZ2VPdmVybGF5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MUE5MTAwNkYxMjY2NzVDMzAwMTg0MkY1IC8qIEZpbmRJbmRpY2F0b3IuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gRmluZEluZGljYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkxQTkxMDA3MDEyNjY3NUM0MDAxODQyRjUgLyogRmluZEluZGljYXRvci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGaW5kSW5kaWNhdG9yLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFBMUM3OUExMDBFN0ZDNTAwNzhERUJDIC8q
IFdlYkNvcmUuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IHBhdGggPSBXZWJDb3JlLmZyYW1ld29yazsg
c291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJMUFBMUM3REUxMDBFODQ2RTAw
NzhERUJDIC8qIEphdmFTY3JpcHRDb3JlLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBwYXRoID0gSmF2
YVNjcmlwdENvcmUuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9
OwogCQkxQUExQ0M1QzEwMEZBMUExMDA3OERFQkMgLyogUXVhcnR6Q29yZS5mcmFtZXdvcmsgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZy
YW1ld29yazsgbmFtZSA9IFF1YXJ0ekNvcmUuZnJhbWV3b3JrOyBwYXRoID0gL1N5c3RlbS9MaWJy
YXJ5L0ZyYW1ld29ya3MvUXVhcnR6Q29yZS5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSAiPGFic29s
dXRlPiI7IH07CkBAIC0xMzUzLDYgKzEzNTcsOCBAQAogCQkJCUJDMjY1MjE1MTE4MjYwODEwMDI0
M0UxMiAvKiBDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eS5oICovLAogCQkJCUJDMjY1MjEy
MTE4MjYwODEwMDI0M0UxMiAvKiBEcmF3aW5nQXJlYVByb3h5LmNwcCAqLywKIAkJCQlCQzI2NTIx
MzExODI2MDgxMDAyNDNFMTIgLyogRHJhd2luZ0FyZWFQcm94eS5oICovLAorCQkJCTFBOTEwMDcw
MTI2Njc1QzQwMDE4NDJGNSAvKiBGaW5kSW5kaWNhdG9yLmNwcCAqLywKKwkJCQkxQTkxMDA2RjEy
NjY3NUMzMDAxODQyRjUgLyogRmluZEluZGljYXRvci5oICovLAogCQkJCUJDMTc3NTNFMTE4QkFC
RjAwMDdEOUU5QSAvKiBHZW5lcmljQ2FsbGJhY2suaCAqLywKIAkJCQkwRjUyNjVCNzExREQzNzdG
MDAwNkQzM0MgLyogTGF5ZXJCYWNrZWREcmF3aW5nQXJlYVByb3h5LmNwcCAqLywKIAkJCQkwRjUy
NjVCODExREQzNzdGMDAwNkQzM0MgLyogTGF5ZXJCYWNrZWREcmF3aW5nQXJlYVByb3h5LmggKi8s
CkBAIC0yMDI3LDYgKzIwMzMsNyBAQAogCQkJCTFBOTBDMUY0MTI2NEZENzEwMDNFNDRENCAvKiBG
aW5kQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE5MEMyMzcxMjY1MDcxNzAwM0U0
NEQ0IC8qIFBhZ2VPdmVybGF5LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTkwQzJBMzEyNjUwQzYw
MDAzRTQ0RDQgLyogRmluZFBhZ2VPdmVybGF5LmggaW4gSGVhZGVycyAqLywKKwkJCQkxQTkxMDA3
MTEyNjY3NUM0MDAxODQyRjUgLyogRmluZEluZGljYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkp
OwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0y
MzMzLDYgKzIzNDAsNyBAQAogCQkJCTFBOTBDMjM4MTI2NTA3MTcwMDNFNDRENCAvKiBQYWdlT3Zl
cmxheS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTkwQzJBNDEyNjUwQzYwMDAzRTQ0RDQgLyog
RmluZFBhZ2VPdmVybGF5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUMwMUEyNjAxMTI2NjJGMjEw
MEM5RUQ1NSAvKiBCYWNraW5nU3RvcmVDRy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxQTkxMDA3
MjEyNjY3NUM0MDAxODQyRjUgLyogRmluZEluZGljYXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlm
ZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmNwcCBi
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmNwcAppbmRleCBmMjMw
MDIzMGMyZTJjZGE4NzMyMTQyYWNkMjk3ZDEwNTM1MzUzYjNkLi4zM2ZjYWM5ZmQ2NDgzMmNiMTEz
NWQ4ZGZlZWI2MTNiYzI1NDFmMjMwIDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9GaW5kQ29udHJvbGxlci5jcHAKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
RmluZENvbnRyb2xsZXIuY3BwCkBAIC04Nyw3ICs4Nyw3IEBAIHZvaWQgRmluZENvbnRyb2xsZXI6
OmZpbmRTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcsIEZpbmREaXJlY3Rpb24gZmluZERpcmVj
dGlvCiAgICAgICAgICAgICAgICAgc2hvdWxkU2hvd092ZXJsYXkgPSBmYWxzZTsKICAgICAgICAg
fQogCi0gICAgICAgIGlmICghKGZpbmRPcHRpb25zICYgRmluZE9wdGlvbnNTaG93RmluZEluZGlj
YXRvcikgfHwgIXVwZGF0ZUZpbmRJbmRpY2F0b3Ioc2VsZWN0ZWRGcmFtZSkpIHsKKyAgICAgICAg
aWYgKCEoZmluZE9wdGlvbnMgJiBGaW5kT3B0aW9uc1Nob3dGaW5kSW5kaWNhdG9yKSB8fCAhdXBk
YXRlRmluZEluZGljYXRvcihzZWxlY3RlZEZyYW1lLCBzaG91bGRTaG93T3ZlcmxheSkpIHsKICAg
ICAgICAgICAgIC8vIEVpdGhlciB3ZSBzaG91bGRuJ3Qgc2hvdyB0aGUgZmluZCBpbmRpY2F0b3Is
IG9yIHdlIGNvdWxkbid0IHVwZGF0ZSBpdC4KICAgICAgICAgICAgIHJlc2V0RmluZEluZGljYXRv
cigpOwogICAgICAgICB9CkBAIC0xMjQsNyArMTI0LDcgQEAgdm9pZCBGaW5kQ29udHJvbGxlcjo6
ZmluZFBhZ2VPdmVybGF5RGVzdHJveWVkKCkKICAgICBtX2ZpbmRQYWdlT3ZlcmxheSA9IDA7CiB9
CiAKLWJvb2wgRmluZENvbnRyb2xsZXI6OnVwZGF0ZUZpbmRJbmRpY2F0b3IoRnJhbWUqIHNlbGVj
dGVkRnJhbWUpCitib29sIEZpbmRDb250cm9sbGVyOjp1cGRhdGVGaW5kSW5kaWNhdG9yKEZyYW1l
KiBzZWxlY3RlZEZyYW1lLCBib29sIGlzU2hvd2luZ092ZXJsYXkpCiB7CiAgICAgaWYgKCFzZWxl
Y3RlZEZyYW1lKQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0xNjIsNyArMTYyLDcgQEAgYm9v
bCBGaW5kQ29udHJvbGxlcjo6dXBkYXRlRmluZEluZGljYXRvcihGcmFtZSogc2VsZWN0ZWRGcmFt
ZSkKICAgICAgICAgdGV4dFJlY3RzSW5TZWxlY3Rpb25SZWN0Q29vcmRpbmF0ZXMuYXBwZW5kKHRl
eHRSZWN0SW5TZWxlY3Rpb25SZWN0Q29vcmRpbmF0ZXMpOwogICAgIH0gICAgICAgICAgICAKICAg
ICAKLSAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5jb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6
OldlYlBhZ2VQcm94eTo6U2V0RmluZEluZGljYXRvcihzZWxlY3Rpb25SZWN0SW5XaW5kb3dDb29y
ZGluYXRlcywgdGV4dFJlY3RzSW5TZWxlY3Rpb25SZWN0Q29vcmRpbmF0ZXMsIGhhbmRsZSksIG1f
d2ViUGFnZS0+cGFnZUlEKCkpOworICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmNvbm5lY3Rpb24o
KS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTZXRGaW5kSW5kaWNhdG9yKHNlbGVjdGlv
blJlY3RJbldpbmRvd0Nvb3JkaW5hdGVzLCB0ZXh0UmVjdHNJblNlbGVjdGlvblJlY3RDb29yZGlu
YXRlcywgaGFuZGxlLCAhaXNTaG93aW5nT3ZlcmxheSksIG1fd2ViUGFnZS0+cGFnZUlEKCkpOwog
ICAgIG1faXNTaG93aW5nRmluZEluZGljYXRvciA9IHRydWU7CiAKICAgICByZXR1cm4gdHJ1ZTsK
QEAgLTE3NCw3ICsxNzQsNyBAQCB2b2lkIEZpbmRDb250cm9sbGVyOjpyZXNldEZpbmRJbmRpY2F0
b3IoKQogICAgICAgICByZXR1cm47CiAKICAgICBTaGFyZWRNZW1vcnk6OkhhbmRsZSBoYW5kbGU7
Ci0gICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkuY29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlUHJveHk6OlNldEZpbmRJbmRpY2F0b3IoRmxvYXRSZWN0KCksIFZlY3RvcjxGbG9hdFJl
Y3Q+KCksIGhhbmRsZSksIG1fd2ViUGFnZS0+cGFnZUlEKCkpOworICAgIFdlYlByb2Nlc3M6OnNo
YXJlZCgpLmNvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTZXRGaW5k
SW5kaWNhdG9yKEZsb2F0UmVjdCgpLCBWZWN0b3I8RmxvYXRSZWN0PigpLCBoYW5kbGUsIGZhbHNl
KSwgbV93ZWJQYWdlLT5wYWdlSUQoKSk7CiAgICAgbV9pc1Nob3dpbmdGaW5kSW5kaWNhdG9yID0g
ZmFsc2U7CiB9CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRD
b250cm9sbGVyLmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9GaW5kQ29udHJvbGxlci5o
CmluZGV4IDYyMGEwYzI4MTFlZTUxM2EzODQ2YjY2ZGZjYjdmMDczMGJmNzFmYTQuLjVhYjMyMjY3
YjM2YzA3YzgyNDExOGZjODE4NWVhYzQ2MzljNWUyOGQgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmgKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuaApAQCAtNTEsNyArNTEsNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCBmaW5kUGFnZU92ZXJsYXlEZXN0cm95ZWQoKTsKIAogcHJpdmF0ZToKLSAgICBib29sIHVw
ZGF0ZUZpbmRJbmRpY2F0b3IoV2ViQ29yZTo6RnJhbWUqIHNlbGVjdGVkRnJhbWUpOworICAgIGJv
b2wgdXBkYXRlRmluZEluZGljYXRvcihXZWJDb3JlOjpGcmFtZSogc2VsZWN0ZWRGcmFtZSwgYm9v
bCBpc1Nob3dpbmdPdmVybGF5KTsKICAgICB2b2lkIHJlc2V0RmluZEluZGljYXRvcigpOwogICAg
IAogICAgIFdlYlBhZ2UqIG1fd2ViUGFnZTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvd2luL1dlYktp
dDIudmNwcm9qIGIvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKaW5kZXggZTM1MDcxNDkwNDY5
MWVmNTMxNTY5MGFiZDc0MGMxY2ZmNWFjMjRjMy4uZDNhNWQ3MDFiODU5MzE5NjQyYjJmNDA4YWE4
NjAyMDk0MTQyNWExYyAxMDA3NTUKLS0tIGEvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKKysr
IGIvV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKQEAgLTE1MDEsNiArMTUwMSwxNCBAQAogCQkJ
CT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nl
c3NcRmluZEluZGljYXRvci5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcRmluZEluZGljYXRvci5oIg0KKwkJCQk+DQor
CQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cVUlQcm9jZXNzXEdl
bmVyaWNDYWxsYmFjay5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0K
</data>
<flag name="review"
          id="60564"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>