<?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>162983</bug_id>
          
          <creation_ts>2016-10-05 13:21:52 -0700</creation_ts>
          <short_desc>Make it possible to test ViewSnapshotStore behaviors</short_desc>
          <delta_ts>2016-10-05 15:35:19 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit 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="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>adachan</cc>
    
    <cc>andersca</cc>
    
    <cc>bdakin</cc>
    
    <cc>mitz</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1236766</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2016-10-05 13:21:52 -0700</bug_when>
    <thetext>Make it possible to test ViewSnapshotStore behaviors</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236768</commentid>
    <comment_count>1</comment_count>
      <attachid>290745</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2016-10-05 13:23:27 -0700</bug_when>
    <thetext>Created attachment 290745
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236777</commentid>
    <comment_count>2</comment_count>
      <attachid>290745</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-10-05 13:53:14 -0700</bug_when>
    <thetext>Comment on attachment 290745
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=290745&amp;action=review

&gt; Source/WebKit2/UIProcess/mac/ViewSnapshotStore.mm:233
&gt; +CGImageRef ViewSnapshot::asImageForTesting()

I would prefer this as a &quot;create&quot; or &quot;copy&quot; function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236784</commentid>
    <comment_count>3</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2016-10-05 14:17:09 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/206829</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236803</commentid>
    <comment_count>4</comment_count>
      <attachid>290745</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-10-05 15:35:19 -0700</bug_when>
    <thetext>Comment on attachment 290745
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=290745&amp;action=review

&gt;&gt; Source/WebKit2/UIProcess/mac/ViewSnapshotStore.mm:233
&gt;&gt; +CGImageRef ViewSnapshot::asImageForTesting()
&gt; 
&gt; I would prefer this as a &quot;create&quot; or &quot;copy&quot; function.

I would have preferred if this just returned a RetainPtr.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290745</attachid>
            <date>2016-10-05 13:23:27 -0700</date>
            <delta_ts>2016-10-05 13:53:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-162983-20161005132017.patch</filename>
            <type>text/plain</type>
            <size>27689</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2NzgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYTY3YTQyYjUwNWFkOWI4
