<?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>98863</bug_id>
          
          <creation_ts>2012-10-09 23:14:08 -0700</creation_ts>
          <short_desc>[WK2] Show a &quot;Press ESC to leave full-screen mode&quot; warning when entering fullscreen</short_desc>
          <delta_ts>2016-03-09 09:23:10 -0800</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>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>102315</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>dbates</cc>
    
    <cc>mjs</cc>
    
    <cc>philn</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>738596</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-10-09 23:14:08 -0700</bug_when>
    <thetext>Show a &quot;Press ESC to leave full-screen mode&quot; warning when entering fullscreen</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738691</commentid>
    <comment_count>1</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-10-10 00:52:10 -0700</bug_when>
    <thetext>&lt;rdar://problem/12459549&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>738711</commentid>
    <comment_count>2</comment_count>
      <attachid>167951</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-10-10 01:09:41 -0700</bug_when>
    <thetext>Created attachment 167951
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>739035</commentid>
    <comment_count>3</comment_count>
      <attachid>168019</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-10-10 09:47:46 -0700</bug_when>
    <thetext>Created attachment 168019
Patch

Rebased</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740177</commentid>
    <comment_count>4</comment_count>
      <attachid>168261</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-10-11 12:39:49 -0700</bug_when>
    <thetext>Created attachment 168261
Patch

Disable the full screen warning when a &lt;video&gt; element is the full screen element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767613</commentid>
    <comment_count>5</comment_count>
      <attachid>174320</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-11-14 19:09:34 -0800</bug_when>
    <thetext>Created attachment 174320
Patch

For ease of reviewing, this patch has been split into 3 parts, including bug #102315, and bug #102317.  Additionally, those bugs now depend on bug #102300 and bug #102299.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767614</commentid>
    <comment_count>6</comment_count>
      <attachid>174320</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-11-14 19:14:01 -0800</bug_when>
    <thetext>Comment on attachment 174320
Patch

Attachment 174320 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/14844311</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767618</commentid>
    <comment_count>7</comment_count>
      <attachid>174320</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2012-11-14 19:17:22 -0800</bug_when>
    <thetext>Comment on attachment 174320
Patch

Attachment 174320 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/14857019</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767738</commentid>
    <comment_count>8</comment_count>
      <attachid>174320</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-11-14 22:43:41 -0800</bug_when>
    <thetext>Comment on attachment 174320
Patch

Attachment 174320 did not pass win-ews (win):
Output: http://queues.webkit.org/results/14848235</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768319</commentid>
    <comment_count>9</comment_count>
      <attachid>174320</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-11-15 11:07:00 -0800</bug_when>
    <thetext>Comment on attachment 174320
Patch

Attachment 174320 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14837868</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769488</commentid>
    <comment_count>10</comment_count>
      <attachid>174320</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-11-16 11:18:12 -0800</bug_when>
    <thetext>Comment on attachment 174320
Patch

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

&gt; Source/WebKit2/ChangeLog:11
&gt; +        if the full screened element is 

is?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769498</commentid>
    <comment_count>11</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-11-16 11:25:38 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 174320 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=174320&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/ChangeLog:11
&gt; &gt; +        if the full screened element is 
&gt; 
&gt; is?

I fell asleep halfway through writing this ChangeLog, apparently. :)

I&apos;ll update this to read &quot;Only present the warning if the full screened element is not a media element.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935897</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-10-03 11:53:46 -0700</bug_when>
    <thetext>Is this still necessary?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976912</commentid>
    <comment_count>13</comment_count>
      <attachid>174320</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-02-05 11:06:35 -0800</bug_when>
    <thetext>Comment on attachment 174320
Patch

Clearing review flag on patches from before 2014. If this patch is still relevant, please reset the r? flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976965</commentid>
    <comment_count>14</comment_count>
      <attachid>174320</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-02-05 11:13:46 -0800</bug_when>
    <thetext>Comment on attachment 174320
Patch

Yep, still relevant.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167951</attachid>
            <date>2012-10-10 01:09:41 -0700</date>
            <delta_ts>2012-10-10 09:47:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98863-20121010010841.patch</filename>
            <type>text/plain</type>
            <size>26718</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwNjQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjE0MTAxOWFjOTRiMjAy
