<?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>83963</bug_id>
          
          <creation_ts>2012-04-13 17:16:41 -0700</creation_ts>
          <short_desc>[chromium] Expose WebVideoLayer to Platform API and port WebMediaPlayerClientImpl to using it</short_desc>
          <delta_ts>2012-04-16 20:04:22 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</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="James Robinson">jamesr</reporter>
          <assigned_to name="James Robinson">jamesr</assigned_to>
          <cc>abarth</cc>
    
    <cc>cc-bugs</cc>
    
    <cc>dglazkov</cc>
    
    <cc>enne</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>fischman</cc>
    
    <cc>fishd</cc>
    
    <cc>scherkus</cc>
    
    <cc>sievers</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>602532</commentid>
    <comment_count>0</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-04-13 17:16:41 -0700</bug_when>
    <thetext>[chromium] Expose WebVideoLayer to Platform API and port WebMediaPlayerClientImpl to using it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602543</commentid>
    <comment_count>1</comment_count>
      <attachid>137186</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-04-13 17:33:59 -0700</bug_when>
    <thetext>Created attachment 137186
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602555</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-13 17:39:08 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602556</commentid>
    <comment_count>3</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-04-13 17:41:31 -0700</bug_when>
    <thetext>Daniel or Ami - would one of you mind taking a careful read of the threading comments I added in WebVideoFrameProvider.h and making sure they are correct and sufficient for somebody to safely use the interface without needing to look too much at the implementation?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602562</commentid>
    <comment_count>4</comment_count>
    <who name="Daniel Sievers">sievers</who>
    <bug_when>2012-04-13 17:54:10 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Daniel or Ami - would one of you mind taking a careful read of the threading comments I added in WebVideoFrameProvider.h and making sure they are correct and sufficient for somebody to safely use the interface without needing to look too much at the implementation?

The comments sound good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>603710</commentid>
    <comment_count>5</comment_count>
      <attachid>137186</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-04-16 19:39:17 -0700</bug_when>
    <thetext>Comment on attachment 137186
Patch

R=me.  Go, go, gtfo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>603731</commentid>
    <comment_count>6</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-04-16 20:04:22 -0700</bug_when>
    <thetext>Committed r114335: &lt;http://trac.webkit.org/changeset/114335&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137186</attachid>
            <date>2012-04-13 17:33:59 -0700</date>
            <delta_ts>2012-04-16 19:39:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83963-20120413173358.patch</filename>
            <type>text/plain</type>
            <size>31484</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0MTc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCAyNDBjNjA2ZWM3YTFl