MTcyOTU5MjlhMzRhZDRmZTYwZjYwMjVjOS4uODk4YTE3NDM2MmE1N2M2ZmFlYTk0NTA3NTllMmQz
OTgzMDlkMTQxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDE2LTEwLTA1ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgaXQgcG9z
c2libGUgdG8gdGVzdCBWaWV3U25hcHNob3RTdG9yZSBiZWhhdmlvcnMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2Mjk4MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0d28gcGllY2VzIG9mIFNQSSB0
byBtYWtlIGl0IGVhc2llciB0byB0ZXN0IFZpZXdTbmFwc2hvdFN0b3JlOgorCisgICAgICAgIC0g
W1dLV2ViVmlldyBfZGlzYWJsZUJhY2tGb3J3YXJkU25hcHNob3RWb2xhdGlsaXR5Rm9yVGVzdGlu
Z10KKyAgICAgICAgICAgIFRoaXMgbWFrZXMgaXQgc28gdGhhdCB3ZSBkb24ndCBtYWtlIHNuYXBz
aG90cyB2b2xhdGlsZSBhZnRlciB3ZQorICAgICAgICAgICAgdGFrZSB0aGVtLCBzbyB0aGF0IHRo
ZXkgd29uJ3QgZ2V0IHB1cmdlZCB3aGlsZSB0aGUgdGVzdCBpcyBydW5uaW5nCisgICAgICAgICAg
ICBhbmQgY2F1c2UgdGhlIHRlc3QgdG8gYmUgZmxha3kuCisKKyAgICAgICAgLSBbV0tCYWNrRm9y
d2FyZExpc3RJdGVtIF9zbmFwc2hvdEZvclRlc3RpbmddCisgICAgICAgICAgICBUaGlzIHJldHVy
bnMgYSBDR0ltYWdlIHdpdGggdGhlIGNvbnRlbnQgb2YgdGhlIGdpdmVuIGJhY2stZm9yd2FyZAor
ICAgICAgICAgICAgaXRlbSdzIGN1cnJlbnQgc25hcHNob3QsIGlmIHRoZXJlIGlzIG9uZS4KKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCYWNrRm9yd2FyZExpc3RJdGVtLm1tOgor
ICAgICAgICAoLVtXS0JhY2tGb3J3YXJkTGlzdEl0ZW0gX3NuYXBzaG90Rm9yVGVzdGluZ10pOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCYWNrRm9yd2FyZExpc3RJdGVtSW50ZXJu
YWwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLQmFja0ZvcndhcmRMaXN0SXRl
bVByaXZhdGUuaDogQWRkZWQuCisgICAgICAgIEFkZCBXS0JhY2tGb3J3YXJkTGlzdEl0ZW0gU1BJ
IHRvIHJldHJpZXZlIHRoZSBzbmFwc2hvdCBmb3IgYSBnaXZlbiBiYWNrLWZvcndhcmQgbGlzdCBp
dGVtLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmg6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgt
W1dLV2ViVmlldyBfZGlzYWJsZUJhY2tGb3J3YXJkU25hcHNob3RWb2xhdGlsaXR5Rm9yVGVzdGlu
Z10pOgorICAgICAgICBBZGQgV0tXZWJWaWV3IFNQSSB0byBkaXNhYmxlIHZvbGF0aWxpdHkgb2Yg
c25hcHNob3RzLCBmb3IgdGVzdGluZyBwdXJwb3Nlcy4KKyAgICAgICAgCisgICAgICAgICogVUlQ
cm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dl
YlZpZXdJbXBsLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6dGFrZVZpZXdTbmFw
c2hvdCk6CisgICAgICAgIEFkb3B0IFZpZXdTbmFwc2hvdDo6c2V0Vm9sYXRpbGUgaW5zdGVhZCBv
ZiByZWFjaGluZyBpbnRvIHRoZSBzdXJmYWNlLgorCisgICAgICAgICogVUlQcm9jZXNzL21hYy9W
aWV3R2VzdHVyZUNvbnRyb2xsZXJNYWMubW06CisgICAgICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJl
Q29udHJvbGxlcjo6cmVtb3ZlU3dpcGVTbmFwc2hvdCk6CisgICAgICAgIEFkb3B0IFZpZXdTbmFw
c2hvdDo6c2V0Vm9sYXRpbGUgaW5zdGVhZCBvZiByZWFjaGluZyBpbnRvIHRoZSBzdXJmYWNlLgor
CisgICAgICAgICogVUlQcm9jZXNzL21hYy9WaWV3U25hcHNob3RTdG9yZS5oOgorICAgICAgICAo
V2ViS2l0OjpWaWV3U25hcHNob3RTdG9yZTo6c2V0RGlzYWJsZVNuYXBzaG90Vm9sYXRpbGl0eUZv
clRlc3RpbmcpOgorICAgICAgICAoV2ViS2l0OjpWaWV3U25hcHNob3RTdG9yZTo6ZGlzYWJsZVNu
YXBzaG90Vm9sYXRpbGl0eUZvclRlc3RpbmcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvVmll
d1NuYXBzaG90U3RvcmUubW06CisgICAgICAgIChXZWJLaXQ6OlZpZXdTbmFwc2hvdFN0b3JlOjpW
aWV3U25hcHNob3RTdG9yZSk6CisgICAgICAgIChXZWJLaXQ6OlZpZXdTbmFwc2hvdDo6c2V0Vm9s
YXRpbGUpOgorICAgICAgICAoV2ViS2l0OjpWaWV3U25hcHNob3Q6OmFzTGF5ZXJDb250ZW50cyk6
CisgICAgICAgIE1vdmUgYWxsIHRvdWNoaW5nIG9mIHNuYXBzaG90IHZvbGF0aWxpdHkgaW50byB0
aGUgbmV3IHNldFZvbGF0aWxlLAorICAgICAgICBhbmQgc2hvcnQtY2lyY3VpdCBpZiB0aGUgdGVz
dGluZy1vbmx5IG1fZGlzYWJsZVNuYXBzaG90Vm9sYXRpbGl0eSBiaXQgaXMgc2V0CisKKyAgICAg
ICAgKFdlYktpdDo6Vmlld1NuYXBzaG90Ojphc0ltYWdlRm9yVGVzdGluZyk6CisgICAgICAgIE1h
a2UgYSBDR0ltYWdlUmVmIGZvciB0aGUgYWZvcmVtZW50aW9uZWQgV0tCYWNrRm9yd2FyZExpc3RJ
dGVtIFNQSS4KKyAgICAgICAgVGhpcyBpcyBjdXJyZW50bHkgbm90IGltcGxlbWVudGVkIGZvciB0
aGUgaU9TIFNpbXVsYXRvciwgYmVjYXVzZSB3ZQorICAgICAgICBkb24ndCBoYXZlIGFjY2VzcyB0
byB0aGUgYml0cyBvZiB0aGUgaW1hZ2UgaW4gdGhhdCBjYXNlLgorCiAyMDE2LTEwLTA0ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCB0aGUgYnVp
bGQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQmFj
a0ZvcndhcmRMaXN0SXRlbS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tCYWNrRm9yd2FyZExpc3RJdGVtLm1tCmluZGV4IDEyMWFkOTAzODdjODg2ZmYzNzkxZGE0MTRh
YzJjMWE4Mzc4OTY0MTQuLmY4NmFhMmJhYjI3NjUyZDhmYmNhNTFkZGRjZWVjODQyMjQxMGQ1NGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCYWNrRm9y
d2FyZExpc3RJdGVtLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tCYWNrRm9yd2FyZExpc3RJdGVtLm1tCkBAIC02Niw2ICs2NiwxMyBAQCB1c2luZyBuYW1lc3Bh
Y2UgV2ViS2l0OwogICAgIHJldHVybiAqX2l0ZW07CiB9CiAKKy0gKENHSW1hZ2VSZWYpX3NuYXBz
aG90Rm9yVGVzdGluZworeworICAgIGlmIChhdXRvIHNuYXBzaG90ID0gX2l0ZW0tPnNuYXBzaG90
KCkpCisgICAgICAgIHJldHVybiBzbmFwc2hvdC0+YXNJbWFnZUZvclRlc3RpbmcoKTsKKyAgICBy
ZXR1cm4gbnVsbHB0cjsKK30KKwogI3ByYWdtYSBtYXJrIFdLT2JqZWN0IHByb3RvY29sIGltcGxl
bWVudGF0aW9uCiAKIC0gKEFQSTo6T2JqZWN0JilfYXBpT2JqZWN0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQmFja0ZvcndhcmRMaXN0SXRlbUludGVy
bmFsLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQmFja0ZvcndhcmRM
aXN0SXRlbUludGVybmFsLmgKaW5kZXggZWI3OWE5NWEyYzk0MWU1ZTM3YTZhM2RlMTg2NWVlYWU1
MjRjMzQ5NS4uM2U5YzBhZTZlMTlmZTI4NjA1NzQ3ZmIzYzgyODg5YjY2OTE5M2JmNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0JhY2tGb3J3YXJkTGlz
dEl0ZW1JbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tCYWNrRm9yd2FyZExpc3RJdGVtSW50ZXJuYWwuaApAQCAtMjMsNyArMjMsNyBAQAogICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpbXBvcnQgIldLQmFja0Zvcndh
cmRMaXN0SXRlbS5oIgorI2ltcG9ydCAiV0tCYWNrRm9yd2FyZExpc3RJdGVtUHJpdmF0ZS5oIgog
CiAjaWYgV0tfQVBJX0VOQUJMRUQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS0JhY2tGb3J3YXJkTGlzdEl0ZW1Qcml2YXRlLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQmFja0ZvcndhcmRMaXN0SXRlbVByaXZhdGUuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5lYzQyZTkyNjI3ZjgwZjcwYTMyYzE0MWNkOGNhMjBkOTQ4NzlkODk2Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0JhY2tG
b3J3YXJkTGlzdEl0ZW1Qcml2YXRlLmgKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bXBvcnQgPFdlYktpdC9XS0JhY2tGb3J3YXJkTGlzdEl0ZW0uaD4KKworI2lmIFdLX0FQSV9FTkFC
TEVECisKK0BpbnRlcmZhY2UgV0tCYWNrRm9yd2FyZExpc3RJdGVtIChXS1ByaXZhdGUpCisKKy8v
IEZvciB0ZXN0aW5nIG9ubHkuCistIChDR0ltYWdlUmVmKV9zbmFwc2hvdEZvclRlc3RpbmcgV0tf
QVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKK0Bl
bmQKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Lm1tCmluZGV4IGQwMWNhNWM2NDE0Zjk3ZTQyNTMwMTRjM2RkMjA3NDdiOGQ1ZjdlNWYu
LjdkZjBhYmM4MzY5MzllM2RiNzY4YWY5NzI0NGJiNjI4MWViYjIyZjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC00NjEyLDYgKzQ2
MTIsMTEgQEAgc3RhdGljIFdlYkNvcmU6OlVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24gdG9V
c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKFVJU2UKICAgICB9KTsKIH0KIAorLSAodm9pZClf
ZGlzYWJsZUJhY2tGb3J3YXJkU25hcHNob3RWb2xhdGlsaXR5Rm9yVGVzdGluZworeworICAgIFdl
YktpdDo6Vmlld1NuYXBzaG90U3RvcmU6OnNpbmdsZXRvbigpLnNldERpc2FibGVTbmFwc2hvdFZv
bGF0aWxpdHlGb3JUZXN0aW5nKHRydWUpOworfQorCiBAZW5kCiAKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAppbmRleCBk
YzMzOTczNjMxZDNmOGY2YjE5MWI5ZTllNGQ1MzkxZDYwZmVjNmY4Li5kNDMxNWI2MmRiN2UzN2Vj
ZWRkZWMyNmZhYTcyMGE5NGU4MzI0YjI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaApAQCAtMjg3LDYgKzI4Nyw4IEBA
IHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIF9XS0ltbWVkaWF0ZUFjdGlvblR5cGUpIHsKIAog
LSAodm9pZClfZG9BZnRlck5leHRQcmVzZW50YXRpb25VcGRhdGU6KHZvaWQgKF4pKHZvaWQpKXVw
ZGF0ZUJsb2NrIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSwgaW9zKDEwLjApKTsKIAor
LSAodm9pZClfZGlzYWJsZUJhY2tGb3J3YXJkU25hcHNob3RWb2xhdGlsaXR5Rm9yVGVzdGluZyBX
S19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKwog
QGVuZAogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2Nv
YS9XZWJWaWV3SW1wbC5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3
SW1wbC5tbQppbmRleCA4YWUzNmJlMWY1Y2JiNWI1NTFiODQ2YTE5OTc1ZWI0OTQ3ODk4MWE1Li4y
OTA4ZmI5MTM5MzU1MzEyZDczNjgwNjI0N2MyZjRjZjI0NDgzNjNhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCkBAIC0zMTc1LDkgKzMxNzUsMTEg
QEAgUmVmUHRyPFZpZXdTbmFwc2hvdD4gV2ViVmlld0ltcGw6OnRha2VWaWV3U25hcHNob3QoKQog
ICAgIGF1dG8gc3VyZmFjZSA9IFdlYkNvcmU6OklPU3VyZmFjZTo6Y3JlYXRlRnJvbUltYWdlKGNy
b3BwZWRTbmFwc2hvdEltYWdlLmdldCgpKTsKICAgICBpZiAoIXN1cmZhY2UpCiAgICAgICAgIHJl
dHVybiBudWxscHRyOwotICAgIHN1cmZhY2UtPnNldElzVm9sYXRpbGUodHJ1ZSk7CiAKLSAgICBy
ZXR1cm4gVmlld1NuYXBzaG90OjpjcmVhdGUoV1RGTW92ZShzdXJmYWNlKSk7CisgICAgUmVmUHRy
PFZpZXdTbmFwc2hvdD4gc25hcHNob3QgPSBWaWV3U25hcHNob3Q6OmNyZWF0ZShXVEZNb3ZlKHN1
cmZhY2UpKTsKKyAgICBzbmFwc2hvdC0+c2V0Vm9sYXRpbGUodHJ1ZSk7CisKKyAgICByZXR1cm4g
c25hcHNob3Q7CiB9CiAKIHZvaWQgV2ViVmlld0ltcGw6OnNhdmVCYWNrRm9yd2FyZFNuYXBzaG90
Rm9yQ3VycmVudEl0ZW0oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21h
Yy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
bWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlck1hYy5tbQppbmRleCA0MzlhNDUwOTg5MDIzMjk0ZmU0
YWE2ODQ5MjRhMTkzNzg1NGU3ZWM1Li5kYzIxZDQzMzBhYTBkMmU1M2MxY2MwMzExM2U1YjQ3ZTUy
MWY2NmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1ZpZXdHZXN0
dXJlQ29udHJvbGxlck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1Zp
ZXdHZXN0dXJlQ29udHJvbGxlck1hYy5tbQpAQCAtNzk5LDggKzc5OSw4IEBAIHZvaWQgVmlld0dl
c3R1cmVDb250cm9sbGVyOjpyZW1vdmVTd2lwZVNuYXBzaG90KCkKICAgICBpZiAobV9hY3RpdmVH
ZXN0dXJlVHlwZSAhPSBWaWV3R2VzdHVyZVR5cGU6OlN3aXBlKQogICAgICAgICByZXR1cm47CiAK
LSAgICBpZiAobV9jdXJyZW50U3dpcGVTbmFwc2hvdCAmJiBtX2N1cnJlbnRTd2lwZVNuYXBzaG90
LT5zdXJmYWNlKCkpCi0gICAgICAgIG1fY3VycmVudFN3aXBlU25hcHNob3QtPnN1cmZhY2UoKS0+
c2V0SXNWb2xhdGlsZSh0cnVlKTsKKyAgICBpZiAobV9jdXJyZW50U3dpcGVTbmFwc2hvdCkKKyAg
ICAgICAgbV9jdXJyZW50U3dpcGVTbmFwc2hvdC0+c2V0Vm9sYXRpbGUodHJ1ZSk7CiAgICAgbV9j
dXJyZW50U3dpcGVTbmFwc2hvdCA9IG51bGxwdHI7CiAKICAgICBmb3IgKGNvbnN0IGF1dG8mIGxh
eWVyIDogbV9jdXJyZW50U3dpcGVMaXZlTGF5ZXJzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL21hYy9WaWV3U25hcHNob3RTdG9yZS5oIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL21hYy9WaWV3U25hcHNob3RTdG9yZS5oCmluZGV4IGFhMjY5MzlhNTU4MDNkMzZjMjdi
NjkyZWNjMGIyNWYzYWE1OGM3OTYuLjYzM2EzZjQzMjY0OTAxOTkwYTIwYzhiZmQyMzU0MmQzZmJm
YmZkNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvVmlld1NuYXBz
aG90U3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1ZpZXdTbmFwc2hv
dFN0b3JlLmgKQEAgLTYzLDYgKzYzLDcgQEAgcHVibGljOgogICAgIHZvaWQgY2xlYXJJbWFnZSgp
OwogICAgIGJvb2wgaGFzSW1hZ2UoKSBjb25zdDsKICAgICBpZCBhc0xheWVyQ29udGVudHMoKTsK
KyAgICBDR0ltYWdlUmVmIGFzSW1hZ2VGb3JUZXN0aW5nKCk7CiAKICAgICB2b2lkIHNldFJlbmRl
clRyZWVTaXplKHVpbnQ2NF90IHJlbmRlclRyZWVTaXplKSB7IG1fcmVuZGVyVHJlZVNpemUgPSBy
ZW5kZXJUcmVlU2l6ZTsgfQogICAgIHVpbnQ2NF90IHJlbmRlclRyZWVTaXplKCkgY29uc3QgeyBy
ZXR1cm4gbV9yZW5kZXJUcmVlU2l6ZTsgfQpAQCAtODAsNiArODEsOCBAQCBwdWJsaWM6CiAgICAg
V2ViQ29yZTo6SW50U2l6ZSBzaXplKCkgY29uc3QgeyByZXR1cm4gbV9zdXJmYWNlID8gbV9zdXJm
YWNlLT5zaXplKCkgOiBXZWJDb3JlOjpJbnRTaXplKCk7IH0KIAogICAgIHZvaWQgc2V0U3VyZmFj
ZShzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6SU9TdXJmYWNlPik7CisKKyAgICBXZWJDb3JlOjpJ
T1N1cmZhY2U6OlN1cmZhY2VTdGF0ZSBzZXRWb2xhdGlsZShib29sKTsKICNlbHNlCiAgICAgV2Vi
Q29yZTo6SW50U2l6ZSBzaXplKCkgY29uc3QgeyByZXR1cm4gbV9zaXplOyB9CiAgICAgc2l6ZV90
IGltYWdlU2l6ZUluQnl0ZXMoKSBjb25zdCB7IHJldHVybiBtX2ltYWdlU2l6ZUluQnl0ZXM7IH0K
QEAgLTExNiw2ICsxMTksOSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGRpc2NhcmRTbmFwc2hvdElt
YWdlcygpOwogCisgICAgdm9pZCBzZXREaXNhYmxlU25hcHNob3RWb2xhdGlsaXR5Rm9yVGVzdGlu
Zyhib29sIGRpc2FibGUpIHsgbV9kaXNhYmxlU25hcHNob3RWb2xhdGlsaXR5ID0gZGlzYWJsZTsg
fQorICAgIGJvb2wgZGlzYWJsZVNuYXBzaG90Vm9sYXRpbGl0eUZvclRlc3RpbmcoKSBjb25zdCB7
IHJldHVybiBtX2Rpc2FibGVTbmFwc2hvdFZvbGF0aWxpdHk7IH0KKwogI2lmICFVU0UoSU9TVVJG
QUNFKQogICAgIHN0YXRpYyBDQUNvbnRleHQgKnNuYXBzaG90dGluZ0NvbnRleHQoKTsKICNlbmRp
ZgpAQCAtMTI1LDkgKzEzMSwxMCBAQCBwcml2YXRlOgogICAgIHZvaWQgd2lsbFJlbW92ZUltYWdl
RnJvbVNuYXBzaG90KFZpZXdTbmFwc2hvdCYpOwogICAgIHZvaWQgcHJ1bmVTbmFwc2hvdHMoV2Vi
UGFnZVByb3h5Jik7CiAKLSAgICBzaXplX3QgbV9zbmFwc2hvdENhY2hlU2l6ZTsKKyAgICBzaXpl
X3QgbV9zbmFwc2hvdENhY2hlU2l6ZSB7IDAgfTsKIAogICAgIExpc3RIYXNoU2V0PFZpZXdTbmFw
c2hvdCo+IG1fc25hcHNob3RzV2l0aEltYWdlczsKKyAgICBib29sIG1fZGlzYWJsZVNuYXBzaG90
Vm9sYXRpbGl0eSB7IGZhbHNlIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvVmlld1NuYXBzaG90U3RvcmUubW0g
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1ZpZXdTbmFwc2hvdFN0b3JlLm1tCmluZGV4
IDJjOWFlYWNmMDJkNTkxYzA3ZTg2MmU1NzhhMWZkNGE2ZDU0ZjQzNDIuLjM0ZjMyYWYwNzhhNjE2
NWFiMzZlNTdkNGFhMzA2YWNlNjVmNjVkZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9tYWMvVmlld1NuYXBzaG90U3RvcmUubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL21hYy9WaWV3U25hcHNob3RTdG9yZS5tbQpAQCAtNDYsNyArNDYsNiBAQCBzdGF0aWMg
Y29uc3Qgc2l6ZV90IG1heGltdW1TbmFwc2hvdENhY2hlU2l6ZSA9IDQwMCAqICgxMDI0ICogMTAy
NCk7CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogVmlld1NuYXBzaG90U3RvcmU6OlZpZXdTbmFwc2hv
dFN0b3JlKCkKLSAgICA6IG1fc25hcHNob3RDYWNoZVNpemUoMCkKIHsKIH0KIApAQCAtMjAxLDEz
ICsyMDAsMjYgQEAgdm9pZCBWaWV3U25hcHNob3Q6OmNsZWFySW1hZ2UoKQogI2VuZGlmCiB9CiAK
KyNpZiBVU0UoSU9TVVJGQUNFKQorV2ViQ29yZTo6SU9TdXJmYWNlOjpTdXJmYWNlU3RhdGUgVmll
d1NuYXBzaG90OjpzZXRWb2xhdGlsZShib29sIGJlY29tZVZvbGF0aWxlKQoreworICAgIGlmIChW
aWV3U25hcHNob3RTdG9yZTo6c2luZ2xldG9uKCkuZGlzYWJsZVNuYXBzaG90Vm9sYXRpbGl0eUZv
clRlc3RpbmcoKSkKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6OklPU3VyZmFjZTo6U3VyZmFjZVN0
YXRlOjpWYWxpZDsKKworICAgIGlmICghbV9zdXJmYWNlKQorICAgICAgICByZXR1cm4gV2ViQ29y
ZTo6SU9TdXJmYWNlOjpTdXJmYWNlU3RhdGU6OkVtcHR5OworCisgICAgcmV0dXJuIG1fc3VyZmFj
ZS0+c2V0SXNWb2xhdGlsZShiZWNvbWVWb2xhdGlsZSk7Cit9CisjZW5kaWYKKwogaWQgVmlld1Nu
YXBzaG90Ojphc0xheWVyQ29udGVudHMoKQogewogI2lmIFVTRShJT1NVUkZBQ0UpCiAgICAgaWYg
KCFtX3N1cmZhY2UpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgaWYgKG1fc3VyZmFj
ZS0+c2V0SXNWb2xhdGlsZShmYWxzZSkgIT0gV2ViQ29yZTo6SU9TdXJmYWNlOjpTdXJmYWNlU3Rh
dGU6OlZhbGlkKSB7CisgICAgaWYgKHNldFZvbGF0aWxlKGZhbHNlKSAhPSBXZWJDb3JlOjpJT1N1
cmZhY2U6OlN1cmZhY2VTdGF0ZTo6VmFsaWQpIHsKICAgICAgICAgY2xlYXJJbWFnZSgpOwogICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CkBAIC0yMTgsNCArMjMwLDE4IEBAIGlkIFZpZXdT
bmFwc2hvdDo6YXNMYXllckNvbnRlbnRzKCkKICNlbmRpZgogfQogCitDR0ltYWdlUmVmIFZpZXdT
bmFwc2hvdDo6YXNJbWFnZUZvclRlc3RpbmcoKQoreworI2lmIFVTRShJT1NVUkZBQ0UpCisgICAg
aWYgKCFtX3N1cmZhY2UpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgQVNTRVJUKFZp
ZXdTbmFwc2hvdFN0b3JlOjpzaW5nbGV0b24oKS5kaXNhYmxlU25hcHNob3RWb2xhdGlsaXR5Rm9y
VGVzdGluZygpKTsKKyAgICByZXR1cm4gbV9zdXJmYWNlLT5jcmVhdGVJbWFnZSgpLmF1dG9yZWxl
YXNlKCk7CisjZWxzZQorICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhpcyBpbiB0aGUgc2xvdCBj
YXNlLgorICAgIHJldHVybiBudWxscHRyOworI2VuZGlmCit9CisKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDY3MjU0YWJiOTRhYjA1MjZjNDU4MDBjMThmYzU1MTMwNzU0N2YwMDYuLjE1MzI1
OTljZjIyZTc1MGEyMDUwOTI1M2U1ODJjZWUwNzllYmFmOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTcxMiw2ICs3MTIsNyBA
QAogCQkyREY5RUVFRTFBNzg2RUFEMDBCNkNGQkUgLyogQVBJTmF2aWdhdGlvblJlc3BvbnNlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyREY5RUVFRDFB
Nzg2RUFEMDBCNkNGQkUgLyogQVBJTmF2aWdhdGlvblJlc3BvbnNlLmggKi87IH07CiAJCTJERkM3
REJCMUJDQ0MxOTUwMEMxNTQ4QyAvKiBXZWJWaWV3SW1wbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkRGQzdEQjkxQkNDQzE5NTAwQzE1NDhDIC8qIFdl
YlZpZXdJbXBsLmggKi87IH07CiAJCTJERkM3REJDMUJDQ0MxOTUwMEMxNTQ4QyAvKiBXZWJWaWV3
SW1wbC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJE
RkM3REJBMUJDQ0MxOTUwMEMxNTQ4QyAvKiBXZWJWaWV3SW1wbC5tbSAqLzsgfTsKKwkJMkRGRjdC
NkYxREE0Q0ZBRjAwODE0NjE0IC8qIFdLQmFja0ZvcndhcmRMaXN0SXRlbVByaXZhdGUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJERkY3QjZFMURBNENG
QUYwMDgxNDYxNCAvKiBXS0JhY2tGb3J3YXJkTGlzdEl0ZW1Qcml2YXRlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMkU3QTk0NEExQkJEOTdDMzAw
OTQ1NTQ3IC8qIF9XS0ZvY3VzZWRFbGVtZW50SW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkU3QTk0NDkxQkJEOTVDNjAwOTQ1NTQ3IC8qIF9XS0Zv
Y3VzZWRFbGVtZW50SW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTMxMDk5OTczMTQ2Qzc1QTIwMDI5REVCOSAvKiBXZWJOb3RpZmljYXRpb25D
bGllbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MzEwOTk5NzExNDZDNzU5QjAwMjlERUI5IC8qIFdlYk5vdGlmaWNhdGlvbkNsaWVudC5jcHAgKi87
IH07CiAJCTMxMDk5OUM3MTQ2QzlFM0QwMDI5REVCOSAvKiBXZWJOb3RpZmljYXRpb25DbGllbnQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxMDk5OTY4
MTQ2QzcxRjUwMDI5REVCOSAvKiBXZWJOb3RpZmljYXRpb25DbGllbnQuaCAqLzsgfTsKQEAgLTI3
NjQsNiArMjc2NSw3IEBACiAJCTJERjlFRUVEMUE3ODZFQUQwMEI2Q0ZCRSAvKiBBUElOYXZpZ2F0
aW9uUmVzcG9uc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVBJTmF2aWdh
dGlvblJlc3BvbnNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJERkM3REI5MUJD
Q0MxOTUwMEMxNTQ4QyAvKiBXZWJWaWV3SW1wbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXZWJWaWV3SW1wbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyREZD
N0RCQTFCQ0NDMTk1MDBDMTU0OEMgLyogV2ViVmlld0ltcGwubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJWaWV3SW1wbC5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMkRGRjdCNkUxREE0Q0ZBRjAwODE0NjE0IC8qIFdLQmFja0ZvcndhcmRMaXN0
SXRlbVByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tCYWNrRm9y
d2FyZExpc3RJdGVtUHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRTdB
OTQ0OTFCQkQ5NUM2MDA5NDU1NDcgLyogX1dLRm9jdXNlZEVsZW1lbnRJbmZvLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IF9XS0ZvY3VzZWRFbGVtZW50SW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkzMTA5OTk2ODE0NkM3MUY1MDAyOURFQjkgLyogV2ViTm90aWZpY2F0aW9uQ2xpZW50Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFdlYk5vdGlmaWNhdGlvbkNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkzMTA5OTk3MTE0NkM3NTlCMDAyOURFQjkgLyogV2ViTm90aWZpY2F0aW9u
Q2xpZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYk5vdGlm
aWNhdGlvbkNsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01MjE5LDYg
KzUyMjEsNyBAQAogCQkJCTM3QzRDMDg1MTgxNDlDNUIwMDM2ODhCOSAvKiBXS0JhY2tGb3J3YXJk
TGlzdEl0ZW0uaCAqLywKIAkJCQkzN0M0QzA4NDE4MTQ5QzVCMDAzNjg4QjkgLyogV0tCYWNrRm9y
d2FyZExpc3RJdGVtLm1tICovLAogCQkJCTM3QzRDMDg4MTgxNDlGMjMwMDM2ODhCOSAvKiBXS0Jh
Y2tGb3J3YXJkTGlzdEl0ZW1JbnRlcm5hbC5oICovLAorCQkJCTJERkY3QjZFMURBNENGQUYwMDgx
NDYxNCAvKiBXS0JhY2tGb3J3YXJkTGlzdEl0ZW1Qcml2YXRlLmggKi8sCiAJCQkJMUE5RjI4MTAx
OTU4RjQ3ODAwOENBQzcyIC8qIFdLQmFja0ZvcndhcmRMaXN0UHJpdmF0ZS5oICovLAogCQkJCTFB
RjQ1OTJEMTk0NjRCMjAwMEY5RDRBMiAvKiBXS0Vycm9yLmggKi8sCiAJCQkJMUFGNDU5MkMxOTQ2
NEIyMDAwRjlENEEyIC8qIFdLRXJyb3IubW0gKi8sCkBAIC04MTA0LDYgKzgxMDcsNyBAQAogCQkJ
CTUxRUZDMUNGMTUyNEU2MjUwMEM5QTkzOCAvKiBXS0J1bmRsZURPTVdpbmRvd0V4dGVuc2lvbi5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJN0NCQjgxMjExQUEwRjk3MDAwNkIxOTQyIC8qIFdLQnVuZGxl
RmlsZUhhbmRsZVJlZi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNEMjVGMTcxMUQ2QkRFMTAwMTY5
QjBFIC8qIFdLQnVuZGxlRnJhbWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTJERkY3QjZGMURBNENG
QUYwMDgxNDYxNCAvKiBXS0JhY2tGb3J3YXJkTGlzdEl0ZW1Qcml2YXRlLmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQ0YwNDlFNjExRkUyMEY2MDBGODZBNTggLyogV0tCdW5kbGVGcmFtZVByaXZhdGUu
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDNDk4NjJGMTI0RDE4QzEwMEQ4MzRFMSAvKiBXS0J1bmRs
ZUhpdFRlc3RSZXN1bHQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMjA0RUYyMTFDODNFQzgwMDhG
MzM3NSAvKiBXS0J1bmRsZUluaXRpYWxpemUuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEv
VG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDdhOWY3YmUyM2JlYTQyNWVk
YzJjYmQ2OTIyMzgzYzZlNjA5NWYyNDYuLmQ5NWM2NmYzMzhmY2I4ZGM3YzI4ODEzOTY3OGYxNDE0
ODkzOTMzNWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyNiBAQAorMjAxNi0xMC0wNSAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9y
dG9uQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIGl0IHBvc3NpYmxlIHRvIHRlc3QgVmlld1Nu
YXBzaG90U3RvcmUgYmVoYXZpb3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjI5ODMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29h
L1NuYXBzaG90U3RvcmUubW06IEFkZGVkLgorICAgICAgICAoLVtTbmFwc2hvdFRlc3RXS1dlYlZp
ZXcgaW5pdF0pOgorICAgICAgICAoLVtTbmFwc2hvdFRlc3RXS1dlYlZpZXcgbG9hZFBhZ2VOYW1l
ZDpdKToKKyAgICAgICAgKGltYWdlc0FyZUVxdWFsKToKKyAgICAgICAgQWRkIHRlc3RzIGZvciBl
eGlzdGluZyBiYXNpYyBzbmFwc2hvdHRpbmcgYmVoYXZpb3I6CisKKyAgICAgICAgLSBhIGJhY2st
Zm9yd2FyZCBpdGVtIHNob3VsZG4ndCBoYXZlIGEgc25hcHNob3QKKyAgICAgICAgICB1bnRpbCBp
dCBpcyBuYXZpZ2F0ZWQgYXdheSBmcm9tCisKKyAgICAgICAgLSBjYXVzaW5nIGEgYmFjay1mb3J3
YXJkIGl0ZW0gdG8gZmFsbCBvdXQgb2YgdGhlCisgICAgICAgICAgYmFjay1mb3J3YXJkIGxpc3Qg
c2hvdWxkIHJlbW92ZSB0aGUgc25hcHNob3QKKworICAgICAgICAtIGNhbGxpbmcgdGhlIGV4cGxp
Y2l0IHNuYXBzaG90dGluZyBTUEksIHRoZW4gbmF2aWdhdGluZyBhd2F5IGZyb20gdGhlIHBhZ2Us
CisgICAgICAgICAgc2hvdWxkIHJlc3VsdCBpbiB0aGUgc25hcHNob3QgYmVpbmcgcmV0YWtlbgor
CiAyMDE2LTEwLTA0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgVVJMUGFyc2VyIHNob3VsZCBtYXRjaCBVUkw6OnBhcnNlIGFuZCBvdGhlciBi
cm93c2VycyB3aGVuIHBhcnNpbmcgYSBVUkwgY29udGFpbmluZyBvbmx5IHNjaGVtZTovLwpkaWZm
IC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCA2NzA3ZTg4NDhkZmZhYzA2MTY0NzFjZjkxZjNiNzA3NGZi
NTllZTFiLi44MTgyYmZiOGVmN2VmZTJlNGQzMmJlMTIzYWNmYzljODkzZDE4NjczIDEwMDY0NAot
LS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtNjAsNiArNjAsNyBAQAogCQkyREQ3RDNBRjE3ODIyN0IzMDAy
NkUxRTMgLyogbG90cy1vZi10ZXh0LXZlcnRpY2FsLWxyLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkREN0QzQUUxNzgyMjdBQzAwMjZF
MUUzIC8qIGxvdHMtb2YtdGV4dC12ZXJ0aWNhbC1sci5odG1sICovOyB9OwogCQkyREU3MUFGRTFE
NDlDMEJEMDA5MDQwOTQgLyogQW5pbWF0ZWRSZXNpemUubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyREU3MUFGRDFENDlDMEJEMDA5MDQwOTQgLyogQW5p
bWF0ZWRSZXNpemUubW0gKi87IH07CiAJCTJERTcxQjAwMUQ0OUMzRUQwMDkwNDA5NCAvKiBibGlu
a2luZy1kaXYuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyREU3MUFGRjFENDlDMkYwMDA5MDQwOTQgLyogYmxpbmtpbmctZGl2Lmh0bWwg
Ki87IH07CisJCTJERkY3QjZEMURBNDg3QUYwMDgxNDYxNCAvKiBTbmFwc2hvdFN0b3JlLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkRGRjdCNkMxREE0
ODdBRjAwODE0NjE0IC8qIFNuYXBzaG90U3RvcmUubW0gKi87IH07CiAJCTJFMTMxQzE4MUQ4M0E5
OEEwMDFCQTM2QyAvKiB3aWRlLWF1dG9wbGF5aW5nLXZpZGVvLXdpdGgtYXVkaW8uaHRtbCBpbiBD
b3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTEzMUMx
NzFEODNBOTdFMDAxQkEzNkMgLyogd2lkZS1hdXRvcGxheWluZy12aWRlby13aXRoLWF1ZGlvLmh0
bWwgKi87IH07CiAJCTJFMTRBNTI5MUQzRkU5NkIwMDEwRjM1QiAvKiBhdXRvcGxheWluZy12aWRl
by13aXRoLWF1ZGlvLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMkUxNEE1MjgxRDNGRThCODAwMTBGMzVCIC8qIGF1dG9wbGF5aW5nLXZp
ZGVvLXdpdGgtYXVkaW8uaHRtbCAqLzsgfTsKIAkJMkUxQjdCMDAxRDQxQUJBNzAwNzU1OEI0IC8q
IGxhcmdlLXZpZGVvLXNlZWstYWZ0ZXItZW5kaW5nLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkUxQjdBRkYxRDQxQTk1RjAwNzU1OEI0
IC8qIGxhcmdlLXZpZGVvLXNlZWstYWZ0ZXItZW5kaW5nLmh0bWwgKi87IH07CkBAIC03ODgsNiAr
Nzg5LDcgQEAKIAkJMkREN0QzQUUxNzgyMjdBQzAwMjZFMUUzIC8qIGxvdHMtb2YtdGV4dC12ZXJ0
aWNhbC1sci5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dC5odG1sOyBwYXRoID0gImxvdHMtb2YtdGV4dC12ZXJ0aWNhbC1sci5odG1sIjsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkRFNzFBRkQxRDQ5QzBCRDAwOTA0MDk0IC8q
IEFuaW1hdGVkUmVzaXplLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gQW5pbWF0ZWRSZXNpemUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJERTcx
QUZGMUQ0OUMyRjAwMDkwNDA5NCAvKiBibGlua2luZy1kaXYuaHRtbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQu
aHRtbDsgcGF0aCA9ICJibGlua2luZy1kaXYuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTJERkY3QjZDMURBNDg3QUYwMDgxNDYxNCAvKiBTbmFwc2hvdFN0b3JlLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU25hcHNob3RTdG9yZS5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkUxMzFDMTcxRDgzQTk3RTAwMUJBMzZDIC8qIHdp
ZGUtYXV0b3BsYXlpbmctdmlkZW8td2l0aC1hdWRpby5odG1sICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1s
OyBwYXRoID0gIndpZGUtYXV0b3BsYXlpbmctdmlkZW8td2l0aC1hdWRpby5odG1sIjsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkUxNEE1MjgxRDNGRThCODAwMTBGMzVCIC8qIGF1dG9w
bGF5aW5nLXZpZGVvLXdpdGgtYXVkaW8uaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9
ICJhdXRvcGxheWluZy12aWRlby13aXRoLWF1ZGlvLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkyRTFCN0FGRjFENDFBOTVGMDA3NTU4QjQgLyogbGFyZ2UtdmlkZW8tc2Vlay1h
ZnRlci1lbmRpbmcuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJsYXJnZS12aWRl
by1zZWVrLWFmdGVyLWVuZGluZy5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTEzOTMsNiArMTM5NSw3IEBACiAJCQkJQ0Q5RTI5MkIxQzkwQTcxRjAwMEJCODAwIC8qIFJlcXVp
cmVzVXNlckFjdGlvbkZvclBsYXliYWNrLm1tICovLAogCQkJCTM3QkNBNjFCMUI1OTZCQTkwMDIw
MTJDQSAvKiBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzSW5OZXdXaW5kb3dBY3Rpb25zLm1tICovLAog
CQkJCTJEOUE1M0FFMUIzMUZBOEQwMDc0RDVBQSAvKiBTaHJpbmtUb0ZpdC5tbSAqLywKKwkJCQky
REZGN0I2QzFEQTQ4N0FGMDA4MTQ2MTQgLyogU25hcHNob3RTdG9yZS5tbSAqLywKIAkJCQk1MTVC
RTE3MDFENDI4QkQxMDBERDdDNjggLyogU3RvcmVCbG9iVGhlbkRlbGV0ZS5tbSAqLywKIAkJCQk3
Q0MzRTFGQTE5N0UyMzQxMDBCRTYyNTIgLyogVXNlckNvbnRlbnRDb250cm9sbGVyLm1tICovLAog
CQkJCTdDODgyRTAzMUM4MEM2MjQwMDZCRjczMSAvKiBVc2VyQ29udGVudFdvcmxkLm1tICovLApA
QCAtMjQ4MSw2ICsyNDg0LDcgQEAKIAkJCQk3Q0NFN0VEMzFBNDExQTdFMDA0NDdDNEMgLyogVHlw
aW5nU3R5bGVDcmFzaC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RURFMUE0MTFBOTIwMDQ0
N0M0QyAvKiBVUkwuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFQjAxQTQxMUE0NDAwNDQ3
QzRDIC8qIFVSTEV4dHJhcy5tbSBpbiBTb3VyY2VzICovLAorCQkJCTJERkY3QjZEMURBNDg3QUYw
MDgxNDYxNCAvKiBTbmFwc2hvdFN0b3JlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNUM2RTY1NDQx
RDVDRUZENDAwRjc4NjJFIC8qIFVSTFBhcnNlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Q0NF
N0YyNzFBNDExQUY2MDA0NDdDNEMgLyogVXNlckNvbnRlbnRDb250cm9sbGVyLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJN0NDRTdGMkQxQTQxMUIxMDAwNDQ3QzRDIC8qIFVzZXJDb250ZW50VGVzdC5t
bSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQyQ29jb2EvU25hcHNob3RTdG9yZS5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0MkNvY29hL1NuYXBzaG90U3RvcmUubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWE2NGFjM2Q5MzkzYTRl
MmVjYmRmNGJhNGM2M2ExZDljMTdlZjkxMAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1NuYXBzaG90U3RvcmUubW0KQEAgLTAsMCArMSwx
NTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgPFdlYktpdC9X
S0ZvdW5kYXRpb24uaD4KKworI2lmIFdLX0FQSV9FTkFCTEVEICYmIFBMQVRGT1JNKE1BQykKKwor
I2ltcG9ydCAiSmF2YVNjcmlwdFRlc3QuaCIKKyNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgi
CisjaW1wb3J0ICJUZXN0LmgiCisjaW1wb3J0ICJUZXN0TmF2aWdhdGlvbkRlbGVnYXRlLmgiCisj
aW1wb3J0ICJUZXN0V0tXZWJWaWV3TWFjLmgiCisjaW1wb3J0IDxXZWJLaXQvV0tCYWNrRm9yd2Fy
ZExpc3RJdGVtUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlldy5oPgorI2ltcG9y
dCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGUuaD4KKyNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4K
KwordXNpbmcgbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEk7CisKK0BpbnRlcmZhY2UgTlNXaW5kb3cg
KCkKKy0gKHZvaWQpX3NldFdpbmRvd1Jlc29sdXRpb246KENHRmxvYXQpcmVzb2x1dGlvbiBkaXNw
bGF5SWZDaGFuZ2VkOihCT09MKWRpc3BsYXlJZkNoYW5nZWQ7CitAZW5kCisKK0BpbnRlcmZhY2Ug
V0tXZWJWaWV3ICgpCistIChXS1BhZ2VSZWYpX3BhZ2VGb3JUZXN0aW5nOworQGVuZAorCitAaW50
ZXJmYWNlIFNuYXBzaG90VGVzdFdLV2ViVmlldyA6IFRlc3RXS1dlYlZpZXcKKworQGVuZAorCitA
aW1wbGVtZW50YXRpb24gU25hcHNob3RUZXN0V0tXZWJWaWV3CisKKy0gKGluc3RhbmNldHlwZSlp
bml0Cit7CisgICAgc2VsZiA9IFtzdXBlciBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwg
ODAwLCA2MDApXTsKKyAgICBpZiAoc2VsZikgeworICAgICAgICBbc2VsZiBfc2V0T3ZlcnJpZGVE
ZXZpY2VTY2FsZUZhY3RvcjoxXTsKKyAgICAgICAgW3NlbGYgX2Rpc2FibGVCYWNrRm9yd2FyZFNu
YXBzaG90Vm9sYXRpbGl0eUZvclRlc3RpbmddOworICAgICAgICBbc2VsZiBzZXRBbGxvd3NCYWNr
Rm9yd2FyZE5hdmlnYXRpb25HZXN0dXJlczpZRVNdOworICAgICAgICBbc2VsZiBfc2V0V2luZG93
T2NjbHVzaW9uRGV0ZWN0aW9uRW5hYmxlZDpOT107CisKKyAgICAgICAgW3NlbGYud2luZG93IF9z
ZXRXaW5kb3dSZXNvbHV0aW9uOjEgZGlzcGxheUlmQ2hhbmdlZDpZRVNdOworICAgICAgICBbc2Vs
Zi53aW5kb3cgb3JkZXJCYWNrOm5pbF07CisgICAgfQorICAgIHJldHVybiBzZWxmOworfQorCist
ICh2b2lkKWxvYWRQYWdlTmFtZWQ6KE5TU3RyaW5nICopcGFnZU5hbWUKK3sKKyAgICBbc2VsZiBs
b2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltbTlNCdW5kbGUgbWFpbkJ1
bmRsZV0gVVJMRm9yUmVzb3VyY2U6cGFnZU5hbWUgd2l0aEV4dGVuc2lvbjpAImh0bWwiIHN1YmRp
cmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl1dXTsKKyAgICBbc2VsZiBfdGVzdF93
YWl0Rm9yRGlkRmluaXNoTmF2aWdhdGlvbl07Cit9CisKK0BlbmQKKworc3RhdGljIGJvb2wgaW1h
Z2VzQXJlRXF1YWwoQ0dJbWFnZVJlZiBmaXJzdCwgQ0dJbWFnZVJlZiBzZWNvbmQpCit7CisgICAg
UmV0YWluUHRyPE5TRGF0YT4gZmlyc3REYXRhID0gYWRvcHROUygoTlNEYXRhICopQ0dEYXRhUHJv
dmlkZXJDb3B5RGF0YShDR0ltYWdlR2V0RGF0YVByb3ZpZGVyKGZpcnN0KSkpOworICAgIFJldGFp
blB0cjxOU0RhdGE+IHNlY29uZERhdGEgPSBhZG9wdE5TKChOU0RhdGEgKilDR0RhdGFQcm92aWRl
ckNvcHlEYXRhKENHSW1hZ2VHZXREYXRhUHJvdmlkZXIoc2Vjb25kKSkpOworCisgICAgcmV0dXJu
IFtmaXJzdERhdGEgaXNFcXVhbFRvOnNlY29uZERhdGEuZ2V0KCldOworfQorCitURVNUKFNuYXBz
aG90U3RvcmUsIFNuYXBzaG90VXBvbk5hdmlnYXRpb24pCit7CisgICAgUmV0YWluUHRyPFNuYXBz
aG90VGVzdFdLV2ViVmlldz4gd2ViVmlldyA9IGFkb3B0TlMoW1tTbmFwc2hvdFRlc3RXS1dlYlZp
ZXcgYWxsb2NdIGluaXRdKTsKKworICAgIFt3ZWJWaWV3IGxvYWRQYWdlTmFtZWQ6QCJzaW1wbGUi
XTsKKworICAgIFJldGFpblB0cjxXS0JhY2tGb3J3YXJkTGlzdEl0ZW0+IGZpcnN0SXRlbSA9IFtb
d2ViVmlldyBiYWNrRm9yd2FyZExpc3RdIGN1cnJlbnRJdGVtXTsKKworICAgIENHSW1hZ2VSZWYg
aW1hZ2VCZWZvcmVOYXZpZ2F0aW9uID0gW2ZpcnN0SXRlbSBfc25hcHNob3RGb3JUZXN0aW5nXTsK
KyAgICBFWFBFQ1RfTlVMTChpbWFnZUJlZm9yZU5hdmlnYXRpb24pOworCisgICAgW3dlYlZpZXcg
bG9hZFBhZ2VOYW1lZDpAImxvdHMtb2YtdGV4dCJdOworCisgICAgLy8gQWZ0ZXIgbmF2aWdhdGlu
ZywgdGhlIGZpcnN0IGl0ZW0gc2hvdWxkIGhhdmUgYSB2YWxpZCBiYWNrLWZvcndhcmQgc25hcHNo
b3QuCisgICAgUmV0YWluUHRyPENHSW1hZ2VSZWY+IGltYWdlQWZ0ZXJOYXZpZ2F0aW9uID0gW2Zp
cnN0SXRlbSBfc25hcHNob3RGb3JUZXN0aW5nXTsKKyAgICBFWFBFQ1RfTk9UX05VTEwoaW1hZ2VB
ZnRlck5hdmlnYXRpb24uZ2V0KCkpOworICAgIEVYUEVDVF9FUShDR0ltYWdlR2V0V2lkdGgoaW1h
Z2VBZnRlck5hdmlnYXRpb24uZ2V0KCkpLCAodW5zaWduZWQgbG9uZyk4MDApOworfQorCitURVNU
KFNuYXBzaG90U3RvcmUsIFNuYXBzaG90Q2xlYXJlZFdoZW5JdGVtSXNSZW1vdmVkKQoreworICAg
IFJldGFpblB0cjxTbmFwc2hvdFRlc3RXS1dlYlZpZXc+IHdlYlZpZXcgPSBhZG9wdE5TKFtbU25h
cHNob3RUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0XSk7CisKKyAgICBbd2ViVmlldyBsb2FkUGFn
ZU5hbWVkOkAic2ltcGxlIl07CisgICAgW3dlYlZpZXcgbG9hZFBhZ2VOYW1lZDpAImxvdHMtb2Yt
dGV4dCJdOworCisgICAgUmV0YWluUHRyPFdLQmFja0ZvcndhcmRMaXN0SXRlbT4gaXRlbSA9IFtb
d2ViVmlldyBiYWNrRm9yd2FyZExpc3RdIGN1cnJlbnRJdGVtXTsKKworICAgIFt3ZWJWaWV3IGxv
YWRQYWdlTmFtZWQ6QCJzaW1wbGUiXTsKKworICAgIEVYUEVDVF9OT1RfTlVMTChbaXRlbSBfc25h
cHNob3RGb3JUZXN0aW5nXSk7CisKKyAgICBbd2ViVmlldyBnb0JhY2tdOworICAgIFt3ZWJWaWV3
IF90ZXN0X3dhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKyAgICBbd2ViVmlldyBnb0JhY2td
OworICAgIFt3ZWJWaWV3IF90ZXN0X3dhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKworICAg
IC8vIFRoZSBvcmlnaW5hbCBzZWNvbmQgaXRlbSBpcyBzdGlsbCBpbiB0aGUgZm9yd2FyZCBsaXN0
LCBhbmQgc2hvdWxkIHN0aWxsIGhhdmUgYSBzbmFwc2hvdC4KKyAgICBFWFBFQ1RfTk9UX05VTEwo
W2l0ZW0gX3NuYXBzaG90Rm9yVGVzdGluZ10pOworCisgICAgW3dlYlZpZXcgbG9hZFBhZ2VOYW1l
ZDpAImxvdHMtb2YtdGV4dCJdOworCisgICAgLy8gVGhlIG9yaWdpbmFsIHNlY29uZCBpdGVtIHNo
b3VsZG4ndCBoYXZlIGFuIGltYWdlIGFueW1vcmUsIGJlY2F1c2UgaXQgd2FzIGludmFsaWRhdGVk
CisgICAgLy8gYnkgbmF2aWdhdGluZyBiYWNrIHBhc3QgaXQgYW5kIHRoZW4gZG9pbmcgYW5vdGhl
ciBsb2FkLgorICAgIEVYUEVDVF9OVUxMKFtpdGVtIF9zbmFwc2hvdEZvclRlc3RpbmddKTsKK30K
KworVEVTVChTbmFwc2hvdFN0b3JlLCBFeHBsaWNpdFNuYXBzaG90c0NoYW5nZVVwb25OYXZpZ2F0
aW9uKQoreworICAgIFJldGFpblB0cjxTbmFwc2hvdFRlc3RXS1dlYlZpZXc+IHdlYlZpZXcgPSBh
ZG9wdE5TKFtbU25hcHNob3RUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0XSk7CisKKyAgICBbd2Vi
VmlldyBsb2FkUGFnZU5hbWVkOkAibG90cy1vZi10ZXh0Il07CisKKyAgICBSZXRhaW5QdHI8V0tC
YWNrRm9yd2FyZExpc3RJdGVtPiBmaXJzdEl0ZW0gPSBbW3dlYlZpZXcgYmFja0ZvcndhcmRMaXN0
XSBjdXJyZW50SXRlbV07CisgICAgW3dlYlZpZXcgX3NhdmVCYWNrRm9yd2FyZFNuYXBzaG90Rm9y
SXRlbTpmaXJzdEl0ZW0uZ2V0KCldOworCisgICAgUmV0YWluUHRyPENHSW1hZ2VSZWY+IGluaXRp
YWxTbmFwc2hvdCA9IFtmaXJzdEl0ZW0gX3NuYXBzaG90Rm9yVGVzdGluZ107CisgICAgRVhQRUNU
X05PVF9OVUxMKGluaXRpYWxTbmFwc2hvdCk7CisKKyAgICBFWFBFQ1RfSlNfRVEoW3dlYlZpZXcg
X3BhZ2VGb3JUZXN0aW5nXSwgIndpbmRvdy5zY3JvbGxUbygwLDEwMCkiLCAidW5kZWZpbmVkIik7
CisgICAgW3dlYlZpZXcgbG9hZFBhZ2VOYW1lZDpAInNpbXBsZSJdOworCisgICAgLy8gQWZ0ZXIg
bmF2aWdhdGluZywgdGhlIGZpcnN0IGl0ZW0ncyBzbmFwc2hvdCBzaG91bGQgY2hhbmdlLgorICAg
IFJldGFpblB0cjxDR0ltYWdlUmVmPiBzbmFwc2hvdEFmdGVyTmF2aWdhdGlvbiA9IFtmaXJzdEl0
ZW0gX3NuYXBzaG90Rm9yVGVzdGluZ107CisgICAgRVhQRUNUX05PVF9OVUxMKHNuYXBzaG90QWZ0
ZXJOYXZpZ2F0aW9uLmdldCgpKTsKKyAgICBFWFBFQ1RfRkFMU0UoaW1hZ2VzQXJlRXF1YWwoaW5p
dGlhbFNuYXBzaG90LmdldCgpLCBzbmFwc2hvdEFmdGVyTmF2aWdhdGlvbi5nZXQoKSkpOworfQor
CisjZW5kaWYgLy8gV0tfQVBJX0VOQUJMRUQgJiYgUExBVEZPUk0oTUFDKQo=
</data>
<flag name="review"
          id="313904"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>