<?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>96555</bug_id>
          
          <creation_ts>2012-09-12 13:57:46 -0700</creation_ts>
          <short_desc>[chromium] Add clearing of evicted textures from texture upload queues</short_desc>
          <delta_ts>2012-09-14 16:13:48 -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>WONTFIX</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>0</everconfirmed>
          <reporter name="Christopher Cameron">ccameron</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cc-bugs</cc>
    
    <cc>danakj</cc>
    
    <cc>enne</cc>
    
    <cc>epenner</cc>
    
    <cc>jamesr</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>718690</commentid>
    <comment_count>0</comment_count>
    <who name="Christopher Cameron">ccameron</who>
    <bug_when>2012-09-12 13:57:46 -0700</bug_when>
    <thetext>[chromium] Allow deletion of only some textures on the impl thread</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718693</commentid>
    <comment_count>1</comment_count>
      <attachid>163688</attachid>
    <who name="Christopher Cameron">ccameron</who>
    <bug_when>2012-09-12 14:01:18 -0700</bug_when>
    <thetext>Created attachment 163688
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718698</commentid>
    <comment_count>2</comment_count>
    <who name="Christopher Cameron">ccameron</who>
    <bug_when>2012-09-12 14:05:12 -0700</bug_when>
    <thetext>This is the final part of bug 95057.  

The attached patch adds removal of uploads to evicted resources from the texture upload queue and related tests.