MGVlYmIzYWY2NjljNWM1ZDU1NzU0MWUwMDc5Li5iMjA1ZGY0ZGRmZTBiMjllNTU1MjdlZjBmNmI5
YWQ3MmVmMmYwNDMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAxMi0wNC0xMyAg
SmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1
bV0gRXhwb3NlIFdlYlZpZGVvTGF5ZXIgdG8gUGxhdGZvcm0gQVBJIGFuZCBwb3J0IFdlYk1lZGlh
UGxheWVyQ2xpZW50SW1wbCB0byB1c2luZyBpdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODM5NjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGRzIGEgY29tcG9zaXRvciBsYXllciB0eXBlIGZvciB2aWRl
bywgV2ViVmlkZW9MYXllciwgYW5kIGEgV2ViVmlkZW9Qcm92aWRlciBpbnRlcmZhY2UuCisKKyAg
ICAgICAgKiBQbGF0Zm9ybS5neXBpOgorICAgICAgICAqIGNocm9taXVtL3B1YmxpYy9XZWJDb250
ZW50TGF5ZXIuaDoKKyAgICAgICAgKFdlYkNvbnRlbnRMYXllcik6CisgICAgICAgICogY2hyb21p
dW0vcHVibGljL1dlYkxheWVyLmg6CisgICAgICAgIChXZWJMYXllcik6CisgICAgICAgIChXZWJL
aXQ6OldlYkxheWVyOjp1bndyYXApOgorICAgICAgICAqIGNocm9taXVtL3B1YmxpYy9XZWJWaWRl
b0ZyYW1lUHJvdmlkZXIuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL1ZpZGVvRnJhbWVQcm92aWRlci5oLgorICAgICAgICAoV2ViS2l0KToK
KyAgICAgICAgKFdlYlZpZGVvRnJhbWVQcm92aWRlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlZp
ZGVvRnJhbWVQcm92aWRlcjo6fldlYlZpZGVvRnJhbWVQcm92aWRlcik6CisgICAgICAgIChDbGll
bnQpOgorICAgICAgICAqIGNocm9taXVtL3B1YmxpYy9XZWJWaWRlb0xheWVyLmg6IENvcGllZCBm
cm9tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkNvbnRlbnRMYXllci5jcHAuCisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJWaWRlb0xheWVy
KToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlkZW9MYXllcjo6V2ViVmlkZW9MYXllcik6CisgICAg
ICAgIChXZWJLaXQ6OldlYlZpZGVvTGF5ZXI6On5XZWJWaWRlb0xheWVyKToKKwogMjAxMi0wNC0x
MSAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJv
bWl1bV0gUmVtb3ZlIHVudXNlZCBjb21wb3NpdGVUb1RleHR1cmUgLyBjb21wb3NpdGVPZmZzY3Jl
ZW4gc2V0dGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDJhYTkwNDk0Y2MxODY0MjQwNDJhM2FlOTZmY2FlMjg2
ODM1OWZkNmQuLjE2MWRkN2U1N2NkNWM3MWQ1NDRiMGE1NDlkOTA4OWQ3OTRhMTY1NDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxMi0wNC0xMyAgSmFtZXMgUm9iaW5zb24gIDxqYW1l
c3JAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gRXhwb3NlIFdlYlZpZGVvTGF5
ZXIgdG8gUGxhdGZvcm0gQVBJIGFuZCBwb3J0IFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbCB0byB1
c2luZyBpdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODM5NjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBD
b252ZXJ0cyBWaWRlb0xheWVyQ2hyb21pdW0gLyBDQ1ZpZGVvTGF5ZXJJbXBsIHRvIHVzZSBhIFBs
YXRmb3JtIFdlYlZpZGVvRnJhbWVQcm92aWRlciBpbnRlcmZhY2UgaW5zdGVhZCBvZiBhCisgICAg
ICAgIFdlYkNvcmUgVmlkZW9GcmFtZVByb3ZpZGVyLgorCisgICAgICAgICogV2ViQ29yZS5neXBp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1ZpZGVvTGF5ZXJDaHJvbWl1
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWaWRlb0xheWVyQ2hyb21pdW06OmNyZWF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpWaWRlb0xheWVyQ2hyb21pdW06OlZpZGVvTGF5ZXJDaHJvbWl1bSk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVmlkZW9MYXllckNocm9taXVt
Lmg6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChWaWRl
b0xheWVyQ2hyb21pdW0pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDVmlkZW9MYXllckltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NWaWRlb0xheWVySW1w
bDo6Q0NWaWRlb0xheWVySW1wbCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NWaWRlb0xheWVySW1wbC5oOgorICAgICAgICAoV2ViQ29yZTo6Q0NWaWRlb0xheWVy
SW1wbDo6Y3JlYXRlKToKKyAgICAgICAgKENDVmlkZW9MYXllckltcGwpOgorCiAyMDEyLTA0LTEz
ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIENvbXBv
c2l0aW5nIGxheWVycyBub3QgdXBkYXRlZCBhZnRlciBzY3JvbGwgaW4gV2ViS2l0MQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwppbmRleCA4YWQ5M2MyODNlMTU5MTg5NGY4MGI0YzYzNjMxNmVkZjll
NjkxNjUzLi5jMmZiZmQ4YWZiZmEyYzA1OTgyMWVlNmE0YjQ1YzZlYTEzYmZmMDM0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTA0LTEzICBKYW1lcyBS
b2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBFeHBv
c2UgV2ViVmlkZW9MYXllciB0byBQbGF0Zm9ybSBBUEkgYW5kIHBvcnQgV2ViTWVkaWFQbGF5ZXJD
bGllbnRJbXBsIHRvIHVzaW5nIGl0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04Mzk2MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZHMgaW1wbGVtZW50YXRpb24gb2YgV2ViVmlkZW9MYXllciBhbmQgcG9y
dHMgV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsIG92ZXIgdG8gdXNpbmcgaXQuCisgICAgICAgIFdl
Yk1lZGlhUGxheWVyQ2xpZW50SW1wbCBzdGlsbCBleHBvc2VzIGEgV2ViQ29yZTo6VmlkZW9MYXll
ckNocm9taXVtKiB0byB0aGUgY29tcG9zaXRvciB2aWEgdGhlIHBsYXRmb3JtTGF5ZXIoKQorICAg
ICAgICBpbnRlcmZhY2UsIGJ1dCB0aGlzIGlzIHRlbXBvcmFyeSB1bnRpbCB3ZSBjYW4gY2hhbmdl
IHRoZSBQbGF0Zm9ybUxheWVyIHR5cGVkZWYgb3ZlciB0byBXZWJMYXllci4KKworICAgICAgICAq
IFdlYktpdC5neXA6CisgICAgICAgICogc3JjL1dlYkNvbnRlbnRMYXllci5jcHA6CisgICAgICAg
ICogc3JjL1dlYkxheWVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViTGF5ZXI6OmludmFsaWRh
dGUpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBzcmMvV2ViTWVkaWFQbGF5ZXJDbGll
bnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpy
ZWFkeVN0YXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYk1lZGlhUGxheWVyQ2xpZW50
SW1wbDo6cmVwYWludCk6CisgICAgICAgIChXZWJLaXQ6OldlYk1lZGlhUGxheWVyQ2xpZW50SW1w
bDo6c2V0T3BhcXVlKToKKyAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBs
OjpwbGF0Zm9ybUxheWVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGllbnRJ
bXBsOjphY2NlbGVyYXRlZFJlbmRlcmluZ0luVXNlKToKKyAgICAgICAgKFdlYktpdDo6V2ViTWVk
aWFQbGF5ZXJDbGllbnRJbXBsOjpzZXRWaWRlb0ZyYW1lUHJvdmlkZXJDbGllbnQpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OnN1cHBvcnRzVHlwZSk6CisgICAg
ICAgICogc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1wbC5oOgorICAgICAgICAoV2ViTWVkaWFQ
bGF5ZXJDbGllbnRJbXBsKToKKyAgICAgICAgKiBzcmMvV2ViVmlkZW9MYXllci5jcHA6IENvcGll
ZCBmcm9tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkNvbnRlbnRMYXllci5jcHAuCisg
ICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWRlb0xheWVyOjpjcmVhdGUp
OgorICAgICAgICAoV2ViS2l0OjpXZWJWaWRlb0xheWVyOjpXZWJWaWRlb0xheWVyKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViVmlkZW9MYXllcjo6YWN0aXZlKToKKwogMjAxMi0wNC0xMSAgSmFtZXMg
Um9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gUmVt
b3ZlIHVudXNlZCBjb21wb3NpdGVUb1RleHR1cmUgLyBjb21wb3NpdGVPZmZzY3JlZW4gc2V0dGlu
ZwpkaWZmIC0tZ2l0IGEvU291cmNlL1BsYXRmb3JtL1BsYXRmb3JtLmd5cGkgYi9Tb3VyY2UvUGxh
dGZvcm0vUGxhdGZvcm0uZ3lwaQppbmRleCBhM2VjYmI4OTgwMTU2MzVhYjlkMjMzMzg4NGYwMmUx
OGYxYmE4YzJkLi5kMjU1YTJmNTFiY2VkNGQ1ZjFmNzZmZDk4ZWU1NDlmNTFmNTkzZTM0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vUGxhdGZvcm0uZ3lwaQorKysgYi9Tb3VyY2UvUGxhdGZv
cm0vUGxhdGZvcm0uZ3lwaQpAQCAtOTAsNiArOTAsOCBAQAogICAgICAgICAgICAgJ2Nocm9taXVt
L3B1YmxpYy9XZWJVUkxSZXF1ZXN0LmgnLAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9X
ZWJVUkxSZXNwb25zZS5oJywKICAgICAgICAgICAgICdjaHJvbWl1bS9wdWJsaWMvV2ViVmVjdG9y
LmgnLAorICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJWaWRlb0ZyYW1lLmgnLAorICAg
ICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJWaWRlb0ZyYW1lUHJvdmlkZXIuaCcsCiAgICAg
ICAgICAgICAnY2hyb21pdW0vc3JjL1BsYXRmb3JtLmNwcCcsCiAgICAgICAgICAgICAnY2hyb21p
dW0vc3JjL1dlYkNTdHJpbmcuY3BwJywKICAgICAgICAgICAgICdjaHJvbWl1bS9zcmMvV2ViRmxv
YXRRdWFkLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGlj
L1dlYkNvbnRlbnRMYXllci5oIGIvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJD
b250ZW50TGF5ZXIuaAppbmRleCA2ZDdmOTE0ODMwMWEwNThhY2Y5Y2I1MWM5MmQ3N2Y5YWRkZWYz
ZjZjLi5kNWM5MTVkODUyYjJkNzRiOTgxMTUxMzFlNTYwNjY5YjNkODJlMTcyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkNvbnRlbnRMYXllci5oCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViQ29udGVudExheWVyLmgKQEAgLTU2
LDkgKzU2LDYgQEAgcHVibGljOgogICAgIC8vIFdlYkNvbnRlbnRMYXllckNsaWVudDo6cGFpbnRD
b250ZW50cyBiZWZvcmUgdGhlIGNvbXBvc2l0aW5nIHBhc3Mgb2NjdXJzLgogICAgIFdFQktJVF9F
WFBPUlQgdm9pZCBpbnZhbGlkYXRlUmVjdChjb25zdCBXZWJGbG9hdFJlY3QmKTsKIAotICAgIC8v
IFNldHMgdGhlIGVudGlyZSBsYXllciBhcyBpbnZhbGlkLCBpLmUuIG5lZWRzIHRvIHVwZGF0ZSBp
dHMgY29udGVudC4KLSAgICBXRUJLSVRfRVhQT1JUIHZvaWQgaW52YWxpZGF0ZSgpOwotCiAjaWYg
V0VCS0lUX0lNUExFTUVOVEFUSU9OCiAgICAgV2ViQ29udGVudExheWVyKGNvbnN0IFdURjo6UGFz
c1JlZlB0cjxXZWJDb250ZW50TGF5ZXJJbXBsPiYpOwogICAgIFdlYkNvbnRlbnRMYXllciYgb3Bl
cmF0b3I9KGNvbnN0IFdURjo6UGFzc1JlZlB0cjxXZWJDb250ZW50TGF5ZXJJbXBsPiYpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJMYXllci5oIGIvU291
cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJMYXllci5oCmluZGV4IDNkOTE5ZmE0NjAz
NTE1MWU1OWE0NTIyYWI1OGRjNTAzZGVlOGNjZGIuLmIyNTdlYmM2NTlmMTg1OTYyZjA1MTA0M2Zk
ZmY1OGUxOWU0MDVjYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJs
aWMvV2ViTGF5ZXIuaAorKysgYi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkxh
eWVyLmgKQEAgLTU0LDYgKzU0LDkgQEAgcHVibGljOgogICAgIFdFQktJVF9FWFBPUlQgdm9pZCBh
c3NpZ24oY29uc3QgV2ViTGF5ZXImKTsKICAgICBXRUJLSVRfRVhQT1JUIGJvb2wgZXF1YWxzKGNv
bnN0IFdlYkxheWVyJikgY29uc3Q7CiAKKyAgICAvLyBTZXRzIHRoZSBlbnRpcmUgbGF5ZXIgYXMg
aW52YWxpZCwgaS5lLiBuZWVkcyB0byB1cGRhdGUgaXRzIGNvbnRlbnQuCisgICAgV0VCS0lUX0VY
UE9SVCB2b2lkIGludmFsaWRhdGUoKTsKKwogICAgIFdFQktJVF9FWFBPUlQgV2ViTGF5ZXIgcm9v
dExheWVyKCkgY29uc3Q7CiAgICAgV0VCS0lUX0VYUE9SVCBXZWJMYXllciBwYXJlbnQoKSBjb25z
dDsKICAgICBXRUJLSVRfRVhQT1JUIHZvaWQgYWRkQ2hpbGQoY29uc3QgV2ViTGF5ZXImKTsKQEAg
LTExMyw3ICsxMTYsNyBAQCBwdWJsaWM6CiAgICAgV2ViTGF5ZXIoY29uc3QgV1RGOjpQYXNzUmVm
UHRyPFdlYkNvcmU6OkxheWVyQ2hyb21pdW0+Jik7CiAgICAgV2ViTGF5ZXImIG9wZXJhdG9yPShj
b25zdCBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6TGF5ZXJDaHJvbWl1bT4mKTsKICAgICBvcGVy
YXRvciBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6TGF5ZXJDaHJvbWl1bT4oKSBjb25zdDsKLSAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBUKiB1bndyYXAoKQorICAgIHRlbXBsYXRlPHR5cGVuYW1l
IFQ+IFQqIHVud3JhcCgpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
VCo+KG1fcHJpdmF0ZS5nZXQoKSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1BsYXRmb3Jt
L2Nocm9taXVtL3B1YmxpYy9XZWJWaWRlb0ZyYW1lUHJvdmlkZXIuaCBiL1NvdXJjZS9QbGF0Zm9y
bS9jaHJvbWl1bS9wdWJsaWMvV2ViVmlkZW9GcmFtZVByb3ZpZGVyLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGQ2
NTZhMjY4MzdjNzRmMGZkZGMxNTI2NWIzZTZkYWZiNWZmZmI1OAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViVmlkZW9GcmFtZVByb3ZpZGVyLmgK
QEAgLTAsMCArMSw3NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQor
ICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQor
ICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViVmlkZW9GcmFtZVByb3ZpZGVyX2gKKyNkZWZpbmUg
V2ViVmlkZW9GcmFtZVByb3ZpZGVyX2gKKworI2luY2x1ZGUgIldlYkNvbW1vbi5oIgorI2luY2x1
ZGUgIldlYlZpZGVvRnJhbWUuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKKy8vIFRocmVhZGlu
ZyBub3RlczogVGhpcyBjbGFzcyBtYXkgYmUgdXNlZCBpbiBhIG11bHRpIHRocmVhZGVkIG1hbm5l
ci4gU3BlY2lmaWNhbGx5LCB0aGUgaW1wbGVtZW50YXRpb24KKy8vIG1heSBjYWxsIGdldEN1cnJl
bnRGcmFtZSgpIC8gcHV0Q3VycmVudEZyYW1lKCkgZnJvbSBhIG5vbi1tYWluIHRocmVhZC4gSWYg
c28sIHRoZSBjYWxsZXIgaXMgcmVzcG9uc2libGUKKy8vIGZvciBtYWtpbmcgc3VyZSBDbGllbnQ6
OmRpZFJlY2VpdmVGcmFtZSBhbmQgQ2xpZW50OjpkaWRVcGRhdGVNYXRyaXggYXJlIG9ubHkgY2Fs
bGVkIGZyb20gdGhpcyB0aHJlYWQuCitjbGFzcyBXZWJWaWRlb0ZyYW1lUHJvdmlkZXIgeworcHVi
bGljOgorICAgIHZpcnR1YWwgfldlYlZpZGVvRnJhbWVQcm92aWRlcigpIHsgfQorCisgICAgY2xh
c3MgQ2xpZW50IHsKKyAgICBwdWJsaWM6CisgICAgICAgIC8vIFByb3ZpZGVyIHdpbGwgY2FsbCB0
aGlzIG1ldGhvZCB0byB0ZWxsIHRoZSBjbGllbnQgdG8gc3RvcCB1c2luZyBpdC4KKyAgICAgICAg
Ly8gc3RvcFVzaW5nUHJvdmlkZXIoKSBtYXkgYmUgY2FsbGVkIGZyb20gYW55IHRocmVhZC4KKyAg
ICAgICAgdmlydHVhbCB2b2lkIHN0b3BVc2luZ1Byb3ZpZGVyKCkgPSAwOworCisgICAgICAgIC8v
IE5vdGlmaWVzIHRoZSBwcm92aWRlcidzIGNsaWVudCB0aGF0IGEgY2FsbCB0byBnZXRDdXJyZW50
RnJhbWUoKSB3aWxsIHJldHVybiBuZXcgZGF0YS4KKyAgICAgICAgdmlydHVhbCB2b2lkIGRpZFJl
Y2VpdmVGcmFtZSgpID0gMDsKKworICAgICAgICAvLyBOb3RpZmllcyB0aGUgcHJvdmlkZXIncyBj
bGllbnQgb2YgYSBuZXcgVVYgdHJhbnNmb3JtIG1hdHJpeCB0byBiZSB1c2VkIHdoZW4gZHJhd2lu
ZyBmcmFtZXMKKyAgICAgICAgLy8gb2YgdHlwZSBXZWJWaWRlb0ZyYW1lOjpGb3JtYXRTdHJlYW1U
ZXh0dXJlLgorICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkVXBkYXRlTWF0cml4KGNvbnN0IGZsb2F0
KikgPSAwOworICAgIH07CisKKyAgICAvLyBNYXkgYmUgY2FsbGVkIGZyb20gYW55IHRocmVhZC4K
KyAgICB2aXJ0dWFsIHZvaWQgc2V0VmlkZW9GcmFtZVByb3ZpZGVyQ2xpZW50KENsaWVudCopID0g
MDsKKworICAgIC8vIFRoaXMgZnVuY3Rpb24gcGxhY2VzIGEgbG9jayBvbiB0aGUgY3VycmVudCBm
cmFtZSBhbmQgcmV0dXJucyBhIHBvaW50ZXIgdG8gaXQuCisgICAgLy8gQ2FsbHMgdG8gdGhpcyBt
ZXRob2Qgc2hvdWxkIGFsd2F5cyBiZSBmb2xsb3dlZCB3aXRoIGEgY2FsbCB0byBwdXRDdXJyZW50
RnJhbWUoKS4KKyAgICAvLyBUaGUgb3duZXJzaGlwIG9mIHRoZSBvYmplY3QgaXMgbm90IHRyYW5z
ZmVycmVkIHRvIHRoZSBjYWxsZXIgYW5kCisgICAgLy8gdGhlIGNhbGxlciBzaG91bGQgbm90IGZy
ZWUgdGhlIHJldHVybmVkIG9iamVjdC4KKyAgICB2aXJ0dWFsIFdlYlZpZGVvRnJhbWUqIGdldEN1
cnJlbnRGcmFtZSgpID0gMDsKKyAgICAvLyBUaGlzIGZ1bmN0aW9uIHJlbGVhc2VzIHRoZSBsb2Nr
IG9uIHRoZSB2aWRlbyBmcmFtZSBpbiBjaHJvbWl1bS4gSXQgc2hvdWxkCisgICAgLy8gYWx3YXlz
IGJlIGNhbGxlZCBhZnRlciBnZXRDdXJyZW50RnJhbWUoKS4gRnJhbWVzIHBhc3NlZCBpbnRvIHRo
aXMgbWV0aG9kCisgICAgLy8gc2hvdWxkIG5vIGxvbmdlciBiZSByZWZlcmVuY2VkIGFmdGVyIHRo
ZSBjYWxsIGlzIG1hZGUuCisgICAgdmlydHVhbCB2b2lkIHB1dEN1cnJlbnRGcmFtZShXZWJWaWRl
b0ZyYW1lKikgPSAwOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJWaWRlb0xheWVyLmgg
Yi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlZpZGVvTGF5ZXIuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NGRhMzQ1NGJhMDNlZmZiNWUzNGIwZDMzMmI5MmMwMTEyNDc1YWE0Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJWaWRlb0xheWVyLmgK
QEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICog
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViVmlkZW9MYXllcl9oCisjZGVmaW5l
IFdlYlZpZGVvTGF5ZXJfaAorCisjaW5jbHVkZSAiV2ViQ29tbW9uLmgiCisjaW5jbHVkZSAiV2Vi
TGF5ZXIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgVmlkZW9MYXllckNocm9taXVt
OworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViVmlkZW9GcmFtZVByb3ZpZGVy
OworCitjbGFzcyBXZWJWaWRlb0xheWVyIDogcHVibGljIFdlYkxheWVyIHsKK3B1YmxpYzoKKyAg
ICBXRUJLSVRfRVhQT1JUIHN0YXRpYyBXZWJWaWRlb0xheWVyIGNyZWF0ZShXZWJWaWRlb0ZyYW1l
UHJvdmlkZXIqKTsKKworICAgIFdlYlZpZGVvTGF5ZXIoKSB7IH0KKyAgICB2aXJ0dWFsIH5XZWJW
aWRlb0xheWVyKCkgeyB9CisKKyAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBsYXllciBpcyBh
Y3RpdmVseSByZW5kZXJpbmcgKGUuZy4gY3VycmVudGx5IGF0dGFjaGVkIHRvIGEgV2ViTGF5ZXJU
cmVlVmlldykuCisgICAgV0VCS0lUX0VYUE9SVCBib29sIGFjdGl2ZSgpIGNvbnN0OworCisjaWYg
V0VCS0lUX0lNUExFTUVOVEFUSU9OCisgICAgZXhwbGljaXQgV2ViVmlkZW9MYXllcihQYXNzUmVm
UHRyPFdlYkNvcmU6OlZpZGVvTGF5ZXJDaHJvbWl1bT4pOworI2VuZGlmCit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFdlYlZpZGVvTGF5ZXJfaApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
CmluZGV4IDFhMjdkNjNiNjlkOTU4NjNkMTc1ZGJhNDhiYzM1NTQxMjFmOGI1ZDcuLjM3NjUyYzIw
YzM0NDczMTkwNzQ0NzhmMGNkMGIxNGQwZmFjNDhhNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTM1
ODMsNyArMzU4Myw2IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
VW5pc2NyaWJlSGVscGVyVGV4dFJ1bi5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9WRE1YUGFyc2VyLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vVkRNWFBhcnNlci5oJywKLSAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9WaWRlb0ZyYW1lUHJvdmlkZXIuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vVmlkZW9MYXllckNocm9taXVtLmNwcCcsCiAgICAgICAgICAgICAn
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVmlkZW9MYXllckNocm9taXVtLmgnLAogICAgICAg
ICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1dlYkdMTGF5ZXJDaHJvbWl1bS5jcHAn
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
VmlkZW9GcmFtZVByb3ZpZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9WaWRlb0ZyYW1lUHJvdmlkZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMGFhNDQyZGE2YmM4ODRiZjU2MjEyYjFhMTQxMDNkY2Q5OWI1NTRjNy4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9WaWRlb0ZyYW1lUHJvdmlkZXIuaAorKysgL2Rldi9udWxsCkBA
IC0xLDY1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAq
IG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0g
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jaWZuZGVmIFZpZGVvRnJhbWVQcm92aWRlcl9oCi0jZGVmaW5lIFZpZGVv
RnJhbWVQcm92aWRlcl9oCi0KLSNpbmNsdWRlIDxwdWJsaWMvV2ViVmlkZW9GcmFtZS5oPgotCi1u
YW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFZpZGVvRnJhbWVQcm92aWRlciB7Ci1wdWJsaWM6
Ci0gICAgdmlydHVhbCB+VmlkZW9GcmFtZVByb3ZpZGVyKCkgeyB9Ci0KLSAgICBjbGFzcyBDbGll
bnQgewotICAgIHB1YmxpYzoKLSAgICAgICAgLy8gUHJvdmlkZXIgd2lsbCBjYWxsIHRoaXMgbWV0
aG9kIHRvIHRlbGwgdGhlIGNsaWVudCB0byBzdG9wIHVzaW5nIGl0LgotICAgICAgICB2aXJ0dWFs
IHZvaWQgc3RvcFVzaW5nUHJvdmlkZXIoKSA9IDA7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBkaWRS
ZWNlaXZlRnJhbWUoKSA9IDA7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBkaWRVcGRhdGVNYXRyaXgo
Y29uc3QgZmxvYXQqKSA9IDA7Ci0gICAgfTsKLQotICAgIHZpcnR1YWwgdm9pZCBzZXRWaWRlb0Zy
YW1lUHJvdmlkZXJDbGllbnQoQ2xpZW50KikgPSAwOwotCi0gICAgLy8gVGhpcyBmdW5jdGlvbiBw
bGFjZXMgYSBsb2NrIG9uIHRoZSBjdXJyZW50IGZyYW1lIGFuZCByZXR1cm5zIGEgcG9pbnRlciB0
byBpdC4KLSAgICAvLyBDYWxscyB0byB0aGlzIG1ldGhvZCBzaG91bGQgYWx3YXlzIGJlIGZvbGxv
d2VkIHdpdGggYSBjYWxsIHRvIHB1dEN1cnJlbnRGcmFtZSgpLgotICAgIC8vIFRoZSBvd25lcnNo
aXAgb2YgdGhlIG9iamVjdCBpcyBub3QgdHJhbnNmZXJyZWQgdG8gdGhlIGNhbGxlciBhbmQKLSAg
ICAvLyB0aGUgY2FsbGVyIHNob3VsZCBub3QgZnJlZSB0aGUgcmV0dXJuZWQgb2JqZWN0LgotICAg
IHZpcnR1YWwgV2ViS2l0OjpXZWJWaWRlb0ZyYW1lKiBnZXRDdXJyZW50RnJhbWUoKSA9IDA7Ci0g
ICAgLy8gVGhpcyBmdW5jdGlvbiByZWxlYXNlcyB0aGUgbG9jayBvbiB0aGUgdmlkZW8gZnJhbWUg
aW4gY2hyb21pdW0uIEl0IHNob3VsZAotICAgIC8vIGFsd2F5cyBiZSBjYWxsZWQgYWZ0ZXIgZ2V0
Q3VycmVudEZyYW1lKCkuIEZyYW1lcyBwYXNzZWQgaW50byB0aGlzIG1ldGhvZAotICAgIC8vIHNo
b3VsZCBubyBsb25nZXIgYmUgcmVmZXJlbmNlZCBhZnRlciB0aGUgY2FsbCBpcyBtYWRlLgotICAg
IHZpcnR1YWwgdm9pZCBwdXRDdXJyZW50RnJhbWUoV2ViS2l0OjpXZWJWaWRlb0ZyYW1lKikgPSAw
OwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1ZpZGVvTGF5ZXJDaHJvbWl1
bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9WaWRlb0xh
eWVyQ2hyb21pdW0uY3BwCmluZGV4IGU2OTExOTgxZWQwNjFkYzY3ZGU1MzRlM2ViNjcwMDUzNGI5
OWQ0MTguLmU3MGM5ZWJjNjM3NmQwZDZlZDU5ZDcyMzcxOTBmNzIzNjBjMzIyMDAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1ZpZGVvTGF5ZXJD
aHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vVmlkZW9MYXllckNocm9taXVtLmNwcApAQCAtMzYsMTIgKzM2LDEyIEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxWaWRlb0xheWVyQ2hyb21pdW0+IFZpZGVvTGF5ZXJD
aHJvbWl1bTo6Y3JlYXRlKFZpZGVvRnJhbWVQcm92aWRlciogcHJvdmlkZXIpCitQYXNzUmVmUHRy
PFZpZGVvTGF5ZXJDaHJvbWl1bT4gVmlkZW9MYXllckNocm9taXVtOjpjcmVhdGUoV2ViS2l0OjpX
ZWJWaWRlb0ZyYW1lUHJvdmlkZXIqIHByb3ZpZGVyKQogewogICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgVmlkZW9MYXllckNocm9taXVtKHByb3ZpZGVyKSk7CiB9CiAKLVZpZGVvTGF5ZXJDaHJvbWl1
bTo6VmlkZW9MYXllckNocm9taXVtKFZpZGVvRnJhbWVQcm92aWRlciogcHJvdmlkZXIpCitWaWRl
b0xheWVyQ2hyb21pdW06OlZpZGVvTGF5ZXJDaHJvbWl1bShXZWJLaXQ6OldlYlZpZGVvRnJhbWVQ
cm92aWRlciogcHJvdmlkZXIpCiAgICAgOiBMYXllckNocm9taXVtKCkKICAgICAsIG1fcHJvdmlk
ZXIocHJvdmlkZXIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9WaWRlb0xheWVyQ2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL1ZpZGVvTGF5ZXJDaHJvbWl1bS5oCmluZGV4IGM0NWQ4ZmUz
YTg0M2ZlN2MyZWU2ZjA2OGRiMmYyNjMxN2U2OTI5YjEuLmRjNDU1OWNmODU2MTNlNjY0ODMzMWQ5
MTE0NzgyMTVjODcxYThiYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL1ZpZGVvTGF5ZXJDaHJvbWl1bS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1ZpZGVvTGF5ZXJDaHJvbWl1bS5oCkBAIC0zNiwy
NSArMzYsMjggQEAKIAogI2luY2x1ZGUgIkxheWVyQ2hyb21pdW0uaCIKIAorbmFtZXNwYWNlIFdl
YktpdCB7CitjbGFzcyBXZWJWaWRlb0ZyYW1lUHJvdmlkZXI7Cit9CisKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgQ0NWaWRlb0xheWVySW1wbDsKLWNsYXNzIFZpZGVvRnJhbWVQcm92aWRl
cjsKIAogLy8gQSBMYXllciB0aGF0IGNvbnRhaW5zIGEgVmlkZW8gZWxlbWVudC4KIGNsYXNzIFZp
ZGVvTGF5ZXJDaHJvbWl1bSA6IHB1YmxpYyBMYXllckNocm9taXVtIHsKIHB1YmxpYzoKIAotICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFZpZGVvTGF5ZXJDaHJvbWl1bT4gY3JlYXRlKFZpZGVvRnJhbWVQ
cm92aWRlciogPSAwKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxWaWRlb0xheWVyQ2hyb21pdW0+
IGNyZWF0ZShXZWJLaXQ6OldlYlZpZGVvRnJhbWVQcm92aWRlciopOwogICAgIHZpcnR1YWwgflZp
ZGVvTGF5ZXJDaHJvbWl1bSgpOwogCiAgICAgdmlydHVhbCBQYXNzT3duUHRyPENDTGF5ZXJJbXBs
PiBjcmVhdGVDQ0xheWVySW1wbCgpIE9WRVJSSURFOwogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0
IFZpZGVvTGF5ZXJDaHJvbWl1bShWaWRlb0ZyYW1lUHJvdmlkZXIqKTsKKyAgICBleHBsaWNpdCBW
aWRlb0xheWVyQ2hyb21pdW0oV2ViS2l0OjpXZWJWaWRlb0ZyYW1lUHJvdmlkZXIqKTsKIAogICAg
IC8vIFRoaXMgcG9pbnRlciBpcyBvbmx5IGZvciBwYXNzaW5nIHRvIENDVmlkZW9MYXllckltcGwn
cyBjb25zdHJ1Y3Rvci4gSXQgc2hvdWxkIG5ldmVyIGJlIGRlcmVmZXJlbmNlZCBieSB0aGlzIGNs
YXNzLgotICAgIFZpZGVvRnJhbWVQcm92aWRlciogbV9wcm92aWRlcjsKKyAgICBXZWJLaXQ6Oldl
YlZpZGVvRnJhbWVQcm92aWRlciogbV9wcm92aWRlcjsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVmlkZW9MYXllcklt
cGwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NW
aWRlb0xheWVySW1wbC5jcHAKaW5kZXggYzcxZTBlMGNlNDkwYjQ5MzNmOTY5OTVkYTU1NmU3MzJl
ZDhiMjQzYS4uYTFkYWMzNWU5MTQ1MzgwZWE5ZGEzMGFkODEwNjI2NjlkMjY2Y2NlZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NWaWRl
b0xheWVySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NWaWRlb0xheWVySW1wbC5jcHAKQEAgLTczLDcgKzczLDcgQEAgY29uc3QgZmxv
YXQgQ0NWaWRlb0xheWVySW1wbDo6ZmxpcFRyYW5zZm9ybVsxNl0gPSB7CiAgICAgMCwgMSwgMCwg
MSwKIH07CiAKLUNDVmlkZW9MYXllckltcGw6OkNDVmlkZW9MYXllckltcGwoaW50IGlkLCBWaWRl
b0ZyYW1lUHJvdmlkZXIqIHByb3ZpZGVyKQorQ0NWaWRlb0xheWVySW1wbDo6Q0NWaWRlb0xheWVy
SW1wbChpbnQgaWQsIFdlYktpdDo6V2ViVmlkZW9GcmFtZVByb3ZpZGVyKiBwcm92aWRlcikKICAg
ICA6IENDTGF5ZXJJbXBsKGlkKQogICAgICwgbV9wcm92aWRlcihwcm92aWRlcikKICAgICAsIG1f
bGF5ZXJUcmVlSG9zdEltcGwoMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVmlkZW9MYXllckltcGwuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVmlkZW9MYXllckltcGwuaAppbmRleCBl
MTE5MjMwNmY0NjczZTJiMGRiMjBmZWRiYWFkMWY0NDYzOTZmMzk3Li5jYWNmZWY4MjYwZTNjMGE4
NTIzMTQ1MzlmZjY3N2U0NDM2YTIxYTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1ZpZGVvTGF5ZXJJbXBsLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NWaWRlb0xheWVySW1wbC5o
CkBAIC0yOCw5ICsyOCw5IEBACiAKICNpbmNsdWRlICJNYW5hZ2VkVGV4dHVyZS5oIgogI2luY2x1
ZGUgIlNoYWRlckNocm9taXVtLmgiCi0jaW5jbHVkZSAiVmlkZW9GcmFtZVByb3ZpZGVyLmgiCiAj
aW5jbHVkZSAiVmlkZW9MYXllckNocm9taXVtLmgiCiAjaW5jbHVkZSAiY2MvQ0NMYXllckltcGwu
aCIKKyNpbmNsdWRlIDxwdWJsaWMvV2ViVmlkZW9GcmFtZVByb3ZpZGVyLmg+CiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewogY2xhc3MgV2ViVmlkZW9GcmFtZTsKQEAgLTQ0LDkgKzQ0LDkgQEAgY2xhc3Mg
Q0NWaWRlb0xheWVySW1wbDsKIHRlbXBsYXRlPGNsYXNzIFZlcnRleFNoYWRlciwgY2xhc3MgRnJh
Z21lbnRTaGFkZXI+IGNsYXNzIFByb2dyYW1CaW5kaW5nOwogCiBjbGFzcyBDQ1ZpZGVvTGF5ZXJJ
bXBsIDogcHVibGljIENDTGF5ZXJJbXBsCi0gICAgICAgICAgICAgICAgICAgICAgICwgcHVibGlj
IFZpZGVvRnJhbWVQcm92aWRlcjo6Q2xpZW50IHsKKyAgICAgICAgICAgICAgICAgICAgICAgLCBw
dWJsaWMgV2ViS2l0OjpXZWJWaWRlb0ZyYW1lUHJvdmlkZXI6OkNsaWVudCB7CiBwdWJsaWM6Ci0g
ICAgc3RhdGljIFBhc3NPd25QdHI8Q0NWaWRlb0xheWVySW1wbD4gY3JlYXRlKGludCBpZCwgVmlk
ZW9GcmFtZVByb3ZpZGVyKiBwcm92aWRlcikKKyAgICBzdGF0aWMgUGFzc093blB0cjxDQ1ZpZGVv
TGF5ZXJJbXBsPiBjcmVhdGUoaW50IGlkLCBXZWJLaXQ6OldlYlZpZGVvRnJhbWVQcm92aWRlciog
cHJvdmlkZXIpCiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IENDVmlkZW9MYXll
ckltcGwoaWQsIHByb3ZpZGVyKSk7CiAgICAgfQpAQCAtNjQsOSArNjQsOCBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCB2b2lkIGR1bXBMYXllclByb3BlcnRpZXMoVGV4dFN0cmVhbSYsIGludCBpbmRl
bnQpIGNvbnN0IE9WRVJSSURFOwogCiAgICAgTXV0ZXgmIHByb3ZpZGVyTXV0ZXgoKSB7IHJldHVy
biBtX3Byb3ZpZGVyTXV0ZXg7IH0KLSAgICBWaWRlb0ZyYW1lUHJvdmlkZXIqIHByb3ZpZGVyKCkg
Y29uc3QgeyByZXR1cm4gbV9wcm92aWRlcjsgfQogCi0gICAgLy8gVmlkZW9GcmFtZVByb3ZpZGVy
OjpDbGllbnQgaW1wbGVtZW50YXRpb24uCisgICAgLy8gV2ViS2l0OjpXZWJWaWRlb0ZyYW1lUHJv
dmlkZXI6OkNsaWVudCBpbXBsZW1lbnRhdGlvbi4KICAgICB2aXJ0dWFsIHZvaWQgc3RvcFVzaW5n
UHJvdmlkZXIoKTsgLy8gQ2FsbGFibGUgb24gYW55IHRocmVhZC4KICAgICB2aXJ0dWFsIHZvaWQg
ZGlkUmVjZWl2ZUZyYW1lKCk7IC8vIENhbGxhYmxlIG9uIGltcGwgdGhyZWFkLgogICAgIHZpcnR1
YWwgdm9pZCBkaWRVcGRhdGVNYXRyaXgoY29uc3QgZmxvYXQqKTsgLy8gQ2FsbGFibGUgb24gaW1w
bCB0aHJlYWQuCkBAIC04NCw3ICs4Myw3IEBAIHB1YmxpYzoKICAgICBlbnVtIHsgTWF4UGxhbmVz
ID0gMyB9OwogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0IENDVmlkZW9MYXllckltcGwoaW50LCBW
aWRlb0ZyYW1lUHJvdmlkZXIqKTsKKyAgICBDQ1ZpZGVvTGF5ZXJJbXBsKGludCwgV2ViS2l0OjpX
ZWJWaWRlb0ZyYW1lUHJvdmlkZXIqKTsKIAogICAgIHN0YXRpYyBJbnRTaXplIGNvbXB1dGVWaXNp
YmxlU2l6ZShjb25zdCBXZWJLaXQ6OldlYlZpZGVvRnJhbWUmLCB1bnNpZ25lZCBwbGFuZSk7CiAg
ICAgdmlydHVhbCBjb25zdCBjaGFyKiBsYXllclR5cGVBc1N0cmluZygpIGNvbnN0IE9WRVJSSURF
IHsgcmV0dXJuICJWaWRlb0xheWVyIjsgfQpAQCAtOTIsNyArOTEsNyBAQCBwcml2YXRlOgogICAg
IGJvb2wgcmVzZXJ2ZVRleHR1cmVzKGNvbnN0IFdlYktpdDo6V2ViVmlkZW9GcmFtZSYsIEdDM0Rl
bnVtIGZvcm1hdCwgTGF5ZXJSZW5kZXJlckNocm9taXVtKik7CiAKICAgICBNdXRleCBtX3Byb3Zp
ZGVyTXV0ZXg7IC8vIEd1YXJkcyBtX3Byb3ZpZGVyIGJlbG93LgotICAgIFZpZGVvRnJhbWVQcm92
aWRlciogbV9wcm92aWRlcjsKKyAgICBXZWJLaXQ6OldlYlZpZGVvRnJhbWVQcm92aWRlciogbV9w
cm92aWRlcjsKIAogICAgIFRleHR1cmUgbV90ZXh0dXJlc1tNYXhQbGFuZXNdOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL1dlYktpdC5neXAKaW5kZXggZmU0YzNkZDA5MzkyY2NlY2QzYmQ2ZWVkMzMzNDNkZWY3
NDJmZmRiOC4uZTYyZWY2MjQ0NmE5YzRiZTliZjBiZjUwODY5ZWY2NjkwOWYyYzY4YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vV2ViS2l0Lmd5cApAQCAtNjYyLDYgKzY2Miw3IEBACiAgICAgICAgICAgICAg
ICAgJ3NyYy9XZWJVUkxMb2FkVGltaW5nLmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJT
Y29wZWRVc2VyR2VzdHVyZS5jcHAnLAogICAgICAgICAgICAgICAgICdzcmMvV2ViVXNlck1lZGlh
UmVxdWVzdC5jcHAnLAorICAgICAgICAgICAgICAgICdzcmMvV2ViVmlkZW9MYXllci5jcHAnLAog
ICAgICAgICAgICAgICAgICdzcmMvV2ViVmlld0ltcGwuY3BwJywKICAgICAgICAgICAgICAgICAn
c3JjL1dlYlZpZXdJbXBsLmgnLAogICAgICAgICAgICAgICAgICdzcmMvV2ViV29ya2VyQmFzZS5j
cHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ29udGVudExh
eWVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkNvbnRlbnRMYXllci5jcHAK
aW5kZXggN2IzNzMzM2U1NjMwOGEwNjhiODRjM2FjZGVlYTUzMTk1YzkzZmZkMi4uZDhhNWQzMDdl
MDc5MjUyMWVkZGQyN2FkMjM2MmJkZTJkN2MwNTc4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViQ29udGVudExheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJDb250ZW50TGF5ZXIuY3BwCkBAIC01MSwxMSArNTEsNiBAQCB2b2lkIFdl
YkNvbnRlbnRMYXllcjo6aW52YWxpZGF0ZVJlY3QoY29uc3QgV2ViRmxvYXRSZWN0JiBkaXJ0eVJl
Y3QpCiAgICAgdW53cmFwPFdlYkNvbnRlbnRMYXllckltcGw+KCktPnNldE5lZWRzRGlzcGxheVJl
Y3QoZGlydHlSZWN0KTsKIH0KIAotdm9pZCBXZWJDb250ZW50TGF5ZXI6OmludmFsaWRhdGUoKQot
ewotICAgIHVud3JhcDxXZWJDb250ZW50TGF5ZXJJbXBsPigpLT5zZXROZWVkc0Rpc3BsYXkoKTsK
LX0KLQogV2ViQ29udGVudExheWVyOjpXZWJDb250ZW50TGF5ZXIoY29uc3QgUGFzc1JlZlB0cjxX
ZWJDb250ZW50TGF5ZXJJbXBsPiYgbm9kZSkKICAgICA6IFdlYkxheWVyKG5vZGUpCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJMYXllci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJMYXllci5jcHAKaW5kZXggZjMxYzVhOGMzZTMwMDkxYjRi
NmVjNGQ2OGZlZDhhMjY3NjI0MTAxYS4uNTlkYTJmMzk0MGRhNTNkZjEzOTkxODEwMDE5OWJjNDAz
MTlmZDM2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTGF5ZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkxheWVyLmNwcApAQCAtOTQs
NiArOTQsMTEgQEAgYm9vbCBXZWJMYXllcjo6ZXF1YWxzKGNvbnN0IFdlYkxheWVyJiBuKSBjb25z
dAogICAgIHJldHVybiAobV9wcml2YXRlLmdldCgpID09IG4ubV9wcml2YXRlLmdldCgpKTsKIH0K
IAordm9pZCBXZWJMYXllcjo6aW52YWxpZGF0ZSgpCit7CisgICAgbV9wcml2YXRlLT5zZXROZWVk
c0Rpc3BsYXkoKTsKK30KKwogV2ViTGF5ZXIgV2ViTGF5ZXI6OnJvb3RMYXllcigpIGNvbnN0CiB7
CiAgICAgcmV0dXJuIFdlYkxheWVyKGNvbnN0X2Nhc3Q8TGF5ZXJDaHJvbWl1bSo+KG1fcHJpdmF0
ZS0+cm9vdExheWVyKCkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYk1lZGlhUGxheWVyQ2xpZW50SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwuY3BwCmluZGV4IDQ2MDBmYjg0MzAzMDllNTVlNzc3
Y2YxYTE2MGJiYzRjNzE0MDk2NGIuLjZhOTI3NTNkZWEzY2M0ODc3ZmUxYzNkODE5MWU1NjdiYWIz
ZjMwMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxh
eWVyQ2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVk
aWFQbGF5ZXJDbGllbnRJbXBsLmNwcApAQCAtMTA5LDkgKzEwOSw5IEBAIHZvaWQgV2ViTWVkaWFQ
bGF5ZXJDbGllbnRJbXBsOjpyZWFkeVN0YXRlQ2hhbmdlZCgpCiAgICAgQVNTRVJUKG1fbWVkaWFQ
bGF5ZXIpOwogICAgIG1fbWVkaWFQbGF5ZXItPnJlYWR5U3RhdGVDaGFuZ2VkKCk7CiAjaWYgVVNF
KEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQotICAgIGlmIChoYXNWaWRlbygpICYmIHN1cHBvcnRz
QWNjZWxlcmF0ZWRSZW5kZXJpbmcoKSAmJiAhbV92aWRlb0xheWVyKSB7Ci0gICAgICAgIG1fdmlk
ZW9MYXllciA9IFZpZGVvTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKHRoaXMpOwotICAgICAgICBtX3Zp
ZGVvTGF5ZXItPnNldE9wYXF1ZShtX29wYXF1ZSk7CisgICAgaWYgKGhhc1ZpZGVvKCkgJiYgc3Vw
cG9ydHNBY2NlbGVyYXRlZFJlbmRlcmluZygpICYmIG1fdmlkZW9MYXllci5pc051bGwoKSkgewor
ICAgICAgICBtX3ZpZGVvTGF5ZXIgPSBXZWJWaWRlb0xheWVyOjpjcmVhdGUodGhpcyk7CisgICAg
ICAgIG1fdmlkZW9MYXllci5zZXRPcGFxdWUobV9vcGFxdWUpOwogICAgIH0KICNlbmRpZgogfQpA
QCAtMTM4LDggKzEzOCw4IEBAIHZvaWQgV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpyZXBhaW50
KCkKIHsKICAgICBBU1NFUlQobV9tZWRpYVBsYXllcik7CiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NP
TVBPU0lUSU5HKQotICAgIGlmIChtX3ZpZGVvTGF5ZXIgJiYgc3VwcG9ydHNBY2NlbGVyYXRlZFJl
bmRlcmluZygpKQotICAgICAgICBtX3ZpZGVvTGF5ZXItPnNldE5lZWRzRGlzcGxheSgpOworICAg
IGlmICghbV92aWRlb0xheWVyLmlzTnVsbCgpICYmIHN1cHBvcnRzQWNjZWxlcmF0ZWRSZW5kZXJp
bmcoKSkKKyAgICAgICAgbV92aWRlb0xheWVyLmludmFsaWRhdGUoKTsKICNlbmRpZgogICAgIG1f
bWVkaWFQbGF5ZXItPnJlcGFpbnQoKTsKIH0KQEAgLTE2Niw4ICsxNjYsOCBAQCB2b2lkIFdlYk1l
ZGlhUGxheWVyQ2xpZW50SW1wbDo6c2V0T3BhcXVlKGJvb2wgb3BhcXVlKQogewogI2lmIFVTRShB
Q0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICBtX29wYXF1ZSA9IG9wYXF1ZTsKLSAgICBpZiAo
bV92aWRlb0xheWVyKQotICAgICAgICBtX3ZpZGVvTGF5ZXItPnNldE9wYXF1ZShtX29wYXF1ZSk7
CisgICAgaWYgKCFtX3ZpZGVvTGF5ZXIuaXNOdWxsKCkpCisgICAgICAgIG1fdmlkZW9MYXllci5z
ZXRPcGFxdWUobV9vcGFxdWUpOwogI2VuZGlmCiB9CiAKQEAgLTMxNSw3ICszMTUsNyBAQCB2b2lk
IFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6Y2FuY2VsTG9hZCgpCiBQbGF0Zm9ybUxheWVyKiBX
ZWJNZWRpYVBsYXllckNsaWVudEltcGw6OnBsYXRmb3JtTGF5ZXIoKSBjb25zdAogewogICAgIEFT
U0VSVChtX3N1cHBvcnRzQWNjZWxlcmF0ZWRDb21wb3NpdGluZyk7Ci0gICAgcmV0dXJuIG1fdmlk
ZW9MYXllci5nZXQoKTsKKyAgICByZXR1cm4gbV92aWRlb0xheWVyLnVud3JhcDxWaWRlb0xheWVy
Q2hyb21pdW0+KCk7CiB9CiAjZW5kaWYKIApAQCAtNjUwLDEwICs2NTAsMTAgQEAgYm9vbCBXZWJN
ZWRpYVBsYXllckNsaWVudEltcGw6OnN1cHBvcnRzQWNjZWxlcmF0ZWRSZW5kZXJpbmcoKSBjb25z
dAogCiBib29sIFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6YWNjZWxlcmF0ZWRSZW5kZXJpbmdJ
blVzZSgpCiB7Ci0gICAgcmV0dXJuIG1fdmlkZW9MYXllciAmJiBtX3ZpZGVvTGF5ZXItPmxheWVy
VHJlZUhvc3QoKTsKKyAgICByZXR1cm4gIW1fdmlkZW9MYXllci5pc051bGwoKSAmJiBtX3ZpZGVv
TGF5ZXIuYWN0aXZlKCk7CiB9CiAKLXZvaWQgV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpzZXRW
aWRlb0ZyYW1lUHJvdmlkZXJDbGllbnQoVmlkZW9GcmFtZVByb3ZpZGVyOjpDbGllbnQqIGNsaWVu
dCkKK3ZvaWQgV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpzZXRWaWRlb0ZyYW1lUHJvdmlkZXJD
bGllbnQoV2ViVmlkZW9GcmFtZVByb3ZpZGVyOjpDbGllbnQqIGNsaWVudCkKIHsKICAgICBNdXRl
eExvY2tlciBsb2NrZXIobV9jb21wb3NpdGluZ011dGV4KTsKICAgICBtX3ZpZGVvRnJhbWVQcm92
aWRlckNsaWVudCA9IGNsaWVudDsKQEAgLTc2NCw3ICs3NjQsNiBAQCBXZWJNZWRpYVBsYXllckNs
aWVudEltcGw6OldlYk1lZGlhUGxheWVyQ2xpZW50SW1wbCgpCiAgICAgLCBtX2RlbGF5aW5nTG9h
ZChmYWxzZSkKICAgICAsIG1fcHJlbG9hZChNZWRpYVBsYXllcjo6TWV0YURhdGEpCiAjaWYgVVNF
KEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQotICAgICwgbV92aWRlb0xheWVyKDApCiAgICAgLCBt
X3N1cHBvcnRzQWNjZWxlcmF0ZWRDb21wb3NpdGluZyhmYWxzZSkKICAgICAsIG1fb3BhcXVlKGZh
bHNlKQogICAgICwgbV92aWRlb0ZyYW1lUHJvdmlkZXJDbGllbnQoMCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1wbC5oIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmgKaW5kZXgg
YmExNzMwZjVmNzhkNTBhMmQ5OGU2ZWU2ZjBhNjE5ZDRhNGVjMmQzMS4uN2FlMzJhNTkwNDJkMDFm
MjQxODc2YmFkYTc3NGRhMGFhYjJjNzY4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmgKQEAgLTM1LDExICszNSwxMSBA
QAogCiAjaW5jbHVkZSAiQXVkaW9Tb3VyY2VQcm92aWRlci5oIgogI2luY2x1ZGUgIk1lZGlhUGxh
eWVyUHJpdmF0ZS5oIgotI2luY2x1ZGUgIlZpZGVvRnJhbWVQcm92aWRlci5oIgotI2luY2x1ZGUg
IlZpZGVvTGF5ZXJDaHJvbWl1bS5oIgogI2luY2x1ZGUgIldlYkF1ZGlvU291cmNlUHJvdmlkZXJD
bGllbnQuaCIKICNpbmNsdWRlICJXZWJNZWRpYVBsYXllckNsaWVudC5oIgogI2luY2x1ZGUgIldl
YlN0cmVhbVRleHR1cmVDbGllbnQuaCIKKyNpbmNsdWRlIDxwdWJsaWMvV2ViVmlkZW9GcmFtZVBy
b3ZpZGVyLmg+CisjaW5jbHVkZSA8cHVibGljL1dlYlZpZGVvTGF5ZXIuaD4KICNpbmNsdWRlIDx3
dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIApAQCAtNTQsNyArNTQs
NyBAQCBjbGFzcyBXZWJNZWRpYVBsYXllcjsKIC8vIFdlYktpdDo6V2ViTWVkaWFQbGF5ZXIuCiBj
bGFzcyBXZWJNZWRpYVBsYXllckNsaWVudEltcGwgOiBwdWJsaWMgV2ViQ29yZTo6TWVkaWFQbGF5
ZXJQcml2YXRlSW50ZXJmYWNlCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgcHVibGljIFdlYkNvcmU6OlZpZGVvRnJhbWVQ
cm92aWRlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgcHVibGljIFdlYlZpZGVv
RnJhbWVQcm92aWRlcgogI2VuZGlmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCBw
dWJsaWMgV2ViTWVkaWFQbGF5ZXJDbGllbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAsIHB1YmxpYyBXZWJTdHJlYW1UZXh0dXJlQ2xpZW50IHsKQEAgLTE0Miw4ICsxNDIsOCBAQCBw
dWJsaWM6CiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIHZpcnR1YWwgYm9v
bCBzdXBwb3J0c0FjY2VsZXJhdGVkUmVuZGVyaW5nKCkgY29uc3Q7CiAKLSAgICAvLyBWaWRlb0Zy
YW1lUHJvdmlkZXIgbWV0aG9kczoKLSAgICB2aXJ0dWFsIHZvaWQgc2V0VmlkZW9GcmFtZVByb3Zp
ZGVyQ2xpZW50KFZpZGVvRnJhbWVQcm92aWRlcjo6Q2xpZW50Kik7CisgICAgLy8gV2ViVmlkZW9G
cmFtZVByb3ZpZGVyIG1ldGhvZHM6CisgICAgdmlydHVhbCB2b2lkIHNldFZpZGVvRnJhbWVQcm92
aWRlckNsaWVudChXZWJWaWRlb0ZyYW1lUHJvdmlkZXI6OkNsaWVudCopOwogICAgIHZpcnR1YWwg
V2ViVmlkZW9GcmFtZSogZ2V0Q3VycmVudEZyYW1lKCk7CiAgICAgdmlydHVhbCB2b2lkIHB1dEN1
cnJlbnRGcmFtZShXZWJWaWRlb0ZyYW1lKik7CiAjZW5kaWYKQEAgLTE4OSwxMCArMTg5LDEwIEBA
IHByaXZhdGU6CiAgICAgYm9vbCBtX2RlbGF5aW5nTG9hZDsKICAgICBXZWJDb3JlOjpNZWRpYVBs
YXllcjo6UHJlbG9hZCBtX3ByZWxvYWQ7CiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5H
KQotICAgIFJlZlB0cjxXZWJDb3JlOjpWaWRlb0xheWVyQ2hyb21pdW0+IG1fdmlkZW9MYXllcjsK
KyAgICBXZWJWaWRlb0xheWVyIG1fdmlkZW9MYXllcjsKICAgICBib29sIG1fc3VwcG9ydHNBY2Nl
bGVyYXRlZENvbXBvc2l0aW5nOwogICAgIGJvb2wgbV9vcGFxdWU7Ci0gICAgVmlkZW9GcmFtZVBy
b3ZpZGVyOjpDbGllbnQqIG1fdmlkZW9GcmFtZVByb3ZpZGVyQ2xpZW50OworICAgIFdlYlZpZGVv
RnJhbWVQcm92aWRlcjo6Q2xpZW50KiBtX3ZpZGVvRnJhbWVQcm92aWRlckNsaWVudDsKICNlbmRp
ZgogICAgIHN0YXRpYyBib29sIG1faXNFbmFibGVkOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJWaWRlb0xheWVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlZpZGVvTGF5ZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBmMzQyMTU1ZGFjZWVhYWE3ZDg2
NjY1MzdmNzAwM2FhMTkzMzA0MmQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJWaWRlb0xheWVyLmNwcApAQCAtMCwwICsxLDQ3IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQg
SVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAq
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9S
IElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
CisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlZpZGVvTGF5ZXJDaHJvbWl1bS5oIgorI2luY2x1
ZGUgPHB1YmxpYy9XZWJWaWRlb0xheWVyLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitXZWJW
aWRlb0xheWVyIFdlYlZpZGVvTGF5ZXI6OmNyZWF0ZShXZWJWaWRlb0ZyYW1lUHJvdmlkZXIqIHBy
b3ZpZGVyKQoreworICAgIHJldHVybiBXZWJWaWRlb0xheWVyKFdlYkNvcmU6OlZpZGVvTGF5ZXJD
aHJvbWl1bTo6Y3JlYXRlKHByb3ZpZGVyKSk7Cit9CisKK1dlYlZpZGVvTGF5ZXI6OldlYlZpZGVv
TGF5ZXIoUGFzc1JlZlB0cjxXZWJDb3JlOjpWaWRlb0xheWVyQ2hyb21pdW0+IGxheWVyKQorICAg
IDogV2ViTGF5ZXIobGF5ZXIpCit7Cit9CisKK2Jvb2wgV2ViVmlkZW9MYXllcjo6YWN0aXZlKCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gbV9wcml2YXRlLT5sYXllclRyZWVIb3N0KCk7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYktpdAo=
</data>
<flag name="review"
          id="142189"
          type_id="1"
          status="+"
          setter="enne"
    />
          </attachment>
      

    </bug>

</bugzilla>