ZTZjOGUyZGM1Y2U4MjMyYzBhMWQ5ZTAwNy4uNGUwYTAyZjAyMzNlODhmN2FlOTQ3OWU0M2JkNDU2
MTI4ZjViYTAwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTEwLTEwICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFNob3cgYSAiUHJlc3MgRVND
IHRvIGxlYXZlIGZ1bGwtc2NyZWVuIG1vZGUiIHdhcm5pbmcgd2hlbiBlbnRlcmluZyBmdWxsc2Ny
ZWVuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODg2
MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTI0NTk1NDk+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgbmV3IE5TVmlldyBjbGFzcyB0byBi
ZSBzaGFyZWQgYnkgV2ViS2l0IGFuZCBXZWJLaXQyLCByZXNwb25zaWJsZSBmb3IKKyAgICAgICAg
ZGlzcGxheWluZyBhIHdhcm5pbmcgbWVzc2FnZSB3aGVuIGVudGVyaW5nIGZ1bGwgc2NyZWVuLgor
CisgICAgICAgICogcGxhdGZvcm0vbWFjL1dlYkNvcmVGdWxsU2NyZWVuV2FybmluZ1ZpZXcuaDog
CisgICAgICAgICogcGxhdGZvcm0vbWFjL1dlYkNvcmVGdWxsU2NyZWVuV2FybmluZ1ZpZXcubW06
IEFkZGVkLgorICAgICAgICAoLVtXZWJDb3JlRnVsbFNjcmVlbldhcm5pbmdWaWV3IGluaXRdKTog
U3RhbmRhcmQgY29uc3RydWN0b3IuCisgICAgICAgICgtW1dlYkNvcmVGdWxsU2NyZWVuV2Fybmlu
Z1ZpZXcgZGVhbGxvY10pOiBDYW5jZWwgYW55IHBlbmRpbmcgcGVyZm9ybVNlbGVjdG9yOiBjYWxs
cy4KKyAgICAgICAgKC1bV2ViQ29yZUZ1bGxTY3JlZW5XYXJuaW5nVmlldyBzaG93VGhlbkhpZGVX
aXRoRmFkZV0pOiBVc2UgdGhlIHZpZXcncyBhbmltYXRvciB0byBzaG93IHRoZSB2aWV3LgorICAg
ICAgICAoLVtXZWJDb3JlRnVsbFNjcmVlbldhcm5pbmdWaWV3IGhpZGVXaXRoRmFkZV0pOiBVc2Ug
dGhlIHZpZXcncyBhbmltYXRvciB0byBoaWRlIHRoZSB2aWV3LgorICAgICAgICAoLVtXZWJDb3Jl
RnVsbFNjcmVlbldhcm5pbmdWaWV3IGhpZGVdKTogRGl0dG8sIHdpdGggYSB6ZXJvIGFuaW1hdGlv
biBkdXJhdGlvbi4KKworICAgICAgICBBZGQgYSBsb2NhbGl6ZWQgc3RyaW5nIGZvciB0aGUgZnVs
bCBzY3JlZW4gd2FybmluZyB2aWV3OgorICAgICAgICAqIHBsYXRmb3JtL0xvY2FsaXplZFN0cmlu
Z3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZnVsbHNjcmVlbldhcm5pbmdUZXh0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmg6CisKKyAgICAgICAgQWRkIHRoZSBuZXcg
Y2xhc3MgdG8gdGhlIGJ1aWxkIGFuZCBleHBvcnQgaXQ6CisgICAgICAgICogV2ViQ29yZS5leHAu
aW46CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDEy
LTEwLTA4ICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFtR
dF0gcjEyMjcyMCBjYXVzZXMgcGVyZm9ybWFuY2UgcmVncmVzc2lvbiB3aXRoIERpcmVjdEZCIG9u
IEFSTXY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggZjcwZDEzN2M2Y2I1N2ExNTkzM2ZhMmVlNDRiNDY1
NjQzYmU4MmQyZi4uOGMzODY3ZWMwYjg1Mjg5ODU5Nzc3ZmYwMDFlZjhlM2EyMWU4YTc3ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTEwLTEwICBKZXIgTm9ibGUgIDxq
ZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFNob3cgYSAiUHJlc3MgRVNDIHRvIGxlYXZl
IGZ1bGwtc2NyZWVuIG1vZGUiIHdhcm5pbmcgd2hlbiBlbnRlcmluZyBmdWxsc2NyZWVuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODg2MworICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMTI0NTk1NDk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVXNlIHRoZSBzaGFyZWQgV2ViQ29yZUZ1bGxTY3JlZW5XYXJu
aW5nVmlldyBjbGFzcyB0byBwcmVzZW50IGEgCisgICAgICAgIHdhcm5pbmcgdG8gdGhlIHVzZXIg
dXBvbiBlbnRlcmluZyBmdWxsIHNjcmVlbiBtb2RlLgorCisgICAgICAgICogV2ViVmlldy9XZWJG
dWxsU2NyZWVuQ29udHJvbGxlci5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViRnVsbFNjcmVlbkNv
bnRyb2xsZXIubW06CisgICAgICAgICgtW1dlYkZ1bGxTY3JlZW5Db250cm9sbGVyIGluaXRdKTog
Q3JlYXRlIHRoZSBfd2FybmluZ1ZpZXcuCisgICAgICAgICgtW1dlYkZ1bGxTY3JlZW5Db250cm9s
bGVyIGVudGVyRnVsbFNjcmVlbjpdKTogUG9zaXRpb24gdGhlIF93YXJuaW5nVmlldworICAgICAg
ICAgICAgaW4gdGhlIGNlbnRlciBvZiB0aGUgd2luZG93IGFuZCBoaWRlIGl0LgorICAgICAgICAo
LVtXZWJGdWxsU2NyZWVuQ29udHJvbGxlciBmaW5pc2hlZEVudGVyRnVsbFNjcmVlbkFuaW1hdGlv
bjpdKTogU2hvdyB0aGUgX3dhcm5pbmdWaWV3LgorICAgICAgICAoLVtXZWJGdWxsU2NyZWVuQ29u
dHJvbGxlciBleGl0RnVsbFNjcmVlbl0pOiBIaWRlIHRoZSBfd2FybmluZ1ZpZXcuCisKIDIwMTIt
MTAtMDcgIENhaW8gTWFyY2VsbyBkZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xpdmVpcmFAb3Bl
bmJvc3NhLm9yZz4KIAogICAgICAgICBSZW5hbWUgZmlyc3Qvc2Vjb25kIHRvIGtleS92YWx1ZSBp
biBIYXNoTWFwIGl0ZXJhdG9ycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDlkZjMzNzAxN2ZlZmEwOTBkNjljNWZj
NTA3ODRhN2FkMmY0ZTQyYjcuLjEzNTBhZTYyYmQxZGQzMjZmMzYyZGFkNjEwZmRjOTE4ODNkNGVh
NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMi0xMC0xMCAgSmVyIE5vYmxlICA8
amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAgICBTaG93IGEgIlByZXNzIEVTQyB0byBsZWF2
ZSBmdWxsLXNjcmVlbiBtb2RlIiB3YXJuaW5nIHdoZW4gZW50ZXJpbmcgZnVsbHNjcmVlbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg4NjMKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzEyNDU5NTQ5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFVzZSB0aGUgc2hhcmVkIFdlYkNvcmVGdWxsU2NyZWVuV2Fy
bmluZ1ZpZXcgY2xhc3MgdG8gcHJlc2VudCBhIAorICAgICAgICB3YXJuaW5nIHRvIHRoZSB1c2Vy
IHVwb24gZW50ZXJpbmcgZnVsbCBzY3JlZW4gbW9kZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9t
YWMvV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9t
YWMvV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlci5tbToKKyAgICAgICAgKC1bV0tGdWxsU2Ny
ZWVuV2luZG93Q29udHJvbGxlciBpbml0XSk6IENyZWF0ZSB0aGUgX3dhcm5pbmdWaWV3LgorICAg
ICAgICAoLVtXS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVyIGVudGVyRnVsbFNjcmVlbjpdKTog
UG9zaXRpb24gdGhlIF93YXJuaW5nVmlldworICAgICAgICAgICAgaW4gdGhlIGNlbnRlciBvZiB0
aGUgd2luZG93LgorICAgICAgICAoLVtXS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVyIGJlZ2Fu
RW50ZXJGdWxsU2NyZWVuV2l0aEluaXRpYWxGcmFtZTpmaW5hbEZyYW1lOl0pOiBIaWRlIHRoZSBf
d2FybmluZ1ZpZXcuCisgICAgICAgICgtW1dLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXIgZmlu
aXNoZWRFbnRlckZ1bGxTY3JlZW5BbmltYXRpb246XSk6IFNob3cgKHRoZW4gaGlkZSkgdGhlIF93
YXJuaW5nVmlldy4KKyAgICAgICAgKC1bV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlciBiZWdh
bkV4aXRGdWxsU2NyZWVuV2l0aEluaXRpYWxGcmFtZTpmaW5hbEZyYW1lOl0pOiBIaWRlIHRoZSBf
d2FybmluZ1ZpZXcuCisKIDIwMTItMTAtMDggIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNp
YUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIEFkZCBhIHNldHRpbmcgdG8gZW5hYmxlL2Rp
c2FibGUgc21vb3RoIHNjcm9sbGluZyB0byBXZWJLaXQyIEdUSysgQVBJCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhw
LmluCmluZGV4IDc2MTQ3NmY3NWEwMWEwZmY1OWI3MjBhYzEyY2U5NTg4YTE3YjNhYjUuLmVlOWUy
NDFhZmFiMTFjNzBjMzBiZTU3MjI4MTQ5NjdhODljMmM3YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
CkBAIC0xNTM3LDYgKzE1MzcsNyBAQCBfd2tTaWduYWxDRlJlYWRTdHJlYW1IYXNCeXRlcwogLm9i
amNfY2xhc3NfbmFtZV9ET01TdHlsZVNoZWV0CiAub2JqY19jbGFzc19uYW1lX0RPTVN0eWxlU2hl
ZXRMaXN0CiAub2JqY19jbGFzc19uYW1lX0RPTVRyZWVXYWxrZXIKKy5vYmpjX2NsYXNzX25hbWVf
V2ViQ29yZUZ1bGxTY3JlZW5XYXJuaW5nVmlldwogLm9iamNfY2xhc3NfbmFtZV9XZWJDb3JlRnVs
bFNjcmVlbldpbmRvdwogLm9iamNfY2xhc3NfbmFtZV9XZWJIVE1MQ29udmVydGVyCiAub2JqY19j
bGFzc19uYW1lX1dlYldpbmRvd0ZhZGVBbmltYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBjYjdiZDY1MTBlOGM2MjMzODM2
MWY1MTk1NzdkZTQxNDI5MjBhNGVkLi5jMTIwOTAwZWMyMmViNTE0M2RmMTU0OWUwYWYyNmUwNjA0
ODUyNzY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCkBAIC01ODU5LDYgKzU4NTksOCBAQAogCQlDRDI3RjZFNTE0NTc2ODVBMDA3ODIw
N0QgLyogSlNNZWRpYUNvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0QyN0Y2RTIxNDU3Njc1ODAwNzgyMDdEIC8qIEpTTWVkaWFDb250
cm9sbGVyLmNwcCAqLzsgfTsKIAkJQ0QyN0Y2RTcxNDU3NzBEMzAwNzgyMDdEIC8qIE1lZGlhQ29u
dHJvbGxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDRDI3RjZFNjE0NTc3MEQzMDA3ODIwN0QgLyogTWVkaWFDb250cm9sbGVyLmNwcCAqLzsgfTsK
IAkJQ0QzN0IzOTgxNUMxQjk3MTAwNkRDODk4IC8qIERpYWdub3N0aWNMb2dnaW5nS2V5cy5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDM3QjM3NDE1
QzFBN0UxMDA2REM4OTggLyogRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmNwcCAqLzsgfTsKKwkJQ0Qz
RjkxMjYxNjI1NEE3NTAwNjQ1NDhBIC8qIFdlYkNvcmVGdWxsU2NyZWVuV2FybmluZ1ZpZXcubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDNGOTEyNDE2
MjU0QTExMDA2NDU0OEEgLyogV2ViQ29yZUZ1bGxTY3JlZW5XYXJuaW5nVmlldy5tbSAqLzsgfTsK
KwkJQ0QzRjkxMjcxNjI1NTAwQzAwNjQ1NDhBIC8qIFdlYkNvcmVGdWxsU2NyZWVuV2FybmluZ1Zp
ZXcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEM0Y5
MTI1MTYyNTRBMTEwMDY0NTQ4QSAvKiBXZWJDb3JlRnVsbFNjcmVlbldhcm5pbmdWaWV3LmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0Q0QUM1MkEx
NDk2QUU5QTAwODdDNEVGIC8qIENvbXBvc2l0ZS53YXYgaW4gQ29weSBBdWRpbyBSZXNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q0QUM1MjgxNDk2QUUyRjAwODdD
NEVGIC8qIENvbXBvc2l0ZS53YXYgKi87IH07CiAJCUNEODIwMzBBMTM5NUFCNkEwMEY5NTZDNiAv
KiBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDgyMDMwNjEzOTVBQjZBMDBGOTU2QzYgLyogV2ViVmlk
ZW9GdWxsc2NyZWVuQ29udHJvbGxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCUNEODIwMzBCMTM5NUFCNkEwMEY5NTZDNiAvKiBXZWJWaWRlb0Z1
bGxzY3JlZW5Db250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQ0Q4MjAzMDcxMzk1QUI2QTAwRjk1NkM2IC8qIFdlYlZpZGVvRnVsbHNjcmVl
bkNvbnRyb2xsZXIubW0gKi87IHNldHRpbmdzID0ge0NPTVBJTEVSX0ZMQUdTID0gIi1Xbm8tdW5k
ZWYgLVduby1kZXByZWNhdGVkLWRlY2xhcmF0aW9ucyI7IH07IH07CkBAIC0xMzE5Niw2ICsxMzE5
OCw4IEBACiAJCUNEMjdGNkU2MTQ1NzcwRDMwMDc4MjA3RCAvKiBNZWRpYUNvbnRyb2xsZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFDb250cm9sbGVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0QzN0IzNzQxNUMxQTdFMTAwNkRDODk4
IC8qIERpYWdub3N0aWNMb2dnaW5nS2V5cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBEaWFnbm9zdGljTG9nZ2luZ0tleXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlDRDM3QjM3NTE1QzFBN0UxMDA2REM4OTggLyogRGlhZ25vc3RpY0xvZ2dpbmdL
ZXlzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERpYWdub3N0aWNMb2dnaW5n
S2V5cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDNGOTEyNDE2MjU0QTExMDA2
NDU0OEEgLyogV2ViQ29yZUZ1bGxTY3JlZW5XYXJuaW5nVmlldy5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkNvcmVGdWxsU2NyZWVuV2FybmluZ1ZpZXcubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEM0Y5MTI1MTYyNTRBMTEwMDY0NTQ4QSAv
KiBXZWJDb3JlRnVsbFNjcmVlbldhcm5pbmdWaWV3LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdlYkNvcmVGdWxsU2NyZWVuV2FybmluZ1ZpZXcuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQ0Q0QUM1MjgxNDk2QUUyRjAwODdDNEVGIC8qIENvbXBvc2l0ZS53YXYg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBhdWRpby53
YXY7IG5hbWUgPSBDb21wb3NpdGUud2F2OyBwYXRoID0gcGxhdGZvcm0vYXVkaW8vcmVzb3VyY2Vz
L0NvbXBvc2l0ZS53YXY7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKIAkJQ0Q0RTBBRkEx
MUY3QkMyNzAwOUQzODExIC8qIGZ1bGxzY3JlZW4uY3NzICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5jc3M7IHBh
dGggPSBmdWxsc2NyZWVuLmNzczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q4MjAz
MDYxMzk1QUI2QTAwRjk1NkM2IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTU3MTgsNiArMTU3MjIsOCBAQAog
CQkJCUNEODIwMzBFMTM5NUFDRTcwMEY5NTZDNiAvKiBXZWJXaW5kb3dBbmltYXRpb24uaCAqLywK
IAkJCQlDRDgyMDMwRjEzOTVBQ0U3MDBGOTU2QzYgLyogV2ViV2luZG93QW5pbWF0aW9uLm1tICov
LAogCQkJCTkzODBGNDc3MDlBMTFBQ0MwMDFGREIzNCAvKiBXaWRnZXRNYWMubW0gKi8sCisJCQkJ
Q0QzRjkxMjQxNjI1NEExMTAwNjQ1NDhBIC8qIFdlYkNvcmVGdWxsU2NyZWVuV2FybmluZ1ZpZXcu
bW0gKi8sCisJCQkJQ0QzRjkxMjUxNjI1NEExMTAwNjQ1NDhBIC8qIFdlYkNvcmVGdWxsU2NyZWVu
V2FybmluZ1ZpZXcuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gbWFjOwogCQkJc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsKQEAgLTI1NTM3LDYgKzI1NTQzLDcgQEAKIAkJCQk5MzFDQkQwRDE2MUE0NEU5
MDBFNEM4NzQgLyogU2Nyb2xsaW5nU3RhdGVOb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzFD
QkQwRjE2MUE0NEU5MDBFNEM4NzQgLyogU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmggaW4g
SGVhZGVycyAqLywKIAkJCQk5MzFDQkQxMTE2MUE0NEU5MDBFNEM4NzQgLyogU2Nyb2xsaW5nU3Rh
dGVUcmVlLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRDNGOTEyNzE2MjU1MDBDMDA2NDU0OEEgLyog
V2ViQ29yZUZ1bGxTY3JlZW5XYXJuaW5nVmlldy5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJ
cnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yODYzNCw2
ICsyODY0MSw3IEBACiAJCQkJOTMxQ0JEMEUxNjFBNDRFOTAwRTRDODc0IC8qIFNjcm9sbGluZ1N0
YXRlU2Nyb2xsaW5nTm9kZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzFDQkQxMDE2MUE0NEU5
MDBFNEM4NzQgLyogU2Nyb2xsaW5nU3RhdGVUcmVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkz
MUNCRDEzMTYxQTQ0RjgwMEU0Qzg3NCAvKiBTY3JvbGxpbmdTdGF0ZU5vZGVNYWMubW0gaW4gU291
cmNlcyAqLywKKwkJCQlDRDNGOTEyNjE2MjU0QTc1MDA2NDU0OEEgLyogV2ViQ29yZUZ1bGxTY3Jl
ZW5XYXJuaW5nVmlldy5tbSBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBs
b3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9Mb2NhbGl6ZWRTdHJpbmdzLmNwcAppbmRleCA1YTdkZGY4YmFiY2RjZTA2YTY3Y2Y1NmYzODFk
MDkzMDc4ZTNlZjdkLi4yMDdkM2FmNmE0MGFiN2Y4YWMzZDQ2MWE1MDE3MWEyMGE5MjljMDUyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmNwcApAQCAtNzQ0
LDYgKzc0NCwxMyBAQCBTdHJpbmcga2V5Z2VuS2V5Y2hhaW5JdGVtTmFtZShjb25zdCBTdHJpbmcm
IGhvc3QpCiAKICNlbmRpZgogCisjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQorU3RyaW5nIGZ1
bGxzY3JlZW5XYXJuaW5nVGV4dCgpCit7CisgICAgcmV0dXJuIFdFQl9VSV9TVFJJTkcoIlByZXNz
IEVTQyB0byBleGl0IGZ1bGwgc2NyZWVuIiwgIlN0cmluZyB0byBkaXNwbGF5IHVwb24gZW50ZXJp
bmcgZnVsbCBzY3JlZW4iKTsKK30KKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oSU9TKQogU3RyaW5n
IGh0bWxTZWxlY3RNdWx0aXBsZUl0ZW1zKHNpemVfdCBjb3VudCkKIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaAppbmRleCA4MzQzMmNmNzk0MjZmNzdiYjQxMTAw
NWExNzA0NTUzYTg1ZDdhZmEwLi5lM2RjOTM2ZDE0NDNkYjg1YTk5YTMxZjRhNGNiOGIxNGViN2Vh
Yzg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oCkBAIC0y
NjIsNiArMjYyLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBTdHJpbmcgdW5hY2NlcHRh
YmxlVExTQ2VydGlmaWNhdGUoKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJ
KQorICAgIFN0cmluZyBmdWxsc2NyZWVuV2FybmluZ1RleHQoKTsKKyNlbmRpZgorCiAjaWYgIVBM
QVRGT1JNKENIUk9NSVVNKQogI2RlZmluZSBXRUJfVUlfU1RSSU5HKHN0cmluZywgZGVzY3JpcHRp
b24pIFdlYkNvcmU6OmxvY2FsaXplZFN0cmluZyhzdHJpbmcpCiAjZGVmaW5lIFdFQl9VSV9TVFJJ
TkdfS0VZKHN0cmluZywga2V5LCBkZXNjcmlwdGlvbikgV2ViQ29yZTo6bG9jYWxpemVkU3RyaW5n
KGtleSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlRnVs
bFNjcmVlbldhcm5pbmdWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29y
ZUZ1bGxTY3JlZW5XYXJuaW5nVmlldy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE1MTlmZWE3YzdkYzdmN2YwNDg0
ODk0YmFkNTAwZWU0OTExZGVmYjgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvV2ViQ29yZUZ1bGxTY3JlZW5XYXJuaW5nVmlldy5oCkBAIC0wLDAgKzEsNDMg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYkNvcmVGdWxsU2NyZWVuV2FybmluZ1ZpZXdfaAor
I2RlZmluZSBXZWJDb3JlRnVsbFNjcmVlbldhcm5pbmdWaWV3X2gKKworI2lmIEVOQUJMRShGVUxM
U0NSRUVOX0FQSSkKKworI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KKworQGludGVyZmFjZSAg
V2ViQ29yZUZ1bGxTY3JlZW5XYXJuaW5nVmlldyA6IE5TQm94IHsKKyAgICBSZXRhaW5QdHI8TlNU
ZXh0RmllbGQ+IF90ZXh0RmllbGQ7Cit9CistICh2b2lkKWhpZGVXaXRoRmFkZTsKKy0gKHZvaWQp
aGlkZTsKKy0gKHZvaWQpc2hvd1RoZW5IaWRlV2l0aEZhZGU7CitAZW5kCisKKyNlbmRpZgorCisj
ZW5kaWYgLy8gV2ViQ29yZUZ1bGxTY3JlZW5XYXJuaW5nVmlld19oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZUZ1bGxTY3JlZW5XYXJuaW5nVmlldy5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlRnVsbFNjcmVlbldhcm5pbmdWaWV3
Lm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmFiNTU4MGM5ZTM3NTE1Y2E0M2E4ZGNmZGE4ZDc0Njg2NjhlN2U1ZGYK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZUZ1
bGxTY3JlZW5XYXJuaW5nVmlldy5tbQpAQCAtMCwwICsxLDE0MiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJDb3JlRnVsbFNjcmVlbldhcm5pbmdWaWV3
LmgiCisjaW5jbHVkZSAiTG9jYWxpemVkU3RyaW5ncy5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgorCitzdGF0aWMgY29uc3QgQ0dGbG9hdCBXYXJuaW5nVmlld1RleHRXaGl0ZSA9
IDAuOTsKK3N0YXRpYyBjb25zdCBDR0Zsb2F0IFdhcm5pbmdWaWV3VGV4dEFscGhhID0gMTsKK3N0
YXRpYyBjb25zdCBDR0Zsb2F0IFdhcm5pbmdWaWV3VGV4dFNpemUgPSA0ODsKK3N0YXRpYyBjb25z
dCBDR0Zsb2F0IFdhcm5pbmdWaWV3UGFkZGluZyA9IDIwOworc3RhdGljIGNvbnN0IENHRmxvYXQg
V2FybmluZ1ZpZXdDb3JuZXJSYWRpdXMgPSA1Oworc3RhdGljIGNvbnN0IENHRmxvYXQgV2Fybmlu
Z1ZpZXdCb3JkZXJXaGl0ZSA9IDAuOTsKK3N0YXRpYyBjb25zdCBDR0Zsb2F0IFdhcm5pbmdWaWV3
Qm9yZGVyQWxwaGEgPSAwLjI7CitzdGF0aWMgY29uc3QgQ0dGbG9hdCBXYXJuaW5nVmlld0JhY2tn
cm91bmRXaGl0ZSA9IDAuMTsKK3N0YXRpYyBjb25zdCBDR0Zsb2F0IFdhcm5pbmdWaWV3QmFja2dy
b3VuZEFscGhhID0gMC45Oworc3RhdGljIGNvbnN0IENHRmxvYXQgV2FybmluZ1ZpZXdTaGFkb3dX
aGl0ZSA9IDAuMTsKK3N0YXRpYyBjb25zdCBDR0Zsb2F0IFdhcm5pbmdWaWV3U2hhZG93QWxwaGEg
PSAxOworc3RhdGljIGNvbnN0IGZsb2F0IFdhcm5pbmdWaWV3U2hhZG93T3BhY2l0eSA9IDAuMjU7
CitzdGF0aWMgY29uc3QgQ0dTaXplIFdhcm5pbmdWaWV3U2hhZG93T2Zmc2V0ID0gezAsIC0yfTsK
K3N0YXRpYyBjb25zdCBDR0Zsb2F0IFdhcm5pbmdWaWV3U2hhZG93UmFkaXVzID0gNTsKK3N0YXRp
YyBjb25zdCBOU1RpbWVJbnRlcnZhbCBXYXJuaW5nVmlld0hpZGVEZWxheSA9IDMuMDsKK3N0YXRp
YyBjb25zdCBOU1RpbWVJbnRlcnZhbCBXYXJuaW5nVmlld0ZhZGVEdXJhdGlvbiA9IDAuNTsKKwor
QGltcGxlbWVudGF0aW9uIFdlYkNvcmVGdWxsU2NyZWVuV2FybmluZ1ZpZXcKKworLSAoaWQpaW5p
dAoreworICAgIHNlbGYgPSBbc3VwZXIgaW5pdFdpdGhGcmFtZTpOU1plcm9SZWN0XTsKKyAgICBp
ZiAoIXNlbGYpCisgICAgICAgIHJldHVybiBuaWw7CisKKyAgICBbc2VsZiBzZXRBdXRvcmVzaXpp
bmdNYXNrOihOU1ZpZXdNaW5YTWFyZ2luIHwgTlNWaWV3TWF4WE1hcmdpbiB8IE5TVmlld01pbllN
YXJnaW4gfCBOU1ZpZXdNYXhZTWFyZ2luKV07CisgICAgW3NlbGYgc2V0Qm94VHlwZTpOU0JveEN1
c3RvbV07CisgICAgW3NlbGYgc2V0VGl0bGVQb3NpdGlvbjpOU05vVGl0bGVdOworCisgICAgX3Rl
eHRGaWVsZCA9IGFkb3B0TlMoW1tOU1RleHRGaWVsZCBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU1pl
cm9SZWN0XSk7CisgICAgW190ZXh0RmllbGQuZ2V0KCkgc2V0RWRpdGFibGU6Tk9dOworICAgIFtf
dGV4dEZpZWxkLmdldCgpIHNldFNlbGVjdGFibGU6Tk9dOworICAgIFtfdGV4dEZpZWxkLmdldCgp
IHNldEJvcmRlcmVkOk5PXTsKKyAgICBbX3RleHRGaWVsZC5nZXQoKSBzZXREcmF3c0JhY2tncm91
bmQ6Tk9dOworCisgICAgUmV0YWluUHRyPE5TRm9udD4gdGV4dEZvbnQgPSBbTlNGb250IGJvbGRT
eXN0ZW1Gb250T2ZTaXplOldhcm5pbmdWaWV3VGV4dFNpemVdOworICAgIFJldGFpblB0cjxOU0Nv
bG9yPiB0ZXh0Q29sb3IgPSBbTlNDb2xvciBjb2xvcldpdGhDYWxpYnJhdGVkV2hpdGU6V2Fybmlu
Z1ZpZXdUZXh0V2hpdGUgYWxwaGE6V2FybmluZ1ZpZXdUZXh0QWxwaGFdOworICAgIFJldGFpblB0
cjxOU0RpY3Rpb25hcnk+IGF0dHJpYnV0ZXMgPSBhZG9wdE5TKFtbTlNEaWN0aW9uYXJ5IGFsbG9j
XSBpbml0V2l0aE9iamVjdHNBbmRLZXlzOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0ZXh0Rm9udC5nZXQoKSwgTlNGb250QXR0cmlidXRlTmFtZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dENv
bG9yLmdldCgpLCBOU0ZvcmVncm91bmRDb2xvckF0dHJpYnV0ZU5hbWUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5pbF0pOworICAgIFJldGFpblB0
cjxOU0F0dHJpYnV0ZWRTdHJpbmc+IHRleHQgPSBhZG9wdE5TKFtbTlNBdHRyaWJ1dGVkU3RyaW5n
IGFsbG9jXSBpbml0V2l0aFN0cmluZzpXZWJDb3JlOjpmdWxsc2NyZWVuV2FybmluZ1RleHQoKSBh
dHRyaWJ1dGVzOmF0dHJpYnV0ZXMuZ2V0KCldKTsKKyAgICBbX3RleHRGaWVsZC5nZXQoKSBzZXRB
dHRyaWJ1dGVkU3RyaW5nVmFsdWU6dGV4dC5nZXQoKV07CisgICAgW190ZXh0RmllbGQuZ2V0KCkg
c2l6ZVRvRml0XTsKKyAgICBOU1NpemUgdGV4dEZpZWxkU2l6ZSA9IFtfdGV4dEZpZWxkLmdldCgp
IGZyYW1lXS5zaXplOworICAgIE5TU2l6ZSBmcmFtZVNpemUgPSB0ZXh0RmllbGRTaXplOworICAg
IGZyYW1lU2l6ZS53aWR0aCArPSBXYXJuaW5nVmlld1BhZGRpbmcgKiAyOworICAgIGZyYW1lU2l6
ZS5oZWlnaHQgKz0gV2FybmluZ1ZpZXdQYWRkaW5nICogMjsKKyAgICBbc2VsZiBzZXRGcmFtZVNp
emU6ZnJhbWVTaXplXTsKKworICAgIE5TUG9pbnQgdGV4dEZpZWxkT3JpZ2luID0gTlNNYWtlUG9p
bnQoCisgICAgICAgIChmcmFtZVNpemUud2lkdGggLSB0ZXh0RmllbGRTaXplLndpZHRoKSAvIDIs
CisgICAgICAgIChmcmFtZVNpemUuaGVpZ2h0IC0gdGV4dEZpZWxkU2l6ZS5oZWlnaHQpIC8gMik7
CisgICAgW190ZXh0RmllbGQuZ2V0KCkgc2V0RnJhbWVPcmlnaW46dGV4dEZpZWxkT3JpZ2luXTsK
KyAgICBbc2VsZiBhZGRTdWJ2aWV3Ol90ZXh0RmllbGQuZ2V0KCldOworCisgICAgUmV0YWluUHRy
PE5TQ29sb3I+IGJhY2tncm91bmRDb2xvciA9IFtOU0NvbG9yIGNvbG9yV2l0aENhbGlicmF0ZWRX
aGl0ZTpXYXJuaW5nVmlld0JhY2tncm91bmRXaGl0ZSBhbHBoYTpXYXJuaW5nVmlld0JhY2tncm91
bmRBbHBoYV07CisgICAgW3NlbGYgc2V0RmlsbENvbG9yOmJhY2tncm91bmRDb2xvci5nZXQoKV07
CisgICAgW3NlbGYgc2V0Q29ybmVyUmFkaXVzOldhcm5pbmdWaWV3Q29ybmVyUmFkaXVzXTsKKwor
ICAgIFJldGFpblB0cjxOU0NvbG9yPiBib3JkZXJDb2xvciA9IFtOU0NvbG9yIGNvbG9yV2l0aENh
bGlicmF0ZWRXaGl0ZTpXYXJuaW5nVmlld0JvcmRlcldoaXRlIGFscGhhOldhcm5pbmdWaWV3Qm9y
ZGVyQWxwaGFdOworICAgIFtzZWxmIHNldEJvcmRlckNvbG9yOmJvcmRlckNvbG9yLmdldCgpXTsK
KworICAgIFJldGFpblB0cjxOU1NoYWRvdz4gc2hhZG93ID0gYWRvcHROUyhbW05TU2hhZG93IGFs
bG9jXSBpbml0XSk7CisgICAgUmV0YWluUHRyPE5TQ29sb3I+IHNoYWRvd0NvbG9yID0gW05TQ29s
b3IgY29sb3JXaXRoQ2FsaWJyYXRlZFdoaXRlOldhcm5pbmdWaWV3U2hhZG93V2hpdGUgYWxwaGE6
V2FybmluZ1ZpZXdTaGFkb3dBbHBoYV07CisgICAgW3NoYWRvdy5nZXQoKSBzZXRTaGFkb3dDb2xv
cjpzaGFkb3dDb2xvci5nZXQoKV07CisgICAgW3NoYWRvdy5nZXQoKSBzZXRTaGFkb3dPZmZzZXQ6
V2FybmluZ1ZpZXdTaGFkb3dPZmZzZXRdOworICAgIFtzaGFkb3cuZ2V0KCkgc2V0U2hhZG93Qmx1
clJhZGl1czpXYXJuaW5nVmlld1NoYWRvd1JhZGl1c107CisgICAgW3NlbGYgc2V0U2hhZG93OnNo
YWRvdy5nZXQoKV07CisKKyAgICByZXR1cm4gc2VsZjsKK30KKworLSAodm9pZClkZWFsbG9jCit7
CisgICAgW05TT2JqZWN0IGNhbmNlbFByZXZpb3VzUGVyZm9ybVJlcXVlc3RzV2l0aFRhcmdldDpz
ZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihoaWRlV2l0aEZhZGUpIG9iamVjdDpuaWxdOworICAgIFtz
dXBlciBkZWFsbG9jXTsKK30KKworLSAodm9pZClzaG93VGhlbkhpZGVXaXRoRmFkZQoreworICAg
IFtOU09iamVjdCBjYW5jZWxQcmV2aW91c1BlcmZvcm1SZXF1ZXN0c1dpdGhUYXJnZXQ6c2VsZiBz
ZWxlY3RvcjpAc2VsZWN0b3IoaGlkZVdpdGhGYWRlKSBvYmplY3Q6bmlsXTsKKyAgICBbc2VsZiBw
ZXJmb3JtU2VsZWN0b3I6QHNlbGVjdG9yKGhpZGVXaXRoRmFkZSkgd2l0aE9iamVjdDpuaWwgYWZ0
ZXJEZWxheTpXYXJuaW5nVmlld0hpZGVEZWxheV07CisKKyAgICBbTlNBbmltYXRpb25Db250ZXh0
IGJlZ2luR3JvdXBpbmddOworICAgIFtbTlNBbmltYXRpb25Db250ZXh0IGN1cnJlbnRDb250ZXh0
XSBzZXREdXJhdGlvbjpXYXJuaW5nVmlld0ZhZGVEdXJhdGlvbl07CisgICAgW1tzZWxmIGFuaW1h
dG9yXSBzZXRBbHBoYVZhbHVlOjFdOworICAgIFtOU0FuaW1hdGlvbkNvbnRleHQgZW5kR3JvdXBp
bmddOworfQorCistICh2b2lkKWhpZGVXaXRoRmFkZQoreworICAgIFtOU09iamVjdCBjYW5jZWxQ
cmV2aW91c1BlcmZvcm1SZXF1ZXN0c1dpdGhUYXJnZXQ6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3Io
aGlkZVdpdGhGYWRlKSBvYmplY3Q6bmlsXTsKKworICAgIFtOU0FuaW1hdGlvbkNvbnRleHQgYmVn
aW5Hcm91cGluZ107CisgICAgW1tOU0FuaW1hdGlvbkNvbnRleHQgY3VycmVudENvbnRleHRdIHNl
dER1cmF0aW9uOldhcm5pbmdWaWV3RmFkZUR1cmF0aW9uXTsKKyAgICBbW3NlbGYgYW5pbWF0b3Jd
IHNldEFscGhhVmFsdWU6MF07CisgICAgW05TQW5pbWF0aW9uQ29udGV4dCBlbmRHcm91cGluZ107
Cit9CisKKy0gKHZvaWQpaGlkZQoreworICAgIFtOU09iamVjdCBjYW5jZWxQcmV2aW91c1BlcmZv
cm1SZXF1ZXN0c1dpdGhUYXJnZXQ6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoaGlkZVdpdGhGYWRl
KSBvYmplY3Q6bmlsXTsKKworICAgIFtOU0FuaW1hdGlvbkNvbnRleHQgYmVnaW5Hcm91cGluZ107
CisgICAgW1tOU0FuaW1hdGlvbkNvbnRleHQgY3VycmVudENvbnRleHRdIHNldER1cmF0aW9uOjBd
OworICAgIFtbc2VsZiBhbmltYXRvcl0gc2V0QWxwaGFWYWx1ZTowXTsKKyAgICBbTlNBbmltYXRp
b25Db250ZXh0IGVuZEdyb3VwaW5nXTsKK30KKworCitAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYkZ1bGxTY3JlZW5Db250cm9sbGVyLmggYi9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYkZ1bGxTY3JlZW5Db250cm9sbGVyLmgKaW5kZXggNDcwMWY0NDhh
ZjQ1ZDBhM2I2MWM4NzI2NmEyMGMzNTdjMzc4YWMyNS4uMzk5YWVkYmJlMTJlYzAxOWRhMmZiZTI0
NTU0NGZjNmE5ZTJlYzU5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJGdWxsU2NyZWVuQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViRnVsbFNjcmVlbkNvbnRyb2xsZXIuaApAQCAtMjksNiArMjksNyBAQAogI2ltcG9ydCA8d3Rm
L1JlZlB0ci5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCitAY2xhc3MgV2ViQ29yZUZ1
bGxTY3JlZW5XYXJuaW5nVmlldzsKIEBjbGFzcyBXZWJXaW5kb3dGYWRlQW5pbWF0aW9uOwogQGNs
YXNzIFdlYldpbmRvd1NjYWxlQW5pbWF0aW9uOwogQGNsYXNzIFdlYlZpZXc7CkBAIC00Nyw2ICs0
OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBSZXRhaW5QdHI8V2ViV2luZG93U2NhbGVB
bmltYXRpb24+IF9zY2FsZUFuaW1hdGlvbjsKICAgICBSZXRhaW5QdHI8V2ViV2luZG93RmFkZUFu
aW1hdGlvbj4gX2ZhZGVBbmltYXRpb247CiAgICAgUmV0YWluUHRyPE5TV2luZG93PiBfYmFja2dy
b3VuZFdpbmRvdzsKKyAgICBSZXRhaW5QdHI8V2ViQ29yZUZ1bGxTY3JlZW5XYXJuaW5nVmlldz4g
X3dhcm5pbmdWaWV3OwogICAgIE5TUmVjdCBfaW5pdGlhbEZyYW1lOwogICAgIE5TUmVjdCBfZmlu
YWxGcmFtZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGdWxs
U2NyZWVuQ29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnVsbFNj
cmVlbkNvbnRyb2xsZXIubW0KaW5kZXggZTY0ZjQ3NDA3ODFkMWI0MTk4NGI1ODYxMmEzMWQxN2Qx
ZjA3NmFlZi4uMTA5YmMwNzhjOGVjY2MzYWVkYWYwNTAwYTZmMGFiZjAzZWI5MzVmMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGdWxsU2NyZWVuQ29udHJvbGxlci5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZ1bGxTY3JlZW5Db250cm9sbGVy
Lm1tCkBAIC00MSw2ICs0MSw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1JlbmRlck9iamVjdC5oPgog
I2ltcG9ydCA8V2ViQ29yZS9SZW5kZXJWaWV3Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1NvZnRMaW5r
aW5nLmg+CisjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVGdWxsU2NyZWVuV2FybmluZ1ZpZXcuaD4K
ICNpbXBvcnQgPFdlYkNvcmUvV2ViQ29yZUZ1bGxTY3JlZW5XaW5kb3cuaD4KICNpbXBvcnQgPFdl
YkNvcmUvV2ViV2luZG93QW5pbWF0aW9uLmg+CiAjaW1wb3J0IDxXZWJLaXRTeXN0ZW1JbnRlcmZh
Y2UuaD4KQEAgLTEwMSw2ICsxMDIsMTEgQEAgc3RhdGljIE5TUmVjdCBjb252ZXJ0UmVjdFRvU2Ny
ZWVuKE5TV2luZG93ICp3aW5kb3csIE5TUmVjdCByZWN0KQogICAgIFt3aW5kb3cgcmVsZWFzZV07
CiAgICAgaWYgKCFzZWxmKQogICAgICAgICByZXR1cm4gbmlsOworCisgICAgX3dhcm5pbmdWaWV3
ID0gYWRvcHROUyhbW1dlYkNvcmVGdWxsU2NyZWVuV2FybmluZ1ZpZXcgYWxsb2NdIGluaXRdKTsK
KyAgICBbW1tzZWxmIHdpbmRvd10gY29udGVudFZpZXddIHNldFdhbnRzTGF5ZXI6WUVTXTsKKyAg
ICBbW1tzZWxmIHdpbmRvd10gY29udGVudFZpZXddIGFkZFN1YnZpZXc6X3dhcm5pbmdWaWV3Lmdl
dCgpXTsKKyAgICBbX3dhcm5pbmdWaWV3LmdldCgpIGhpZGVdOwogICAgIFtzZWxmIHdpbmRvd0Rp
ZExvYWRdOwogCiAgICAgcmV0dXJuIHNlbGY7CkBAIC0yMjIsNiArMjI4LDExIEBAIHN0YXRpYyBO
U1JlY3QgY29udmVydFJlY3RUb1NjcmVlbihOU1dpbmRvdyAqd2luZG93LCBOU1JlY3QgcmVjdCkK
ICAgICAKICAgICBOU1Jlc3BvbmRlciAqd2ViV2luZG93Rmlyc3RSZXNwb25kZXIgPSBbW193ZWJW
aWV3IHdpbmRvd10gZmlyc3RSZXNwb25kZXJdOwogICAgIFtbc2VsZiB3aW5kb3ddIHNldEZyYW1l
OnNjcmVlbkZyYW1lIGRpc3BsYXk6Tk9dOworICAgIE5TU2l6ZSB3YXJuaW5nVmlld1NpemUgPSBb
X3dhcm5pbmdWaWV3LmdldCgpIGZyYW1lXS5zaXplOworICAgIE5TUG9pbnQgd2FybmluZ1ZpZXdP
cmlnaW4gPSBOU01ha2VQb2ludCgKKyAgICAgICAgKHNjcmVlbkZyYW1lLnNpemUud2lkdGggLSB3
YXJuaW5nVmlld1NpemUud2lkdGgpIC8gMiwKKyAgICAgICAgKHNjcmVlbkZyYW1lLnNpemUuaGVp
Z2h0IC0gd2FybmluZ1ZpZXdTaXplLmhlaWdodCkgLyAyKTsKKyAgICBbX3dhcm5pbmdWaWV3Lmdl
dCgpIHNldEZyYW1lT3JpZ2luOndhcm5pbmdWaWV3T3JpZ2luXTsKIAogICAgIF9pbml0aWFsRnJh
bWUgPSBzY3JlZW5SZWN0T2ZDb250ZW50cyhfZWxlbWVudC5nZXQoKSk7CiAKQEAgLTI0OCw3ICsy
NTksOSBAQCBzdGF0aWMgTlNSZWN0IGNvbnZlcnRSZWN0VG9TY3JlZW4oTlNXaW5kb3cgKndpbmRv
dywgTlNSZWN0IHJlY3QpCiAgICAgX2ZpbmFsRnJhbWUgPSBzY3JlZW5SZWN0T2ZDb250ZW50cyhf
ZWxlbWVudC5nZXQoKSk7CiAgICAgCiAgICAgW3NlbGYgX3VwZGF0ZU1lbnVBbmREb2NrRm9yRnVs
bFNjcmVlbl07ICAgCi0gICAgCisKKyAgICBbX3dhcm5pbmdWaWV3LmdldCgpIGhpZGVdOworCiAg
ICAgW3NlbGYgX3N0YXJ0RW50ZXJGdWxsU2NyZWVuQW5pbWF0aW9uV2l0aER1cmF0aW9uOmRlZmF1
bHRBbmltYXRpb25EdXJhdGlvbl07CiAKICAgICBfaXNFbnRlcmluZ0Z1bGxTY3JlZW4gPSB0cnVl
OwpAQCAtMjg4LDYgKzMwMSw5IEBAIHN0YXRpYyBOU1JlY3QgY29udmVydFJlY3RUb1NjcmVlbihO
U1dpbmRvdyAqd2luZG93LCBOU1JlY3QgcmVjdCkKICAgICAgICAgCiAgICAgICAgIFtfYmFja2dy
b3VuZFdpbmRvdy5nZXQoKSBvcmRlck91dDpzZWxmXTsKICAgICAgICAgW19iYWNrZ3JvdW5kV2lu
ZG93LmdldCgpIHNldEZyYW1lOk5TWmVyb1JlY3QgZGlzcGxheTpZRVNdOworCisgICAgICAgIFtf
d2FybmluZ1ZpZXcuZ2V0KCkgc2hvd1RoZW5IaWRlV2l0aEZhZGVdOworCiAgICAgICAgIE5TRW5h
YmxlU2NyZWVuVXBkYXRlcygpOwogICAgIH0gZWxzZQogICAgICAgICBbX3NjYWxlQW5pbWF0aW9u
LmdldCgpIHN0b3BBbmltYXRpb25dOwpAQCAtMzQwLDYgKzM1Niw4IEBAIHN0YXRpYyBOU1JlY3Qg
Y29udmVydFJlY3RUb1NjcmVlbihOU1dpbmRvdyAqd2luZG93LCBOU1JlY3QgcmVjdCkKICAgICBb
d2ViV2luZG93IHNldEFuaW1hdGlvbkJlaGF2aW9yOmFuaW1hdGlvbkJlaGF2aW9yXTsKICNlbmRp
ZgogCisgICAgW193YXJuaW5nVmlldy5nZXQoKSBoaWRlXTsKKwogICAgIFtzZWxmIF9zdGFydEV4
aXRGdWxsU2NyZWVuQW5pbWF0aW9uV2l0aER1cmF0aW9uOmRlZmF1bHRBbmltYXRpb25EdXJhdGlv
bl07CiAgICAgX2lzRXhpdGluZ0Z1bGxTY3JlZW4gPSBZRVM7ICAgIAogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVy
LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dLRnVsbFNjcmVlbldpbmRvd0NvbnRy
b2xsZXIuaAppbmRleCA5Y2U4OGFlNWE5NmJiZGJmOWRhZjljNjcwMzkxMDdhZjkyODhlOThjLi4x
ZDlmYWMwMWNlMDMxZjExZmI0ZTFmMzNiYjdlNzEzNjczZjYxOTcyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXIuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dLRnVsbFNjcmVlbldpbmRvd0NvbnRy
b2xsZXIuaApAQCAtMzgsNiArMzgsNyBAQCBjbGFzcyBJbnRSZWN0OwogfQogCiBAY2xhc3MgV0tW
aWV3OworQGNsYXNzIFdlYkNvcmVGdWxsU2NyZWVuV2FybmluZ1ZpZXc7CiBAY2xhc3MgV2ViV2lu
ZG93U2NhbGVBbmltYXRpb247CiBAY2xhc3MgV2ViV2luZG93RmFkZUFuaW1hdGlvbjsKIApAQCAt
NDgsNiArNDksNyBAQCBjbGFzcyBJbnRSZWN0OwogICAgIFJldGFpblB0cjxXZWJXaW5kb3dTY2Fs
ZUFuaW1hdGlvbj4gX3NjYWxlQW5pbWF0aW9uOwogICAgIFJldGFpblB0cjxXZWJXaW5kb3dGYWRl
QW5pbWF0aW9uPiBfZmFkZUFuaW1hdGlvbjsKICAgICBSZXRhaW5QdHI8TlNXaW5kb3c+IF9iYWNr
Z3JvdW5kV2luZG93OworICAgIFJldGFpblB0cjxXZWJDb3JlRnVsbFNjcmVlbldhcm5pbmdWaWV3
PiBfd2FybmluZ1ZpZXc7CiAgICAgTlNSZWN0IF9pbml0aWFsRnJhbWU7CiAgICAgTlNSZWN0IF9m
aW5hbEZyYW1lOwogICAgIFJldGFpblB0cjxOU1RpbWVyPiBfd2F0Y2hkb2dUaW1lcjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV0tGdWxsU2NyZWVuV2luZG93Q29u
dHJvbGxlci5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV0tGdWxsU2NyZWVuV2lu
ZG93Q29udHJvbGxlci5tbQppbmRleCAyMzhhNjc1MTY1ZWQ4YzI5ODM5NDg5M2E1MWJiYWJiNjFk
YTI3NDI1Li41M2IyMGU4MGE0MmYwODk0M2NmNGI2ZWUxMTZjNDU3YjJjYzlkMmEzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dLRnVsbFNjcmVlbldpbmRvd0NvbnRy
b2xsZXIubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XS0Z1bGxTY3JlZW5X
aW5kb3dDb250cm9sbGVyLm1tCkBAIC0zOSw2ICszOSw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL0Rp
c3BsYXlTbGVlcERpc2FibGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Zsb2F0UmVjdC5oPgogI2lt
cG9ydCA8V2ViQ29yZS9JbnRSZWN0Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVGdWxsU2Ny
ZWVuV2FybmluZ1ZpZXcuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2ViQ29yZUZ1bGxTY3JlZW5XaW5k
b3cuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2ViV2luZG93QW5pbWF0aW9uLmg+CiAjaW1wb3J0IDxX
ZWJLaXQvV2ViTlNXaW5kb3dFeHRyYXMuaD4KQEAgLTkyLDYgKzkzLDExIEBAIHN0YXRpYyBOU1Jl
Y3QgY29udmVydFJlY3RUb1NjcmVlbihOU1dpbmRvdyAqd2luZG93LCBOU1JlY3QgcmVjdCkKICAg
ICBbd2luZG93IHJlbGVhc2VdOwogICAgIGlmICghc2VsZikKICAgICAgICAgcmV0dXJuIG5pbDsK
KworICAgIF93YXJuaW5nVmlldyA9IGFkb3B0TlMoW1tXZWJDb3JlRnVsbFNjcmVlbldhcm5pbmdW
aWV3IGFsbG9jXSBpbml0XSk7CisgICAgW1tbc2VsZiB3aW5kb3ddIGNvbnRlbnRWaWV3XSBzZXRX
YW50c0xheWVyOllFU107CisgICAgW1tbc2VsZiB3aW5kb3ddIGNvbnRlbnRWaWV3XSBhZGRTdWJ2
aWV3Ol93YXJuaW5nVmlldy5nZXQoKV07CisgICAgW193YXJuaW5nVmlldy5nZXQoKSBoaWRlXTsK
ICAgICBbc2VsZiB3aW5kb3dEaWRMb2FkXTsKICAgICAKICAgICByZXR1cm4gc2VsZjsKQEAgLTIz
Nyw2ICsyNDMsMTEgQEAgc3RhdGljIFJldGFpblB0cjxDR0ltYWdlUmVmPiBjcmVhdGVJbWFnZVdp
dGhDb3BpZWREYXRhKENHSW1hZ2VSZWYgc291cmNlSW1hZ2UpCiAKICAgICBOU1Jlc3BvbmRlciAq
d2ViV2luZG93Rmlyc3RSZXNwb25kZXIgPSBbW193ZWJWaWV3IHdpbmRvd10gZmlyc3RSZXNwb25k
ZXJdOwogICAgIFtbc2VsZiB3aW5kb3ddIHNldEZyYW1lOnNjcmVlbkZyYW1lIGRpc3BsYXk6Tk9d
OworICAgIE5TU2l6ZSB3YXJuaW5nVmlld1NpemUgPSBbX3dhcm5pbmdWaWV3LmdldCgpIGZyYW1l
XS5zaXplOworICAgIE5TUG9pbnQgd2FybmluZ1ZpZXdPcmlnaW4gPSBOU01ha2VQb2ludCgKKyAg
ICAgICAgKHNjcmVlbkZyYW1lLnNpemUud2lkdGggLSB3YXJuaW5nVmlld1NpemUud2lkdGgpIC8g
MiwgCisgICAgICAgIChzY3JlZW5GcmFtZS5zaXplLmhlaWdodCAtIHdhcm5pbmdWaWV3U2l6ZS5o
ZWlnaHQpIC8gMik7CisgICAgW193YXJuaW5nVmlldy5nZXQoKSBzZXRGcmFtZU9yaWdpbjp3YXJu
aW5nVmlld09yaWdpbl07CiAKICAgICAvLyBQYWludGluZyBpcyBub3JtYWxseSBzdXNwZW5kZWQg
d2hlbiB0aGUgV0tWaWV3IGlzIHJlbW92ZWQgZnJvbSB0aGUgd2luZG93LCBidXQgdGhpcyBpcwog
ICAgIC8vIHVubmVjZXNzYXJ5IGluIHRoZSBmdWxsLXNjcmVlbiBhbmltYXRpb24gY2FzZSwgYW5k
IGNhbiBjYXVzZSBidWdzOyBzZWUKQEAgLTI3NSw2ICsyODYsOCBAQCBzdGF0aWMgUmV0YWluUHRy
PENHSW1hZ2VSZWY+IGNyZWF0ZUltYWdlV2l0aENvcGllZERhdGEoQ0dJbWFnZVJlZiBzb3VyY2VJ
bWFnZSkKIAogICAgIFtzZWxmIF91cGRhdGVNZW51QW5kRG9ja0ZvckZ1bGxTY3JlZW5dOyAgIAog
CisgICAgW193YXJuaW5nVmlldy5nZXQoKSBoaWRlXTsKKwogICAgIFtzZWxmIF9zdGFydEVudGVy
RnVsbFNjcmVlbkFuaW1hdGlvbldpdGhEdXJhdGlvbjpkZWZhdWx0QW5pbWF0aW9uRHVyYXRpb25d
OwogfQogCkBAIC0zMTIsNiArMzI1LDkgQEAgc3RhdGljIFJldGFpblB0cjxDR0ltYWdlUmVmPiBj
cmVhdGVJbWFnZVdpdGhDb3BpZWREYXRhKENHSW1hZ2VSZWYgc291cmNlSW1hZ2UpCiAgICAgICAg
IAogICAgICAgICBbX2JhY2tncm91bmRXaW5kb3cuZ2V0KCkgb3JkZXJPdXQ6c2VsZl07CiAgICAg
ICAgIFtfYmFja2dyb3VuZFdpbmRvdy5nZXQoKSBzZXRGcmFtZTpOU1plcm9SZWN0IGRpc3BsYXk6
WUVTXTsKKworICAgICAgICBbX3dhcm5pbmdWaWV3LmdldCgpIHNob3dUaGVuSGlkZVdpdGhGYWRl
XTsKKwogICAgICAgICBOU0VuYWJsZVNjcmVlblVwZGF0ZXMoKTsKICAgICB9IGVsc2UKICAgICAg
ICAgW19zY2FsZUFuaW1hdGlvbi5nZXQoKSBzdG9wQW5pbWF0aW9uXTsKQEAgLTM3Miw2ICszODgs
OCBAQCBzdGF0aWMgUmV0YWluUHRyPENHSW1hZ2VSZWY+IGNyZWF0ZUltYWdlV2l0aENvcGllZERh
dGEoQ0dJbWFnZVJlZiBzb3VyY2VJbWFnZSkKICAgICBbd2ViV2luZG93IHNldEFuaW1hdGlvbkJl
aGF2aW9yOmFuaW1hdGlvbkJlaGF2aW9yXTsKICNlbmRpZgogCisgICAgW193YXJuaW5nVmlldy5n
ZXQoKSBoaWRlXTsKKwogICAgIFtzZWxmIF9zdGFydEV4aXRGdWxsU2NyZWVuQW5pbWF0aW9uV2l0
aER1cmF0aW9uOmRlZmF1bHRBbmltYXRpb25EdXJhdGlvbl07CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168019</attachid>
            <date>2012-10-10 09:47:46 -0700</date>
            <delta_ts>2012-10-11 12:39:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98863-20121010094645.patch</filename>
            <type>text/plain</type>
            <size>27170</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwOTE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWNkZDQ2OTM3MTY5OTg5