Now you can, say, drop the texture budget of backgrounded tabs to 10MB by making the following adjustment:

    void CCThreadProxy::releaseContentsTexturesOnImplThread()
    {
        ASSERT(isImplThread());
        m_layerTreeHost-&gt;reduceContentsTexturesMemoryOnImplThread(
            10*1024*1024, 
            m_layerTreeHostImpl-&gt;resourceProvider());

Deciding the exact policy (and what signals to send to what and when) will go into a different bug.  For the moment, this just keeps the policy unchanged.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721191</commentid>
    <comment_count>3</comment_count>
    <who name="Christopher Cameron">ccameron</who>
    <bug_when>2012-09-14 15:28:33 -0700</bug_when>
    <thetext>Closing this as WONTFIX because the files for the fix are now under Chromium and not WebKit.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163688</attachid>
            <date>2012-09-12 14:01:18 -0700</date>
            <delta_ts>2012-09-14 16:13:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96555-20120912140052.patch</filename>
            <type>text/plain</type>
            <size>22706</size>
            <attacher name="Christopher Cameron">ccameron</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4MzUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTJjZWJjMzEzMDczMDVi
ZTkzOGIxNDMwYmMwNjI2OThlZDA4NmU0Ni4uZjI1NmQxNTU1ODk1N2ZiNjE1YjhmNTQ3ZWE0MmJm
YzFmOGE4MWQzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDEyLTA5LTEyICBDaHJp
c3RvcGhlciBDYW1lcm9uICA8Y2NhbWVyb25AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJv
bWl1bV0gQWxsb3cgZGVsZXRpb24gb2Ygb25seSBzb21lIHRleHR1cmVzIG9uIHRoZSBpbXBsIHRo
cmVhZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTY1
NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBbGxv
dyBkZWxldGlvbiBvZiBzb21lIChhcyBvcHBvc2VkIHRvIGFsbCkgdGV4dHVyZXMgb24gdGhlIGlt
cGwgdGhyZWFkLgorCisgICAgICAgIFRyYWNrIHdoZXRoZXIgbm90IGEgQ0NQcmlvcml0aXplZFRl
eHR1cmU6OkJhY2tpbmcgaGFzIGJlZW4gZXZpY3RlZC4KKworICAgICAgICBQdXJnZSB0ZXh0dXJl
IHVwbG9hZCBxdWV1ZXMgb2YgZXZpY3RlZCBiYWNraW5ncyBpbnN0ZWFkIG9mIGNsZWFyaW5nCisg
ICAgICAgIHRoZSBlbnRpcmUgcXVldWUuCisKKyAgICAgICAgQWRkZWQgQ0NUZXh0dXJlVXBkYXRl
Q29udHJvbGxlclRlc3QuQ2xlYXJVcGxvYWRzVG9FdmljdGVkUmVzb3VyY2VzIHRvCisgICAgICAg
IHRlc3QgdGhlIG5ldyBldmljdGlvbiBsb2dpYy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0xheWVyVGV4dHVyZVVwZGF0ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6Okxh
eWVyVGV4dHVyZVVwZGF0ZXI6OlRleHR1cmU6OmJhY2tpbmdSZXNvdXJjZVdhc0V2aWN0ZWQpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3Q6OmV2aWN0ZWRDb250ZW50c1Rl
eHR1cmVzQmFja2luZ3NFeGlzdCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuaDoKKyAgICAgICAgKEND
TGF5ZXJUcmVlSG9zdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NQcmlvcml0aXplZFRleHR1cmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NQcmlvcml0aXpl
ZFRleHR1cmU6OkJhY2tpbmc6OkJhY2tpbmcpOgorICAgICAgICAoV2ViQ29yZTo6Q0NQcmlvcml0
aXplZFRleHR1cmU6OkJhY2tpbmc6On5CYWNraW5nKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6Q0NQcmlvcml0aXplZFRleHR1cmU6OkJhY2tpbmc6OmRlbGV0ZVJlc291
cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDUHJpb3JpdGl6ZWRUZXh0dXJlOjpCYWNraW5nOjpy
ZXNvdXJjZUhhc0JlZW5EZWxldGVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ1ByaW9yaXRpemVkVGV4dHVyZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q0NQcmlv
cml0aXplZFRleHR1cmU6OmJhY2tpbmdSZXNvdXJjZVdhc0V2aWN0ZWQpOgorICAgICAgICAoQ0NQ
cmlvcml0aXplZFRleHR1cmUpOgorICAgICAgICAoQmFja2luZyk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NQcmlvcml0aXplZFRleHR1cmVNYW5hZ2VyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNDUHJpb3JpdGl6ZWRUZXh0dXJlTWFuYWdlcjo6cmVkdWNlTWVt
b3J5T25JbXBsVGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OkNDUHJpb3JpdGl6ZWRUZXh0dXJl
TWFuYWdlcjo6ZXZpY3RCYWNraW5nUmVzb3VyY2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDUHJpb3JpdGl6ZWRUZXh0dXJlTWFuYWdlci5oOgorICAgICAgICAo
V2ViQ29yZTo6Q0NQcmlvcml0aXplZFRleHR1cmVNYW5hZ2VyOjpldmljdGVkQmFja2luZ3NFeGlz
dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUZXh0dXJlVXBk
YXRlQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ1RleHR1cmVVcGRhdGVDb250
cm9sbGVyOjpkaXNjYXJkVXBsb2Fkc1RvRXZpY3RlZFJlc291cmNlcyk6CisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RleHR1cmVV
cGRhdGVDb250cm9sbGVyLmg6CisgICAgICAgIChDQ1RleHR1cmVVcGRhdGVDb250cm9sbGVyKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RleHR1cmVVcGRhdGVR
dWV1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ1RleHR1cmVVcGRhdGVRdWV1ZTo6Y2xlYXJV
cGxvYWRzVG9FdmljdGVkUmVzb3VyY2VzKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGV4dHVyZVVwZGF0ZVF1ZXVlLmg6Cisg
ICAgICAgIChDQ1RleHR1cmVVcGRhdGVRdWV1ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ1Ro
cmVhZFByb3h5OjpyZWxlYXNlQ29udGVudHNUZXh0dXJlc09uSW1wbFRocmVhZCk6CisgICAgICAg
IChXZWJDb3JlOjpDQ1RocmVhZFByb3h5OjpiZWdpbkZyYW1lQ29tcGxldGVPbkltcGxUaHJlYWQp
OgorCiAyMDEyLTA5LTEyICBDaHJpc3RvcGhlIER1bWV6ICA8Y2hyaXN0b3BoZS5kdW1lekBpbnRl
bC5jb20+CiAKICAgICAgICAgW0VGTF0gQ29tcGlsYXRpb24gZXJyb3IgaW4gUmVuZGVyVGhlbWVF
ZmwuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDIzZDQ4YTQ2OTU3YWRmNjBmY2M1
MTljZjM5MTJhMjA5NjNjOGVjNDMuLjdlOTkxNGQwZWVmNDg1ZTlmMzYzNTQ1MDllNTE0MTc0ZDk0
NGU5YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTIt
MDktMTIgIENocmlzdG9waGVyIENhbWVyb24gIDxjY2FtZXJvbkBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgW2Nocm9taXVtXSBBbGxvdyBkZWxldGlvbiBvZiBvbmx5IHNvbWUgdGV4dHVyZXMgb24g
dGhlIGltcGwgdGhyZWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD05NjU1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFsbG93IGRlbGV0aW9uIG9mIHNvbWUgKGFzIG9wcG9zZWQgdG8gYWxsKSB0ZXh0dXJl
cyBvbiB0aGUgaW1wbCB0aHJlYWQuCisKKyAgICAgICAgVHJhY2sgd2hldGhlciBub3QgYSBDQ1By
aW9yaXRpemVkVGV4dHVyZTo6QmFja2luZyBoYXMgYmVlbiBldmljdGVkLgorCisgICAgICAgIFB1
cmdlIHRleHR1cmUgdXBsb2FkIHF1ZXVlcyBvZiBldmljdGVkIGJhY2tpbmdzIGluc3RlYWQgb2Yg
Y2xlYXJpbmcKKyAgICAgICAgdGhlIGVudGlyZSBxdWV1ZS4KKworICAgICAgICBBZGRlZCBDQ1Rl
eHR1cmVVcGRhdGVDb250cm9sbGVyVGVzdC5DbGVhclVwbG9hZHNUb0V2aWN0ZWRSZXNvdXJjZXMg
dG8KKyAgICAgICAgdGVzdCB0aGUgbmV3IGV2aWN0aW9uIGxvZ2ljLgorCisgICAgICAgICogdGVz
dHMvQ0NUZXh0dXJlVXBkYXRlQ29udHJvbGxlclRlc3QuY3BwOgorCiAyMDEyLTA5LTEyICBTYW1p
IEt5b3N0aWxhICA8c2t5b3N0aWxAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZW5hbWUgT1ZFUkZM
T1dfU0NST0xMSU5HIGFzIEFDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJUZXh0dXJl
VXBkYXRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5
ZXJUZXh0dXJlVXBkYXRlci5oCmluZGV4IDFhZDYxYzhkOGNhNDY1M2MxZjIwYjhjZWU0MjYyYzc3
MWU0YmUyMWMuLmY1MmM0NGIwOTY4MGY1YjMzMzY5YTBiYWQwYTdiYzBmMzNmMGI0OWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyVGV4
dHVyZVVwZGF0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9MYXllclRleHR1cmVVcGRhdGVyLmgKQEAgLTUxLDYgKzUxLDcgQEAgcHVibGljOgogICAg
ICAgICB2b2lkIHN3YXBUZXh0dXJlV2l0aChPd25QdHI8Q0NQcmlvcml0aXplZFRleHR1cmU+JiB0
ZXh0dXJlKSB7IG1fdGV4dHVyZS5zd2FwKHRleHR1cmUpOyB9CiAgICAgICAgIHZpcnR1YWwgdm9p
ZCBwcmVwYXJlUmVjdChjb25zdCBJbnRSZWN0JiAvKiBzb3VyY2VSZWN0ICovLCBDQ1JlbmRlcmlu
Z1N0YXRzJikgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVSZWN0KENDUmVzb3VyY2VQ
cm92aWRlciosIGNvbnN0IEludFJlY3QmIHNvdXJjZVJlY3QsIGNvbnN0IEludFNpemUmIGRlc3RP
ZmZzZXQpID0gMDsKKyAgICAgICAgdmlydHVhbCBib29sIGJhY2tpbmdSZXNvdXJjZVdhc0V2aWN0
ZWQoKSBjb25zdCB7IHJldHVybiBtX3RleHR1cmUtPmJhY2tpbmdSZXNvdXJjZVdhc0V2aWN0ZWQo
KTsgfQogICAgIHByb3RlY3RlZDoKICAgICAgICAgZXhwbGljaXQgVGV4dHVyZShQYXNzT3duUHRy
PENDUHJpb3JpdGl6ZWRUZXh0dXJlPiB0ZXh0dXJlKSA6IG1fdGV4dHVyZSh0ZXh0dXJlKSB7IH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NMYXllclRyZWVIb3N0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdC5jcHAKaW5kZXggOWZlZDQ3OWY3ZDU5NjE1NzE3
MmU0MjVmZTMzMzZhODFlODllNjZmNy4uZTc1YzhiZjBiYTAwZmJkODdhM2MxYzk2YmI0YjRkZWY5
OWYxNTdmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuY3BwCkBAIC00MjEsNiArNDIx
LDEzIEBAIHZvaWQgQ0NMYXllclRyZWVIb3N0OjpyZWR1Y2VDb250ZW50c1RleHR1cmVzTWVtb3J5
T25JbXBsVGhyZWFkKHNpemVfdCBsaW1pdEJ5dGVzCiAgICAgbV9jb250ZW50c1RleHR1cmVNYW5h
Z2VyLT5yZWR1Y2VNZW1vcnlPbkltcGxUaHJlYWQobGltaXRCeXRlcywgcmVzb3VyY2VQcm92aWRl
cik7CiB9CiAKK2Jvb2wgQ0NMYXllclRyZWVIb3N0OjpldmljdGVkQ29udGVudHNUZXh0dXJlc0Jh
Y2tpbmdzRXhpc3QoKSBjb25zdAoreworICAgIEFTU0VSVChDQ1Byb3h5Ojppc0ltcGxUaHJlYWQo
KSk7CisgICAgQVNTRVJUKG1fY29udGVudHNUZXh0dXJlTWFuYWdlci5nZXQoKSk7CisgICAgcmV0
dXJuIG1fY29udGVudHNUZXh0dXJlTWFuYWdlci0+ZXZpY3RlZEJhY2tpbmdzRXhpc3QoKTsKK30K
Kwogdm9pZCBDQ0xheWVyVHJlZUhvc3Q6OmdldEV2aWN0ZWRDb250ZW50VGV4dHVyZXNCYWNraW5n
cyhDQ1ByaW9yaXRpemVkVGV4dHVyZU1hbmFnZXI6OkJhY2tpbmdWZWN0b3ImIGV2aWN0ZWRCYWNr
aW5ncykKIHsKICAgICBBU1NFUlQoQ0NQcm94eTo6aXNJbXBsVGhyZWFkKCkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRy
ZWVIb3N0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q0xheWVyVHJlZUhvc3QuaAppbmRleCA5YmExZmMyMDYyMWYyMmMxYzk2Njc3NDRlNGEwMGNlZmMy
NDMyYjEzLi5mMDhkMjBjNWNhOTNiZTY2ODlmMjk0MmE4ODZkZTkzYjU2ODJmMTY5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVy
VHJlZUhvc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ0xheWVyVHJlZUhvc3QuaApAQCAtMjE0LDYgKzIxNCw4IEBAIHB1YmxpYzoKICAgICAv
LyBEZWxldGUgY29udGVudHMgdGV4dHVyZXMnIGJhY2tpbmcgcmVzb3VyY2VzIHVudGlsIHRoZXkg
dXNlIG9ubHkgYnl0ZXNMaW1pdCBieXRlcy4gVGhpcyBtYXkKICAgICAvLyBiZSBjYWxsZWQgb24g
dGhlIGltcGwgdGhyZWFkIHdoaWxlIHRoZSBtYWluIHRocmVhZCBpcyBydW5uaW5nLgogICAgIHZv
aWQgcmVkdWNlQ29udGVudHNUZXh0dXJlc01lbW9yeU9uSW1wbFRocmVhZChzaXplX3QgYnl0ZXNM
aW1pdCwgQ0NSZXNvdXJjZVByb3ZpZGVyKik7CisgICAgLy8gUmV0dXJucyB0cnVlIGlmIHRoZXJl
IGFueSBldmljdGVkIGJhY2tpbmcgdGV4dHVyZXMgdGhhdCBoYXZlIG5vdCBiZWVuIGRlbGV0ZWQu
CisgICAgYm9vbCBldmljdGVkQ29udGVudHNUZXh0dXJlc0JhY2tpbmdzRXhpc3QoKSBjb25zdDsK
ICAgICAvLyBSZXRyaWV2ZSB0aGUgbGlzdCBvZiBhbGwgY29udGVudHMgdGV4dHVyZXMnIGJhY2tp
bmdzIHRoYXQgaGF2ZSBiZWVuIGV2aWN0ZWQsIHRvIHBhc3MgdG8gdGhlCiAgICAgLy8gbWFpbiB0
aHJlYWQgdG8gdW5saW5rIHRoZW0gZnJvbSB0aGVpciBvd25pbmcgdGV4dHVyZXMuCiAgICAgdm9p
ZCBnZXRFdmljdGVkQ29udGVudFRleHR1cmVzQmFja2luZ3MoQ0NQcmlvcml0aXplZFRleHR1cmVN
YW5hZ2VyOjpCYWNraW5nVmVjdG9yJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1ByaW9yaXRpemVkVGV4dHVyZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1ByaW9yaXRpemVkVGV4
dHVyZS5jcHAKaW5kZXggZDk4YWJhNjE1YWQxODY3MmIxMDZmOTk1NjcwNGFhYTA0ZDc5MDViNS4u
NjI3NDQ1Y2RiNTUxMzA1ODk1NzQyOTE2MTI0MTFjNDRjZGMzMzM4MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NQcmlvcml0aXplZFRl
eHR1cmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDUHJpb3JpdGl6ZWRUZXh0dXJlLmNwcApAQCAtMTQ2LDEyICsxNDYsMzAgQEAgQ0NQcmlv
cml0aXplZFRleHR1cmU6OkJhY2tpbmc6OkJhY2tpbmcodW5zaWduZWQgaWQsIEludFNpemUgc2l6
ZSwgR0MzRGVudW0gZm9ybWEKICAgICAsIG1fcHJpb3JpdHlBdExhc3RQcmlvcml0eVVwZGF0ZShD
Q1ByaW9yaXR5Q2FsY3VsYXRvcjo6bG93ZXN0UHJpb3JpdHkoKSkKICAgICAsIG1fb3duZXJFeGlz
dGVkQXRMYXN0UHJpb3JpdHlVcGRhdGUoZmFsc2UpCiAgICAgLCBtX3dhc0Fib3ZlUHJpb3JpdHlD
dXRvZmZBdExhc3RQcmlvcml0eVVwZGF0ZShmYWxzZSkKKyAgICAsIG1fcmVzb3VyY2VIYXNCZWVu
RGVsZXRlZChmYWxzZSkKIHsKIH0KIAogQ0NQcmlvcml0aXplZFRleHR1cmU6OkJhY2tpbmc6On5C
YWNraW5nKCkKIHsKICAgICBBU1NFUlQoIW1fb3duZXIpOworICAgIEFTU0VSVChtX3Jlc291cmNl
SGFzQmVlbkRlbGV0ZWQpOworfQorCit2b2lkIENDUHJpb3JpdGl6ZWRUZXh0dXJlOjpCYWNraW5n
OjpkZWxldGVSZXNvdXJjZShDQ1Jlc291cmNlUHJvdmlkZXIqIHJlc291cmNlUHJvdmlkZXIpCit7
CisgICAgQVNTRVJUKENDUHJveHk6OmlzSW1wbFRocmVhZCgpKTsKKyAgICBBU1NFUlQoIW1fcmVz
b3VyY2VIYXNCZWVuRGVsZXRlZCk7CisKKyAgICByZXNvdXJjZVByb3ZpZGVyLT5kZWxldGVSZXNv
dXJjZShpZCgpKTsKKyAgICBzZXRJZCgwKTsKKyAgICBtX3Jlc291cmNlSGFzQmVlbkRlbGV0ZWQg
PSB0cnVlOworfQorCitib29sIENDUHJpb3JpdGl6ZWRUZXh0dXJlOjpCYWNraW5nOjpyZXNvdXJj
ZUhhc0JlZW5EZWxldGVkKCkgY29uc3QKK3sKKyAgICBBU1NFUlQoQ0NQcm94eTo6aXNJbXBsVGhy
ZWFkKCkpOworICAgIHJldHVybiBtX3Jlc291cmNlSGFzQmVlbkRlbGV0ZWQ7CiB9CiAKIHZvaWQg
Q0NQcmlvcml0aXplZFRleHR1cmU6OkJhY2tpbmc6OnVwZGF0ZVByaW9yaXR5KCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUHJpb3Jp
dGl6ZWRUZXh0dXJlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1ByaW9yaXRpemVkVGV4dHVyZS5oCmluZGV4IDUyNjQ1MTg5OWQwZmI4ZWU4ODY3ODYx
NWI3MTg1OTgwZDdiYWEzYmMuLjU1NzQ3OTQ1N2I4NzRjYmQzNTgxMWE2ZDBlMjUxZmUxMWRmMWIw
MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDUHJpb3JpdGl6ZWRUZXh0dXJlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NQcmlvcml0aXplZFRleHR1cmUuaApAQCAtNzIsNiArNzIs
OCBAQCBwdWJsaWM6CiAgICAgLy8gdGFrZW4gYXdheSAic29vbiIuCiAgICAgYm9vbCBoYXZlQmFj
a2luZ1RleHR1cmUoKSBjb25zdCB7IHJldHVybiAhIWJhY2tpbmcoKTsgfQogCisgICAgYm9vbCBi
YWNraW5nUmVzb3VyY2VXYXNFdmljdGVkKCkgY29uc3QgeyByZXR1cm4gbV9iYWNraW5nID8gbV9i
YWNraW5nLT5yZXNvdXJjZUhhc0JlZW5EZWxldGVkKCkgOiBmYWxzZTsgfQorCiAgICAgLy8gSWYg
Y2FuQWNxdWlyZUJhY2tpbmdUZXh0dXJlKCkgaXMgdHJ1ZSBhY3F1aXJlQmFja2luZ1RleHR1cmUo
KSB3aWxsIGFjcXVpcmUKICAgICAvLyBhIGJhY2tpbmcgdGV4dHVyZSBmb3IgdXNlLiBDYWxsIHRo
aXMgd2hlbmV2ZXIgdGhlIHRleHR1cmUgaXMgYWN0dWFsbHkgbmVlZGVkLgogICAgIHZvaWQgYWNx
dWlyZUJhY2tpbmdUZXh0dXJlKENDUmVzb3VyY2VQcm92aWRlciopOwpAQCAtMTE0LDEyICsxMTYs
MTYgQEAgcHJpdmF0ZToKICAgICAgICAgYm9vbCByZXF1ZXN0UHJpb3JpdHlBdExhc3RQcmlvcml0
eVVwZGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJpb3JpdHlBdExhc3RQcmlvcml0eVVwZGF0ZTsg
fQogICAgICAgICBib29sIHdhc0Fib3ZlUHJpb3JpdHlDdXRvZmZBdExhc3RQcmlvcml0eVVwZGF0
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fd2FzQWJvdmVQcmlvcml0eUN1dG9mZkF0TGFzdFByaW9yaXR5
VXBkYXRlOyB9CiAKKyAgICAgICAgdm9pZCBkZWxldGVSZXNvdXJjZShDQ1Jlc291cmNlUHJvdmlk
ZXIqKTsKKyAgICAgICAgYm9vbCByZXNvdXJjZUhhc0JlZW5EZWxldGVkKCkgY29uc3Q7CisKICAg
ICBwcml2YXRlOgogICAgICAgICBmcmllbmQgY2xhc3MgQ0NQcmlvcml0aXplZFRleHR1cmU7CiAg
ICAgICAgIENDUHJpb3JpdGl6ZWRUZXh0dXJlKiBtX293bmVyOwogICAgICAgICBpbnQgbV9wcmlv
cml0eUF0TGFzdFByaW9yaXR5VXBkYXRlOwogICAgICAgICBib29sIG1fb3duZXJFeGlzdGVkQXRM
YXN0UHJpb3JpdHlVcGRhdGU7CiAgICAgICAgIGJvb2wgbV93YXNBYm92ZVByaW9yaXR5Q3V0b2Zm
QXRMYXN0UHJpb3JpdHlVcGRhdGU7CisgICAgICAgIGJvb2wgbV9yZXNvdXJjZUhhc0JlZW5EZWxl
dGVkOwogICAgIH07CiAKICAgICBDQ1ByaW9yaXRpemVkVGV4dHVyZShDQ1ByaW9yaXRpemVkVGV4
dHVyZU1hbmFnZXIqLCBJbnRTaXplLCBHQzNEZW51bSBmb3JtYXQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NQcmlvcml0aXplZFRl
eHR1cmVNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDUHJpb3JpdGl6ZWRUZXh0dXJlTWFuYWdlci5jcHAKaW5kZXggY2E2NWJhOWUxOTc0
NDQ5NTBiOTk5ZTdmYzI4N2U1ODJlMWE2NWY0YS4uZDJiM2MxMzY5NTFmNDMwOWUwMTBlZWIyMTJh
MjAwNGJmMzVlYzU3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NQcmlvcml0aXplZFRleHR1cmVNYW5hZ2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1ByaW9yaXRpemVkVGV4
dHVyZU1hbmFnZXIuY3BwCkBAIC0yODUsMTEgKzI4NSw2IEBAIHZvaWQgQ0NQcmlvcml0aXplZFRl
eHR1cmVNYW5hZ2VyOjpyZWR1Y2VNZW1vcnlPbkltcGxUaHJlYWQoc2l6ZV90IGxpbWl0Qnl0ZXMs
IENDCiAgICAgQVNTRVJUKHJlc291cmNlUHJvdmlkZXIpOwogCiAgICAgZXZpY3RCYWNraW5nc1Rv
UmVkdWNlTWVtb3J5KGxpbWl0Qnl0ZXMsIERvTm90UmVzcGVjdE1hbmFnZXJQcmlvcml0eUN1dG9m
ZiwgcmVzb3VyY2VQcm92aWRlcik7Ci0KLSAgICAvLyBEZWxldGluZyBqdXN0IHNvbWUgKG5vdCBh
bGwpIHJlc291cmNlcyBpcyBub3Qgc3VwcG9ydGVkIHlldCBiZWNhdXNlIHdlIGRvIG5vdCBjbGVh
cgotICAgIC8vIG9ubHkgdGhlIGRlbGV0ZWQgcmVzb3VyY2VzIGZyb20gdGhlIHRleHR1cmUgdXBs
b2FkIHF1ZXVlcyAocmF0aGVyLCB3ZSBjbGVhciBhbGwgdXBsb2FkcykuCi0gICAgLy8gTWFrZSBz
dXJlIHRoYXQgaWYgd2UgZXZpY3QgYWxsIHJlc291cmNlcy4KLSAgICBBU1NFUlQobV9iYWNraW5n
cy5pc0VtcHR5KCkpOwogfQogCiB2b2lkIENDUHJpb3JpdGl6ZWRUZXh0dXJlTWFuYWdlcjo6Z2V0
RXZpY3RlZEJhY2tpbmdzKEJhY2tpbmdWZWN0b3ImIGV2aWN0ZWRCYWNraW5ncykKQEAgLTM3OCw4
ICszNzMsNyBAQCB2b2lkIENDUHJpb3JpdGl6ZWRUZXh0dXJlTWFuYWdlcjo6ZXZpY3RCYWNraW5n
UmVzb3VyY2UoQ0NQcmlvcml0aXplZFRleHR1cmU6OkJhYwogICAgIEFTU0VSVChyZXNvdXJjZVBy
b3ZpZGVyKTsKICAgICBBU1NFUlQobV9iYWNraW5ncy5maW5kKGJhY2tpbmcpICE9IG1fYmFja2lu
Z3MuZW5kKCkpOwogCi0gICAgcmVzb3VyY2VQcm92aWRlci0+ZGVsZXRlUmVzb3VyY2UoYmFja2lu
Zy0+aWQoKSk7Ci0gICAgYmFja2luZy0+c2V0SWQoMCk7CisgICAgYmFja2luZy0+ZGVsZXRlUmVz
b3VyY2UocmVzb3VyY2VQcm92aWRlcik7CiAgICAgbV9tZW1vcnlVc2VCeXRlcyAtPSBiYWNraW5n
LT5ieXRlcygpOwogICAgIG1fYmFja2luZ3MucmVtb3ZlKGJhY2tpbmcpOwogICAgIG1fZXZpY3Rl
ZEJhY2tpbmdzLmFwcGVuZChiYWNraW5nKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUHJpb3JpdGl6ZWRUZXh0dXJlTWFuYWdlci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NQcmlvcml0
aXplZFRleHR1cmVNYW5hZ2VyLmgKaW5kZXggYmJjMGM3ZDEwNWFkODA0YjU5MGNlZjMzNDA3NTU2
ZDRmNTdhMmM3NS4uODYxYzQzMTcwYzJhNjhjMDBlMjM4NjQ2OTk5ZmE0ZTYxY2FjMWM5YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NQ
cmlvcml0aXplZFRleHR1cmVNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NQcmlvcml0aXplZFRleHR1cmVNYW5hZ2VyLmgKQEAgLTc3
LDYgKzc3LDcgQEAgcHVibGljOgogICAgIHZvaWQgY2xlYXJQcmlvcml0aWVzKCk7CiAKICAgICB2
b2lkIHJlZHVjZU1lbW9yeU9uSW1wbFRocmVhZChzaXplX3QgbGltaXRCeXRlcywgQ0NSZXNvdXJj
ZVByb3ZpZGVyKik7CisgICAgYm9vbCBldmljdGVkQmFja2luZ3NFeGlzdCgpIGNvbnN0IHsgcmV0
dXJuICFtX2V2aWN0ZWRCYWNraW5ncy5pc0VtcHR5KCk7IH0KICAgICB2b2lkIGdldEV2aWN0ZWRC
YWNraW5ncyhCYWNraW5nVmVjdG9yJiBldmljdGVkQmFja2luZ3MpOwogICAgIHZvaWQgdW5saW5r
RXZpY3RlZEJhY2tpbmdzKGNvbnN0IEJhY2tpbmdWZWN0b3ImIGV2aWN0ZWRCYWNraW5ncyk7CiAg
ICAgLy8gRGVsZXRlcyBhbGwgZXZpY3RlZCBiYWNraW5ncywgdW5saW5raW5nIHRoZW0gZnJvbSB0
aGVpciBvd25pbmcgdGV4dHVyZXMgaWYgbmVlZGVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUZXh0dXJlVXBkYXRlQ29udHJvbGxl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Rl
eHR1cmVVcGRhdGVDb250cm9sbGVyLmNwcAppbmRleCA2ZmM3NzFlOTU5MDVlZTNjODdlNjFiMDFm
Njg2NjNiMmY5MDYwMWM3Li41MGMyN2U0Nzg0NjJjZTNmYzQxNTAwOTBjYTc3MDQ0ZDE1MTgxZGQ4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ1RleHR1cmVVcGRhdGVDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RleHR1cmVVcGRhdGVDb250cm9sbGVyLmNwcApA
QCAtMTUwLDYgKzE1MCwxMSBAQCB2b2lkIENDVGV4dHVyZVVwZGF0ZUNvbnRyb2xsZXI6OnVwZGF0
ZU1vcmVUZXh0dXJlcyhkb3VibGUgbW9ub3RvbmljVGltZUxpbWl0KQogICAgICAgICB1cGRhdGVN
b3JlVGV4dHVyZXNOb3coKTsKIH0KIAordm9pZCBDQ1RleHR1cmVVcGRhdGVDb250cm9sbGVyOjpk
aXNjYXJkVXBsb2Fkc1RvRXZpY3RlZFJlc291cmNlcygpCit7CisgICAgbV9xdWV1ZS0+Y2xlYXJV
cGxvYWRzVG9FdmljdGVkUmVzb3VyY2VzKCk7Cit9CisKIHZvaWQgQ0NUZXh0dXJlVXBkYXRlQ29u
dHJvbGxlcjo6b25UaW1lckZpcmVkKCkKIHsKICAgICBpZiAoIW1fcXVldWUtPmhhc01vcmVVcGRh
dGVzKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ1RleHR1cmVVcGRhdGVDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RleHR1cmVVcGRhdGVDb250cm9sbGVyLmgKaW5k
ZXggZGQ3NThiZWI0ZDlmY2Q4NjZlMThjODQ3Y2NkMGFmMjg5YmE5NWJkMS4uN2RkODIyMTY2OWEy
OTBlYTViODZhMWM3MWY1Y2Y2NTBkNWE2OWI3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUZXh0dXJlVXBkYXRlQ29udHJvbGxlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGV4
dHVyZVVwZGF0ZUNvbnRyb2xsZXIuaApAQCAtNDgsNiArNDgsOSBAQCBwdWJsaWM6CiAKICAgICB2
aXJ0dWFsIH5DQ1RleHR1cmVVcGRhdGVDb250cm9sbGVyKCk7CiAKKyAgICAvLyBEaXNjYXJkIHVw
bG9hZHMgdG8gdGV4dHVyZXMgdGhhdCB3ZXJlIGV2aWN0ZWQgb24gdGhlIGltcGwgdGhyZWFkLgor
ICAgIHZvaWQgZGlzY2FyZFVwbG9hZHNUb0V2aWN0ZWRSZXNvdXJjZXMoKTsKKwogICAgIGJvb2wg
aGFzTW9yZVVwZGF0ZXMoKSBjb25zdDsKICAgICB2b2lkIHVwZGF0ZU1vcmVUZXh0dXJlcyhkb3Vi
bGUgbW9ub3RvbmljVGltZUxpbWl0KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUZXh0dXJlVXBkYXRlUXVldWUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUZXh0dXJlVXBkYXRl
UXVldWUuY3BwCmluZGV4IDhmNThmY2JjYjRjYmEyNGYzNGE1YWFkNDdlZDdjOTQ2MDc0M2MxYTgu
LmJiNDI0MGY1YjdiNGRjMmIxY2RiY2JlMjk5NjdkMDA2NDY1NjQ3M2EgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGV4dHVyZVVwZGF0
ZVF1ZXVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1RleHR1cmVVcGRhdGVRdWV1ZS5jcHAKQEAgLTU0LDEwICs1NCwyMSBAQCB2b2lkIEND
VGV4dHVyZVVwZGF0ZVF1ZXVlOjphcHBlbmRDb3B5KFRleHR1cmVDb3BpZXI6OlBhcmFtZXRlcnMg
Y29weSkKICAgICBtX2NvcHlFbnRyaWVzLmFwcGVuZChjb3B5KTsKIH0KIAotdm9pZCBDQ1RleHR1
cmVVcGRhdGVRdWV1ZTo6Y2xlYXJVcGxvYWRzKCkKK3ZvaWQgQ0NUZXh0dXJlVXBkYXRlUXVldWU6
OmNsZWFyVXBsb2Fkc1RvRXZpY3RlZFJlc291cmNlcygpCiB7Ci0gICAgbV9mdWxsRW50cmllcy5j
bGVhcigpOwotICAgIG1fcGFydGlhbEVudHJpZXMuY2xlYXIoKTsKKyAgICBjbGVhclVwbG9hZHNU
b0V2aWN0ZWRSZXNvdXJjZXMobV9mdWxsRW50cmllcyk7CisgICAgY2xlYXJVcGxvYWRzVG9Fdmlj
dGVkUmVzb3VyY2VzKG1fcGFydGlhbEVudHJpZXMpOworfQorCit2b2lkIENDVGV4dHVyZVVwZGF0
ZVF1ZXVlOjpjbGVhclVwbG9hZHNUb0V2aWN0ZWRSZXNvdXJjZXMoRGVxdWU8VGV4dHVyZVVwbG9h
ZGVyOjpQYXJhbWV0ZXJzPiYgZW50cnlRdWV1ZSkKK3sKKyAgICBEZXF1ZTxUZXh0dXJlVXBsb2Fk
ZXI6OlBhcmFtZXRlcnM+IHRlbXA7CisgICAgZW50cnlRdWV1ZS5zd2FwKHRlbXApOworICAgIHdo
aWxlICh0ZW1wLnNpemUoKSkgeworICAgICAgICBUZXh0dXJlVXBsb2FkZXI6OlBhcmFtZXRlcnMg
dXBsb2FkID0gdGVtcC50YWtlRmlyc3QoKTsKKyAgICAgICAgaWYgKCF1cGxvYWQudGV4dHVyZS0+
YmFja2luZ1Jlc291cmNlV2FzRXZpY3RlZCgpKQorICAgICAgICAgICAgZW50cnlRdWV1ZS5hcHBl
bmQodXBsb2FkKTsKKyAgICB9CiB9CiAKIFRleHR1cmVVcGxvYWRlcjo6UGFyYW1ldGVycyBDQ1Rl
eHR1cmVVcGRhdGVRdWV1ZTo6dGFrZUZpcnN0RnVsbFVwbG9hZCgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RleHR1cmVVcGRhdGVR
dWV1ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NU
ZXh0dXJlVXBkYXRlUXVldWUuaAppbmRleCBkZTYzNzM4MjFmMDhhODQ1NGFlNjQ4NWI2YWYzNzQ4
M2M3ODA1ZWU2Li5mZDkyNTM0OWM4Y2UyMmEyNmRhNTA5MTdmZWEyN2RiYWVkZGJmYzZhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Rl
eHR1cmVVcGRhdGVRdWV1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDVGV4dHVyZVVwZGF0ZVF1ZXVlLmgKQEAgLTQzLDcgKzQzLDcgQEAgcHVi
bGljOgogICAgIHZvaWQgYXBwZW5kUGFydGlhbFVwbG9hZChUZXh0dXJlVXBsb2FkZXI6OlBhcmFt
ZXRlcnMpOwogICAgIHZvaWQgYXBwZW5kQ29weShUZXh0dXJlQ29waWVyOjpQYXJhbWV0ZXJzKTsK
IAotICAgIHZvaWQgY2xlYXJVcGxvYWRzKCk7CisgICAgdm9pZCBjbGVhclVwbG9hZHNUb0V2aWN0
ZWRSZXNvdXJjZXMoKTsKIAogICAgIFRleHR1cmVVcGxvYWRlcjo6UGFyYW1ldGVycyB0YWtlRmly
c3RGdWxsVXBsb2FkKCk7CiAgICAgVGV4dHVyZVVwbG9hZGVyOjpQYXJhbWV0ZXJzIHRha2VGaXJz
dFBhcnRpYWxVcGxvYWQoKTsKQEAgLTU2LDYgKzU2LDcgQEAgcHVibGljOgogICAgIGJvb2wgaGFz
TW9yZVVwZGF0ZXMoKSBjb25zdDsKIAogcHJpdmF0ZToKKyAgICB2b2lkIGNsZWFyVXBsb2Fkc1Rv
RXZpY3RlZFJlc291cmNlcyhEZXF1ZTxUZXh0dXJlVXBsb2FkZXI6OlBhcmFtZXRlcnM+JiBlbnRy
eVF1ZXVlKTsKICAgICBEZXF1ZTxUZXh0dXJlVXBsb2FkZXI6OlBhcmFtZXRlcnM+IG1fZnVsbEVu
dHJpZXM7CiAgICAgRGVxdWU8VGV4dHVyZVVwbG9hZGVyOjpQYXJhbWV0ZXJzPiBtX3BhcnRpYWxF
bnRyaWVzOwogICAgIERlcXVlPFRleHR1cmVDb3BpZXI6OlBhcmFtZXRlcnM+IG1fY29weUVudHJp
ZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1RocmVhZFByb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuY3BwCmluZGV4IDI4MGJjZGFmODczMzEzOTJiZTcw
NWUyZjkzZGU4N2E5OTY4YmU1ZDguLjg2NDk0YTM1ZDE5ZDUyOTg2MDE5NTU1YmI0NmYzMTA1MGQ3
NmVkYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDVGhyZWFkUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuY3BwCkBAIC0zODAsOCArMzgwLDEwIEBA
IHZvaWQgQ0NUaHJlYWRQcm94eTo6cmVsZWFzZUNvbnRlbnRzVGV4dHVyZXNPbkltcGxUaHJlYWQo
KQogICAgIG1fbGF5ZXJUcmVlSG9zdC0+cmVkdWNlQ29udGVudHNUZXh0dXJlc01lbW9yeU9uSW1w
bFRocmVhZCgwLCBtX2xheWVyVHJlZUhvc3RJbXBsLT5yZXNvdXJjZVByb3ZpZGVyKCkpOwogICAg
IC8vIE1ha2Ugc3VyZSB0aGF0IHdlIGdldCBhIG5ldyBjb21taXQgYmVmb3JlIGRyYXdpbmcgYWdh
aW4uCiAgICAgbV9yZXNldENvbnRlbnRzVGV4dHVyZXNQdXJnZWRBZnRlckNvbW1pdE9uSW1wbFRo
cmVhZCA9IGZhbHNlOwotICAgIC8vIFRoZSB0ZXh0dXJlIHVwbG9hZCBxdWV1ZSBtYXkgcmVmZXJl
bmNlIHRleHR1cmVzIHRoYXQgd2VyZSBqdXN0IHB1cmdlZCwgc28gY2xlYXIgaXQuCi0gICAgbV9j
dXJyZW50VGV4dHVyZVVwZGF0ZUNvbnRyb2xsZXJPbkltcGxUaHJlYWQuY2xlYXIoKTsKKyAgICAv
LyBUaGUgdGV4dHVyZSB1cGxvYWQgcXVldWUgbWF5IHJlZmVyZW5jZSB0ZXh0dXJlcyB0aGF0IHdl
cmUganVzdCBwdXJnZWQsIGNsZWFyCisgICAgLy8gdGhlbSBmcm9tIHRoZSBxdWV1ZS4KKyAgICBp
ZiAobV9jdXJyZW50VGV4dHVyZVVwZGF0ZUNvbnRyb2xsZXJPbkltcGxUaHJlYWQuZ2V0KCkgJiYg
bV9sYXllclRyZWVIb3N0LT5ldmljdGVkQ29udGVudHNUZXh0dXJlc0JhY2tpbmdzRXhpc3QoKSkK
KyAgICAgICAgbV9jdXJyZW50VGV4dHVyZVVwZGF0ZUNvbnRyb2xsZXJPbkltcGxUaHJlYWQtPmRp
c2NhcmRVcGxvYWRzVG9FdmljdGVkUmVzb3VyY2VzKCk7CiB9CiAKIHZvaWQgQ0NUaHJlYWRQcm94
eTo6c2V0TmVlZHNSZWRyYXcoKQpAQCAtNjEwLDE0ICs2MTIsMTYgQEAgdm9pZCBDQ1RocmVhZFBy
b3h5OjpiZWdpbkZyYW1lQ29tcGxldGVPbkltcGxUaHJlYWQoQ0NDb21wbGV0aW9uRXZlbnQqIGNv
bXBsZXRpb24KICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIC8vIENsZWFyIGFueSB1cGxv
YWRzIHdlIHdlcmUgbWFraW5nIHRvIHRleHR1cmVzIGxpbmtlZCB0byBldmljdGVkCisgICAgLy8g
cmVzb3VyY2VzCisgICAgaWYgKG1fbGF5ZXJUcmVlSG9zdC0+ZXZpY3RlZENvbnRlbnRzVGV4dHVy
ZXNCYWNraW5nc0V4aXN0KCkpCisgICAgICAgIHF1ZXVlLT5jbGVhclVwbG9hZHNUb0V2aWN0ZWRS
ZXNvdXJjZXMoKTsKKwogICAgIC8vIElmIHdlIHVubGlua2VkIGV2aWN0ZWQgdGV4dHVyZXMgb24g
dGhlIG1haW4gdGhyZWFkLCBkZWxldGUgdGhlbSBub3cuCiAgICAgaWYgKG1fbGF5ZXJUcmVlSG9z
dC0+ZGVsZXRlRXZpY3RlZENvbnRlbnRUZXh0dXJlc0JhY2tpbmdzKCkpIHsKLQogICAgICAgICAv
LyBEZWxldGluZyB0aGUgZXZpY3RlZCB0ZXh0dXJlcycgYmFja2luZ3MgcmVzdWx0ZWQgaW4gc29t
ZSB0ZXh0dXJlcyBpbiB0aGUKLSAgICAgICAgLy8gbGF5ZXIgdHJlZSBiZWluZyBpbnZhbGlkYXRl
ZCAodW5saWtlZCBmcm9tIHRoZWlyIGJhY2tpbmdzKS4gVGhlIHVwbG9hZCBxdWV1ZQotICAgICAg
ICAvLyBtYXkgY29udGFpbiByZWZlcmVuY2VzIHRvIHRoZXNlIHRleHR1cmVzLCBzbyBjbGVhciB0
aGUgcXVldWUgYW5kIGtpY2sgb2ZmCisgICAgICAgIC8vIGxheWVyIHRyZWUgYmVpbmcgaW52YWxp
ZGF0ZWQgKHVubGlrZWQgZnJvbSB0aGVpciBiYWNraW5ncykuIEtpY2sgb2ZmCiAgICAgICAgIC8v
IGFub3RoZXIgY29tbWl0IHRvIGZpbGwgdGhlbSBhZ2Fpbi4KLSAgICAgICAgcXVldWUtPmNsZWFy
VXBsb2FkcygpOwogICAgICAgICBzZXROZWVkc0NvbW1pdE9uSW1wbFRocmVhZCgpOwogICAgIH0g
ZWxzZSB7CiAgICAgICAgIC8vIFRoZSBsYXllciB0cmVlIGRvZXMgbm90IHJlZmVyZW5jZSBldmlj
dGVkIHRleHR1cmVzLCBzbyBtYXJrIHRoYXQgd2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vdGVzdHMvQ0NUZXh0dXJlVXBkYXRlQ29udHJvbGxlclRlc3QuY3BwIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ1RleHR1cmVVcGRhdGVDb250cm9sbGVyVGVzdC5jcHAK
aW5kZXggYmFmNjNjMmU3OWJhZTk5ZGMwYjZlOTE3NTZmMTIzZDJmOWQ1N2RiMC4uOTk5N2Q3MmQ1
MGUzMmIwYzU2ZTRjZGEyM2VmYWRmY2M2MzM0MzY5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS90ZXN0cy9DQ1RleHR1cmVVcGRhdGVDb250cm9sbGVyVGVzdC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ1RleHR1cmVVcGRhdGVDb250cm9sbGVyVGVz
dC5jcHAKQEAgLTg3LDggKzg3LDEyIEBAIHByaXZhdGU6CiAKIGNsYXNzIFRleHR1cmVGb3JVcGxv
YWRUZXN0IDogcHVibGljIExheWVyVGV4dHVyZVVwZGF0ZXI6OlRleHR1cmUgewogcHVibGljOgot
ICAgIFRleHR1cmVGb3JVcGxvYWRUZXN0KCkgOiBMYXllclRleHR1cmVVcGRhdGVyOjpUZXh0dXJl
KGFkb3B0UHRyPENDUHJpb3JpdGl6ZWRUZXh0dXJlPigwKSkgeyB9CisgICAgVGV4dHVyZUZvclVw
bG9hZFRlc3QoKSA6IExheWVyVGV4dHVyZVVwZGF0ZXI6OlRleHR1cmUoYWRvcHRQdHI8Q0NQcmlv
cml0aXplZFRleHR1cmU+KDApKSwgbV9ldmljdGVkKGZhbHNlKSB7IH0KICAgICB2aXJ0dWFsIHZv
aWQgdXBkYXRlUmVjdChDQ1Jlc291cmNlUHJvdmlkZXIqLCBjb25zdCBJbnRSZWN0JiBzb3VyY2VS
ZWN0LCBjb25zdCBJbnRTaXplJiBkZXN0T2Zmc2V0KSB7IH0KKyAgICB2aXJ0dWFsIGJvb2wgYmFj
a2luZ1Jlc291cmNlV2FzRXZpY3RlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZXZpY3RlZDsgfQorICAg
IHZvaWQgZXZpY3RCYWNraW5nUmVzb3VyY2UoKSB7IG1fZXZpY3RlZCA9IHRydWU7IH0KK3ByaXZh
dGU6CisgICAgYm9vbCBtX2V2aWN0ZWQ7CiB9OwogCiAKQEAgLTE3NywyOCArMTgxLDM5IEBAIHBy
b3RlY3RlZDoKICAgICAgICAgbV9yZXNvdXJjZVByb3ZpZGVyID0gQ0NSZXNvdXJjZVByb3ZpZGVy
OjpjcmVhdGUobV9jb250ZXh0LmdldCgpKTsKICAgICB9CiAKLSAgICB2b2lkIGFwcGVuZEZ1bGxV
cGxvYWRzVG9VcGRhdGVRdWV1ZShpbnQgY291bnQpCisKKyAgICB2b2lkIGFwcGVuZEZ1bGxVcGxv
YWRzT2ZJbmRleGVkVGV4dHVyZVRvVXBkYXRlUXVldWUoaW50IGNvdW50LCBpbnQgdGV4dHVyZUlu
ZGV4KQogICAgIHsKICAgICAgICAgbV9mdWxsVXBsb2FkQ291bnRFeHBlY3RlZCArPSBjb3VudDsK
ICAgICAgICAgbV90b3RhbFVwbG9hZENvdW50RXhwZWN0ZWQgKz0gY291bnQ7CiAKICAgICAgICAg
Y29uc3QgSW50UmVjdCByZWN0KDAsIDAsIDMwMCwgMTUwKTsKLSAgICAgICAgY29uc3QgVGV4dHVy
ZVVwbG9hZGVyOjpQYXJhbWV0ZXJzIHVwbG9hZCA9IHsgJm1fdGV4dHVyZSwgcmVjdCwgSW50U2l6
ZSgpIH07CisgICAgICAgIGNvbnN0IFRleHR1cmVVcGxvYWRlcjo6UGFyYW1ldGVycyB1cGxvYWQg
PSB7ICZtX3RleHR1cmVzW3RleHR1cmVJbmRleF0sIHJlY3QsIEludFNpemUoKSB9OwogICAgICAg
ICBmb3IgKGludCBpID0gMDsgaSA8IGNvdW50OyBpKyspCiAgICAgICAgICAgICBtX3F1ZXVlLT5h
cHBlbmRGdWxsVXBsb2FkKHVwbG9hZCk7CiAgICAgfQogCi0gICAgdm9pZCBhcHBlbmRQYXJ0aWFs
VXBsb2Fkc1RvVXBkYXRlUXVldWUoaW50IGNvdW50KQorICAgIHZvaWQgYXBwZW5kRnVsbFVwbG9h
ZHNUb1VwZGF0ZVF1ZXVlKGludCBjb3VudCkKKyAgICB7CisgICAgICAgIGFwcGVuZEZ1bGxVcGxv
YWRzT2ZJbmRleGVkVGV4dHVyZVRvVXBkYXRlUXVldWUoY291bnQsIDApOworICAgIH0KKworICAg
IHZvaWQgYXBwZW5kUGFydGlhbFVwbG9hZHNPZkluZGV4ZWRUZXh0dXJlVG9VcGRhdGVRdWV1ZShp
bnQgY291bnQsIGludCB0ZXh0dXJlSW5kZXgpCiAgICAgewogICAgICAgICBtX3BhcnRpYWxDb3Vu
dEV4cGVjdGVkICs9IGNvdW50OwogICAgICAgICBtX3RvdGFsVXBsb2FkQ291bnRFeHBlY3RlZCAr
PSBjb3VudDsKIAogICAgICAgICBjb25zdCBJbnRSZWN0IHJlY3QoMCwgMCwgMTAwLCAxMDApOwot
ICAgICAgICBjb25zdCBUZXh0dXJlVXBsb2FkZXI6OlBhcmFtZXRlcnMgdXBsb2FkID0geyAmbV90
ZXh0dXJlLCByZWN0LCBJbnRTaXplKCkgfTsKKyAgICAgICAgY29uc3QgVGV4dHVyZVVwbG9hZGVy
OjpQYXJhbWV0ZXJzIHVwbG9hZCA9IHsgJm1fdGV4dHVyZXNbdGV4dHVyZUluZGV4XSwgcmVjdCwg
SW50U2l6ZSgpIH07CiAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgY291bnQ7IGkrKykKICAg
ICAgICAgICAgIG1fcXVldWUtPmFwcGVuZFBhcnRpYWxVcGxvYWQodXBsb2FkKTsKICAgICB9CiAK
KyAgICB2b2lkIGFwcGVuZFBhcnRpYWxVcGxvYWRzVG9VcGRhdGVRdWV1ZShpbnQgY291bnQpCisg
ICAgeworICAgICAgICBhcHBlbmRQYXJ0aWFsVXBsb2Fkc09mSW5kZXhlZFRleHR1cmVUb1VwZGF0
ZVF1ZXVlKGNvdW50LCAwKTsKKyAgICB9CisKICAgICB2b2lkIHNldE1heFVwbG9hZENvdW50UGVy
VXBkYXRlKGludCBjb3VudCkKICAgICB7CiAgICAgICAgIG1fbWF4VXBsb2FkQ291bnRQZXJVcGRh
dGUgPSBjb3VudDsKQEAgLTIwOSw3ICsyMjQsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgT3duUHRyPEND
R3JhcGhpY3NDb250ZXh0PiBtX2NvbnRleHQ7CiAgICAgT3duUHRyPENDUmVzb3VyY2VQcm92aWRl
cj4gbV9yZXNvdXJjZVByb3ZpZGVyOwogICAgIE93blB0cjxDQ1RleHR1cmVVcGRhdGVRdWV1ZT4g
bV9xdWV1ZTsKLSAgICBUZXh0dXJlRm9yVXBsb2FkVGVzdCBtX3RleHR1cmU7CisgICAgVGV4dHVy
ZUZvclVwbG9hZFRlc3QgbV90ZXh0dXJlc1s0XTsKICAgICBGYWtlVGV4dHVyZUNvcGllciBtX2Nv
cGllcjsKICAgICBUZXh0dXJlVXBsb2FkZXJGb3JVcGxvYWRUZXN0IG1fdXBsb2FkZXI7CiAgICAg
T3duUHRyPFdlYlRocmVhZD4gbV90aHJlYWQ7CkBAIC02ODIsNCArNjk3LDM3IEBAIFRFU1RfRihD
Q1RleHR1cmVVcGRhdGVDb250cm9sbGVyVGVzdCwgVXBkYXRlc0NvbXBsZXRlSW5GaW5pdGVUaW1l
KQogICAgIEVYUEVDVF9FUSgyLCBtX251bVRvdGFsVXBsb2Fkcyk7CiB9CiAKK1RFU1RfRihDQ1Rl
eHR1cmVVcGRhdGVDb250cm9sbGVyVGVzdCwgQ2xlYXJVcGxvYWRzVG9FdmljdGVkUmVzb3VyY2Vz
KQoreworICAgIGFwcGVuZEZ1bGxVcGxvYWRzT2ZJbmRleGVkVGV4dHVyZVRvVXBkYXRlUXVldWUo
MSwgMCk7CisgICAgYXBwZW5kUGFydGlhbFVwbG9hZHNPZkluZGV4ZWRUZXh0dXJlVG9VcGRhdGVR
dWV1ZSgxLCAxKTsKKyAgICBhcHBlbmRGdWxsVXBsb2Fkc09mSW5kZXhlZFRleHR1cmVUb1VwZGF0
ZVF1ZXVlKDEsIDIpOworICAgIGFwcGVuZFBhcnRpYWxVcGxvYWRzT2ZJbmRleGVkVGV4dHVyZVRv
VXBkYXRlUXVldWUoMSwgMyk7CisgICAgRGVidWdTY29wZWRTZXRJbXBsVGhyZWFkIGltcGxUaHJl
YWQ7CisKKyAgICBtX3F1ZXVlLT5jbGVhclVwbG9hZHNUb0V2aWN0ZWRSZXNvdXJjZXMoKTsKKyAg
ICBFWFBFQ1RfRVEoMnUsIG1fcXVldWUtPmZ1bGxVcGxvYWRTaXplKCkpOworICAgIEVYUEVDVF9F
USgydSwgbV9xdWV1ZS0+cGFydGlhbFVwbG9hZFNpemUoKSk7CisKKyAgICBtX3RleHR1cmVzWzBd
LmV2aWN0QmFja2luZ1Jlc291cmNlKCk7CisgICAgbV9xdWV1ZS0+Y2xlYXJVcGxvYWRzVG9Fdmlj
dGVkUmVzb3VyY2VzKCk7CisgICAgRVhQRUNUX0VRKDF1LCBtX3F1ZXVlLT5mdWxsVXBsb2FkU2l6
ZSgpKTsKKyAgICBFWFBFQ1RfRVEoMnUsIG1fcXVldWUtPnBhcnRpYWxVcGxvYWRTaXplKCkpOwor
CisgICAgbV90ZXh0dXJlc1szXS5ldmljdEJhY2tpbmdSZXNvdXJjZSgpOworICAgIG1fcXVldWUt
PmNsZWFyVXBsb2Fkc1RvRXZpY3RlZFJlc291cmNlcygpOworICAgIEVYUEVDVF9FUSgxdSwgbV9x
dWV1ZS0+ZnVsbFVwbG9hZFNpemUoKSk7CisgICAgRVhQRUNUX0VRKDF1LCBtX3F1ZXVlLT5wYXJ0
aWFsVXBsb2FkU2l6ZSgpKTsKKworICAgIG1fdGV4dHVyZXNbMl0uZXZpY3RCYWNraW5nUmVzb3Vy
Y2UoKTsKKyAgICBtX3F1ZXVlLT5jbGVhclVwbG9hZHNUb0V2aWN0ZWRSZXNvdXJjZXMoKTsKKyAg
ICBFWFBFQ1RfRVEoMHUsIG1fcXVldWUtPmZ1bGxVcGxvYWRTaXplKCkpOworICAgIEVYUEVDVF9F
USgxdSwgbV9xdWV1ZS0+cGFydGlhbFVwbG9hZFNpemUoKSk7CisKKyAgICBtX3RleHR1cmVzWzFd
LmV2aWN0QmFja2luZ1Jlc291cmNlKCk7CisgICAgbV9xdWV1ZS0+Y2xlYXJVcGxvYWRzVG9Fdmlj
dGVkUmVzb3VyY2VzKCk7CisgICAgRVhQRUNUX0VRKDB1LCBtX3F1ZXVlLT5mdWxsVXBsb2FkU2l6
ZSgpKTsKKyAgICBFWFBFQ1RfRVEoMHUsIG1fcXVldWUtPnBhcnRpYWxVcGxvYWRTaXplKCkpOwor
fQorCiB9IC8vIG5hbWVzcGFjZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>