OGQyZjU0MTE2ZWU4OWI2ODJiY2IwOTRiOS4uYzVhNTc1NGUyNTg0ZGU4NjI5OTAwM2U4NDdkYWYy
ZGU1NDcxODdlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTEwLTEwICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFNob3cgYSAiUHJlc3MgRVND
IHRvIGxlYXZlIGZ1bGwtc2NyZWVuIG1vZGUiIHdhcm5pbmcgd2hlbiBlbnRlcmluZyBmdWxsc2Ny
ZWVuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODg2
MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTI0NTk1NDk+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgbmV3IE5TVmlldyBjbGFzcyB0byBi
ZSBzaGFyZWQgYnkgV2ViS2l0IGFuZCBXZWJLaXQyLCByZXNwb25zaWJsZSBmb3IKKyAgICAgICAg
ZGlzcGxheWluZyBhIHdhcm5pbmcgbWVzc2FnZSB3aGVuIGVudGVyaW5nIGZ1bGwgc2NyZWVuLgor
CisgICAgICAgICogcGxhdGZvcm0vbWFjL1dlYkNvcmVGdWxsU2NyZWVuV2FybmluZ1ZpZXcuaDog
CisgICAgICAgICogcGxhdGZvcm0vbWFjL1dlYkNvcmVGdWxsU2NyZWVuV2FybmluZ1ZpZXcubW06
IEFkZGVkLgorICAgICAgICAoLVtXZWJDb3JlRnVsbFNjcmVlbldhcm5pbmdWaWV3IGluaXRdKTog
U3RhbmRhcmQgY29uc3RydWN0b3IuCisgICAgICAgICgtW1dlYkNvcmVGdWxsU2NyZWVuV2Fybmlu
Z1ZpZXcgZGVhbGxvY10pOiBDYW5jZWwgYW55IHBlbmRpbmcgcGVyZm9ybVNlbGVjdG9yOiBjYWxs
cy4KKyAgICAgICAgKC1bV2ViQ29yZUZ1bGxTY3JlZW5XYXJuaW5nVmlldyBzaG93VGhlbkhpZGVX
aXRoRmFkZV0pOiBVc2UgdGhlIHZpZXcncyBhbmltYXRvciB0byBzaG93IHRoZSB2aWV3LgorICAg
ICAgICAoLVtXZWJDb3JlRnVsbFNjcmVlbldhcm5pbmdWaWV3IGhpZGVXaXRoRmFkZV0pOiBVc2Ug
dGhlIHZpZXcncyBhbmltYXRvciB0byBoaWRlIHRoZSB2aWV3LgorICAgICAgICAoLVtXZWJDb3Jl
RnVsbFNjcmVlbldhcm5pbmdWaWV3IGhpZGVdKTogRGl0dG8sIHdpdGggYSB6ZXJvIGFuaW1hdGlv
biBkdXJhdGlvbi4KKworICAgICAgICBBZGQgYSBsb2NhbGl6ZWQgc3RyaW5nIGZvciB0aGUgZnVs
bCBzY3JlZW4gd2FybmluZyB2aWV3OgorICAgICAgICAqIHBsYXRmb3JtL0xvY2FsaXplZFN0cmlu
Z3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZnVsbHNjcmVlbldhcm5pbmdUZXh0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmg6CisKKyAgICAgICAgQWRkIHRoZSBuZXcg
Y2xhc3MgdG8gdGhlIGJ1aWxkIGFuZCBleHBvcnQgaXQ6CisgICAgICAgICogV2ViQ29yZS5leHAu
aW46CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDEy
LTEwLTEwICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFdlYiBJbnNwZWN0b3I6IFtSZWdyZXNzaW9uXSBTdGFsZSByZXZpc2lvbnMgYXJlIG5vdCBjbGVh
cmVkIHdoZW4gaW5zcGVjdG9yIGlzIG9wZW5lZCBmb3IgdGhlIGFscmVhZHkgbG9hZGVkIHBhZ2Uu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKaW5kZXggZDk1MWVlM2Y0MjhjYTFhYzAzZTcwNGFkM2EyODJmOTg5Mjc5
NzdkNC4uMjE3YWVkODEwNWE1NmM4YzdmMjIwNTMxMjQ3OTBlZjNjMDBhODU1ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0No
YW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTEwLTEwICBKZXIgTm9ibGUgIDxqZXIubm9i
bGVAYXBwbGUuY29tPgorCisgICAgICAgIFNob3cgYSAiUHJlc3MgRVNDIHRvIGxlYXZlIGZ1bGwt
c2NyZWVuIG1vZGUiIHdhcm5pbmcgd2hlbiBlbnRlcmluZyBmdWxsc2NyZWVuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODg2MworICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMTI0NTk1NDk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVXNlIHRoZSBzaGFyZWQgV2ViQ29yZUZ1bGxTY3JlZW5XYXJuaW5nVmll
dyBjbGFzcyB0byBwcmVzZW50IGEgCisgICAgICAgIHdhcm5pbmcgdG8gdGhlIHVzZXIgdXBvbiBl
bnRlcmluZyBmdWxsIHNjcmVlbiBtb2RlLgorCisgICAgICAgICogV2ViVmlldy9XZWJGdWxsU2Ny
ZWVuQ29udHJvbGxlci5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViRnVsbFNjcmVlbkNvbnRyb2xs
ZXIubW06CisgICAgICAgICgtW1dlYkZ1bGxTY3JlZW5Db250cm9sbGVyIGluaXRdKTogQ3JlYXRl
IHRoZSBfd2FybmluZ1ZpZXcuCisgICAgICAgICgtW1dlYkZ1bGxTY3JlZW5Db250cm9sbGVyIGVu
dGVyRnVsbFNjcmVlbjpdKTogUG9zaXRpb24gdGhlIF93YXJuaW5nVmlldworICAgICAgICAgICAg
aW4gdGhlIGNlbnRlciBvZiB0aGUgd2luZG93IGFuZCBoaWRlIGl0LgorICAgICAgICAoLVtXZWJG
dWxsU2NyZWVuQ29udHJvbGxlciBmaW5pc2hlZEVudGVyRnVsbFNjcmVlbkFuaW1hdGlvbjpdKTog
U2hvdyB0aGUgX3dhcm5pbmdWaWV3LgorICAgICAgICAoLVtXZWJGdWxsU2NyZWVuQ29udHJvbGxl
ciBleGl0RnVsbFNjcmVlbl0pOiBIaWRlIHRoZSBfd2FybmluZ1ZpZXcuCisKIDIwMTItMTAtMDkg
IEppYW4gTGkgIDxqaWFubGlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVwZGF0ZSB0aGUgQ1NT
IHByb3BlcnR5IHVzZWQgdG8gc3VwcG9ydCBkcmFnZ2FibGUgcmVnaW9ucy4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRl
eCBhZWEwNGZmMzJhNjYwZDFiNDFlODdhYmNiZTk0OGEwZDlkNGRlYTNhLi4wMGE2ZWQxZjZhN2Fj
NWQ0OTZlZTg0ODc0NWRkZGM2MzI4MjY4ZGRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAK
KzIwMTItMTAtMTAgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAg
U2hvdyBhICJQcmVzcyBFU0MgdG8gbGVhdmUgZnVsbC1zY3JlZW4gbW9kZSIgd2FybmluZyB3aGVu
IGVudGVyaW5nIGZ1bGxzY3JlZW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTk4ODYzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjQ1OTU0OT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgdGhlIHNo
YXJlZCBXZWJDb3JlRnVsbFNjcmVlbldhcm5pbmdWaWV3IGNsYXNzIHRvIHByZXNlbnQgYSAKKyAg
ICAgICAgd2FybmluZyB0byB0aGUgdXNlciB1cG9uIGVudGVyaW5nIGZ1bGwgc2NyZWVuIG1vZGUu
CisKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXIu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXIu
bW06CisgICAgICAgICgtW1dLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXIgaW5pdF0pOiBDcmVh
dGUgdGhlIF93YXJuaW5nVmlldy4KKyAgICAgICAgKC1bV0tGdWxsU2NyZWVuV2luZG93Q29udHJv
bGxlciBlbnRlckZ1bGxTY3JlZW46XSk6IFBvc2l0aW9uIHRoZSBfd2FybmluZ1ZpZXcKKyAgICAg
ICAgICAgIGluIHRoZSBjZW50ZXIgb2YgdGhlIHdpbmRvdy4KKyAgICAgICAgKC1bV0tGdWxsU2Ny
ZWVuV2luZG93Q29udHJvbGxlciBiZWdhbkVudGVyRnVsbFNjcmVlbldpdGhJbml0aWFsRnJhbWU6
ZmluYWxGcmFtZTpdKTogSGlkZSB0aGUgX3dhcm5pbmdWaWV3LgorICAgICAgICAoLVtXS0Z1bGxT
Y3JlZW5XaW5kb3dDb250cm9sbGVyIGZpbmlzaGVkRW50ZXJGdWxsU2NyZWVuQW5pbWF0aW9uOl0p
OiBTaG93ICh0aGVuIGhpZGUpIHRoZSBfd2FybmluZ1ZpZXcuCisgICAgICAgICgtW1dLRnVsbFNj
cmVlbldpbmRvd0NvbnRyb2xsZXIgYmVnYW5FeGl0RnVsbFNjcmVlbldpdGhJbml0aWFsRnJhbWU6
ZmluYWxGcmFtZTpdKTogSGlkZSB0aGUgX3dhcm5pbmdWaWV3LgorCiAyMDEyLTEwLTEwICBKb2Nl
bHluIFR1cmNvdHRlICA8am9jZWx5bi50dXJjb3R0ZUBkaWdpYS5jb20+CiAKICAgICAgICAgW1F0
XVtXSzJdIFJFR1JFU1NJT04ocjEzMDg3OSk6IEl0IG1hZGUgZmFzdC9ldmVudHMvdG91Y2gvKiB0
ZXN0cyBjcmFzaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCAyYzRmMTQzODM3ZGFhZGRiNGYwMzY4
YWJlMzc1NDYzZDMwYzk5MGFmLi44OTJmOTE5YmM1OTBlZjM3ODUxMTgwNWE4MzE0MDVhNjFkMTJj
OGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMTU0MCw2ICsxNTQwLDcgQEAgX3drU2lnbmFs
Q0ZSZWFkU3RyZWFtSGFzQnl0ZXMKIC5vYmpjX2NsYXNzX25hbWVfRE9NU3R5bGVTaGVldAogLm9i
amNfY2xhc3NfbmFtZV9ET01TdHlsZVNoZWV0TGlzdAogLm9iamNfY2xhc3NfbmFtZV9ET01UcmVl
V2Fsa2VyCisub2JqY19jbGFzc19uYW1lX1dlYkNvcmVGdWxsU2NyZWVuV2FybmluZ1ZpZXcKIC5v
YmpjX2NsYXNzX25hbWVfV2ViQ29yZUZ1bGxTY3JlZW5XaW5kb3cKIC5vYmpjX2NsYXNzX25hbWVf
V2ViSFRNTENvbnZlcnRlcgogLm9iamNfY2xhc3NfbmFtZV9XZWJXaW5kb3dGYWRlQW5pbWF0aW9u
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggYzc0MGFkNTM0MjNiNmQyN2VmYjcxY2E1ZjI5ZTM1NzQ4YmVkZjhmNC4uZGY2MDUxNTMy
YzkwMzlkZmJkOWY1MTM2NGVkY2ZiMDJlNzFjZDU0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTg2Niw2ICs1ODY2LDggQEAK
IAkJQ0QyN0Y2RTUxNDU3Njg1QTAwNzgyMDdEIC8qIEpTTWVkaWFDb250cm9sbGVyLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEMjdGNkUyMTQ1NzY3
NTgwMDc4MjA3RCAvKiBKU01lZGlhQ29udHJvbGxlci5jcHAgKi87IH07CiAJCUNEMjdGNkU3MTQ1
NzcwRDMwMDc4MjA3RCAvKiBNZWRpYUNvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QyN0Y2RTYxNDU3NzBEMzAwNzgyMDdEIC8qIE1l
ZGlhQ29udHJvbGxlci5jcHAgKi87IH07CiAJCUNEMzdCMzk4MTVDMUI5NzEwMDZEQzg5OCAvKiBE
aWFnbm9zdGljTG9nZ2luZ0tleXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0QzN0IzNzQxNUMxQTdFMTAwNkRDODk4IC8qIERpYWdub3N0aWNMb2dn
aW5nS2V5cy5jcHAgKi87IH07CisJCUNEM0Y5MTI2MTYyNTRBNzUwMDY0NTQ4QSAvKiBXZWJDb3Jl
RnVsbFNjcmVlbldhcm5pbmdWaWV3Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0QzRjkxMjQxNjI1NEExMTAwNjQ1NDhBIC8qIFdlYkNvcmVGdWxsU2Ny
ZWVuV2FybmluZ1ZpZXcubW0gKi87IH07CisJCUNEM0Y5MTI3MTYyNTUwMEMwMDY0NTQ4QSAvKiBX
ZWJDb3JlRnVsbFNjcmVlbldhcm5pbmdWaWV3LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDRDNGOTEyNTE2MjU0QTExMDA2NDU0OEEgLyogV2ViQ29yZUZ1
bGxTY3JlZW5XYXJuaW5nVmlldy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCUNENEFDNTJBMTQ5NkFFOUEwMDg3QzRFRiAvKiBDb21wb3NpdGUud2F2
IGluIENvcHkgQXVkaW8gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENENEFDNTI4MTQ5NkFFMkYwMDg3QzRFRiAvKiBDb21wb3NpdGUud2F2ICovOyB9OwogCQlD
RDgyMDMwQTEzOTVBQjZBMDBGOTU2QzYgLyogV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q4MjAzMDYx
Mzk1QUI2QTAwRjk1NkM2IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRDgyMDMwQjEzOTVB
QjZBMDBGOTU2QzYgLyogV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEODIwMzA3MTM5NUFCNkEwMEY5
NTZDNiAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLm1tICovOyBzZXR0aW5ncyA9IHtD
T01QSUxFUl9GTEFHUyA9ICItV25vLXVuZGVmIC1Xbm8tZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMi
OyB9OyB9OwpAQCAtMTMyMTAsNiArMTMyMTIsOCBAQAogCQlDRDI3RjZFNjE0NTc3MEQzMDA3ODIw
N0QgLyogTWVkaWFDb250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IE1lZGlhQ29udHJvbGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUNEMzdCMzc0MTVDMUE3RTEwMDZEQzg5OCAvKiBEaWFnbm9zdGljTG9nZ2luZ0tleXMuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGlhZ25vc3RpY0xvZ2dpbmdLZXlz
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0QzN0IzNzUxNUMxQTdFMTAwNkRD
ODk4IC8qIERpYWdub3N0aWNMb2dnaW5nS2V5cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBEaWFnbm9zdGljTG9nZ2luZ0tleXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQ0QzRjkxMjQxNjI1NEExMTAwNjQ1NDhBIC8qIFdlYkNvcmVGdWxsU2NyZWVuV2Fybmlu
Z1ZpZXcubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJDb3Jl
RnVsbFNjcmVlbldhcm5pbmdWaWV3Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlD
RDNGOTEyNTE2MjU0QTExMDA2NDU0OEEgLyogV2ViQ29yZUZ1bGxTY3JlZW5XYXJuaW5nVmlldy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb3JlRnVsbFNjcmVlbldhcm5p
bmdWaWV3Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNENEFDNTI4MTQ5NkFFMkYw
MDg3QzRFRiAvKiBDb21wb3NpdGUud2F2ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gYXVkaW8ud2F2OyBuYW1lID0gQ29tcG9zaXRlLndhdjsgcGF0aCA9
IHBsYXRmb3JtL2F1ZGlvL3Jlc291cmNlcy9Db21wb3NpdGUud2F2OyBzb3VyY2VUcmVlID0gU09V
UkNFX1JPT1Q7IH07CiAJCUNENEUwQUZBMTFGN0JDMjcwMDlEMzgxMSAvKiBmdWxsc2NyZWVuLmNz
cyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQuY3NzOyBwYXRoID0gZnVsbHNjcmVlbi5jc3M7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUNEODIwMzA2MTM5NUFCNkEwMEY5NTZDNiAvKiBXZWJWaWRlb0Z1
bGxzY3JlZW5Db250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdl
YlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTE1NzA3LDYgKzE1NzExLDggQEAKIAkJCQlCQ0U2NTlFNTBFQTkyRkIyMDA3RTQ1MzMgLyog
VGhlbWVNYWMuaCAqLywKIAkJCQlCQ0U2NTlFODBFQTkyRkZBMDA3RTQ1MzMgLyogVGhlbWVNYWMu
bW0gKi8sCiAJCQkJNTFERjZEN0YwQjkyQTE4RTAwQzJEQzg1IC8qIFRocmVhZENoZWNrLm1tICov
LAorCQkJCUNEM0Y5MTI0MTYyNTRBMTEwMDY0NTQ4QSAvKiBXZWJDb3JlRnVsbFNjcmVlbldhcm5p
bmdWaWV3Lm1tICovLAorCQkJCUNEM0Y5MTI1MTYyNTRBMTEwMDY0NTQ4QSAvKiBXZWJDb3JlRnVs
bFNjcmVlbldhcm5pbmdWaWV3LmggKi8sCiAJCQkJQ0QxMjdERUExNEYzMDk3OTAwRTg0Nzc5IC8q
IFdlYkNvcmVGdWxsU2NyZWVuV2luZG93LmggKi8sCiAJCQkJQ0QxMjdERUIxNEYzMDk3OTAwRTg0
Nzc5IC8qIFdlYkNvcmVGdWxsU2NyZWVuV2luZG93Lm1tICovLAogCQkJCTM3MTk0MTk1MTU2NkIz
NzIwMEEyNzZEOCAvKiBXZWJDb3JlTlNDZWxsRXh0cmFzLmggKi8sCkBAIC0yNTM5NSw2ICsyNTQw
MSw3IEBACiAJCQkJRkQ1ODFGQjUxNTIwRjkzQjAwM0E3QTc1IC8qIFdhdmVUYWJsZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMjlBODEyNDkwRkJCOUNBOTAwNTEwMjkzIC8qIFdlYkFjY2Vzc2liaWxp
dHlPYmplY3RXcmFwcGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0YxOTlBODA4MjQ1RTU5MDAx
RTlBQkMgLyogV2ViQ29yZUZyYW1lVmlldy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0QzRjkxMjcx
NjI1NTAwQzAwNjQ1NDhBIC8qIFdlYkNvcmVGdWxsU2NyZWVuV2FybmluZ1ZpZXcuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUNEMTI3REVFMTRGMzA5ODQwMEU4NDc3OSAvKiBXZWJDb3JlRnVsbFNjcmVl
bldpbmRvdy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM1M0Q5MTExMTQzMTBDQzAwMEQ4MTdFIC8q
IFdlYkNvcmVKU0NsaWVudERhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzRjE5OUJCMDgyNDVF
NTkwMDFFOUFCQyAvKiBXZWJDb3JlS2V5Ym9hcmRVSU1vZGUuaCBpbiBIZWFkZXJzICovLApAQCAt
Mjg1MTIsNiArMjg1MTksNyBAQAogCQkJCUZEN0YyOTk2MTNENEMwQ0IwMEFEOTUzNSAvKiBXYXZl
U2hhcGVyUHJvY2Vzc29yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZENTgxRkI0MTUyMEY5M0Iw
MDNBN0E3NSAvKiBXYXZlVGFibGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMjlBODEyNEEwRkJC
OUNBOTAwNTEwMjkzIC8qIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLm1tIGluIFNvdXJj
ZXMgKi8sCisJCQkJQ0QzRjkxMjYxNjI1NEE3NTAwNjQ1NDhBIC8qIFdlYkNvcmVGdWxsU2NyZWVu
V2FybmluZ1ZpZXcubW0gaW4gU291cmNlcyAqLywKIAkJCQlDRDEyN0RFRDE0RjMwOTdEMDBFODQ3
NzkgLyogV2ViQ29yZUZ1bGxTY3JlZW5XaW5kb3cubW0gaW4gU291cmNlcyAqLywKIAkJCQlGM0JG
QzlEMzE1QzE3N0VDMDA0MjQ0RTUgLyogV2ViQ29yZU1lbW9yeUluc3RydW1lbnRhdGlvbi5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkzNzE5NDE5NjE1NjZCMzcyMDBBMjc2RDggLyogV2ViQ29yZU5T
Q2VsbEV4dHJhcy5tIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xv
Y2FsaXplZFN0cmluZ3MuY3BwCmluZGV4IDVhN2RkZjhiYWJjZGNlMDZhNjdjZjU2ZjM4MWQwOTMw
NzhlM2VmN2QuLjIwN2QzYWY2YTQwYWI3ZjhhYzNkNDYxYTUwMTcxYTIwYTkyOWMwNTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuY3BwCkBAIC03NDQsNiAr
NzQ0LDEzIEBAIFN0cmluZyBrZXlnZW5LZXljaGFpbkl0ZW1OYW1lKGNvbnN0IFN0cmluZyYgaG9z
dCkKIAogI2VuZGlmCiAKKyNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCitTdHJpbmcgZnVsbHNj
cmVlbldhcm5pbmdUZXh0KCkKK3sKKyAgICByZXR1cm4gV0VCX1VJX1NUUklORygiUHJlc3MgRVND
IHRvIGV4aXQgZnVsbCBzY3JlZW4iLCAiU3RyaW5nIHRvIGRpc3BsYXkgdXBvbiBlbnRlcmluZyBm
dWxsIHNjcmVlbiIpOworfQorI2VuZGlmCisKICNpZiBQTEFURk9STShJT1MpCiBTdHJpbmcgaHRt
bFNlbGVjdE11bHRpcGxlSXRlbXMoc2l6ZV90IGNvdW50KQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oCmluZGV4IDgzNDMyY2Y3OTQyNmY3N2JiNDExMDA1YTE3
MDQ1NTNhODVkN2FmYTAuLmUzZGM5MzZkMTQ0M2RiODVhOTlhMzFmNGE0Y2I4YjE0ZWI3ZWFjODYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmgKQEAgLTI2Miw2
ICsyNjIsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIFN0cmluZyB1bmFjY2VwdGFibGVU
TFNDZXJ0aWZpY2F0ZSgpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCisg
ICAgU3RyaW5nIGZ1bGxzY3JlZW5XYXJuaW5nVGV4dCgpOworI2VuZGlmCisKICNpZiAhUExBVEZP
Uk0oQ0hST01JVU0pCiAjZGVmaW5lIFdFQl9VSV9TVFJJTkcoc3RyaW5nLCBkZXNjcmlwdGlvbikg
V2ViQ29yZTo6bG9jYWxpemVkU3RyaW5nKHN0cmluZykKICNkZWZpbmUgV0VCX1VJX1NUUklOR19L
RVkoc3RyaW5nLCBrZXksIGRlc2NyaXB0aW9uKSBXZWJDb3JlOjpsb2NhbGl6ZWRTdHJpbmcoa2V5
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVGdWxsU2Ny
ZWVuV2FybmluZ1ZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlRnVs
bFNjcmVlbldhcm5pbmdWaWV3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTUxOWZlYTdjN2RjN2Y3ZjA0ODQ4OTRi
YWQ1MDBlZTQ5MTFkZWZiOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21hYy9XZWJDb3JlRnVsbFNjcmVlbldhcm5pbmdWaWV3LmgKQEAgLTAsMCArMSw0MyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpZm5kZWYgV2ViQ29yZUZ1bGxTY3JlZW5XYXJuaW5nVmlld19oCisjZGVm
aW5lIFdlYkNvcmVGdWxsU2NyZWVuV2FybmluZ1ZpZXdfaAorCisjaWYgRU5BQkxFKEZVTExTQ1JF
RU5fQVBJKQorCisjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgorCitAaW50ZXJmYWNlICBXZWJD
b3JlRnVsbFNjcmVlbldhcm5pbmdWaWV3IDogTlNCb3ggeworICAgIFJldGFpblB0cjxOU1RleHRG
aWVsZD4gX3RleHRGaWVsZDsKK30KKy0gKHZvaWQpaGlkZVdpdGhGYWRlOworLSAodm9pZCloaWRl
OworLSAodm9pZClzaG93VGhlbkhpZGVXaXRoRmFkZTsKK0BlbmQKKworI2VuZGlmCisKKyNlbmRp
ZiAvLyBXZWJDb3JlRnVsbFNjcmVlbldhcm5pbmdWaWV3X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlRnVsbFNjcmVlbldhcm5pbmdWaWV3Lm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVGdWxsU2NyZWVuV2FybmluZ1ZpZXcubW0K
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYWI1NTgwYzllMzc1MTVjYTQzYThkY2ZkYThkNzQ2ODY2OGU3ZTVkZgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlRnVsbFNj
cmVlbldhcm5pbmdWaWV3Lm1tCkBAIC0wLDAgKzEsMTQyIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYkNvcmVGdWxsU2NyZWVuV2FybmluZ1ZpZXcuaCIK
KyNpbmNsdWRlICJMb2NhbGl6ZWRTdHJpbmdzLmgiCisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CisKK3N0YXRpYyBjb25zdCBDR0Zsb2F0IFdhcm5pbmdWaWV3VGV4dFdoaXRlID0gMC45
Oworc3RhdGljIGNvbnN0IENHRmxvYXQgV2FybmluZ1ZpZXdUZXh0QWxwaGEgPSAxOworc3RhdGlj
IGNvbnN0IENHRmxvYXQgV2FybmluZ1ZpZXdUZXh0U2l6ZSA9IDQ4Oworc3RhdGljIGNvbnN0IENH
RmxvYXQgV2FybmluZ1ZpZXdQYWRkaW5nID0gMjA7CitzdGF0aWMgY29uc3QgQ0dGbG9hdCBXYXJu
aW5nVmlld0Nvcm5lclJhZGl1cyA9IDU7CitzdGF0aWMgY29uc3QgQ0dGbG9hdCBXYXJuaW5nVmll
d0JvcmRlcldoaXRlID0gMC45Oworc3RhdGljIGNvbnN0IENHRmxvYXQgV2FybmluZ1ZpZXdCb3Jk
ZXJBbHBoYSA9IDAuMjsKK3N0YXRpYyBjb25zdCBDR0Zsb2F0IFdhcm5pbmdWaWV3QmFja2dyb3Vu
ZFdoaXRlID0gMC4xOworc3RhdGljIGNvbnN0IENHRmxvYXQgV2FybmluZ1ZpZXdCYWNrZ3JvdW5k
QWxwaGEgPSAwLjk7CitzdGF0aWMgY29uc3QgQ0dGbG9hdCBXYXJuaW5nVmlld1NoYWRvd1doaXRl
ID0gMC4xOworc3RhdGljIGNvbnN0IENHRmxvYXQgV2FybmluZ1ZpZXdTaGFkb3dBbHBoYSA9IDE7
CitzdGF0aWMgY29uc3QgZmxvYXQgV2FybmluZ1ZpZXdTaGFkb3dPcGFjaXR5ID0gMC4yNTsKK3N0
YXRpYyBjb25zdCBDR1NpemUgV2FybmluZ1ZpZXdTaGFkb3dPZmZzZXQgPSB7MCwgLTJ9Oworc3Rh
dGljIGNvbnN0IENHRmxvYXQgV2FybmluZ1ZpZXdTaGFkb3dSYWRpdXMgPSA1Oworc3RhdGljIGNv
bnN0IE5TVGltZUludGVydmFsIFdhcm5pbmdWaWV3SGlkZURlbGF5ID0gMy4wOworc3RhdGljIGNv
bnN0IE5TVGltZUludGVydmFsIFdhcm5pbmdWaWV3RmFkZUR1cmF0aW9uID0gMC41OworCitAaW1w
bGVtZW50YXRpb24gV2ViQ29yZUZ1bGxTY3JlZW5XYXJuaW5nVmlldworCistIChpZClpbml0Cit7
CisgICAgc2VsZiA9IFtzdXBlciBpbml0V2l0aEZyYW1lOk5TWmVyb1JlY3RdOworICAgIGlmICgh
c2VsZikKKyAgICAgICAgcmV0dXJuIG5pbDsKKworICAgIFtzZWxmIHNldEF1dG9yZXNpemluZ01h
c2s6KE5TVmlld01pblhNYXJnaW4gfCBOU1ZpZXdNYXhYTWFyZ2luIHwgTlNWaWV3TWluWU1hcmdp
biB8IE5TVmlld01heFlNYXJnaW4pXTsKKyAgICBbc2VsZiBzZXRCb3hUeXBlOk5TQm94Q3VzdG9t
XTsKKyAgICBbc2VsZiBzZXRUaXRsZVBvc2l0aW9uOk5TTm9UaXRsZV07CisKKyAgICBfdGV4dEZp
ZWxkID0gYWRvcHROUyhbW05TVGV4dEZpZWxkIGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TWmVyb1Jl
Y3RdKTsKKyAgICBbX3RleHRGaWVsZC5nZXQoKSBzZXRFZGl0YWJsZTpOT107CisgICAgW190ZXh0
RmllbGQuZ2V0KCkgc2V0U2VsZWN0YWJsZTpOT107CisgICAgW190ZXh0RmllbGQuZ2V0KCkgc2V0
Qm9yZGVyZWQ6Tk9dOworICAgIFtfdGV4dEZpZWxkLmdldCgpIHNldERyYXdzQmFja2dyb3VuZDpO
T107CisKKyAgICBSZXRhaW5QdHI8TlNGb250PiB0ZXh0Rm9udCA9IFtOU0ZvbnQgYm9sZFN5c3Rl
bUZvbnRPZlNpemU6V2FybmluZ1ZpZXdUZXh0U2l6ZV07CisgICAgUmV0YWluUHRyPE5TQ29sb3I+
IHRleHRDb2xvciA9IFtOU0NvbG9yIGNvbG9yV2l0aENhbGlicmF0ZWRXaGl0ZTpXYXJuaW5nVmll
d1RleHRXaGl0ZSBhbHBoYTpXYXJuaW5nVmlld1RleHRBbHBoYV07CisgICAgUmV0YWluUHRyPE5T
RGljdGlvbmFyeT4gYXR0cmlidXRlcyA9IGFkb3B0TlMoW1tOU0RpY3Rpb25hcnkgYWxsb2NdIGlu
aXRXaXRoT2JqZWN0c0FuZEtleXM6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHRleHRGb250LmdldCgpLCBOU0ZvbnRBdHRyaWJ1dGVOYW1lLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0Q29sb3Iu
Z2V0KCksIE5TRm9yZWdyb3VuZENvbG9yQXR0cmlidXRlTmFtZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmlsXSk7CisgICAgUmV0YWluUHRyPE5T
QXR0cmlidXRlZFN0cmluZz4gdGV4dCA9IGFkb3B0TlMoW1tOU0F0dHJpYnV0ZWRTdHJpbmcgYWxs
b2NdIGluaXRXaXRoU3RyaW5nOldlYkNvcmU6OmZ1bGxzY3JlZW5XYXJuaW5nVGV4dCgpIGF0dHJp
YnV0ZXM6YXR0cmlidXRlcy5nZXQoKV0pOworICAgIFtfdGV4dEZpZWxkLmdldCgpIHNldEF0dHJp
YnV0ZWRTdHJpbmdWYWx1ZTp0ZXh0LmdldCgpXTsKKyAgICBbX3RleHRGaWVsZC5nZXQoKSBzaXpl
VG9GaXRdOworICAgIE5TU2l6ZSB0ZXh0RmllbGRTaXplID0gW190ZXh0RmllbGQuZ2V0KCkgZnJh
bWVdLnNpemU7CisgICAgTlNTaXplIGZyYW1lU2l6ZSA9IHRleHRGaWVsZFNpemU7CisgICAgZnJh
bWVTaXplLndpZHRoICs9IFdhcm5pbmdWaWV3UGFkZGluZyAqIDI7CisgICAgZnJhbWVTaXplLmhl
aWdodCArPSBXYXJuaW5nVmlld1BhZGRpbmcgKiAyOworICAgIFtzZWxmIHNldEZyYW1lU2l6ZTpm
cmFtZVNpemVdOworCisgICAgTlNQb2ludCB0ZXh0RmllbGRPcmlnaW4gPSBOU01ha2VQb2ludCgK
KyAgICAgICAgKGZyYW1lU2l6ZS53aWR0aCAtIHRleHRGaWVsZFNpemUud2lkdGgpIC8gMiwKKyAg
ICAgICAgKGZyYW1lU2l6ZS5oZWlnaHQgLSB0ZXh0RmllbGRTaXplLmhlaWdodCkgLyAyKTsKKyAg
ICBbX3RleHRGaWVsZC5nZXQoKSBzZXRGcmFtZU9yaWdpbjp0ZXh0RmllbGRPcmlnaW5dOworICAg
IFtzZWxmIGFkZFN1YnZpZXc6X3RleHRGaWVsZC5nZXQoKV07CisKKyAgICBSZXRhaW5QdHI8TlND
b2xvcj4gYmFja2dyb3VuZENvbG9yID0gW05TQ29sb3IgY29sb3JXaXRoQ2FsaWJyYXRlZFdoaXRl
Oldhcm5pbmdWaWV3QmFja2dyb3VuZFdoaXRlIGFscGhhOldhcm5pbmdWaWV3QmFja2dyb3VuZEFs
cGhhXTsKKyAgICBbc2VsZiBzZXRGaWxsQ29sb3I6YmFja2dyb3VuZENvbG9yLmdldCgpXTsKKyAg
ICBbc2VsZiBzZXRDb3JuZXJSYWRpdXM6V2FybmluZ1ZpZXdDb3JuZXJSYWRpdXNdOworCisgICAg
UmV0YWluUHRyPE5TQ29sb3I+IGJvcmRlckNvbG9yID0gW05TQ29sb3IgY29sb3JXaXRoQ2FsaWJy
YXRlZFdoaXRlOldhcm5pbmdWaWV3Qm9yZGVyV2hpdGUgYWxwaGE6V2FybmluZ1ZpZXdCb3JkZXJB
bHBoYV07CisgICAgW3NlbGYgc2V0Qm9yZGVyQ29sb3I6Ym9yZGVyQ29sb3IuZ2V0KCldOworCisg
ICAgUmV0YWluUHRyPE5TU2hhZG93PiBzaGFkb3cgPSBhZG9wdE5TKFtbTlNTaGFkb3cgYWxsb2Nd
IGluaXRdKTsKKyAgICBSZXRhaW5QdHI8TlNDb2xvcj4gc2hhZG93Q29sb3IgPSBbTlNDb2xvciBj
b2xvcldpdGhDYWxpYnJhdGVkV2hpdGU6V2FybmluZ1ZpZXdTaGFkb3dXaGl0ZSBhbHBoYTpXYXJu
aW5nVmlld1NoYWRvd0FscGhhXTsKKyAgICBbc2hhZG93LmdldCgpIHNldFNoYWRvd0NvbG9yOnNo
YWRvd0NvbG9yLmdldCgpXTsKKyAgICBbc2hhZG93LmdldCgpIHNldFNoYWRvd09mZnNldDpXYXJu
aW5nVmlld1NoYWRvd09mZnNldF07CisgICAgW3NoYWRvdy5nZXQoKSBzZXRTaGFkb3dCbHVyUmFk
aXVzOldhcm5pbmdWaWV3U2hhZG93UmFkaXVzXTsKKyAgICBbc2VsZiBzZXRTaGFkb3c6c2hhZG93
LmdldCgpXTsKKworICAgIHJldHVybiBzZWxmOworfQorCistICh2b2lkKWRlYWxsb2MKK3sKKyAg
ICBbTlNPYmplY3QgY2FuY2VsUHJldmlvdXNQZXJmb3JtUmVxdWVzdHNXaXRoVGFyZ2V0OnNlbGYg
c2VsZWN0b3I6QHNlbGVjdG9yKGhpZGVXaXRoRmFkZSkgb2JqZWN0Om5pbF07CisgICAgW3N1cGVy
IGRlYWxsb2NdOworfQorCistICh2b2lkKXNob3dUaGVuSGlkZVdpdGhGYWRlCit7CisgICAgW05T
T2JqZWN0IGNhbmNlbFByZXZpb3VzUGVyZm9ybVJlcXVlc3RzV2l0aFRhcmdldDpzZWxmIHNlbGVj
dG9yOkBzZWxlY3RvcihoaWRlV2l0aEZhZGUpIG9iamVjdDpuaWxdOworICAgIFtzZWxmIHBlcmZv
cm1TZWxlY3RvcjpAc2VsZWN0b3IoaGlkZVdpdGhGYWRlKSB3aXRoT2JqZWN0Om5pbCBhZnRlckRl
bGF5Oldhcm5pbmdWaWV3SGlkZURlbGF5XTsKKworICAgIFtOU0FuaW1hdGlvbkNvbnRleHQgYmVn
aW5Hcm91cGluZ107CisgICAgW1tOU0FuaW1hdGlvbkNvbnRleHQgY3VycmVudENvbnRleHRdIHNl
dER1cmF0aW9uOldhcm5pbmdWaWV3RmFkZUR1cmF0aW9uXTsKKyAgICBbW3NlbGYgYW5pbWF0b3Jd
IHNldEFscGhhVmFsdWU6MV07CisgICAgW05TQW5pbWF0aW9uQ29udGV4dCBlbmRHcm91cGluZ107
Cit9CisKKy0gKHZvaWQpaGlkZVdpdGhGYWRlCit7CisgICAgW05TT2JqZWN0IGNhbmNlbFByZXZp
b3VzUGVyZm9ybVJlcXVlc3RzV2l0aFRhcmdldDpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihoaWRl
V2l0aEZhZGUpIG9iamVjdDpuaWxdOworCisgICAgW05TQW5pbWF0aW9uQ29udGV4dCBiZWdpbkdy
b3VwaW5nXTsKKyAgICBbW05TQW5pbWF0aW9uQ29udGV4dCBjdXJyZW50Q29udGV4dF0gc2V0RHVy
YXRpb246V2FybmluZ1ZpZXdGYWRlRHVyYXRpb25dOworICAgIFtbc2VsZiBhbmltYXRvcl0gc2V0
QWxwaGFWYWx1ZTowXTsKKyAgICBbTlNBbmltYXRpb25Db250ZXh0IGVuZEdyb3VwaW5nXTsKK30K
KworLSAodm9pZCloaWRlCit7CisgICAgW05TT2JqZWN0IGNhbmNlbFByZXZpb3VzUGVyZm9ybVJl
cXVlc3RzV2l0aFRhcmdldDpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihoaWRlV2l0aEZhZGUpIG9i
amVjdDpuaWxdOworCisgICAgW05TQW5pbWF0aW9uQ29udGV4dCBiZWdpbkdyb3VwaW5nXTsKKyAg
ICBbW05TQW5pbWF0aW9uQ29udGV4dCBjdXJyZW50Q29udGV4dF0gc2V0RHVyYXRpb246MF07Cisg
ICAgW1tzZWxmIGFuaW1hdG9yXSBzZXRBbHBoYVZhbHVlOjBdOworICAgIFtOU0FuaW1hdGlvbkNv
bnRleHQgZW5kR3JvdXBpbmddOworfQorCisKK0BlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViRnVsbFNjcmVlbkNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViRnVsbFNjcmVlbkNvbnRyb2xsZXIuaAppbmRleCA0NzAxZjQ0OGFmNDVk
MGEzYjYxYzg3MjY2YTIwYzM1N2MzNzhhYzI1Li4zOTlhZWRiYmUxMmVjMDE5ZGEyZmJlMjQ1NTQ0
ZmM2YTllMmVjNTljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZ1
bGxTY3JlZW5Db250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJG
dWxsU2NyZWVuQ29udHJvbGxlci5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaW1wb3J0IDx3dGYvUmVm
UHRyLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKK0BjbGFzcyBXZWJDb3JlRnVsbFNj
cmVlbldhcm5pbmdWaWV3OwogQGNsYXNzIFdlYldpbmRvd0ZhZGVBbmltYXRpb247CiBAY2xhc3Mg
V2ViV2luZG93U2NhbGVBbmltYXRpb247CiBAY2xhc3MgV2ViVmlldzsKQEAgLTQ3LDYgKzQ4LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIFJldGFpblB0cjxXZWJXaW5kb3dTY2FsZUFuaW1h
dGlvbj4gX3NjYWxlQW5pbWF0aW9uOwogICAgIFJldGFpblB0cjxXZWJXaW5kb3dGYWRlQW5pbWF0
aW9uPiBfZmFkZUFuaW1hdGlvbjsKICAgICBSZXRhaW5QdHI8TlNXaW5kb3c+IF9iYWNrZ3JvdW5k
V2luZG93OworICAgIFJldGFpblB0cjxXZWJDb3JlRnVsbFNjcmVlbldhcm5pbmdWaWV3PiBfd2Fy
bmluZ1ZpZXc7CiAgICAgTlNSZWN0IF9pbml0aWFsRnJhbWU7CiAgICAgTlNSZWN0IF9maW5hbEZy
YW1lOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZ1bGxTY3Jl
ZW5Db250cm9sbGVyLm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGdWxsU2NyZWVu
Q29udHJvbGxlci5tbQppbmRleCBlNjRmNDc0MDc4MWQxYjQxOTg0YjU4NjEyYTMxZDE3ZDFmMDc2
YWVmLi4xMDliYzA3OGM4ZWNjYzNhZWRhZjA1MDBhNmYwYWJmMDNlYjkzNWYxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZ1bGxTY3JlZW5Db250cm9sbGVyLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnVsbFNjcmVlbkNvbnRyb2xsZXIubW0K
QEAgLTQxLDYgKzQxLDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvUmVuZGVyT2JqZWN0Lmg+CiAjaW1w
b3J0IDxXZWJDb3JlL1JlbmRlclZpZXcuaD4KICNpbXBvcnQgPFdlYkNvcmUvU29mdExpbmtpbmcu
aD4KKyNpbXBvcnQgPFdlYkNvcmUvV2ViQ29yZUZ1bGxTY3JlZW5XYXJuaW5nVmlldy5oPgogI2lt
cG9ydCA8V2ViQ29yZS9XZWJDb3JlRnVsbFNjcmVlbldpbmRvdy5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9XZWJXaW5kb3dBbmltYXRpb24uaD4KICNpbXBvcnQgPFdlYktpdFN5c3RlbUludGVyZmFjZS5o
PgpAQCAtMTAxLDYgKzEwMiwxMSBAQCBzdGF0aWMgTlNSZWN0IGNvbnZlcnRSZWN0VG9TY3JlZW4o
TlNXaW5kb3cgKndpbmRvdywgTlNSZWN0IHJlY3QpCiAgICAgW3dpbmRvdyByZWxlYXNlXTsKICAg
ICBpZiAoIXNlbGYpCiAgICAgICAgIHJldHVybiBuaWw7CisKKyAgICBfd2FybmluZ1ZpZXcgPSBh
ZG9wdE5TKFtbV2ViQ29yZUZ1bGxTY3JlZW5XYXJuaW5nVmlldyBhbGxvY10gaW5pdF0pOworICAg
IFtbW3NlbGYgd2luZG93XSBjb250ZW50Vmlld10gc2V0V2FudHNMYXllcjpZRVNdOworICAgIFtb
W3NlbGYgd2luZG93XSBjb250ZW50Vmlld10gYWRkU3Vidmlldzpfd2FybmluZ1ZpZXcuZ2V0KCld
OworICAgIFtfd2FybmluZ1ZpZXcuZ2V0KCkgaGlkZV07CiAgICAgW3NlbGYgd2luZG93RGlkTG9h
ZF07CiAKICAgICByZXR1cm4gc2VsZjsKQEAgLTIyMiw2ICsyMjgsMTEgQEAgc3RhdGljIE5TUmVj
dCBjb252ZXJ0UmVjdFRvU2NyZWVuKE5TV2luZG93ICp3aW5kb3csIE5TUmVjdCByZWN0KQogICAg
IAogICAgIE5TUmVzcG9uZGVyICp3ZWJXaW5kb3dGaXJzdFJlc3BvbmRlciA9IFtbX3dlYlZpZXcg
d2luZG93XSBmaXJzdFJlc3BvbmRlcl07CiAgICAgW1tzZWxmIHdpbmRvd10gc2V0RnJhbWU6c2Ny
ZWVuRnJhbWUgZGlzcGxheTpOT107CisgICAgTlNTaXplIHdhcm5pbmdWaWV3U2l6ZSA9IFtfd2Fy
bmluZ1ZpZXcuZ2V0KCkgZnJhbWVdLnNpemU7CisgICAgTlNQb2ludCB3YXJuaW5nVmlld09yaWdp
biA9IE5TTWFrZVBvaW50KAorICAgICAgICAoc2NyZWVuRnJhbWUuc2l6ZS53aWR0aCAtIHdhcm5p
bmdWaWV3U2l6ZS53aWR0aCkgLyAyLAorICAgICAgICAoc2NyZWVuRnJhbWUuc2l6ZS5oZWlnaHQg
LSB3YXJuaW5nVmlld1NpemUuaGVpZ2h0KSAvIDIpOworICAgIFtfd2FybmluZ1ZpZXcuZ2V0KCkg
c2V0RnJhbWVPcmlnaW46d2FybmluZ1ZpZXdPcmlnaW5dOwogCiAgICAgX2luaXRpYWxGcmFtZSA9
IHNjcmVlblJlY3RPZkNvbnRlbnRzKF9lbGVtZW50LmdldCgpKTsKIApAQCAtMjQ4LDcgKzI1OSw5
IEBAIHN0YXRpYyBOU1JlY3QgY29udmVydFJlY3RUb1NjcmVlbihOU1dpbmRvdyAqd2luZG93LCBO
U1JlY3QgcmVjdCkKICAgICBfZmluYWxGcmFtZSA9IHNjcmVlblJlY3RPZkNvbnRlbnRzKF9lbGVt
ZW50LmdldCgpKTsKICAgICAKICAgICBbc2VsZiBfdXBkYXRlTWVudUFuZERvY2tGb3JGdWxsU2Ny
ZWVuXTsgICAKLSAgICAKKworICAgIFtfd2FybmluZ1ZpZXcuZ2V0KCkgaGlkZV07CisKICAgICBb
c2VsZiBfc3RhcnRFbnRlckZ1bGxTY3JlZW5BbmltYXRpb25XaXRoRHVyYXRpb246ZGVmYXVsdEFu
aW1hdGlvbkR1cmF0aW9uXTsKIAogICAgIF9pc0VudGVyaW5nRnVsbFNjcmVlbiA9IHRydWU7CkBA
IC0yODgsNiArMzAxLDkgQEAgc3RhdGljIE5TUmVjdCBjb252ZXJ0UmVjdFRvU2NyZWVuKE5TV2lu
ZG93ICp3aW5kb3csIE5TUmVjdCByZWN0KQogICAgICAgICAKICAgICAgICAgW19iYWNrZ3JvdW5k
V2luZG93LmdldCgpIG9yZGVyT3V0OnNlbGZdOwogICAgICAgICBbX2JhY2tncm91bmRXaW5kb3cu
Z2V0KCkgc2V0RnJhbWU6TlNaZXJvUmVjdCBkaXNwbGF5OllFU107CisKKyAgICAgICAgW193YXJu
aW5nVmlldy5nZXQoKSBzaG93VGhlbkhpZGVXaXRoRmFkZV07CisKICAgICAgICAgTlNFbmFibGVT
Y3JlZW5VcGRhdGVzKCk7CiAgICAgfSBlbHNlCiAgICAgICAgIFtfc2NhbGVBbmltYXRpb24uZ2V0
KCkgc3RvcEFuaW1hdGlvbl07CkBAIC0zNDAsNiArMzU2LDggQEAgc3RhdGljIE5TUmVjdCBjb252
ZXJ0UmVjdFRvU2NyZWVuKE5TV2luZG93ICp3aW5kb3csIE5TUmVjdCByZWN0KQogICAgIFt3ZWJX
aW5kb3cgc2V0QW5pbWF0aW9uQmVoYXZpb3I6YW5pbWF0aW9uQmVoYXZpb3JdOwogI2VuZGlmCiAK
KyAgICBbX3dhcm5pbmdWaWV3LmdldCgpIGhpZGVdOworCiAgICAgW3NlbGYgX3N0YXJ0RXhpdEZ1
bGxTY3JlZW5BbmltYXRpb25XaXRoRHVyYXRpb246ZGVmYXVsdEFuaW1hdGlvbkR1cmF0aW9uXTsK
ICAgICBfaXNFeGl0aW5nRnVsbFNjcmVlbiA9IFlFUzsgICAgCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXIuaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxl
ci5oCmluZGV4IDljZTg4YWU1YTk2YmJkYmY5ZGFmOWM2NzAzOTEwN2FmOTI4OGU5OGMuLjFkOWZh
YzAxY2UwMzFmMTFmYjRlMWYzM2JiN2U3MTM2NzNmNjE5NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlci5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxl
ci5oCkBAIC0zOCw2ICszOCw3IEBAIGNsYXNzIEludFJlY3Q7CiB9CiAKIEBjbGFzcyBXS1ZpZXc7
CitAY2xhc3MgV2ViQ29yZUZ1bGxTY3JlZW5XYXJuaW5nVmlldzsKIEBjbGFzcyBXZWJXaW5kb3dT
Y2FsZUFuaW1hdGlvbjsKIEBjbGFzcyBXZWJXaW5kb3dGYWRlQW5pbWF0aW9uOwogCkBAIC00OCw2
ICs0OSw3IEBAIGNsYXNzIEludFJlY3Q7CiAgICAgUmV0YWluUHRyPFdlYldpbmRvd1NjYWxlQW5p
bWF0aW9uPiBfc2NhbGVBbmltYXRpb247CiAgICAgUmV0YWluUHRyPFdlYldpbmRvd0ZhZGVBbmlt
YXRpb24+IF9mYWRlQW5pbWF0aW9uOwogICAgIFJldGFpblB0cjxOU1dpbmRvdz4gX2JhY2tncm91
bmRXaW5kb3c7CisgICAgUmV0YWluUHRyPFdlYkNvcmVGdWxsU2NyZWVuV2FybmluZ1ZpZXc+IF93
YXJuaW5nVmlldzsKICAgICBOU1JlY3QgX2luaXRpYWxGcmFtZTsKICAgICBOU1JlY3QgX2ZpbmFs
RnJhbWU7CiAgICAgUmV0YWluUHRyPE5TVGltZXI+IF93YXRjaGRvZ1RpbWVyOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9s
bGVyLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XS0Z1bGxTY3JlZW5XaW5kb3dD
b250cm9sbGVyLm1tCmluZGV4IDIzOGE2NzUxNjVlZDhjMjk4Mzk0ODkzYTUxYmJhYmI2MWRhMjc0
MjUuLjUzYjIwZTgwYTQyZjA4OTQzY2Y0YjZlZTExNmM0NTdiMmNjOWQyYTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxl
ci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dLRnVsbFNjcmVlbldpbmRv
d0NvbnRyb2xsZXIubW0KQEAgLTM5LDYgKzM5LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvRGlzcGxh
eVNsZWVwRGlzYWJsZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvRmxvYXRSZWN0Lmg+CiAjaW1wb3J0
IDxXZWJDb3JlL0ludFJlY3QuaD4KKyNpbXBvcnQgPFdlYkNvcmUvV2ViQ29yZUZ1bGxTY3JlZW5X
YXJuaW5nVmlldy5oPgogI2ltcG9ydCA8V2ViQ29yZS9XZWJDb3JlRnVsbFNjcmVlbldpbmRvdy5o
PgogI2ltcG9ydCA8V2ViQ29yZS9XZWJXaW5kb3dBbmltYXRpb24uaD4KICNpbXBvcnQgPFdlYktp
dC9XZWJOU1dpbmRvd0V4dHJhcy5oPgpAQCAtOTIsNiArOTMsMTEgQEAgc3RhdGljIE5TUmVjdCBj
b252ZXJ0UmVjdFRvU2NyZWVuKE5TV2luZG93ICp3aW5kb3csIE5TUmVjdCByZWN0KQogICAgIFt3
aW5kb3cgcmVsZWFzZV07CiAgICAgaWYgKCFzZWxmKQogICAgICAgICByZXR1cm4gbmlsOworCisg
ICAgX3dhcm5pbmdWaWV3ID0gYWRvcHROUyhbW1dlYkNvcmVGdWxsU2NyZWVuV2FybmluZ1ZpZXcg
YWxsb2NdIGluaXRdKTsKKyAgICBbW1tzZWxmIHdpbmRvd10gY29udGVudFZpZXddIHNldFdhbnRz
TGF5ZXI6WUVTXTsKKyAgICBbW1tzZWxmIHdpbmRvd10gY29udGVudFZpZXddIGFkZFN1YnZpZXc6
X3dhcm5pbmdWaWV3LmdldCgpXTsKKyAgICBbX3dhcm5pbmdWaWV3LmdldCgpIGhpZGVdOwogICAg
IFtzZWxmIHdpbmRvd0RpZExvYWRdOwogICAgIAogICAgIHJldHVybiBzZWxmOwpAQCAtMjM3LDYg
KzI0MywxMSBAQCBzdGF0aWMgUmV0YWluUHRyPENHSW1hZ2VSZWY+IGNyZWF0ZUltYWdlV2l0aENv
cGllZERhdGEoQ0dJbWFnZVJlZiBzb3VyY2VJbWFnZSkKIAogICAgIE5TUmVzcG9uZGVyICp3ZWJX
aW5kb3dGaXJzdFJlc3BvbmRlciA9IFtbX3dlYlZpZXcgd2luZG93XSBmaXJzdFJlc3BvbmRlcl07
CiAgICAgW1tzZWxmIHdpbmRvd10gc2V0RnJhbWU6c2NyZWVuRnJhbWUgZGlzcGxheTpOT107Cisg
ICAgTlNTaXplIHdhcm5pbmdWaWV3U2l6ZSA9IFtfd2FybmluZ1ZpZXcuZ2V0KCkgZnJhbWVdLnNp
emU7CisgICAgTlNQb2ludCB3YXJuaW5nVmlld09yaWdpbiA9IE5TTWFrZVBvaW50KAorICAgICAg
ICAoc2NyZWVuRnJhbWUuc2l6ZS53aWR0aCAtIHdhcm5pbmdWaWV3U2l6ZS53aWR0aCkgLyAyLCAK
KyAgICAgICAgKHNjcmVlbkZyYW1lLnNpemUuaGVpZ2h0IC0gd2FybmluZ1ZpZXdTaXplLmhlaWdo
dCkgLyAyKTsKKyAgICBbX3dhcm5pbmdWaWV3LmdldCgpIHNldEZyYW1lT3JpZ2luOndhcm5pbmdW
aWV3T3JpZ2luXTsKIAogICAgIC8vIFBhaW50aW5nIGlzIG5vcm1hbGx5IHN1c3BlbmRlZCB3aGVu
IHRoZSBXS1ZpZXcgaXMgcmVtb3ZlZCBmcm9tIHRoZSB3aW5kb3csIGJ1dCB0aGlzIGlzCiAgICAg
Ly8gdW5uZWNlc3NhcnkgaW4gdGhlIGZ1bGwtc2NyZWVuIGFuaW1hdGlvbiBjYXNlLCBhbmQgY2Fu
IGNhdXNlIGJ1Z3M7IHNlZQpAQCAtMjc1LDYgKzI4Niw4IEBAIHN0YXRpYyBSZXRhaW5QdHI8Q0dJ
bWFnZVJlZj4gY3JlYXRlSW1hZ2VXaXRoQ29waWVkRGF0YShDR0ltYWdlUmVmIHNvdXJjZUltYWdl
KQogCiAgICAgW3NlbGYgX3VwZGF0ZU1lbnVBbmREb2NrRm9yRnVsbFNjcmVlbl07ICAgCiAKKyAg
ICBbX3dhcm5pbmdWaWV3LmdldCgpIGhpZGVdOworCiAgICAgW3NlbGYgX3N0YXJ0RW50ZXJGdWxs
U2NyZWVuQW5pbWF0aW9uV2l0aER1cmF0aW9uOmRlZmF1bHRBbmltYXRpb25EdXJhdGlvbl07CiB9
CiAKQEAgLTMxMiw2ICszMjUsOSBAQCBzdGF0aWMgUmV0YWluUHRyPENHSW1hZ2VSZWY+IGNyZWF0
ZUltYWdlV2l0aENvcGllZERhdGEoQ0dJbWFnZVJlZiBzb3VyY2VJbWFnZSkKICAgICAgICAgCiAg
ICAgICAgIFtfYmFja2dyb3VuZFdpbmRvdy5nZXQoKSBvcmRlck91dDpzZWxmXTsKICAgICAgICAg
W19iYWNrZ3JvdW5kV2luZG93LmdldCgpIHNldEZyYW1lOk5TWmVyb1JlY3QgZGlzcGxheTpZRVNd
OworCisgICAgICAgIFtfd2FybmluZ1ZpZXcuZ2V0KCkgc2hvd1RoZW5IaWRlV2l0aEZhZGVdOwor
CiAgICAgICAgIE5TRW5hYmxlU2NyZWVuVXBkYXRlcygpOwogICAgIH0gZWxzZQogICAgICAgICBb
X3NjYWxlQW5pbWF0aW9uLmdldCgpIHN0b3BBbmltYXRpb25dOwpAQCAtMzcyLDYgKzM4OCw4IEBA
IHN0YXRpYyBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gY3JlYXRlSW1hZ2VXaXRoQ29waWVkRGF0YShD
R0ltYWdlUmVmIHNvdXJjZUltYWdlKQogICAgIFt3ZWJXaW5kb3cgc2V0QW5pbWF0aW9uQmVoYXZp
b3I6YW5pbWF0aW9uQmVoYXZpb3JdOwogI2VuZGlmCiAKKyAgICBbX3dhcm5pbmdWaWV3LmdldCgp
IGhpZGVdOworCiAgICAgW3NlbGYgX3N0YXJ0RXhpdEZ1bGxTY3JlZW5BbmltYXRpb25XaXRoRHVy
YXRpb246ZGVmYXVsdEFuaW1hdGlvbkR1cmF0aW9uXTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168261</attachid>
            <date>2012-10-11 12:39:49 -0700</date>
            <delta_ts>2012-11-14 19:09:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98863-20121011123845.patch</filename>
            <type>text/plain</type>
            <size>33504</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxMDgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDgyNGUxMTI5MTZkNThi
MDdiMjE0MGYwMTcxZGU3NzZhODI5YzI2OS4uZWNjMWRlNzBiZjgyZGFkZTRkOWY5Mjg3MWRmNjNh
NjBlN2ExMWRiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTEwLTEwICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFNob3cgYSAiUHJlc3MgRVND
IHRvIGxlYXZlIGZ1bGwtc2NyZWVuIG1vZGUiIHdhcm5pbmcgd2hlbiBlbnRlcmluZyBmdWxsc2Ny
ZWVuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODg2
MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTI0NTk1NDk+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgbmV3IE5TVmlldyBjbGFzcyB0byBi
ZSBzaGFyZWQgYnkgV2ViS2l0IGFuZCBXZWJLaXQyLCByZXNwb25zaWJsZSBmb3IKKyAgICAgICAg
ZGlzcGxheWluZyBhIHdhcm5pbmcgbWVzc2FnZSB3aGVuIGVudGVyaW5nIGZ1bGwgc2NyZWVuLgor
CisgICAgICAgICogcGxhdGZvcm0vbWFjL1dlYkNvcmVGdWxsU2NyZWVuV2FybmluZ1ZpZXcuaDog
CisgICAgICAgICogcGxhdGZvcm0vbWFjL1dlYkNvcmVGdWxsU2NyZWVuV2FybmluZ1ZpZXcubW06
IEFkZGVkLgorICAgICAgICAoLVtXZWJDb3JlRnVsbFNjcmVlbldhcm5pbmdWaWV3IGluaXRdKTog
U3RhbmRhcmQgY29uc3RydWN0b3IuCisgICAgICAgICgtW1dlYkNvcmVGdWxsU2NyZWVuV2Fybmlu
Z1ZpZXcgZGVhbGxvY10pOiBDYW5jZWwgYW55IHBlbmRpbmcgcGVyZm9ybVNlbGVjdG9yOiBjYWxs
cy4KKyAgICAgICAgKC1bV2ViQ29yZUZ1bGxTY3JlZW5XYXJuaW5nVmlldyBzaG93VGhlbkhpZGVX
aXRoRmFkZV0pOiBVc2UgdGhlIHZpZXcncyBhbmltYXRvciB0byBzaG93IHRoZSB2aWV3LgorICAg
ICAgICAoLVtXZWJDb3JlRnVsbFNjcmVlbldhcm5pbmdWaWV3IGhpZGVXaXRoRmFkZV0pOiBVc2Ug
dGhlIHZpZXcncyBhbmltYXRvciB0byBoaWRlIHRoZSB2aWV3LgorICAgICAgICAoLVtXZWJDb3Jl
RnVsbFNjcmVlbldhcm5pbmdWaWV3IGhpZGVdKTogRGl0dG8sIHdpdGggYSB6ZXJvIGFuaW1hdGlv
biBkdXJhdGlvbi4KKworICAgICAgICBBZGQgYSBsb2NhbGl6ZWQgc3RyaW5nIGZvciB0aGUgZnVs
bCBzY3JlZW4gd2FybmluZyB2aWV3OgorICAgICAgICAqIHBsYXRmb3JtL0xvY2FsaXplZFN0cmlu
Z3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZnVsbHNjcmVlbldhcm5pbmdUZXh0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmg6CisgICAgICAgICogRW5nbGlzaC5scHJv
ai9Mb2NhbGl6YWJsZS5zdHJpbmdzOgorCisgICAgICAgIEFkZCB0aGUgbmV3IGNsYXNzIHRvIHRo
ZSBidWlsZCBhbmQgZXhwb3J0IGl0OgorICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAg
ICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxMi0xMC0xMSAgQXJu
YXVkIFJlbmV2aWVyICA8YS5yZW5ldmllckBzaXNhLnNhbXN1bmcuY29tPgogCiAgICAgICAgIFt0
ZXhtYXBdIGxvZ2ljIGVycm9yIGluIEJpdG1hcFRleHR1cmVHTDo6dXBkYXRlQ29udGVudHMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFj
L0NoYW5nZUxvZwppbmRleCBkZjAyOWExYzEwY2YzNTY5MTE5MzQ3MDFmYjA2ZjJhMmE5MGJkOGZl
Li4xZDk4OTI0OTM0YWZmNzU5NjdjNDBmNGYwNTdkZjhlMDhiNGMxZmFjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdl
TG9nCkBAIC0xLDUgKzEsMjQgQEAKIDIwMTItMTAtMTAgIEplciBOb2JsZSAgPGplci5ub2JsZUBh
cHBsZS5jb20+CiAKKyAgICAgICAgU2hvdyBhICJQcmVzcyBFU0MgdG8gbGVhdmUgZnVsbC1zY3Jl
ZW4gbW9kZSIgd2FybmluZyB3aGVuIGVudGVyaW5nIGZ1bGxzY3JlZW4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4ODYzCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS8xMjQ1OTU0OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBVc2UgdGhlIHNoYXJlZCBXZWJDb3JlRnVsbFNjcmVlbldhcm5pbmdWaWV3IGNs
YXNzIHRvIHByZXNlbnQgYSAKKyAgICAgICAgd2FybmluZyB0byB0aGUgdXNlciB1cG9uIGVudGVy
aW5nIGZ1bGwgc2NyZWVuIG1vZGUuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYkZ1bGxTY3JlZW5D
b250cm9sbGVyLmg6CisgICAgICAgICogV2ViVmlldy9XZWJGdWxsU2NyZWVuQ29udHJvbGxlci5t
bToKKyAgICAgICAgKC1bV2ViRnVsbFNjcmVlbkNvbnRyb2xsZXIgaW5pdF0pOiBDcmVhdGUgdGhl
IF93YXJuaW5nVmlldy4KKyAgICAgICAgKC1bV2ViRnVsbFNjcmVlbkNvbnRyb2xsZXIgZW50ZXJG
dWxsU2NyZWVuOl0pOiBQb3NpdGlvbiB0aGUgX3dhcm5pbmdWaWV3CisgICAgICAgICAgICBpbiB0
aGUgY2VudGVyIG9mIHRoZSB3aW5kb3cgYW5kIGhpZGUgaXQuCisgICAgICAgICgtW1dlYkZ1bGxT
Y3JlZW5Db250cm9sbGVyIGZpbmlzaGVkRW50ZXJGdWxsU2NyZWVuQW5pbWF0aW9uOl0pOiBTaG93
IHRoZSBfd2FybmluZ1ZpZXcuCisgICAgICAgICgtW1dlYkZ1bGxTY3JlZW5Db250cm9sbGVyIGV4
aXRGdWxsU2NyZWVuXSk6IEhpZGUgdGhlIF93YXJuaW5nVmlldy4KKworMjAxMi0xMC0xMCAgSmVy
IE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKwogICAgICAgICBEaXNhbGxvdyBmdWxsIHNj
cmVlbiBtb2RlIGtleWJvYXJkIGFjY2VzcyBieSBkZWZhdWx0LgogICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg5NzEKICAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzEyNDc0MjI2PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDY0ZjJiNTlkMzZmYmM2YTdmOTc1NWVlM2EwZjAx
MWY0YTAwNmQ0ODYuLmJlMjY1ZmI1NGUzYzZlZjgwY2E5MDE5OTRmY2RkYTA3YjAyOGNkMDcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAxMi0xMC0xMCAgSmVyIE5vYmxlICA8amVyLm5v
YmxlQGFwcGxlLmNvbT4KKworICAgICAgICBTaG93IGEgIlByZXNzIEVTQyB0byBsZWF2ZSBmdWxs
LXNjcmVlbiBtb2RlIiB3YXJuaW5nIHdoZW4gZW50ZXJpbmcgZnVsbHNjcmVlbgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg4NjMKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzEyNDU5NTQ5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFVzZSB0aGUgc2hhcmVkIFdlYkNvcmVGdWxsU2NyZWVuV2FybmluZ1Zp
ZXcgY2xhc3MgdG8gcHJlc2VudCBhIAorICAgICAgICB3YXJuaW5nIHRvIHRoZSB1c2VyIHVwb24g
ZW50ZXJpbmcgZnVsbCBzY3JlZW4gbW9kZS4gT25seSBwcmVzZW50IHRoZSB3YXJuaW5nCisgICAg
ICAgIGlmIHRoZSBmdWxsIHNjcmVlbmVkIGVsZW1lbnQgaXMgCisKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJG
dWxsU2NyZWVuTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluOiBQYXNzIGluIHdoZXRoZXIgdGhlIGZ1
bGwgc2NyZWVuIGVsZW1lbnQgaXMgYSBtZWRpYSBlbGVtZW50LgorICAgICAgICAqIFVJUHJvY2Vz
cy9tYWMvV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlci5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9tYWMvV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlci5tbToKKyAgICAgICAgKC1bV0tGdWxs
U2NyZWVuV2luZG93Q29udHJvbGxlciBpbml0XSk6IENyZWF0ZSB0aGUgX3dhcm5pbmdWaWV3Lgor
ICAgICAgICAoLVtXS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVyIGVudGVyRnVsbFNjcmVlbjpp
c01lZGlhRWxlbWVudDpdKTogUG9zaXRpb24gdGhlIF93YXJuaW5nVmlldworICAgICAgICAgICAg
aW4gdGhlIGNlbnRlciBvZiB0aGUgd2luZG93LgorICAgICAgICAoLVtXS0Z1bGxTY3JlZW5XaW5k
b3dDb250cm9sbGVyIGJlZ2FuRW50ZXJGdWxsU2NyZWVuV2l0aEluaXRpYWxGcmFtZTpmaW5hbEZy
YW1lOl0pOiBIaWRlIHRoZSBfd2FybmluZ1ZpZXcuCisgICAgICAgICgtW1dLRnVsbFNjcmVlbldp
bmRvd0NvbnRyb2xsZXIgZmluaXNoZWRFbnRlckZ1bGxTY3JlZW5BbmltYXRpb246XSk6IFNob3cg
KHRoZW4gaGlkZSkgdGhlIF93YXJuaW5nVmlldy4KKyAgICAgICAgKC1bV0tGdWxsU2NyZWVuV2lu
ZG93Q29udHJvbGxlciBiZWdhbkV4aXRGdWxsU2NyZWVuV2l0aEluaXRpYWxGcmFtZTpmaW5hbEZy
YW1lOl0pOiBIaWRlIHRoZSBfd2FybmluZ1ZpZXcuCisgICAgICAgICogVUlQcm9jZXNzL21hYy9X
ZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5TWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJGdWxs
U2NyZWVuTWFuYWdlclByb3h5OjplbnRlckZ1bGxTY3JlZW4pOiBQYXNzIGluIHdoZXRoZXIgdGhl
IGVsZW1lbnQgaXNNZWRpYUVsZW1lbnQoKQorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OkluamVjdGVkQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQ6OmVudGVyRnVsbFNjcmVl
bkZvckVsZW1lbnQpOiBEaXR0by4KKwogMjAxMi0xMC0xMSAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJr
aXQub3JnPgogCiAgICAgICAgIEFkZCBtaXNzaW5nIFdLX0VYUE9SVCBmb3IgV0tET01UZXh0SXRl
cmF0b3IuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxwcm9qL0xvY2FsaXph
YmxlLnN0cmluZ3MgYi9Tb3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxwcm9qL0xvY2FsaXphYmxlLnN0
cmluZ3MKaW5kZXggMTJjOTZiNDgwY2IyZTlkY2EyYWQ1MzI0MTJiNjRiMTJjMmMzOTk5MC4uNTFk
ZTllMjBlMTBmOTlhMDliZGY2ZWI0NjEwYzViZTM3NzgwMzdiZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRW5nbGlzaC5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0VuZ2xpc2gubHByb2ovTG9jYWxpemFibGUuc3RyaW5ncwpAQCAtODg5LDMgKzg4OSw1
IEBACiAvKiBhY2Nlc3NpYmlsaXR5IHJvbGUgZGVzY3JpcHRpb24gZm9yIHZpZGVvIGVsZW1lbnQg
Y29udHJvbGxlciAqLwogInZpZGVvIGVsZW1lbnQgcGxheWJhY2sgY29udHJvbHMgYW5kIHN0YXR1
cyBkaXNwbGF5IiA9ICJ2aWRlbyBlbGVtZW50IHBsYXliYWNrIGNvbnRyb2xzIGFuZCBzdGF0dXMg
ZGlzcGxheSI7CiAKKy8qIFN0cmluZyB0byBkaXNwbGF5IHVwb24gZW50ZXJpbmcgZnVsbCBzY3Jl
ZW4gKi8KKyJQcmVzcyBFU0MgdG8gbGVhdmUgZnVsbCBzY3JlZW4gbW9kZSIgPSAiUHJlc3MgRVND
IHRvIGxlYXZlIGZ1bGwgc2NyZWVuIG1vZGUiOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4KaW5kZXggNGFiMTg3YTE3ZDQwYjg4MGE1OGI2N2NlOTQyZGEzMzkx
MjkyN2Y0NS4uMDJiOTUxY2M1MTMwYmFhZWVmNTYzMTVkNTNjNWVhMWNmZTliMTI4ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5leHAuaW4KQEAgLTE1NDQsNiArMTU0NCw3IEBAIF93a1NpZ25hbENGUmVhZFN0cmVh
bUhhc0J5dGVzCiAub2JqY19jbGFzc19uYW1lX0RPTVN0eWxlU2hlZXQKIC5vYmpjX2NsYXNzX25h
bWVfRE9NU3R5bGVTaGVldExpc3QKIC5vYmpjX2NsYXNzX25hbWVfRE9NVHJlZVdhbGtlcgorLm9i
amNfY2xhc3NfbmFtZV9XZWJDb3JlRnVsbFNjcmVlbldhcm5pbmdWaWV3CiAub2JqY19jbGFzc19u
YW1lX1dlYkNvcmVGdWxsU2NyZWVuV2luZG93CiAub2JqY19jbGFzc19uYW1lX1dlYkhUTUxDb252
ZXJ0ZXIKIC5vYmpjX2NsYXNzX25hbWVfV2ViV2luZG93RmFkZUFuaW1hdGlvbgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDZhOGE5
NzYyYzYwNWYyMTM2NDkwODU4YzM0MmQwNGMyOWEzYzYzYzEuLjExMTc2NTJhNjk3M2M4MmY0NGNm
MmUyMDllZmYyNzVlNGJmODk4ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU4NzAsNiArNTg3MCw4IEBACiAJCUNEMjdGNkU1
MTQ1NzY4NUEwMDc4MjA3RCAvKiBKU01lZGlhQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDI3RjZFMjE0NTc2NzU4MDA3ODIwN0Qg
LyogSlNNZWRpYUNvbnRyb2xsZXIuY3BwICovOyB9OwogCQlDRDI3RjZFNzE0NTc3MEQzMDA3ODIw
N0QgLyogTWVkaWFDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IENEMjdGNkU2MTQ1NzcwRDMwMDc4MjA3RCAvKiBNZWRpYUNvbnRyb2xs
ZXIuY3BwICovOyB9OwogCQlDRDM3QjM5ODE1QzFCOTcxMDA2REM4OTggLyogRGlhZ25vc3RpY0xv
Z2dpbmdLZXlzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENEMzdCMzc0MTVDMUE3RTEwMDZEQzg5OCAvKiBEaWFnbm9zdGljTG9nZ2luZ0tleXMuY3Bw
ICovOyB9OworCQlDRDNGOTEyNjE2MjU0QTc1MDA2NDU0OEEgLyogV2ViQ29yZUZ1bGxTY3JlZW5X
YXJuaW5nVmlldy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENEM0Y5MTI0MTYyNTRBMTEwMDY0NTQ4QSAvKiBXZWJDb3JlRnVsbFNjcmVlbldhcm5pbmdW
aWV3Lm1tICovOyB9OworCQlDRDNGOTEyNzE2MjU1MDBDMDA2NDU0OEEgLyogV2ViQ29yZUZ1bGxT
Y3JlZW5XYXJuaW5nVmlldy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0QzRjkxMjUxNjI1NEExMTAwNjQ1NDhBIC8qIFdlYkNvcmVGdWxsU2NyZWVuV2Fy
bmluZ1ZpZXcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQlDRDRBQzUyQTE0OTZBRTlBMDA4N0M0RUYgLyogQ29tcG9zaXRlLndhdiBpbiBDb3B5IEF1
ZGlvIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDRBQzUy
ODE0OTZBRTJGMDA4N0M0RUYgLyogQ29tcG9zaXRlLndhdiAqLzsgfTsKIAkJQ0Q4MjAzMEExMzk1
QUI2QTAwRjk1NkM2IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEODIwMzA2MTM5NUFCNkEwMEY5
NTZDNiAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0Q4MjAzMEIxMzk1QUI2QTAwRjk1NkM2
IC8qIFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDgyMDMwNzEzOTVBQjZBMDBGOTU2QzYgLyogV2Vi
VmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlci5tbSAqLzsgc2V0dGluZ3MgPSB7Q09NUElMRVJfRkxB
R1MgPSAiLVduby11bmRlZiAtV25vLWRlcHJlY2F0ZWQtZGVjbGFyYXRpb25zIjsgfTsgfTsKQEAg
LTEzMjE4LDYgKzEzMjIwLDggQEAKIAkJQ0QyN0Y2RTYxNDU3NzBEMzAwNzgyMDdEIC8qIE1lZGlh
Q29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRp
YUNvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDM3QjM3NDE1
QzFBN0UxMDA2REM4OTggLyogRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERpYWdub3N0aWNMb2dnaW5nS2V5cy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEMzdCMzc1MTVDMUE3RTEwMDZEQzg5OCAvKiBEaWFn
bm9zdGljTG9nZ2luZ0tleXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGlh
Z25vc3RpY0xvZ2dpbmdLZXlzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNEM0Y5
MTI0MTYyNTRBMTEwMDY0NTQ4QSAvKiBXZWJDb3JlRnVsbFNjcmVlbldhcm5pbmdWaWV3Lm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViQ29yZUZ1bGxTY3JlZW5X
YXJuaW5nVmlldy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0QzRjkxMjUxNjI1
NEExMTAwNjQ1NDhBIC8qIFdlYkNvcmVGdWxsU2NyZWVuV2FybmluZ1ZpZXcuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29yZUZ1bGxTY3JlZW5XYXJuaW5nVmlldy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDRBQzUyODE0OTZBRTJGMDA4N0M0RUYgLyog
Q29tcG9zaXRlLndhdiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IGF1ZGlvLndhdjsgbmFtZSA9IENvbXBvc2l0ZS53YXY7IHBhdGggPSBwbGF0Zm9ybS9h
dWRpby9yZXNvdXJjZXMvQ29tcG9zaXRlLndhdjsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9
OwogCQlDRDRFMEFGQTExRjdCQzI3MDA5RDM4MTEgLyogZnVsbHNjcmVlbi5jc3MgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0LmNzczsgcGF0aCA9IGZ1bGxzY3JlZW4uY3NzOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDRDgyMDMwNjEzOTVBQjZBMDBGOTU2QzYgLyogV2ViVmlkZW9GdWxsc2NyZWVuQ29u
dHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJWaWRlb0Z1bGxz
Y3JlZW5Db250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTcxNSw2
ICsxNTcxOSw4IEBACiAJCQkJQkNFNjU5RTUwRUE5MkZCMjAwN0U0NTMzIC8qIFRoZW1lTWFjLmgg
Ki8sCiAJCQkJQkNFNjU5RTgwRUE5MkZGQTAwN0U0NTMzIC8qIFRoZW1lTWFjLm1tICovLAogCQkJ
CTUxREY2RDdGMEI5MkExOEUwMEMyREM4NSAvKiBUaHJlYWRDaGVjay5tbSAqLywKKwkJCQlDRDNG
OTEyNDE2MjU0QTExMDA2NDU0OEEgLyogV2ViQ29yZUZ1bGxTY3JlZW5XYXJuaW5nVmlldy5tbSAq
LywKKwkJCQlDRDNGOTEyNTE2MjU0QTExMDA2NDU0OEEgLyogV2ViQ29yZUZ1bGxTY3JlZW5XYXJu
aW5nVmlldy5oICovLAogCQkJCUNEMTI3REVBMTRGMzA5NzkwMEU4NDc3OSAvKiBXZWJDb3JlRnVs
bFNjcmVlbldpbmRvdy5oICovLAogCQkJCUNEMTI3REVCMTRGMzA5NzkwMEU4NDc3OSAvKiBXZWJD
b3JlRnVsbFNjcmVlbldpbmRvdy5tbSAqLywKIAkJCQkzNzE5NDE5NTE1NjZCMzcyMDBBMjc2RDgg
LyogV2ViQ29yZU5TQ2VsbEV4dHJhcy5oICovLApAQCAtMjU0MDcsNiArMjU0MTMsNyBAQAogCQkJ
CUZENTgxRkI1MTUyMEY5M0IwMDNBN0E3NSAvKiBXYXZlVGFibGUuaCBpbiBIZWFkZXJzICovLAog
CQkJCTI5QTgxMjQ5MEZCQjlDQTkwMDUxMDI5MyAvKiBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3Jh
cHBlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNGMTk5QTgwODI0NUU1OTAwMUU5QUJDIC8qIFdl
YkNvcmVGcmFtZVZpZXcuaCBpbiBIZWFkZXJzICovLAorCQkJCUNEM0Y5MTI3MTYyNTUwMEMwMDY0
NTQ4QSAvKiBXZWJDb3JlRnVsbFNjcmVlbldhcm5pbmdWaWV3LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlDRDEyN0RFRTE0RjMwOTg0MDBFODQ3NzkgLyogV2ViQ29yZUZ1bGxTY3JlZW5XaW5kb3cuaCBp
biBIZWFkZXJzICovLAogCQkJCUJDNTNEOTExMTE0MzEwQ0MwMDBEODE3RSAvKiBXZWJDb3JlSlND
bGllbnREYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0YxOTlCQjA4MjQ1RTU5MDAxRTlBQkMg
LyogV2ViQ29yZUtleWJvYXJkVUlNb2RlLmggaW4gSGVhZGVycyAqLywKQEAgLTI4NTI2LDYgKzI4
NTMzLDcgQEAKIAkJCQlGRDdGMjk5NjEzRDRDMENCMDBBRDk1MzUgLyogV2F2ZVNoYXBlclByb2Nl
c3Nvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGRDU4MUZCNDE1MjBGOTNCMDAzQTdBNzUgLyog
V2F2ZVRhYmxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTI5QTgxMjRBMEZCQjlDQTkwMDUxMDI5
MyAvKiBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlci5tbSBpbiBTb3VyY2VzICovLAorCQkJ
CUNEM0Y5MTI2MTYyNTRBNzUwMDY0NTQ4QSAvKiBXZWJDb3JlRnVsbFNjcmVlbldhcm5pbmdWaWV3
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0QxMjdERUQxNEYzMDk3RDAwRTg0Nzc5IC8qIFdlYkNv
cmVGdWxsU2NyZWVuV2luZG93Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRjNCRkM5RDMxNUMxNzdF
QzAwNDI0NEU1IC8qIFdlYkNvcmVNZW1vcnlJbnN0cnVtZW50YXRpb24uY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMzcxOTQxOTYxNTY2QjM3MjAwQTI3NkQ4IC8qIFdlYkNvcmVOU0NlbGxFeHRyYXMu
bSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9j
YWxpemVkU3RyaW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJp
bmdzLmNwcAppbmRleCA1YTdkZGY4YmFiY2RjZTA2YTY3Y2Y1NmYzODFkMDkzMDc4ZTNlZjdkLi5j
MGMxMTg4Zjk1MTA4OTVhNjMzZmRkMWI5NjhmMzU1OTM4YTUyNDQ2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmNwcApAQCAtNzQ0LDYgKzc0NCwxMyBAQCBT
dHJpbmcga2V5Z2VuS2V5Y2hhaW5JdGVtTmFtZShjb25zdCBTdHJpbmcmIGhvc3QpCiAKICNlbmRp
ZgogCisjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQorU3RyaW5nIGZ1bGxzY3JlZW5XYXJuaW5n
VGV4dCgpCit7CisgICAgcmV0dXJuIFdFQl9VSV9TVFJJTkcoIlByZXNzIEVTQyB0byBsZWF2ZSBm
dWxsIHNjcmVlbiBtb2RlIiwgIlN0cmluZyB0byBkaXNwbGF5IHVwb24gZW50ZXJpbmcgZnVsbCBz
Y3JlZW4iKTsKK30KKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oSU9TKQogU3RyaW5nIGh0bWxTZWxl
Y3RNdWx0aXBsZUl0ZW1zKHNpemVfdCBjb3VudCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0xvY2FsaXplZFN0cmluZ3MuaAppbmRleCA4MzQzMmNmNzk0MjZmNzdiYjQxMTAwNWExNzA0NTUz
YTg1ZDdhZmEwLi5lM2RjOTM2ZDE0NDNkYjg1YTk5YTMxZjRhNGNiOGIxNGViN2VhYzg2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oCkBAIC0yNjIsNiArMjYy
LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBTdHJpbmcgdW5hY2NlcHRhYmxlVExTQ2Vy
dGlmaWNhdGUoKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQorICAgIFN0
cmluZyBmdWxsc2NyZWVuV2FybmluZ1RleHQoKTsKKyNlbmRpZgorCiAjaWYgIVBMQVRGT1JNKENI
Uk9NSVVNKQogI2RlZmluZSBXRUJfVUlfU1RSSU5HKHN0cmluZywgZGVzY3JpcHRpb24pIFdlYkNv
cmU6OmxvY2FsaXplZFN0cmluZyhzdHJpbmcpCiAjZGVmaW5lIFdFQl9VSV9TVFJJTkdfS0VZKHN0
cmluZywga2V5LCBkZXNjcmlwdGlvbikgV2ViQ29yZTo6bG9jYWxpemVkU3RyaW5nKGtleSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlRnVsbFNjcmVlbldh
cm5pbmdWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZUZ1bGxTY3Jl
ZW5XYXJuaW5nVmlldy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE1MTlmZWE3YzdkYzdmN2YwNDg0ODk0YmFkNTAw
ZWU0OTExZGVmYjgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
YWMvV2ViQ29yZUZ1bGxTY3JlZW5XYXJuaW5nVmlldy5oCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaWZuZGVmIFdlYkNvcmVGdWxsU2NyZWVuV2FybmluZ1ZpZXdfaAorI2RlZmluZSBX
ZWJDb3JlRnVsbFNjcmVlbldhcm5pbmdWaWV3X2gKKworI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQ
SSkKKworI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KKworQGludGVyZmFjZSAgV2ViQ29yZUZ1
bGxTY3JlZW5XYXJuaW5nVmlldyA6IE5TQm94IHsKKyAgICBSZXRhaW5QdHI8TlNUZXh0RmllbGQ+
IF90ZXh0RmllbGQ7Cit9CistICh2b2lkKWhpZGVXaXRoRmFkZTsKKy0gKHZvaWQpaGlkZTsKKy0g
KHZvaWQpc2hvd1RoZW5IaWRlV2l0aEZhZGU7CitAZW5kCisKKyNlbmRpZgorCisjZW5kaWYgLy8g
V2ViQ29yZUZ1bGxTY3JlZW5XYXJuaW5nVmlld19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZUZ1bGxTY3JlZW5XYXJuaW5nVmlldy5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlRnVsbFNjcmVlbldhcm5pbmdWaWV3Lm1tCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjMxNGFkYmQ4YmVhZTFkZjI3NzEyNTY5MjZkNTJlOGNjZDZjZTY3ZjIKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZUZ1bGxTY3JlZW5X
YXJuaW5nVmlldy5tbQpAQCAtMCwwICsxLDE0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJXZWJDb3JlRnVsbFNjcmVlbldhcm5pbmdWaWV3LmgiCisjaW5j
bHVkZSAiTG9jYWxpemVkU3RyaW5ncy5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5o
PgorCitzdGF0aWMgY29uc3QgQ0dGbG9hdCBXYXJuaW5nVmlld1RleHRXaGl0ZSA9IDAuOTsKK3N0
YXRpYyBjb25zdCBDR0Zsb2F0IFdhcm5pbmdWaWV3VGV4dEFscGhhID0gMTsKK3N0YXRpYyBjb25z
dCBDR0Zsb2F0IFdhcm5pbmdWaWV3VGV4dFNpemUgPSA0ODsKK3N0YXRpYyBjb25zdCBDR0Zsb2F0
IFdhcm5pbmdWaWV3UGFkZGluZyA9IDIwOworc3RhdGljIGNvbnN0IENHRmxvYXQgV2FybmluZ1Zp
ZXdDb3JuZXJSYWRpdXMgPSAxMDsKK3N0YXRpYyBjb25zdCBDR0Zsb2F0IFdhcm5pbmdWaWV3Qm9y
ZGVyV2hpdGUgPSAwLjk7CitzdGF0aWMgY29uc3QgQ0dGbG9hdCBXYXJuaW5nVmlld0JvcmRlckFs
cGhhID0gMC4yOworc3RhdGljIGNvbnN0IENHRmxvYXQgV2FybmluZ1ZpZXdCYWNrZ3JvdW5kV2hp
dGUgPSAwLjE7CitzdGF0aWMgY29uc3QgQ0dGbG9hdCBXYXJuaW5nVmlld0JhY2tncm91bmRBbHBo
YSA9IDAuOTsKK3N0YXRpYyBjb25zdCBDR0Zsb2F0IFdhcm5pbmdWaWV3U2hhZG93V2hpdGUgPSAw
LjE7CitzdGF0aWMgY29uc3QgQ0dGbG9hdCBXYXJuaW5nVmlld1NoYWRvd0FscGhhID0gMTsKK3N0
YXRpYyBjb25zdCBmbG9hdCBXYXJuaW5nVmlld1NoYWRvd09wYWNpdHkgPSAwLjI1Oworc3RhdGlj
IGNvbnN0IENHU2l6ZSBXYXJuaW5nVmlld1NoYWRvd09mZnNldCA9IHswLCAtMn07CitzdGF0aWMg
Y29uc3QgQ0dGbG9hdCBXYXJuaW5nVmlld1NoYWRvd1JhZGl1cyA9IDU7CitzdGF0aWMgY29uc3Qg
TlNUaW1lSW50ZXJ2YWwgV2FybmluZ1ZpZXdIaWRlRGVsYXkgPSAzLjA7CitzdGF0aWMgY29uc3Qg
TlNUaW1lSW50ZXJ2YWwgV2FybmluZ1ZpZXdGYWRlRHVyYXRpb24gPSAwLjU7CisKK0BpbXBsZW1l
bnRhdGlvbiBXZWJDb3JlRnVsbFNjcmVlbldhcm5pbmdWaWV3CisKKy0gKGlkKWluaXQKK3sKKyAg
ICBzZWxmID0gW3N1cGVyIGluaXRXaXRoRnJhbWU6TlNaZXJvUmVjdF07CisgICAgaWYgKCFzZWxm
KQorICAgICAgICByZXR1cm4gbmlsOworCisgICAgW3NlbGYgc2V0QXV0b3Jlc2l6aW5nTWFzazoo
TlNWaWV3TWluWE1hcmdpbiB8IE5TVmlld01heFhNYXJnaW4gfCBOU1ZpZXdNaW5ZTWFyZ2luIHwg
TlNWaWV3TWF4WU1hcmdpbildOworICAgIFtzZWxmIHNldEJveFR5cGU6TlNCb3hDdXN0b21dOwor
ICAgIFtzZWxmIHNldFRpdGxlUG9zaXRpb246TlNOb1RpdGxlXTsKKworICAgIF90ZXh0RmllbGQg
PSBhZG9wdE5TKFtbTlNUZXh0RmllbGQgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNaZXJvUmVjdF0p
OworICAgIFtfdGV4dEZpZWxkLmdldCgpIHNldEVkaXRhYmxlOk5PXTsKKyAgICBbX3RleHRGaWVs
ZC5nZXQoKSBzZXRTZWxlY3RhYmxlOk5PXTsKKyAgICBbX3RleHRGaWVsZC5nZXQoKSBzZXRCb3Jk
ZXJlZDpOT107CisgICAgW190ZXh0RmllbGQuZ2V0KCkgc2V0RHJhd3NCYWNrZ3JvdW5kOk5PXTsK
KworICAgIFJldGFpblB0cjxOU0ZvbnQ+IHRleHRGb250ID0gW05TRm9udCBib2xkU3lzdGVtRm9u
dE9mU2l6ZTpXYXJuaW5nVmlld1RleHRTaXplXTsKKyAgICBSZXRhaW5QdHI8TlNDb2xvcj4gdGV4
dENvbG9yID0gW05TQ29sb3IgY29sb3JXaXRoQ2FsaWJyYXRlZFdoaXRlOldhcm5pbmdWaWV3VGV4
dFdoaXRlIGFscGhhOldhcm5pbmdWaWV3VGV4dEFscGhhXTsKKyAgICBSZXRhaW5QdHI8TlNEaWN0
aW9uYXJ5PiBhdHRyaWJ1dGVzID0gYWRvcHROUyhbW05TRGljdGlvbmFyeSBhbGxvY10gaW5pdFdp
dGhPYmplY3RzQW5kS2V5czoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdGV4dEZvbnQuZ2V0KCksIE5TRm9udEF0dHJpYnV0ZU5hbWUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRDb2xvci5nZXQo
KSwgTlNGb3JlZ3JvdW5kQ29sb3JBdHRyaWJ1dGVOYW1lLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuaWxdKTsKKyAgICBSZXRhaW5QdHI8TlNBdHRy
aWJ1dGVkU3RyaW5nPiB0ZXh0ID0gYWRvcHROUyhbW05TQXR0cmlidXRlZFN0cmluZyBhbGxvY10g
aW5pdFdpdGhTdHJpbmc6V2ViQ29yZTo6ZnVsbHNjcmVlbldhcm5pbmdUZXh0KCkgYXR0cmlidXRl
czphdHRyaWJ1dGVzLmdldCgpXSk7CisgICAgW190ZXh0RmllbGQuZ2V0KCkgc2V0QXR0cmlidXRl
ZFN0cmluZ1ZhbHVlOnRleHQuZ2V0KCldOworICAgIFtfdGV4dEZpZWxkLmdldCgpIHNpemVUb0Zp
dF07CisgICAgTlNSZWN0IHRleHRGaWVsZEZyYW1lID0gW190ZXh0RmllbGQuZ2V0KCkgZnJhbWVd
OworICAgIE5TU2l6ZSBmcmFtZVNpemUgPSB0ZXh0RmllbGRGcmFtZS5zaXplOworICAgIGZyYW1l
U2l6ZS53aWR0aCArPSBXYXJuaW5nVmlld1BhZGRpbmcgKiAyOworICAgIGZyYW1lU2l6ZS5oZWln
aHQgKz0gV2FybmluZ1ZpZXdQYWRkaW5nICogMjsKKyAgICBbc2VsZiBzZXRGcmFtZVNpemU6ZnJh
bWVTaXplXTsKKworICAgIHRleHRGaWVsZEZyYW1lLm9yaWdpbiA9IE5TTWFrZVBvaW50KAorICAg
ICAgICAoZnJhbWVTaXplLndpZHRoIC0gdGV4dEZpZWxkRnJhbWUuc2l6ZS53aWR0aCkgLyAyLAor
ICAgICAgICAoZnJhbWVTaXplLmhlaWdodCAtIHRleHRGaWVsZEZyYW1lLnNpemUuaGVpZ2h0KSAv
IDIpOworCisgICAgLy8gT2Zmc2V0IHRoZSBvcmlnaW4gYnkgdGhlIGZvbnQncyBkZXNjZW5kZXIs
IHRvIGNlbnRlciB0aGUgdGV4dCBmaWVsZCBhYm91dCB0aGUgYmFzZWxpbmU6CisgICAgdGV4dEZp
ZWxkRnJhbWUub3JpZ2luLnkgKz0gW1tfdGV4dEZpZWxkLmdldCgpIGZvbnRdIGRlc2NlbmRlcl07
CisKKyAgICBbX3RleHRGaWVsZC5nZXQoKSBzZXRGcmFtZTpOU0ludGVncmFsUmVjdCh0ZXh0Rmll
bGRGcmFtZSldOworICAgIFtzZWxmIGFkZFN1YnZpZXc6X3RleHRGaWVsZC5nZXQoKV07CisKKyAg
ICBSZXRhaW5QdHI8TlNDb2xvcj4gYmFja2dyb3VuZENvbG9yID0gW05TQ29sb3IgY29sb3JXaXRo
Q2FsaWJyYXRlZFdoaXRlOldhcm5pbmdWaWV3QmFja2dyb3VuZFdoaXRlIGFscGhhOldhcm5pbmdW
aWV3QmFja2dyb3VuZEFscGhhXTsKKyAgICBbc2VsZiBzZXRGaWxsQ29sb3I6YmFja2dyb3VuZENv
bG9yLmdldCgpXTsKKyAgICBbc2VsZiBzZXRDb3JuZXJSYWRpdXM6V2FybmluZ1ZpZXdDb3JuZXJS
YWRpdXNdOworCisgICAgUmV0YWluUHRyPE5TQ29sb3I+IGJvcmRlckNvbG9yID0gW05TQ29sb3Ig
Y29sb3JXaXRoQ2FsaWJyYXRlZFdoaXRlOldhcm5pbmdWaWV3Qm9yZGVyV2hpdGUgYWxwaGE6V2Fy
bmluZ1ZpZXdCb3JkZXJBbHBoYV07CisgICAgW3NlbGYgc2V0Qm9yZGVyQ29sb3I6Ym9yZGVyQ29s
b3IuZ2V0KCldOworCisgICAgUmV0YWluUHRyPE5TU2hhZG93PiBzaGFkb3cgPSBhZG9wdE5TKFtb
TlNTaGFkb3cgYWxsb2NdIGluaXRdKTsKKyAgICBSZXRhaW5QdHI8TlNDb2xvcj4gc2hhZG93Q29s
b3IgPSBbTlNDb2xvciBjb2xvcldpdGhDYWxpYnJhdGVkV2hpdGU6V2FybmluZ1ZpZXdTaGFkb3dX
aGl0ZSBhbHBoYTpXYXJuaW5nVmlld1NoYWRvd0FscGhhXTsKKyAgICBbc2hhZG93LmdldCgpIHNl
dFNoYWRvd0NvbG9yOnNoYWRvd0NvbG9yLmdldCgpXTsKKyAgICBbc2hhZG93LmdldCgpIHNldFNo
YWRvd09mZnNldDpXYXJuaW5nVmlld1NoYWRvd09mZnNldF07CisgICAgW3NoYWRvdy5nZXQoKSBz
ZXRTaGFkb3dCbHVyUmFkaXVzOldhcm5pbmdWaWV3U2hhZG93UmFkaXVzXTsKKyAgICBbc2VsZiBz
ZXRTaGFkb3c6c2hhZG93LmdldCgpXTsKKworICAgIHJldHVybiBzZWxmOworfQorCistICh2b2lk
KWRlYWxsb2MKK3sKKyAgICBbTlNPYmplY3QgY2FuY2VsUHJldmlvdXNQZXJmb3JtUmVxdWVzdHNX
aXRoVGFyZ2V0OnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKGhpZGVXaXRoRmFkZSkgb2JqZWN0Om5p
bF07CisgICAgW3N1cGVyIGRlYWxsb2NdOworfQorCistICh2b2lkKXNob3dUaGVuSGlkZVdpdGhG
YWRlCit7CisgICAgW05TT2JqZWN0IGNhbmNlbFByZXZpb3VzUGVyZm9ybVJlcXVlc3RzV2l0aFRh
cmdldDpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihoaWRlV2l0aEZhZGUpIG9iamVjdDpuaWxdOwor
ICAgIFtzZWxmIHBlcmZvcm1TZWxlY3RvcjpAc2VsZWN0b3IoaGlkZVdpdGhGYWRlKSB3aXRoT2Jq
ZWN0Om5pbCBhZnRlckRlbGF5Oldhcm5pbmdWaWV3SGlkZURlbGF5XTsKKworICAgIFtOU0FuaW1h
dGlvbkNvbnRleHQgYmVnaW5Hcm91cGluZ107CisgICAgW1tOU0FuaW1hdGlvbkNvbnRleHQgY3Vy
cmVudENvbnRleHRdIHNldER1cmF0aW9uOldhcm5pbmdWaWV3RmFkZUR1cmF0aW9uXTsKKyAgICBb
W3NlbGYgYW5pbWF0b3JdIHNldEFscGhhVmFsdWU6MV07CisgICAgW05TQW5pbWF0aW9uQ29udGV4
dCBlbmRHcm91cGluZ107Cit9CisKKy0gKHZvaWQpaGlkZVdpdGhGYWRlCit7CisgICAgW05TT2Jq
ZWN0IGNhbmNlbFByZXZpb3VzUGVyZm9ybVJlcXVlc3RzV2l0aFRhcmdldDpzZWxmIHNlbGVjdG9y
OkBzZWxlY3RvcihoaWRlV2l0aEZhZGUpIG9iamVjdDpuaWxdOworCisgICAgW05TQW5pbWF0aW9u
Q29udGV4dCBiZWdpbkdyb3VwaW5nXTsKKyAgICBbW05TQW5pbWF0aW9uQ29udGV4dCBjdXJyZW50
Q29udGV4dF0gc2V0RHVyYXRpb246V2FybmluZ1ZpZXdGYWRlRHVyYXRpb25dOworICAgIFtbc2Vs
ZiBhbmltYXRvcl0gc2V0QWxwaGFWYWx1ZTowXTsKKyAgICBbTlNBbmltYXRpb25Db250ZXh0IGVu
ZEdyb3VwaW5nXTsKK30KKworLSAodm9pZCloaWRlCit7CisgICAgW05TT2JqZWN0IGNhbmNlbFBy
ZXZpb3VzUGVyZm9ybVJlcXVlc3RzV2l0aFRhcmdldDpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvciho
aWRlV2l0aEZhZGUpIG9iamVjdDpuaWxdOworCisgICAgW05TQW5pbWF0aW9uQ29udGV4dCBiZWdp
bkdyb3VwaW5nXTsKKyAgICBbW05TQW5pbWF0aW9uQ29udGV4dCBjdXJyZW50Q29udGV4dF0gc2V0
RHVyYXRpb246MF07CisgICAgW1tzZWxmIGFuaW1hdG9yXSBzZXRBbHBoYVZhbHVlOjBdOworICAg
IFtOU0FuaW1hdGlvbkNvbnRleHQgZW5kR3JvdXBpbmddOworfQorCisKK0BlbmQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnVsbFNjcmVlbkNvbnRyb2xsZXIuaCBi
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnVsbFNjcmVlbkNvbnRyb2xsZXIuaAppbmRl
eCA0NzAxZjQ0OGFmNDVkMGEzYjYxYzg3MjY2YTIwYzM1N2MzNzhhYzI1Li4zOTlhZWRiYmUxMmVj
MDE5ZGEyZmJlMjQ1NTQ0ZmM2YTllMmVjNTljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYkZ1bGxTY3JlZW5Db250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJGdWxsU2NyZWVuQ29udHJvbGxlci5oCkBAIC0yOSw2ICsyOSw3IEBACiAj
aW1wb3J0IDx3dGYvUmVmUHRyLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKK0BjbGFz
cyBXZWJDb3JlRnVsbFNjcmVlbldhcm5pbmdWaWV3OwogQGNsYXNzIFdlYldpbmRvd0ZhZGVBbmlt
YXRpb247CiBAY2xhc3MgV2ViV2luZG93U2NhbGVBbmltYXRpb247CiBAY2xhc3MgV2ViVmlldzsK
QEAgLTQ3LDYgKzQ4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIFJldGFpblB0cjxXZWJX
aW5kb3dTY2FsZUFuaW1hdGlvbj4gX3NjYWxlQW5pbWF0aW9uOwogICAgIFJldGFpblB0cjxXZWJX
aW5kb3dGYWRlQW5pbWF0aW9uPiBfZmFkZUFuaW1hdGlvbjsKICAgICBSZXRhaW5QdHI8TlNXaW5k
b3c+IF9iYWNrZ3JvdW5kV2luZG93OworICAgIFJldGFpblB0cjxXZWJDb3JlRnVsbFNjcmVlbldh
cm5pbmdWaWV3PiBfd2FybmluZ1ZpZXc7CiAgICAgTlNSZWN0IF9pbml0aWFsRnJhbWU7CiAgICAg
TlNSZWN0IF9maW5hbEZyYW1lOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYkZ1bGxTY3JlZW5Db250cm9sbGVyLm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJGdWxsU2NyZWVuQ29udHJvbGxlci5tbQppbmRleCBlNjRmNDc0MDc4MWQxYjQxOTg0YjU4
NjEyYTMxZDE3ZDFmMDc2YWVmLi5hNzk0MzA2OTE4YzkyNjA2OTgzZmQxNDJlZTE5Y2ZiNzY0NTcy
MDU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZ1bGxTY3JlZW5D
b250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnVsbFNjcmVl
bkNvbnRyb2xsZXIubW0KQEAgLTQxLDYgKzQxLDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvUmVuZGVy
T2JqZWN0Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1JlbmRlclZpZXcuaD4KICNpbXBvcnQgPFdlYkNv
cmUvU29mdExpbmtpbmcuaD4KKyNpbXBvcnQgPFdlYkNvcmUvV2ViQ29yZUZ1bGxTY3JlZW5XYXJu
aW5nVmlldy5oPgogI2ltcG9ydCA8V2ViQ29yZS9XZWJDb3JlRnVsbFNjcmVlbldpbmRvdy5oPgog
I2ltcG9ydCA8V2ViQ29yZS9XZWJXaW5kb3dBbmltYXRpb24uaD4KICNpbXBvcnQgPFdlYktpdFN5
c3RlbUludGVyZmFjZS5oPgpAQCAtMTAxLDYgKzEwMiwxMSBAQCBzdGF0aWMgTlNSZWN0IGNvbnZl
cnRSZWN0VG9TY3JlZW4oTlNXaW5kb3cgKndpbmRvdywgTlNSZWN0IHJlY3QpCiAgICAgW3dpbmRv
dyByZWxlYXNlXTsKICAgICBpZiAoIXNlbGYpCiAgICAgICAgIHJldHVybiBuaWw7CisKKyAgICBf
d2FybmluZ1ZpZXcgPSBhZG9wdE5TKFtbV2ViQ29yZUZ1bGxTY3JlZW5XYXJuaW5nVmlldyBhbGxv
Y10gaW5pdF0pOworICAgIFtbW3NlbGYgd2luZG93XSBjb250ZW50Vmlld10gc2V0V2FudHNMYXll
cjpZRVNdOworICAgIFtbW3NlbGYgd2luZG93XSBjb250ZW50Vmlld10gYWRkU3Vidmlldzpfd2Fy
bmluZ1ZpZXcuZ2V0KCldOworICAgIFtfd2FybmluZ1ZpZXcuZ2V0KCkgaGlkZV07CiAgICAgW3Nl
bGYgd2luZG93RGlkTG9hZF07CiAKICAgICByZXR1cm4gc2VsZjsKQEAgLTIyMiw2ICsyMjgsMTEg
QEAgc3RhdGljIE5TUmVjdCBjb252ZXJ0UmVjdFRvU2NyZWVuKE5TV2luZG93ICp3aW5kb3csIE5T
UmVjdCByZWN0KQogICAgIAogICAgIE5TUmVzcG9uZGVyICp3ZWJXaW5kb3dGaXJzdFJlc3BvbmRl
ciA9IFtbX3dlYlZpZXcgd2luZG93XSBmaXJzdFJlc3BvbmRlcl07CiAgICAgW1tzZWxmIHdpbmRv
d10gc2V0RnJhbWU6c2NyZWVuRnJhbWUgZGlzcGxheTpOT107CisgICAgTlNTaXplIHdhcm5pbmdW
aWV3U2l6ZSA9IFtfd2FybmluZ1ZpZXcuZ2V0KCkgZnJhbWVdLnNpemU7CisgICAgTlNQb2ludCB3
YXJuaW5nVmlld09yaWdpbiA9IE5TTWFrZVBvaW50KAorICAgICAgICAoc2NyZWVuRnJhbWUuc2l6
ZS53aWR0aCAtIHdhcm5pbmdWaWV3U2l6ZS53aWR0aCkgLyAyLAorICAgICAgICAoc2NyZWVuRnJh
bWUuc2l6ZS5oZWlnaHQgLSB3YXJuaW5nVmlld1NpemUuaGVpZ2h0KSAvIDIpOworICAgIFtfd2Fy
bmluZ1ZpZXcuZ2V0KCkgc2V0RnJhbWVPcmlnaW46d2FybmluZ1ZpZXdPcmlnaW5dOwogCiAgICAg
X2luaXRpYWxGcmFtZSA9IHNjcmVlblJlY3RPZkNvbnRlbnRzKF9lbGVtZW50LmdldCgpKTsKIApA
QCAtMjQ4LDcgKzI1OSw5IEBAIHN0YXRpYyBOU1JlY3QgY29udmVydFJlY3RUb1NjcmVlbihOU1dp
bmRvdyAqd2luZG93LCBOU1JlY3QgcmVjdCkKICAgICBfZmluYWxGcmFtZSA9IHNjcmVlblJlY3RP
ZkNvbnRlbnRzKF9lbGVtZW50LmdldCgpKTsKICAgICAKICAgICBbc2VsZiBfdXBkYXRlTWVudUFu
ZERvY2tGb3JGdWxsU2NyZWVuXTsgICAKLSAgICAKKworICAgIFtfd2FybmluZ1ZpZXcuZ2V0KCkg
aGlkZV07CisKICAgICBbc2VsZiBfc3RhcnRFbnRlckZ1bGxTY3JlZW5BbmltYXRpb25XaXRoRHVy
YXRpb246ZGVmYXVsdEFuaW1hdGlvbkR1cmF0aW9uXTsKIAogICAgIF9pc0VudGVyaW5nRnVsbFNj
cmVlbiA9IHRydWU7CkBAIC0yODgsNiArMzAxLDEwIEBAIHN0YXRpYyBOU1JlY3QgY29udmVydFJl
Y3RUb1NjcmVlbihOU1dpbmRvdyAqd2luZG93LCBOU1JlY3QgcmVjdCkKICAgICAgICAgCiAgICAg
ICAgIFtfYmFja2dyb3VuZFdpbmRvdy5nZXQoKSBvcmRlck91dDpzZWxmXTsKICAgICAgICAgW19i
YWNrZ3JvdW5kV2luZG93LmdldCgpIHNldEZyYW1lOk5TWmVyb1JlY3QgZGlzcGxheTpZRVNdOwor
CisgICAgICAgIGlmIChfZWxlbWVudCAmJiAhX2VsZW1lbnQtPmlzTWVkaWFFbGVtZW50KCkpCisg
ICAgICAgICAgICBbX3dhcm5pbmdWaWV3LmdldCgpIHNob3dUaGVuSGlkZVdpdGhGYWRlXTsKKwog
ICAgICAgICBOU0VuYWJsZVNjcmVlblVwZGF0ZXMoKTsKICAgICB9IGVsc2UKICAgICAgICAgW19z
Y2FsZUFuaW1hdGlvbi5nZXQoKSBzdG9wQW5pbWF0aW9uXTsKQEAgLTM0MCw2ICszNTcsOCBAQCBz
dGF0aWMgTlNSZWN0IGNvbnZlcnRSZWN0VG9TY3JlZW4oTlNXaW5kb3cgKndpbmRvdywgTlNSZWN0
IHJlY3QpCiAgICAgW3dlYldpbmRvdyBzZXRBbmltYXRpb25CZWhhdmlvcjphbmltYXRpb25CZWhh
dmlvcl07CiAjZW5kaWYKIAorICAgIFtfd2FybmluZ1ZpZXcuZ2V0KCkgaGlkZV07CisKICAgICBb
c2VsZiBfc3RhcnRFeGl0RnVsbFNjcmVlbkFuaW1hdGlvbldpdGhEdXJhdGlvbjpkZWZhdWx0QW5p
bWF0aW9uRHVyYXRpb25dOwogICAgIF9pc0V4aXRpbmdGdWxsU2NyZWVuID0gWUVTOyAgICAKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdl
clByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnVsbFNjcmVlbk1hbmFnZXJQ
cm94eS5oCmluZGV4IGI4M2FmNTQ3NjdjNmYxMDU5N2MyZjcxZWQ0MjY1ZWU1NjEzYjFlMDguLmJl
ODcwMmIyNTE2MGJiYzRlNmRkODIwMDBmYTE3OWU0Y2I0MWMwYzkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5LmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkuaApAQCAtOTMs
NyArOTMsNyBAQCBwcml2YXRlOgogICAgIGV4cGxpY2l0IFdlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJv
eHkoV2ViUGFnZVByb3h5Kik7CiAKICAgICB2b2lkIHN1cHBvcnRzRnVsbFNjcmVlbihib29sIHdp
dGhLZXlib2FyZCwgYm9vbCYpOwotICAgIHZvaWQgZW50ZXJGdWxsU2NyZWVuKCk7CisgICAgdm9p
ZCBlbnRlckZ1bGxTY3JlZW4oYm9vbCBpc01lZGlhRWxlbWVudCk7CiAgICAgdm9pZCBleGl0RnVs
bFNjcmVlbigpOwogICAgIHZvaWQgYmVnYW5FbnRlckZ1bGxTY3JlZW4oY29uc3QgV2ViQ29yZTo6
SW50UmVjdCYgaW5pdGlhbEZyYW1lLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBmaW5hbEZyYW1l
KTsKICAgICB2b2lkIGJlZ2FuRXhpdEZ1bGxTY3JlZW4oY29uc3QgV2ViQ29yZTo6SW50UmVjdCYg
aW5pdGlhbEZyYW1lLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBmaW5hbEZyYW1lKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5h
Z2VyUHJveHkubWVzc2FnZXMuaW4KaW5kZXggOTdlNDYxMzBmMTQwNjE5MmYzMjFhYjU0Nzc2N2M5
YTJhZjM2NjliNS4uYWJiOGE3Mzc0ZjNkYTE2ZGIwNzg5OTk0ZTAxMmNiMjMwYjA1NDE1NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJv
eHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KQEAgLTIzLDcgKzIzLDcgQEAKICNpZiBFTkFCTEUo
RlVMTFNDUkVFTl9BUEkpCiBtZXNzYWdlcyAtPiBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5IHsK
ICAgICBTdXBwb3J0c0Z1bGxTY3JlZW4oYm9vbCB3aXRoS2V5Ym9hcmQpIC0+IChib29sIHN1cHBv
cnRzRnVsbFNjcmVlbikKLSAgICBFbnRlckZ1bGxTY3JlZW4oKQorICAgIEVudGVyRnVsbFNjcmVl
bihib29sIGlzTWVkaWFFbGVtZW50KQogICAgIEV4aXRGdWxsU2NyZWVuKCkKICAgICBCZWdhbkVu
dGVyRnVsbFNjcmVlbihXZWJDb3JlOjpJbnRSZWN0IGluaXRpYWxSZWN0LCBXZWJDb3JlOjpJbnRS
ZWN0IGZpbmFsUmVjdCkKICAgICBCZWdhbkV4aXRGdWxsU2NyZWVuKFdlYkNvcmU6OkludFJlY3Qg
aW5pdGlhbFJlY3QsIFdlYkNvcmU6OkludFJlY3QgZmluYWxSZWN0KQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVyLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xs
ZXIuaAppbmRleCA5Y2U4OGFlNWE5NmJiZGJmOWRhZjljNjcwMzkxMDdhZjkyODhlOThjLi45NjJl
NWFjNDRkOGM2YTVjM2I5NDlhOGY5NzVhNDU3ZmM4MzE2YjI3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXIuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xs
ZXIuaApAQCAtMzgsNiArMzgsNyBAQCBjbGFzcyBJbnRSZWN0OwogfQogCiBAY2xhc3MgV0tWaWV3
OworQGNsYXNzIFdlYkNvcmVGdWxsU2NyZWVuV2FybmluZ1ZpZXc7CiBAY2xhc3MgV2ViV2luZG93
U2NhbGVBbmltYXRpb247CiBAY2xhc3MgV2ViV2luZG93RmFkZUFuaW1hdGlvbjsKIApAQCAtNDgs
NiArNDksNyBAQCBjbGFzcyBJbnRSZWN0OwogICAgIFJldGFpblB0cjxXZWJXaW5kb3dTY2FsZUFu
aW1hdGlvbj4gX3NjYWxlQW5pbWF0aW9uOwogICAgIFJldGFpblB0cjxXZWJXaW5kb3dGYWRlQW5p
bWF0aW9uPiBfZmFkZUFuaW1hdGlvbjsKICAgICBSZXRhaW5QdHI8TlNXaW5kb3c+IF9iYWNrZ3Jv
dW5kV2luZG93OworICAgIFJldGFpblB0cjxXZWJDb3JlRnVsbFNjcmVlbldhcm5pbmdWaWV3PiBf
d2FybmluZ1ZpZXc7CiAgICAgTlNSZWN0IF9pbml0aWFsRnJhbWU7CiAgICAgTlNSZWN0IF9maW5h
bEZyYW1lOwogICAgIFJldGFpblB0cjxOU1RpbWVyPiBfd2F0Y2hkb2dUaW1lcjsKQEAgLTU2LDYg
KzU4LDcgQEAgY2xhc3MgSW50UmVjdDsKICAgICBCT09MIF9pc0V4aXRpbmdGdWxsU2NyZWVuOwog
ICAgIEJPT0wgX2lzRnVsbFNjcmVlbjsKICAgICBCT09MIF9pc1BsYXlpbmc7CisgICAgQk9PTCBf
c2hvdWxkRGlzcGxheVdhcm5pbmc7CiB9CiAKIC0gKFdLVmlldyopd2ViVmlldzsKQEAgLTYzLDcg
KzY2LDcgQEAgY2xhc3MgSW50UmVjdDsKIAogLSAoQk9PTClpc0Z1bGxTY3JlZW47CiAKLS0gKHZv
aWQpZW50ZXJGdWxsU2NyZWVuOihOU1NjcmVlbiAqKXNjcmVlbjsKKy0gKHZvaWQpZW50ZXJGdWxs
U2NyZWVuOihOU1NjcmVlbiAqKXNjcmVlbiBpc01lZGlhRWxlbWVudDooQk9PTClpc01lZGlhRWxl
bWVudDsKIC0gKHZvaWQpZXhpdEZ1bGxTY3JlZW47CiAtICh2b2lkKWNsb3NlOwogLSAodm9pZCli
ZWdhbkVudGVyRnVsbFNjcmVlbldpdGhJbml0aWFsRnJhbWU6KGNvbnN0IFdlYkNvcmU6OkludFJl
Y3QmKWluaXRpYWxGcmFtZSBmaW5hbEZyYW1lOihjb25zdCBXZWJDb3JlOjpJbnRSZWN0JilmaW5h
bEZyYW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XS0Z1bGxT
Y3JlZW5XaW5kb3dDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9X
S0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVyLm1tCmluZGV4IDIzOGE2NzUxNjVlZDhjMjk4Mzk0
ODkzYTUxYmJhYmI2MWRhMjc0MjUuLjM3MGYyNGFmNzgzZDc2MDE5ZWI1ZmE5MjYxMDdlYTRhMzIz
YTBjYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV0tGdWxsU2Ny
ZWVuV2luZG93Q29udHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFj
L1dLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXIubW0KQEAgLTM5LDYgKzM5LDcgQEAKICNpbXBv
cnQgPFdlYkNvcmUvRGlzcGxheVNsZWVwRGlzYWJsZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvRmxv
YXRSZWN0Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ludFJlY3QuaD4KKyNpbXBvcnQgPFdlYkNvcmUv
V2ViQ29yZUZ1bGxTY3JlZW5XYXJuaW5nVmlldy5oPgogI2ltcG9ydCA8V2ViQ29yZS9XZWJDb3Jl
RnVsbFNjcmVlbldpbmRvdy5oPgogI2ltcG9ydCA8V2ViQ29yZS9XZWJXaW5kb3dBbmltYXRpb24u
aD4KICNpbXBvcnQgPFdlYktpdC9XZWJOU1dpbmRvd0V4dHJhcy5oPgpAQCAtOTIsNyArOTMsMTQg
QEAgc3RhdGljIE5TUmVjdCBjb252ZXJ0UmVjdFRvU2NyZWVuKE5TV2luZG93ICp3aW5kb3csIE5T
UmVjdCByZWN0KQogICAgIFt3aW5kb3cgcmVsZWFzZV07CiAgICAgaWYgKCFzZWxmKQogICAgICAg
ICByZXR1cm4gbmlsOworCisgICAgX3dhcm5pbmdWaWV3ID0gYWRvcHROUyhbW1dlYkNvcmVGdWxs
U2NyZWVuV2FybmluZ1ZpZXcgYWxsb2NdIGluaXRdKTsKKyAgICBbW1tzZWxmIHdpbmRvd10gY29u
dGVudFZpZXddIHNldFdhbnRzTGF5ZXI6WUVTXTsKKyAgICBbW1tzZWxmIHdpbmRvd10gY29udGVu
dFZpZXddIGFkZFN1YnZpZXc6X3dhcm5pbmdWaWV3LmdldCgpXTsKKyAgICBbX3dhcm5pbmdWaWV3
LmdldCgpIGhpZGVdOwogICAgIFtzZWxmIHdpbmRvd0RpZExvYWRdOworCisgICAgX3Nob3VsZERp
c3BsYXlXYXJuaW5nID0gWUVTOwogICAgIAogICAgIHJldHVybiBzZWxmOwogfQpAQCAtMjA2LDEz
ICsyMTQsMTQgQEAgc3RhdGljIFJldGFpblB0cjxDR0ltYWdlUmVmPiBjcmVhdGVJbWFnZVdpdGhD
b3BpZWREYXRhKENHSW1hZ2VSZWYgc291cmNlSW1hZ2UpCiAgICAgcmV0dXJuIGFkb3B0Q0YoQ0dJ
bWFnZUNyZWF0ZSh3aWR0aCwgaGVpZ2h0LCBiaXRzUGVyQ29tcG9uZW50LCBiaXRzUGVyUGl4ZWws
IGJ5dGVzUGVyUm93LCBjb2xvclNwYWNlLCBiaXRtYXBJbmZvLCBwcm92aWRlci5nZXQoKSwgMCwg
c2hvdWxkSW50ZXJwb2xhdGUsIGludGVudCkpOwogfQogCi0tICh2b2lkKWVudGVyRnVsbFNjcmVl
bjooTlNTY3JlZW4gKilzY3JlZW4KKy0gKHZvaWQpZW50ZXJGdWxsU2NyZWVuOihOU1NjcmVlbiAq
KXNjcmVlbiBpc01lZGlhRWxlbWVudDooQk9PTClpc01lZGlhRWxlbWVudAogewogICAgIGlmIChf
aXNGdWxsU2NyZWVuKQogICAgICAgICByZXR1cm47CiAgICAgX2lzRnVsbFNjcmVlbiA9IFlFUzsK
IAotICAgIFtzZWxmIF91cGRhdGVNZW51QW5kRG9ja0ZvckZ1bGxTY3JlZW5dOyAgIAorICAgIFtz
ZWxmIF91cGRhdGVNZW51QW5kRG9ja0ZvckZ1bGxTY3JlZW5dOworICAgIF9zaG91bGREaXNwbGF5
V2FybmluZyA9ICFpc01lZGlhRWxlbWVudDsKIAogICAgIGlmICghc2NyZWVuKQogICAgICAgICBz
Y3JlZW4gPSBbTlNTY3JlZW4gbWFpblNjcmVlbl07CkBAIC0yMzcsNiArMjQ2LDExIEBAIHN0YXRp
YyBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gY3JlYXRlSW1hZ2VXaXRoQ29waWVkRGF0YShDR0ltYWdl
UmVmIHNvdXJjZUltYWdlKQogCiAgICAgTlNSZXNwb25kZXIgKndlYldpbmRvd0ZpcnN0UmVzcG9u
ZGVyID0gW1tfd2ViVmlldyB3aW5kb3ddIGZpcnN0UmVzcG9uZGVyXTsKICAgICBbW3NlbGYgd2lu
ZG93XSBzZXRGcmFtZTpzY3JlZW5GcmFtZSBkaXNwbGF5Ok5PXTsKKyAgICBOU1NpemUgd2Fybmlu
Z1ZpZXdTaXplID0gW193YXJuaW5nVmlldy5nZXQoKSBmcmFtZV0uc2l6ZTsKKyAgICBOU1BvaW50
IHdhcm5pbmdWaWV3T3JpZ2luID0gTlNNYWtlUG9pbnQoCisgICAgICAgIChzY3JlZW5GcmFtZS5z
aXplLndpZHRoIC0gd2FybmluZ1ZpZXdTaXplLndpZHRoKSAvIDIsIAorICAgICAgICAoc2NyZWVu
RnJhbWUuc2l6ZS5oZWlnaHQgLSB3YXJuaW5nVmlld1NpemUuaGVpZ2h0KSAvIDIpOworICAgIFtf
d2FybmluZ1ZpZXcuZ2V0KCkgc2V0RnJhbWVPcmlnaW46d2FybmluZ1ZpZXdPcmlnaW5dOwogCiAg
ICAgLy8gUGFpbnRpbmcgaXMgbm9ybWFsbHkgc3VzcGVuZGVkIHdoZW4gdGhlIFdLVmlldyBpcyBy
ZW1vdmVkIGZyb20gdGhlIHdpbmRvdywgYnV0IHRoaXMgaXMKICAgICAvLyB1bm5lY2Vzc2FyeSBp
biB0aGUgZnVsbC1zY3JlZW4gYW5pbWF0aW9uIGNhc2UsIGFuZCBjYW4gY2F1c2UgYnVnczsgc2Vl
CkBAIC0yNzUsNiArMjg5LDggQEAgc3RhdGljIFJldGFpblB0cjxDR0ltYWdlUmVmPiBjcmVhdGVJ
bWFnZVdpdGhDb3BpZWREYXRhKENHSW1hZ2VSZWYgc291cmNlSW1hZ2UpCiAKICAgICBbc2VsZiBf
dXBkYXRlTWVudUFuZERvY2tGb3JGdWxsU2NyZWVuXTsgICAKIAorICAgIFtfd2FybmluZ1ZpZXcu
Z2V0KCkgaGlkZV07CisKICAgICBbc2VsZiBfc3RhcnRFbnRlckZ1bGxTY3JlZW5BbmltYXRpb25X
aXRoRHVyYXRpb246ZGVmYXVsdEFuaW1hdGlvbkR1cmF0aW9uXTsKIH0KIApAQCAtMzEyLDYgKzMy
OCwxMCBAQCBzdGF0aWMgUmV0YWluUHRyPENHSW1hZ2VSZWY+IGNyZWF0ZUltYWdlV2l0aENvcGll
ZERhdGEoQ0dJbWFnZVJlZiBzb3VyY2VJbWFnZSkKICAgICAgICAgCiAgICAgICAgIFtfYmFja2dy
b3VuZFdpbmRvdy5nZXQoKSBvcmRlck91dDpzZWxmXTsKICAgICAgICAgW19iYWNrZ3JvdW5kV2lu
ZG93LmdldCgpIHNldEZyYW1lOk5TWmVyb1JlY3QgZGlzcGxheTpZRVNdOworCisgICAgICAgIGlm
IChfc2hvdWxkRGlzcGxheVdhcm5pbmcpCisgICAgICAgICAgICBbX3dhcm5pbmdWaWV3LmdldCgp
IHNob3dUaGVuSGlkZVdpdGhGYWRlXTsKKwogICAgICAgICBOU0VuYWJsZVNjcmVlblVwZGF0ZXMo
KTsKICAgICB9IGVsc2UKICAgICAgICAgW19zY2FsZUFuaW1hdGlvbi5nZXQoKSBzdG9wQW5pbWF0
aW9uXTsKQEAgLTM3Miw2ICszOTIsOCBAQCBzdGF0aWMgUmV0YWluUHRyPENHSW1hZ2VSZWY+IGNy
ZWF0ZUltYWdlV2l0aENvcGllZERhdGEoQ0dJbWFnZVJlZiBzb3VyY2VJbWFnZSkKICAgICBbd2Vi
V2luZG93IHNldEFuaW1hdGlvbkJlaGF2aW9yOmFuaW1hdGlvbkJlaGF2aW9yXTsKICNlbmRpZgog
CisgICAgW193YXJuaW5nVmlldy5nZXQoKSBoaWRlXTsKKwogICAgIFtzZWxmIF9zdGFydEV4aXRG
dWxsU2NyZWVuQW5pbWF0aW9uV2l0aER1cmF0aW9uOmRlZmF1bHRBbmltYXRpb25EdXJhdGlvbl07
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViRnVsbFNj
cmVlbk1hbmFnZXJQcm94eU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2Vi
RnVsbFNjcmVlbk1hbmFnZXJQcm94eU1hYy5tbQppbmRleCBiODQyN2Q1NmY5MzExMWVlMjc3NDgz
NjdlNGQ5ZjNjMzQ2NjRjMDVkLi40ZmE1N2ZiNzUxNjJkZmEyYTJjMTBjZWYzMzBhYzFhZDExMmNi
Y2YwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyUHJveHlNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9X
ZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5TWFjLm1tCkBAIC02MywxMSArNjMsMTEgQEAgYm9vbCBX
ZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5Ojppc0Z1bGxTY3JlZW4oKQogICAgIHJldHVybiBbW21f
d2ViVmlldyBmdWxsU2NyZWVuV2luZG93Q29udHJvbGxlcl0gaXNGdWxsU2NyZWVuXTsKIH0KIAot
dm9pZCBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjplbnRlckZ1bGxTY3JlZW4oKQordm9pZCBX
ZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjplbnRlckZ1bGxTY3JlZW4oYm9vbCBpc01lZGlhRWxl
bWVudCkKIHsKICAgICBpZiAoIW1fd2ViVmlldykKICAgICAgICAgcmV0dXJuOwotICAgIFtbbV93
ZWJWaWV3IGZ1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVyXSBlbnRlckZ1bGxTY3JlZW46bmlsXTsK
KyAgICBbW21fd2ViVmlldyBmdWxsU2NyZWVuV2luZG93Q29udHJvbGxlcl0gZW50ZXJGdWxsU2Ny
ZWVuOm5pbCBpc01lZGlhRWxlbWVudDppc01lZGlhRWxlbWVudF07CiB9CiAKIHZvaWQgV2ViRnVs
bFNjcmVlbk1hbmFnZXJQcm94eTo6ZXhpdEZ1bGxTY3JlZW4oKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VGdWxs
U2NyZWVuQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvSW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudC5jcHAKaW5kZXggOTZiOWExODRm
YWEzMDM1Zjg0YWFjN2VmZTdlOWRhOGRlNGJjNGQ1ZC4uNjgzZWUyMzdkOWMyZjE3Y2Q3MjMwZDhh
MTlkNGNhZjJhM2EzOWU4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxl
UGFnZUZ1bGxTY3JlZW5DbGllbnQuY3BwCkBAIC01OCw3ICs1OCw3IEBAIHZvaWQgSW5qZWN0ZWRC
dW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudDo6ZW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudChXZWJQ
YWdlICpwYWdlCiAgICAgICAgIFJlZlB0cjxJbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGU+IG5vZGVI
YW5kbGUgPSBJbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGU6OmdldE9yQ3JlYXRlKGVsZW1lbnQpOwog
ICAgICAgICBtX2NsaWVudC5lbnRlckZ1bGxTY3JlZW5Gb3JFbGVtZW50KHRvQVBJKHBhZ2UpLCB0
b0FQSShub2RlSGFuZGxlLmdldCgpKSk7CiAgICAgfSBlbHNlCi0gICAgICAgIHBhZ2UtPnNlbmQo
TWVzc2FnZXM6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OkVudGVyRnVsbFNjcmVlbigpKTsK
KyAgICAgICAgcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6
RW50ZXJGdWxsU2NyZWVuKGVsZW1lbnQtPmlzTWVkaWFFbGVtZW50KCkpKTsKIH0KIAogdm9pZCBJ
bmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50OjpleGl0RnVsbFNjcmVlbkZvckVsZW1l
bnQoV2ViUGFnZSAqcGFnZSwgV2ViQ29yZTo6RWxlbWVudCAqZWxlbWVudCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174320</attachid>
            <date>2012-11-14 19:09:34 -0800</date>
            <delta_ts>2016-03-09 09:23:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98863-20121114190732.patch</filename>
            <type>text/plain</type>
            <size>10414</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0NjU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMTk3MTg1NDliM2FkODg1
ZTQ3MDZmZWNlMzNlYzIyZDMzMjA1MmU4NS4uY2FiMmE4MzZiNWUyNWI3OTZmY2RiYTY3NWE2MDUx
ZGZlNzg4ZTJkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTEwLTEwICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtXSzJdIFNob3cgYSAiUHJl
c3MgRVNDIHRvIGxlYXZlIGZ1bGwtc2NyZWVuIG1vZGUiIHdhcm5pbmcgd2hlbiBlbnRlcmluZyBm
dWxsc2NyZWVuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05ODg2MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTI0NTk1NDk+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIHRoZSBzaGFyZWQgV2ViQ29y
ZUZ1bGxTY3JlZW5XYXJuaW5nVmlldyBjbGFzcyB0byBwcmVzZW50IGEgCisgICAgICAgIHdhcm5p
bmcgdG8gdGhlIHVzZXIgdXBvbiBlbnRlcmluZyBmdWxsIHNjcmVlbiBtb2RlLiBPbmx5IHByZXNl
bnQgdGhlIHdhcm5pbmcKKyAgICAgICAgaWYgdGhlIGZ1bGwgc2NyZWVuZWQgZWxlbWVudCBpcyAK
KworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5Lmg6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW46IFBh
c3MgaW4gd2hldGhlciB0aGUgZnVsbCBzY3JlZW4gZWxlbWVudCBpcyBhIG1lZGlhIGVsZW1lbnQu
CisgICAgICAgICogVUlQcm9jZXNzL21hYy9XS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVyLmg6
CisgICAgICAgICogVUlQcm9jZXNzL21hYy9XS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVyLm1t
OgorICAgICAgICAoLVtXS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVyIGluaXRdKTogQ3JlYXRl
IHRoZSBfd2FybmluZ1ZpZXcuCisgICAgICAgICgtW1dLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xs
ZXIgZW50ZXJGdWxsU2NyZWVuOmlzTWVkaWFFbGVtZW50Ol0pOiBQb3NpdGlvbiB0aGUgX3dhcm5p
bmdWaWV3CisgICAgICAgICAgICBpbiB0aGUgY2VudGVyIG9mIHRoZSB3aW5kb3cuCisgICAgICAg
ICgtW1dLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXIgYmVnYW5FbnRlckZ1bGxTY3JlZW5XaXRo
SW5pdGlhbEZyYW1lOmZpbmFsRnJhbWU6XSk6IEhpZGUgdGhlIF93YXJuaW5nVmlldy4KKyAgICAg
ICAgKC1bV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlciBmaW5pc2hlZEVudGVyRnVsbFNjcmVl
bkFuaW1hdGlvbjpdKTogU2hvdyAodGhlbiBoaWRlKSB0aGUgX3dhcm5pbmdWaWV3LgorICAgICAg
ICAoLVtXS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVyIGJlZ2FuRXhpdEZ1bGxTY3JlZW5XaXRo
SW5pdGlhbEZyYW1lOmZpbmFsRnJhbWU6XSk6IEhpZGUgdGhlIF93YXJuaW5nVmlldy4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvbWFjL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHlNYWMubW06CisgICAg
ICAgIChXZWJLaXQ6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OmVudGVyRnVsbFNjcmVlbik6
IFBhc3MgaW4gd2hldGhlciB0aGUgZWxlbWVudCBpc01lZGlhRWxlbWVudCgpCisgICAgICAgICog
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xp
ZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNs
aWVudDo6ZW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudCk6IERpdHRvLgorCiAyMDEyLTExLTE0ICBB
bmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgTW9yZSBzdGVw
cyB0b3dhcmRzIGFjdHVhbGx5IGhvc3RpbmcgbGF5ZXJzIGluIHRoZSBVSSBwcm9jZXNzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94
eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHku
aAppbmRleCAwNGFlZDlhM2YzNDVmZDk0NTcxNThiNmFiMTg0ZDBiZjJkNzliMDlhLi5iMjIxNGMw
YTJiNjYwZTdhNWViMjdlN2FiOWNiNzQ4Yzg5NjAwOTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5LmgKQEAgLTkzLDcgKzkz
LDcgQEAgcHJpdmF0ZToKICAgICBleHBsaWNpdCBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5KFdl
YlBhZ2VQcm94eSopOwogCiAgICAgdm9pZCBzdXBwb3J0c0Z1bGxTY3JlZW4oYm9vbCB3aXRoS2V5
Ym9hcmQsIGJvb2wmKTsKLSAgICB2b2lkIGVudGVyRnVsbFNjcmVlbigpOworICAgIHZvaWQgZW50
ZXJGdWxsU2NyZWVuKGJvb2wgaXNNZWRpYUVsZW1lbnQpOwogICAgIHZvaWQgZXhpdEZ1bGxTY3Jl
ZW4oKTsKICAgICB2b2lkIGJlZ2FuRW50ZXJGdWxsU2NyZWVuKGNvbnN0IFdlYkNvcmU6OkludFJl
Y3QmIGluaXRpYWxGcmFtZSwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgZmluYWxGcmFtZSk7CiAg
ICAgdm9pZCBiZWdhbkV4aXRGdWxsU2NyZWVuKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGluaXRp
YWxGcmFtZSwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgZmluYWxGcmFtZSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eS5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclBy
b3h5Lm1lc3NhZ2VzLmluCmluZGV4IDk3ZTQ2MTMwZjE0MDYxOTJmMzIxYWI1NDc3NjdjOWEyYWYz
NjY5YjUuLmFiYjhhNzM3NGYzZGExNmRiMDc4OTk5NGUwMTJjYjIzMGIwNTQxNTUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5Lm1l
c3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGdWxsU2NyZWVuTWFu
YWdlclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yMyw3ICsyMyw3IEBACiAjaWYgRU5BQkxFKEZVTExT
Q1JFRU5fQVBJKQogbWVzc2FnZXMgLT4gV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eSB7CiAgICAg
U3VwcG9ydHNGdWxsU2NyZWVuKGJvb2wgd2l0aEtleWJvYXJkKSAtPiAoYm9vbCBzdXBwb3J0c0Z1
bGxTY3JlZW4pCi0gICAgRW50ZXJGdWxsU2NyZWVuKCkKKyAgICBFbnRlckZ1bGxTY3JlZW4oYm9v
bCBpc01lZGlhRWxlbWVudCkKICAgICBFeGl0RnVsbFNjcmVlbigpCiAgICAgQmVnYW5FbnRlckZ1
bGxTY3JlZW4oV2ViQ29yZTo6SW50UmVjdCBpbml0aWFsUmVjdCwgV2ViQ29yZTo6SW50UmVjdCBm
aW5hbFJlY3QpCiAgICAgQmVnYW5FeGl0RnVsbFNjcmVlbihXZWJDb3JlOjpJbnRSZWN0IGluaXRp
YWxSZWN0LCBXZWJDb3JlOjpJbnRSZWN0IGZpbmFsUmVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlci5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVyLmgK
aW5kZXggOWNlODhhZTVhOTZiYmRiZjlkYWY5YzY3MDM5MTA3YWY5Mjg4ZTk4Yy4uOTYyZTVhYzQ0
ZDhjNmE1YzNiOTQ5YThmOTc1YTQ1N2ZjODMxNmIyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL21hYy9XS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVyLmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVyLmgK
QEAgLTM4LDYgKzM4LDcgQEAgY2xhc3MgSW50UmVjdDsKIH0KIAogQGNsYXNzIFdLVmlldzsKK0Bj
bGFzcyBXZWJDb3JlRnVsbFNjcmVlbldhcm5pbmdWaWV3OwogQGNsYXNzIFdlYldpbmRvd1NjYWxl
QW5pbWF0aW9uOwogQGNsYXNzIFdlYldpbmRvd0ZhZGVBbmltYXRpb247CiAKQEAgLTQ4LDYgKzQ5
LDcgQEAgY2xhc3MgSW50UmVjdDsKICAgICBSZXRhaW5QdHI8V2ViV2luZG93U2NhbGVBbmltYXRp
b24+IF9zY2FsZUFuaW1hdGlvbjsKICAgICBSZXRhaW5QdHI8V2ViV2luZG93RmFkZUFuaW1hdGlv
bj4gX2ZhZGVBbmltYXRpb247CiAgICAgUmV0YWluUHRyPE5TV2luZG93PiBfYmFja2dyb3VuZFdp
bmRvdzsKKyAgICBSZXRhaW5QdHI8V2ViQ29yZUZ1bGxTY3JlZW5XYXJuaW5nVmlldz4gX3dhcm5p
bmdWaWV3OwogICAgIE5TUmVjdCBfaW5pdGlhbEZyYW1lOwogICAgIE5TUmVjdCBfZmluYWxGcmFt
ZTsKICAgICBSZXRhaW5QdHI8TlNUaW1lcj4gX3dhdGNoZG9nVGltZXI7CkBAIC01Niw2ICs1OCw3
IEBAIGNsYXNzIEludFJlY3Q7CiAgICAgQk9PTCBfaXNFeGl0aW5nRnVsbFNjcmVlbjsKICAgICBC
T09MIF9pc0Z1bGxTY3JlZW47CiAgICAgQk9PTCBfaXNQbGF5aW5nOworICAgIEJPT0wgX3Nob3Vs
ZERpc3BsYXlXYXJuaW5nOwogfQogCiAtIChXS1ZpZXcqKXdlYlZpZXc7CkBAIC02Myw3ICs2Niw3
IEBAIGNsYXNzIEludFJlY3Q7CiAKIC0gKEJPT0wpaXNGdWxsU2NyZWVuOwogCi0tICh2b2lkKWVu
dGVyRnVsbFNjcmVlbjooTlNTY3JlZW4gKilzY3JlZW47CistICh2b2lkKWVudGVyRnVsbFNjcmVl
bjooTlNTY3JlZW4gKilzY3JlZW4gaXNNZWRpYUVsZW1lbnQ6KEJPT0wpaXNNZWRpYUVsZW1lbnQ7
CiAtICh2b2lkKWV4aXRGdWxsU2NyZWVuOwogLSAodm9pZCljbG9zZTsKIC0gKHZvaWQpYmVnYW5F
bnRlckZ1bGxTY3JlZW5XaXRoSW5pdGlhbEZyYW1lOihjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jilp
bml0aWFsRnJhbWUgZmluYWxGcmFtZTooY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpZmluYWxGcmFt
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV0tGdWxsU2NyZWVu
V2luZG93Q29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV0tGdWxs
U2NyZWVuV2luZG93Q29udHJvbGxlci5tbQppbmRleCAyMzhhNjc1MTY1ZWQ4YzI5ODM5NDg5M2E1
MWJiYWJiNjFkYTI3NDI1Li4zNzBmMjRhZjc4M2Q3NjAxOWViNWZhOTI2MTA3ZWE0YTMyM2EwY2M4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dLRnVsbFNjcmVlbldp
bmRvd0NvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XS0Z1
bGxTY3JlZW5XaW5kb3dDb250cm9sbGVyLm1tCkBAIC0zOSw2ICszOSw3IEBACiAjaW1wb3J0IDxX
ZWJDb3JlL0Rpc3BsYXlTbGVlcERpc2FibGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Zsb2F0UmVj
dC5oPgogI2ltcG9ydCA8V2ViQ29yZS9JbnRSZWN0Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1dlYkNv
cmVGdWxsU2NyZWVuV2FybmluZ1ZpZXcuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2ViQ29yZUZ1bGxT
Y3JlZW5XaW5kb3cuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2ViV2luZG93QW5pbWF0aW9uLmg+CiAj
aW1wb3J0IDxXZWJLaXQvV2ViTlNXaW5kb3dFeHRyYXMuaD4KQEAgLTkyLDcgKzkzLDE0IEBAIHN0
YXRpYyBOU1JlY3QgY29udmVydFJlY3RUb1NjcmVlbihOU1dpbmRvdyAqd2luZG93LCBOU1JlY3Qg
cmVjdCkKICAgICBbd2luZG93IHJlbGVhc2VdOwogICAgIGlmICghc2VsZikKICAgICAgICAgcmV0
dXJuIG5pbDsKKworICAgIF93YXJuaW5nVmlldyA9IGFkb3B0TlMoW1tXZWJDb3JlRnVsbFNjcmVl
bldhcm5pbmdWaWV3IGFsbG9jXSBpbml0XSk7CisgICAgW1tbc2VsZiB3aW5kb3ddIGNvbnRlbnRW
aWV3XSBzZXRXYW50c0xheWVyOllFU107CisgICAgW1tbc2VsZiB3aW5kb3ddIGNvbnRlbnRWaWV3
XSBhZGRTdWJ2aWV3Ol93YXJuaW5nVmlldy5nZXQoKV07CisgICAgW193YXJuaW5nVmlldy5nZXQo
KSBoaWRlXTsKICAgICBbc2VsZiB3aW5kb3dEaWRMb2FkXTsKKworICAgIF9zaG91bGREaXNwbGF5
V2FybmluZyA9IFlFUzsKICAgICAKICAgICByZXR1cm4gc2VsZjsKIH0KQEAgLTIwNiwxMyArMjE0
LDE0IEBAIHN0YXRpYyBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gY3JlYXRlSW1hZ2VXaXRoQ29waWVk
RGF0YShDR0ltYWdlUmVmIHNvdXJjZUltYWdlKQogICAgIHJldHVybiBhZG9wdENGKENHSW1hZ2VD
cmVhdGUod2lkdGgsIGhlaWdodCwgYml0c1BlckNvbXBvbmVudCwgYml0c1BlclBpeGVsLCBieXRl
c1BlclJvdywgY29sb3JTcGFjZSwgYml0bWFwSW5mbywgcHJvdmlkZXIuZ2V0KCksIDAsIHNob3Vs
ZEludGVycG9sYXRlLCBpbnRlbnQpKTsKIH0KIAotLSAodm9pZCllbnRlckZ1bGxTY3JlZW46KE5T
U2NyZWVuICopc2NyZWVuCistICh2b2lkKWVudGVyRnVsbFNjcmVlbjooTlNTY3JlZW4gKilzY3Jl
ZW4gaXNNZWRpYUVsZW1lbnQ6KEJPT0wpaXNNZWRpYUVsZW1lbnQKIHsKICAgICBpZiAoX2lzRnVs
bFNjcmVlbikKICAgICAgICAgcmV0dXJuOwogICAgIF9pc0Z1bGxTY3JlZW4gPSBZRVM7CiAKLSAg
ICBbc2VsZiBfdXBkYXRlTWVudUFuZERvY2tGb3JGdWxsU2NyZWVuXTsgICAKKyAgICBbc2VsZiBf
dXBkYXRlTWVudUFuZERvY2tGb3JGdWxsU2NyZWVuXTsKKyAgICBfc2hvdWxkRGlzcGxheVdhcm5p
bmcgPSAhaXNNZWRpYUVsZW1lbnQ7CiAKICAgICBpZiAoIXNjcmVlbikKICAgICAgICAgc2NyZWVu
ID0gW05TU2NyZWVuIG1haW5TY3JlZW5dOwpAQCAtMjM3LDYgKzI0NiwxMSBAQCBzdGF0aWMgUmV0
YWluUHRyPENHSW1hZ2VSZWY+IGNyZWF0ZUltYWdlV2l0aENvcGllZERhdGEoQ0dJbWFnZVJlZiBz
b3VyY2VJbWFnZSkKIAogICAgIE5TUmVzcG9uZGVyICp3ZWJXaW5kb3dGaXJzdFJlc3BvbmRlciA9
IFtbX3dlYlZpZXcgd2luZG93XSBmaXJzdFJlc3BvbmRlcl07CiAgICAgW1tzZWxmIHdpbmRvd10g
c2V0RnJhbWU6c2NyZWVuRnJhbWUgZGlzcGxheTpOT107CisgICAgTlNTaXplIHdhcm5pbmdWaWV3
U2l6ZSA9IFtfd2FybmluZ1ZpZXcuZ2V0KCkgZnJhbWVdLnNpemU7CisgICAgTlNQb2ludCB3YXJu
aW5nVmlld09yaWdpbiA9IE5TTWFrZVBvaW50KAorICAgICAgICAoc2NyZWVuRnJhbWUuc2l6ZS53
aWR0aCAtIHdhcm5pbmdWaWV3U2l6ZS53aWR0aCkgLyAyLCAKKyAgICAgICAgKHNjcmVlbkZyYW1l
LnNpemUuaGVpZ2h0IC0gd2FybmluZ1ZpZXdTaXplLmhlaWdodCkgLyAyKTsKKyAgICBbX3dhcm5p
bmdWaWV3LmdldCgpIHNldEZyYW1lT3JpZ2luOndhcm5pbmdWaWV3T3JpZ2luXTsKIAogICAgIC8v
IFBhaW50aW5nIGlzIG5vcm1hbGx5IHN1c3BlbmRlZCB3aGVuIHRoZSBXS1ZpZXcgaXMgcmVtb3Zl
ZCBmcm9tIHRoZSB3aW5kb3csIGJ1dCB0aGlzIGlzCiAgICAgLy8gdW5uZWNlc3NhcnkgaW4gdGhl
IGZ1bGwtc2NyZWVuIGFuaW1hdGlvbiBjYXNlLCBhbmQgY2FuIGNhdXNlIGJ1Z3M7IHNlZQpAQCAt
Mjc1LDYgKzI4OSw4IEBAIHN0YXRpYyBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gY3JlYXRlSW1hZ2VX
aXRoQ29waWVkRGF0YShDR0ltYWdlUmVmIHNvdXJjZUltYWdlKQogCiAgICAgW3NlbGYgX3VwZGF0
ZU1lbnVBbmREb2NrRm9yRnVsbFNjcmVlbl07ICAgCiAKKyAgICBbX3dhcm5pbmdWaWV3LmdldCgp
IGhpZGVdOworCiAgICAgW3NlbGYgX3N0YXJ0RW50ZXJGdWxsU2NyZWVuQW5pbWF0aW9uV2l0aER1
cmF0aW9uOmRlZmF1bHRBbmltYXRpb25EdXJhdGlvbl07CiB9CiAKQEAgLTMxMiw2ICszMjgsMTAg
QEAgc3RhdGljIFJldGFpblB0cjxDR0ltYWdlUmVmPiBjcmVhdGVJbWFnZVdpdGhDb3BpZWREYXRh
KENHSW1hZ2VSZWYgc291cmNlSW1hZ2UpCiAgICAgICAgIAogICAgICAgICBbX2JhY2tncm91bmRX
aW5kb3cuZ2V0KCkgb3JkZXJPdXQ6c2VsZl07CiAgICAgICAgIFtfYmFja2dyb3VuZFdpbmRvdy5n
ZXQoKSBzZXRGcmFtZTpOU1plcm9SZWN0IGRpc3BsYXk6WUVTXTsKKworICAgICAgICBpZiAoX3No
b3VsZERpc3BsYXlXYXJuaW5nKQorICAgICAgICAgICAgW193YXJuaW5nVmlldy5nZXQoKSBzaG93
VGhlbkhpZGVXaXRoRmFkZV07CisKICAgICAgICAgTlNFbmFibGVTY3JlZW5VcGRhdGVzKCk7CiAg
ICAgfSBlbHNlCiAgICAgICAgIFtfc2NhbGVBbmltYXRpb24uZ2V0KCkgc3RvcEFuaW1hdGlvbl07
CkBAIC0zNzIsNiArMzkyLDggQEAgc3RhdGljIFJldGFpblB0cjxDR0ltYWdlUmVmPiBjcmVhdGVJ
bWFnZVdpdGhDb3BpZWREYXRhKENHSW1hZ2VSZWYgc291cmNlSW1hZ2UpCiAgICAgW3dlYldpbmRv
dyBzZXRBbmltYXRpb25CZWhhdmlvcjphbmltYXRpb25CZWhhdmlvcl07CiAjZW5kaWYKIAorICAg
IFtfd2FybmluZ1ZpZXcuZ2V0KCkgaGlkZV07CisKICAgICBbc2VsZiBfc3RhcnRFeGl0RnVsbFNj
cmVlbkFuaW1hdGlvbldpdGhEdXJhdGlvbjpkZWZhdWx0QW5pbWF0aW9uRHVyYXRpb25dOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkZ1bGxTY3JlZW5N
YW5hZ2VyUHJveHlNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkZ1bGxT
Y3JlZW5NYW5hZ2VyUHJveHlNYWMubW0KaW5kZXggYjg0MjdkNTZmOTMxMTFlZTI3NzQ4MzY3ZTRk
OWYzYzM0NjY0YzA1ZC4uNGZhNTdmYjc1MTYyZGZhMmEyYzEwY2VmMzMwYWMxYWQxMTJjYmNmMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJGdWxsU2NyZWVuTWFu
YWdlclByb3h5TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViRnVs
bFNjcmVlbk1hbmFnZXJQcm94eU1hYy5tbQpAQCAtNjMsMTEgKzYzLDExIEBAIGJvb2wgV2ViRnVs
bFNjcmVlbk1hbmFnZXJQcm94eTo6aXNGdWxsU2NyZWVuKCkKICAgICByZXR1cm4gW1ttX3dlYlZp
ZXcgZnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXJdIGlzRnVsbFNjcmVlbl07CiB9CiAKLXZvaWQg
V2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eTo6ZW50ZXJGdWxsU2NyZWVuKCkKK3ZvaWQgV2ViRnVs
bFNjcmVlbk1hbmFnZXJQcm94eTo6ZW50ZXJGdWxsU2NyZWVuKGJvb2wgaXNNZWRpYUVsZW1lbnQp
CiB7CiAgICAgaWYgKCFtX3dlYlZpZXcpCiAgICAgICAgIHJldHVybjsKLSAgICBbW21fd2ViVmll
dyBmdWxsU2NyZWVuV2luZG93Q29udHJvbGxlcl0gZW50ZXJGdWxsU2NyZWVuOm5pbF07CisgICAg
W1ttX3dlYlZpZXcgZnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXJdIGVudGVyRnVsbFNjcmVlbjpu
aWwgaXNNZWRpYUVsZW1lbnQ6aXNNZWRpYUVsZW1lbnRdOwogfQogCiB2b2lkIFdlYkZ1bGxTY3Jl
ZW5NYW5hZ2VyUHJveHk6OmV4aXRGdWxsU2NyZWVuKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVl
bkNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQuY3BwCmluZGV4IDk2YjlhMTg0ZmFhMzAz
NWY4NGFhYzdlZmU3ZTlkYThkZTRiYzRkNWQuLjY4M2VlMjM3ZDljMmYxN2NkNzIzMGQ4YTE5ZDRj
YWYyYTNhMzllODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudC5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VG
dWxsU2NyZWVuQ2xpZW50LmNwcApAQCAtNTgsNyArNTgsNyBAQCB2b2lkIEluamVjdGVkQnVuZGxl
UGFnZUZ1bGxTY3JlZW5DbGllbnQ6OmVudGVyRnVsbFNjcmVlbkZvckVsZW1lbnQoV2ViUGFnZSAq
cGFnZQogICAgICAgICBSZWZQdHI8SW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlPiBub2RlSGFuZGxl
ID0gSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlOjpnZXRPckNyZWF0ZShlbGVtZW50KTsKICAgICAg
ICAgbV9jbGllbnQuZW50ZXJGdWxsU2NyZWVuRm9yRWxlbWVudCh0b0FQSShwYWdlKSwgdG9BUEko
bm9kZUhhbmRsZS5nZXQoKSkpOwogICAgIH0gZWxzZQotICAgICAgICBwYWdlLT5zZW5kKE1lc3Nh
Z2VzOjpXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5OjpFbnRlckZ1bGxTY3JlZW4oKSk7CisgICAg
ICAgIHBhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHk6OkVudGVy
RnVsbFNjcmVlbihlbGVtZW50LT5pc01lZGlhRWxlbWVudCgpKSk7CiB9CiAKIHZvaWQgSW5qZWN0
ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudDo6ZXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KFdl
YlBhZ2UgKnBhZ2UsIFdlYkNvcmU6OkVsZW1lbnQgKmVsZW1lbnQpCg==
</data>
<flag name="review"
          id="247257"
          type_id="1"
          status="+"
          setter="darin"
    />
    <flag name="commit-queue"
          id="189337"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
      

    </bug>

</bugzilla>