<?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>169923</bug_id>
          
          <creation_ts>2017-03-21 14:10:27 -0700</creation_ts>
          <short_desc>[MediaStream] Make mock video source work on iOS</short_desc>
          <delta_ts>2017-04-03 09:09:27 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>ASSIGNED</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>matthew_hanson</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1289838</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2017-03-21 14:10:27 -0700</bug_when>
    <thetext>Generate IOSurface backed CVPixelBuffers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289840</commentid>
    <comment_count>1</comment_count>
      <attachid>305027</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2017-03-21 14:22:42 -0700</bug_when>
    <thetext>Created attachment 305027
Proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289853</commentid>
    <comment_count>2</comment_count>
      <attachid>305027</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-03-21 15:00:09 -0700</bug_when>
    <thetext>Comment on attachment 305027
Proposed patch.

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

&gt; Source/WebCore/platform/mediastream/mac/MockRealtimeVideoSourceMac.h:56
&gt; +    RetainPtr&lt;CVPixelBufferRef&gt; pixelBufferFromCGImage(CGImageRef);

Keep it const and make m_bufferPool mutable?

&gt; Source/WebCore/platform/mediastream/mac/MockRealtimeVideoSourceMac.h:60
&gt; +    bool applySize(const IntSize&amp;) override;

Use final.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289864</commentid>
    <comment_count>3</comment_count>
      <attachid>305035</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2017-03-21 15:23:39 -0700</bug_when>
    <thetext>Created attachment 305035
Patch for landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1290104</commentid>
    <comment_count>4</comment_count>
      <attachid>305035</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-22 10:46:04 -0700</bug_when>
    <thetext>Comment on attachment 305035
Patch for landing.

Rejecting attachment 305035 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 305035, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
fs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc ...
Currently at 214253 = da3f5293315f5782d6a2a6abfd0b26e35e202cbc
r214254 = 6679bded9e36e6fc6215a0654356302f85106dc7
r214255 = 420029cd551f8817a0ccd2a5c2c8e5c383d5ce99
r214256 = b7e4e1d9db541c7b59a415ff7275e27f5d6578aa
Done rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc
First, rewinding head to replay your work on top of it...
Fast-forwarded master to refs/remotes/origin/master.

Full output: http://webkit-queues.webkit.org/results/3388345</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1290451</commentid>
    <comment_count>5</comment_count>
      <attachid>305035</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2017-03-23 08:25:31 -0700</bug_when>
    <thetext>Comment on attachment 305035
Patch for landing.

Set cq+ again to see if the bots are feeling better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1290452</commentid>
    <comment_count>6</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-03-23 08:28:03 -0700</bug_when>
    <thetext>Attachment 305035 did not pass style-queue:


ERROR: Source/WebCore/platform/cocoa/CoreVideoSoftLink.cpp:42:  Missing space after ,  [whitespace/comma] [3]
ERROR: Source/WebCore/platform/mediastream/mac/MockRealtimeVideoSourceMac.mm:116:  Missing space inside { }.  [whitespace/braces] [5]
ERROR: Source/WebCore/platform/mediastream/mac/MockRealtimeVideoSourceMac.mm:120:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 3 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1290454</commentid>
    <comment_count>7</comment_count>
      <attachid>305035</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-23 08:54:52 -0700</bug_when>
    <thetext>Comment on attachment 305035
Patch for landing.

Clearing flags on attachment: 305035

Committed r214302: &lt;http://trac.webkit.org/changeset/214302&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1290457</commentid>
    <comment_count>8</comment_count>
    <who name="Matthew Hanson">matthew_hanson</who>
    <bug_when>2017-03-23 09:08:20 -0700</bug_when>
    <thetext>Bump (to import this into Radar)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1290458</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-03-23 09:08:41 -0700</bug_when>
    <thetext>&lt;rdar://problem/31220631&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>305027</attachid>
            <date>2017-03-21 14:22:42 -0700</date>
            <delta_ts>2017-04-03 09:09:27 -0700</delta_ts>
            <desc>Proposed patch.</desc>
            <filename>ios_mock_video_patch_1.txt</filename>
            <type>text/plain</type>
            <size>15607</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNDE5MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDE3LTAzLTIxICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtNZWRpYVN0cmVhbV0g
TWFrZSBtb2NrIHZpZGVvIHNvdXJjZSB3b3JrIG9uIGlPUworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY5OTIzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBHZW5lcmF0ZSBJT1N1cmZhY2UtYmFj
a2VkIENWUGl4ZWxCdWZmZXJzLiBBbGxvY2F0ZSB0aGVtIGZyb20gYSAKKyAgICAgICAgQ1ZQaXhl
bEJ1ZmZlclBvb2wgZm9yIGVmZmljaWVuY3kuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBm
dW5jdGlvbmFsIGNoYW5nZS4KKworICAgICAgICAqIHBsYXRmb3JtL2NvY29hL0NvcmVWaWRlb1Nv
ZnRMaW5rLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9Db3JlVmlkZW9Tb2Z0TGluay5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6dmlkZW9UcmFuc2Zvcm1hdGlvbk1hdHJp
eCk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL01vY2tSZWFsdGltZVZpZGVv
U291cmNlTWFjLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL01vY2tSZWFs
dGltZVZpZGVvU291cmNlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6TW9ja1JlYWx0aW1lVmlk
ZW9Tb3VyY2VNYWM6OnBpeGVsQnVmZmVyRnJvbUNHSW1hZ2UpOgorICAgICAgICAoV2ViQ29yZTo6
TW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2VNYWM6OmFwcGx5U2l6ZSk6CisgICAgICAgICogcGxhdGZv
cm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5oOgorCiAyMDE3LTAzLTIwICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUHJlcGFyZSBT
b2NrZXRTdHJlYW1IYW5kbGUgZm9yIGJlaW5nIGNyZWF0ZWQgZnJvbSBXSzIKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0NvcmVWaWRlb1NvZnRMaW5rLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9Db3JlVmlkZW9Tb2Z0TGluay5jcHAJ
KHJldmlzaW9uIDIxNDE5MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0NvcmVW
aWRlb1NvZnRMaW5rLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksNyArMzksMTggQEAgU09GVF9M
SU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgQwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZP
Ul9TT1VSQ0UoV2ViQ29yZSwgQ29yZVZpZGVvLCBDVlBpeGVsQnVmZmVyR2V0QmFzZUFkZHJlc3NP
ZlBsYW5lLCB2b2lkICosIChDVlBpeGVsQnVmZmVyUmVmIHBpeGVsQnVmZmVyLCBzaXplX3QgcGxh
bmVJbmRleCksIChwaXhlbEJ1ZmZlciwgcGxhbmVJbmRleCkpOwogU09GVF9MSU5LX0ZVTkNUSU9O
X0ZPUl9TT1VSQ0UoV2ViQ29yZSwgQ29yZVZpZGVvLCBDVlBpeGVsQnVmZmVyTG9ja0Jhc2VBZGRy
ZXNzLCBDVlJldHVybiwgKENWUGl4ZWxCdWZmZXJSZWYgcGl4ZWxCdWZmZXIsIENWT3B0aW9uRmxh
Z3MgbG9ja0ZsYWdzKSwgKHBpeGVsQnVmZmVyLCBsb2NrRmxhZ3MpKQogU09GVF9MSU5LX0ZVTkNU
SU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgQ29yZVZpZGVvLCBDVlBpeGVsQnVmZmVyVW5sb2NrQmFz
ZUFkZHJlc3MsIENWUmV0dXJuLCAoQ1ZQaXhlbEJ1ZmZlclJlZiBwaXhlbEJ1ZmZlciwgQ1ZPcHRp
b25GbGFncyBsb2NrRmxhZ3MpLCAocGl4ZWxCdWZmZXIsIGxvY2tGbGFncykpCitTT0ZUX0xJTktf
RlVOQ1RJT05fRk9SX1NPVVJDRShXZWJDb3JlLCBDb3JlVmlkZW8sIENWUGl4ZWxCdWZmZXJQb29s
Q3JlYXRlLCBDVlJldHVybiwoQ0ZBbGxvY2F0b3JSZWYgYWxsb2NhdG9yLCBDRkRpY3Rpb25hcnlS
ZWYgcG9vbEF0dHJpYnV0ZXMsIENGRGljdGlvbmFyeVJlZiBwaXhlbEJ1ZmZlckF0dHJpYnV0ZXMs
IENWUGl4ZWxCdWZmZXJQb29sUmVmKiBwb29sT3V0KSwgKGFsbG9jYXRvciwgcG9vbEF0dHJpYnV0
ZXMsIHBpeGVsQnVmZmVyQXR0cmlidXRlcywgcG9vbE91dCkpCitTT0ZUX0xJTktfRlVOQ1RJT05f
Rk9SX1NPVVJDRShXZWJDb3JlLCBDb3JlVmlkZW8sIENWUGl4ZWxCdWZmZXJQb29sQ3JlYXRlUGl4
ZWxCdWZmZXIsIENWUmV0dXJuLCAoQ0ZBbGxvY2F0b3JSZWYgYWxsb2NhdG9yLCBDVlBpeGVsQnVm
ZmVyUG9vbFJlZiBwaXhlbEJ1ZmZlclBvb2wsIENWUGl4ZWxCdWZmZXJSZWYqIHBpeGVsQnVmZmVy
T3V0KSwgKGFsbG9jYXRvciwgcGl4ZWxCdWZmZXJQb29sLCBwaXhlbEJ1ZmZlck91dCkpCiBTT0ZU
X0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRShXZWJDb3JlLCBDb3JlVmlkZW8sIGtDVlBpeGVsQnVm
ZmVyUGl4ZWxGb3JtYXRUeXBlS2V5LCBDRlN0cmluZ1JlZikKK1NPRlRfTElOS19DT05TVEFOVF9G
T1JfU09VUkNFKFdlYkNvcmUsIENvcmVWaWRlbywga0NWUGl4ZWxCdWZmZXJDR0JpdG1hcENvbnRl
eHRDb21wYXRpYmlsaXR5S2V5LCBDRlN0cmluZ1JlZikKK1NPRlRfTElOS19DT05TVEFOVF9GT1Jf
U09VUkNFKFdlYkNvcmUsIENvcmVWaWRlbywga0NWUGl4ZWxCdWZmZXJDR0ltYWdlQ29tcGF0aWJp
bGl0eUtleSwgQ0ZTdHJpbmdSZWYpCitTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRShXZWJD
b3JlLCBDb3JlVmlkZW8sIGtDVlBpeGVsQnVmZmVySU9TdXJmYWNlT3BlbkdMRVNGQk9Db21wYXRp
YmlsaXR5S2V5LCBDRlN0cmluZ1JlZikKK1NPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFKFdl
YkNvcmUsIENvcmVWaWRlbywga0NWUGl4ZWxCdWZmZXJXaWR0aEtleSwgQ0ZTdHJpbmdSZWYpCitT
T0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRShXZWJDb3JlLCBDb3JlVmlkZW8sIGtDVlBpeGVs
QnVmZmVySGVpZ2h0S2V5LCBDRlN0cmluZ1JlZikKK1NPRlRfTElOS19DT05TVEFOVF9GT1JfU09V
UkNFKFdlYkNvcmUsIENvcmVWaWRlbywga0NWUGl4ZWxGb3JtYXRPcGVuR0xDb21wYXRpYmlsaXR5
LCBDRlN0cmluZ1JlZikKK1NPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFKFdlYkNvcmUsIENv
cmVWaWRlbywga0NWUGl4ZWxGb3JtYXRPcGVuR0xFU0NvbXBhdGliaWxpdHksIENGU3RyaW5nUmVm
KQorU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgQ29yZVZpZGVvLCBrQ1ZQ
aXhlbEJ1ZmZlcklPU3VyZmFjZVByb3BlcnRpZXNLZXksIENGU3RyaW5nUmVmKQorU09GVF9MSU5L
X0NPTlNUQU5UX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgQ29yZVZpZGVvLCBrQ1ZQaXhlbEJ1ZmZlclBv
b2xNaW5pbXVtQnVmZmVyQ291bnRLZXksIENGU3RyaW5nUmVmKQogCiAjaWYgUExBVEZPUk0oSU9T
KQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgQ29yZVZpZGVvLCBDVk9w
ZW5HTEVTVGV4dHVyZUNhY2hlQ3JlYXRlLCBDVlJldHVybiwgKENGQWxsb2NhdG9yUmVmIGFsbG9j
YXRvciwgQ0ZEaWN0aW9uYXJ5UmVmIGNhY2hlQXR0cmlidXRlcywgQ1ZFQUdMQ29udGV4dCBlYWds
Q29udGV4dCwgQ0ZEaWN0aW9uYXJ5UmVmIHRleHR1cmVBdHRyaWJ1dGVzLCBDVk9wZW5HTEVTVGV4
dHVyZUNhY2hlUmVmKiBjYWNoZU91dCksIChhbGxvY2F0b3IsIGNhY2hlQXR0cmlidXRlcywgZWFn
bENvbnRleHQsIHRleHR1cmVBdHRyaWJ1dGVzLCBjYWNoZU91dCkpCkBAIC00OSw5ICs2MCw2IEBA
IFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIEMKIFNPRlRfTElOS19GVU5D
VElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIENvcmVWaWRlbywgQ1ZPcGVuR0xFU1RleHR1cmVHZXRO
YW1lLCBHTHVpbnQsIChDVk9wZW5HTEVTVGV4dHVyZVJlZiBpbWFnZSksIChpbWFnZSkpCiBTT0ZU
X0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShXZWJDb3JlLCBDb3JlVmlkZW8sIENWUGl4ZWxCdWZm
ZXJDcmVhdGUsIENWUmV0dXJuLCAoQ0ZBbGxvY2F0b3JSZWYgYWxsb2NhdG9yLCBzaXplX3Qgd2lk
dGgsIHNpemVfdCBoZWlnaHQsIE9TVHlwZSBwaXhlbEZvcm1hdFR5cGUsIENGRGljdGlvbmFyeVJl
ZiBwaXhlbEJ1ZmZlckF0dHJpYnV0ZXMsIENWUGl4ZWxCdWZmZXJSZWYgKnBpeGVsQnVmZmVyT3V0
KSwgKGFsbG9jYXRvciwgd2lkdGgsIGhlaWdodCwgcGl4ZWxGb3JtYXRUeXBlLCBwaXhlbEJ1ZmZl
ckF0dHJpYnV0ZXMsIHBpeGVsQnVmZmVyT3V0KSkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09V
UkNFKFdlYkNvcmUsIENvcmVWaWRlbywgQ1ZQaXhlbEJ1ZmZlckNyZWF0ZVdpdGhCeXRlcywgQ1ZS
ZXR1cm4sIChDRkFsbG9jYXRvclJlZiBhbGxvY2F0b3IsIHNpemVfdCB3aWR0aCwgc2l6ZV90IGhl
aWdodCwgT1NUeXBlIHBpeGVsRm9ybWF0VHlwZSwgdm9pZCogZGF0YSwgc2l6ZV90IGJ5dGVzUGVy
Um93LCB2b2lkICgqcmVsZWFzZUNhbGxiYWNrKSh2b2lkKiwgY29uc3Qgdm9pZCopLCB2b2lkKiBy
ZWxlYXNlUG9pbnRlciwgQ0ZEaWN0aW9uYXJ5UmVmIHBpeGVsQnVmZmVyQXR0cmlidXRlcywgQ1ZQ
aXhlbEJ1ZmZlclJlZiAqcGl4ZWxCdWZmZXJPdXQpLCAoYWxsb2NhdG9yLCB3aWR0aCwgaGVpZ2h0
LCBwaXhlbEZvcm1hdFR5cGUsIGRhdGEsIGJ5dGVzUGVyUm93LCByZWxlYXNlQ2FsbGJhY2ssIHJl
bGVhc2VQb2ludGVyLCBwaXhlbEJ1ZmZlckF0dHJpYnV0ZXMsIHBpeGVsQnVmZmVyT3V0KSkKLVNP
RlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFKFdlYkNvcmUsIENvcmVWaWRlbywga0NWUGl4ZWxC
dWZmZXJDR0JpdG1hcENvbnRleHRDb21wYXRpYmlsaXR5S2V5LCBDRlN0cmluZ1JlZikKLVNPRlRf
TElOS19DT05TVEFOVF9GT1JfU09VUkNFKFdlYkNvcmUsIENvcmVWaWRlbywga0NWUGl4ZWxCdWZm
ZXJDR0ltYWdlQ29tcGF0aWJpbGl0eUtleSwgQ0ZTdHJpbmdSZWYpCi1TT0ZUX0xJTktfQ09OU1RB
TlRfRk9SX1NPVVJDRShXZWJDb3JlLCBDb3JlVmlkZW8sIGtDVlBpeGVsQnVmZmVySU9TdXJmYWNl
T3BlbkdMRVNGQk9Db21wYXRpYmlsaXR5S2V5LCBDRlN0cmluZ1JlZikKICNlbHNlCiBTT0ZUX0xJ
TktfRlVOQ1RJT05fRk9SX1NPVVJDRShXZWJDb3JlLCBDb3JlVmlkZW8sIENWT3BlbkdMVGV4dHVy
ZUNhY2hlQ3JlYXRlLCBDVlJldHVybiwgKENGQWxsb2NhdG9yUmVmIGFsbG9jYXRvciwgQ0ZEaWN0
aW9uYXJ5UmVmIGNhY2hlQXR0cmlidXRlcywgQ0dMQ29udGV4dE9iaiBjZ2xDb250ZXh0LCBDR0xQ
aXhlbEZvcm1hdE9iaiBjZ2xQaXhlbEZvcm1hdCwgQ0ZEaWN0aW9uYXJ5UmVmIHRleHR1cmVBdHRy
aWJ1dGVzLCBDVk9wZW5HTFRleHR1cmVDYWNoZVJlZiogY2FjaGVPdXQpLCAoYWxsb2NhdG9yLCBj
YWNoZUF0dHJpYnV0ZXMsIGNnbENvbnRleHQsIGNnbFBpeGVsRm9ybWF0LCB0ZXh0dXJlQXR0cmli
dXRlcywgY2FjaGVPdXQpKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwg
Q29yZVZpZGVvLCBDVk9wZW5HTFRleHR1cmVDYWNoZUNyZWF0ZVRleHR1cmVGcm9tSW1hZ2UsIENW
UmV0dXJuLCAoQ0ZBbGxvY2F0b3JSZWYgYWxsb2NhdG9yLCBDVk9wZW5HTFRleHR1cmVDYWNoZVJl
ZiB0ZXh0dXJlQ2FjaGUsIENWSW1hZ2VCdWZmZXJSZWYgc291cmNlSW1hZ2UsIENGRGljdGlvbmFy
eVJlZiBhdHRyaWJ1dGVzLCBDVk9wZW5HTFRleHR1cmVSZWYqIHRleHR1cmVPdXQpLCAoYWxsb2Nh
dG9yLCB0ZXh0dXJlQ2FjaGUsIHNvdXJjZUltYWdlLCBhdHRyaWJ1dGVzLCB0ZXh0dXJlT3V0KSkK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0NvcmVWaWRlb1NvZnRMaW5rLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvQ29yZVZpZGVvU29m
dExpbmsuaAkocmV2aXNpb24gMjE0MTkwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29j
b2EvQ29yZVZpZGVvU29mdExpbmsuaAkod29ya2luZyBjb3B5KQpAQCAtNDksOSArNDksMjUgQEAg
U09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29yZSwgQwogI2RlZmluZSBDVlBpeGVs
QnVmZmVyTG9ja0Jhc2VBZGRyZXNzIHNvZnRMaW5rX0NvcmVWaWRlb19DVlBpeGVsQnVmZmVyTG9j
a0Jhc2VBZGRyZXNzCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihXZWJDb3JlLCBDb3Jl
VmlkZW8sIENWUGl4ZWxCdWZmZXJVbmxvY2tCYXNlQWRkcmVzcywgQ1ZSZXR1cm4sIChDVlBpeGVs
QnVmZmVyUmVmIHBpeGVsQnVmZmVyLCBDVk9wdGlvbkZsYWdzIGxvY2tGbGFncyksIChwaXhlbEJ1
ZmZlciwgbG9ja0ZsYWdzKSkKICNkZWZpbmUgQ1ZQaXhlbEJ1ZmZlclVubG9ja0Jhc2VBZGRyZXNz
IHNvZnRMaW5rX0NvcmVWaWRlb19DVlBpeGVsQnVmZmVyVW5sb2NrQmFzZUFkZHJlc3MKK1NPRlRf
TElOS19GVU5DVElPTl9GT1JfSEVBREVSKFdlYkNvcmUsIENvcmVWaWRlbywgQ1ZQaXhlbEJ1ZmZl
clBvb2xDcmVhdGUsIENWUmV0dXJuLCAoQ0ZBbGxvY2F0b3JSZWYgYWxsb2NhdG9yLCBDRkRpY3Rp
b25hcnlSZWYgcG9vbEF0dHJpYnV0ZXMsIENGRGljdGlvbmFyeVJlZiBwaXhlbEJ1ZmZlckF0dHJp
YnV0ZXMsIENWUGl4ZWxCdWZmZXJQb29sUmVmKiBwb29sT3V0KSwgKGFsbG9jYXRvciwgcG9vbEF0
dHJpYnV0ZXMsIHBpeGVsQnVmZmVyQXR0cmlidXRlcywgcG9vbE91dCkpCisjZGVmaW5lIENWUGl4
ZWxCdWZmZXJQb29sQ3JlYXRlIHNvZnRMaW5rX0NvcmVWaWRlb19DVlBpeGVsQnVmZmVyUG9vbENy
ZWF0ZQorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29yZSwgQ29yZVZpZGVvLCBD
VlBpeGVsQnVmZmVyUG9vbENyZWF0ZVBpeGVsQnVmZmVyLCBDVlJldHVybiwgKENGQWxsb2NhdG9y
UmVmIGFsbG9jYXRvciwgQ1ZQaXhlbEJ1ZmZlclBvb2xSZWYgcGl4ZWxCdWZmZXJQb29sLCBDVlBp
eGVsQnVmZmVyUmVmKiBwaXhlbEJ1ZmZlck91dCksIChhbGxvY2F0b3IsIHBpeGVsQnVmZmVyUG9v
bCwgcGl4ZWxCdWZmZXJPdXQpKQorI2RlZmluZSBDVlBpeGVsQnVmZmVyUG9vbENyZWF0ZVBpeGVs
QnVmZmVyIHNvZnRMaW5rX0NvcmVWaWRlb19DVlBpeGVsQnVmZmVyUG9vbENyZWF0ZVBpeGVsQnVm
ZmVyCiAKIFNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFdlYkNvcmUsIENvcmVWaWRlbywg
a0NWUGl4ZWxCdWZmZXJQaXhlbEZvcm1hdFR5cGVLZXksIENGU3RyaW5nUmVmKQogI2RlZmluZSBr
Q1ZQaXhlbEJ1ZmZlclBpeGVsRm9ybWF0VHlwZUtleSBnZXRfQ29yZVZpZGVvX2tDVlBpeGVsQnVm
ZmVyUGl4ZWxGb3JtYXRUeXBlS2V5KCkKK1NPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFdl
YkNvcmUsIENvcmVWaWRlbywga0NWUGl4ZWxCdWZmZXJXaWR0aEtleSwgQ0ZTdHJpbmdSZWYpCisj
ZGVmaW5lIGtDVlBpeGVsQnVmZmVyV2lkdGhLZXkgZ2V0X0NvcmVWaWRlb19rQ1ZQaXhlbEJ1ZmZl
cldpZHRoS2V5KCkKK1NPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFdlYkNvcmUsIENvcmVW
aWRlbywga0NWUGl4ZWxCdWZmZXJIZWlnaHRLZXksIENGU3RyaW5nUmVmKQorI2RlZmluZSBrQ1ZQ
aXhlbEJ1ZmZlckhlaWdodEtleSBnZXRfQ29yZVZpZGVvX2tDVlBpeGVsQnVmZmVySGVpZ2h0S2V5
KCkKK1NPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFdlYkNvcmUsIENvcmVWaWRlbywga0NW
UGl4ZWxGb3JtYXRPcGVuR0xDb21wYXRpYmlsaXR5LCBDRlN0cmluZ1JlZikKKyNkZWZpbmUga0NW
UGl4ZWxGb3JtYXRPcGVuR0xDb21wYXRpYmlsaXR5IGdldF9Db3JlVmlkZW9fa0NWUGl4ZWxGb3Jt
YXRPcGVuR0xDb21wYXRpYmlsaXR5KCkKK1NPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFdl
YkNvcmUsIENvcmVWaWRlbywga0NWUGl4ZWxGb3JtYXRPcGVuR0xFU0NvbXBhdGliaWxpdHksIENG
U3RyaW5nUmVmKQorI2RlZmluZSBrQ1ZQaXhlbEZvcm1hdE9wZW5HTEVTQ29tcGF0aWJpbGl0eSBn
ZXRfQ29yZVZpZGVvX2tDVlBpeGVsRm9ybWF0T3BlbkdMRVNDb21wYXRpYmlsaXR5KCkKK1NPRlRf
TElOS19DT05TVEFOVF9GT1JfSEVBREVSKFdlYkNvcmUsIENvcmVWaWRlbywga0NWUGl4ZWxCdWZm
ZXJJT1N1cmZhY2VQcm9wZXJ0aWVzS2V5LCBDRlN0cmluZ1JlZikKKyNkZWZpbmUga0NWUGl4ZWxC
dWZmZXJJT1N1cmZhY2VQcm9wZXJ0aWVzS2V5IGdldF9Db3JlVmlkZW9fa0NWUGl4ZWxCdWZmZXJJ
T1N1cmZhY2VQcm9wZXJ0aWVzS2V5KCkKK1NPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFdl
YkNvcmUsIENvcmVWaWRlbywga0NWUGl4ZWxCdWZmZXJQb29sTWluaW11bUJ1ZmZlckNvdW50S2V5
LCBDRlN0cmluZ1JlZikKKyNkZWZpbmUga0NWUGl4ZWxCdWZmZXJQb29sTWluaW11bUJ1ZmZlckNv
dW50S2V5IGdldF9Db3JlVmlkZW9fa0NWUGl4ZWxCdWZmZXJQb29sTWluaW11bUJ1ZmZlckNvdW50
S2V5KCkKIAogI2lmIFBMQVRGT1JNKElPUykKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVS
KFdlYkNvcmUsIENvcmVWaWRlbywgQ1ZPcGVuR0xFU1RleHR1cmVDYWNoZUNyZWF0ZSwgQ1ZSZXR1
cm4sIChDRkFsbG9jYXRvclJlZiBhbGxvY2F0b3IsIENGRGljdGlvbmFyeVJlZiBjYWNoZUF0dHJp
YnV0ZXMsIENWRUFHTENvbnRleHQgZWFnbENvbnRleHQsIENGRGljdGlvbmFyeVJlZiB0ZXh0dXJl
QXR0cmlidXRlcywgQ1ZPcGVuR0xFU1RleHR1cmVDYWNoZVJlZiogY2FjaGVPdXQpLCAoYWxsb2Nh
dG9yLCBjYWNoZUF0dHJpYnV0ZXMsIGVhZ2xDb250ZXh0LCB0ZXh0dXJlQXR0cmlidXRlcywgY2Fj
aGVPdXQpKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbQkocmV2aXNpb24gMjE0MTkw
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC0zMjEsNyArMzIxLDcgQEAgQ0dBZmZpbmVUcmFuc2Zvcm0gTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aQogI2lmIFBMQVRGT1JNKE1BQykKICAgICBzdGF0aWMgZmxvYXQgc2Vuc29yQW5nbGVbXSA9IHsg
MCwgMCwgMTgwLCA5MCwgMjcwIH07CiAjZWxzZQotICAgIHN0YXRpYyBmbG9hdCBzZW5zb3JBbmds
ZVtdID0geyAxODAsIDE4MCwgMCwgOTAsIDI3MCB9OworICAgIHN0YXRpYyBmbG9hdCBzZW5zb3JB
bmdsZVtdID0geyAwLCAxODAsIDAsIDkwLCAyNzAgfTsKICNlbmRpZgogICAgIGZsb2F0IHJvdGF0
aW9uID0gc2Vuc29yQW5nbGVbc3RhdGljX2Nhc3Q8aW50PihtX3ZpZGVvT3JpZW50YXRpb24pXTsK
ICAgICBtX3ZpZGVvVHJhbnNmb3JtID0gQ0dBZmZpbmVUcmFuc2Zvcm1NYWtlUm90YXRpb24ocm90
YXRpb24gKiBNX1BJIC8gMTgwKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL21hYy9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZU1hYy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9Nb2NrUmVhbHRpbWVWaWRlb1Nv
dXJjZU1hYy5oCShyZXZpc2lvbiAyMTQxOTApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9tYWMvTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2VNYWMuaAkod29ya2luZyBjb3B5
KQpAQCAtMzksNiArMzksNyBAQAogdHlwZWRlZiBzdHJ1Y3QgX19DVkJ1ZmZlciAqQ1ZCdWZmZXJS
ZWY7CiB0eXBlZGVmIENWQnVmZmVyUmVmIENWSW1hZ2VCdWZmZXJSZWY7CiB0eXBlZGVmIENWSW1h
Z2VCdWZmZXJSZWYgQ1ZQaXhlbEJ1ZmZlclJlZjsKK3R5cGVkZWYgc3RydWN0IF9fQ1ZQaXhlbEJ1
ZmZlclBvb2wgKkNWUGl4ZWxCdWZmZXJQb29sUmVmOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTUyLDEzICs1MywxNSBAQCBwcml2YXRlOgogICAgIE1vY2tSZWFsdGltZVZpZGVvU291cmNl
TWFjKGNvbnN0IFN0cmluZyYpOwogCiAgICAgUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiBD
TVNhbXBsZUJ1ZmZlckZyb21QaXhlbEJ1ZmZlcihDVlBpeGVsQnVmZmVyUmVmKTsKLSAgICBSZXRh
aW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gcGl4ZWxCdWZmZXJGcm9tQ0dJbWFnZShDR0ltYWdlUmVm
KSBjb25zdDsKKyAgICBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gcGl4ZWxCdWZmZXJGcm9t
Q0dJbWFnZShDR0ltYWdlUmVmKTsKIAogICAgIFBsYXRmb3JtTGF5ZXIqIHBsYXRmb3JtTGF5ZXIo
KSBjb25zdDsKICAgICB2b2lkIHVwZGF0ZVNhbXBsZUJ1ZmZlcigpIG92ZXJyaWRlOworICAgIGJv
b2wgYXBwbHlTaXplKGNvbnN0IEludFNpemUmKSBvdmVycmlkZTsKIAogICAgIG11dGFibGUgUmV0
YWluUHRyPENHSW1hZ2VSZWY+IG1fcHJldmlld0ltYWdlOwogICAgIG11dGFibGUgUmV0YWluUHRy
PFBsYXRmb3JtTGF5ZXI+IG1fcHJldmlld0xheWVyOworICAgIFJldGFpblB0cjxDVlBpeGVsQnVm
ZmVyUG9vbFJlZj4gbV9idWZmZXJQb29sOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL01vY2tSZWFsdGlt
ZVZpZGVvU291cmNlTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL21hYy9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZU1hYy5tbQkocmV2aXNpb24g
MjE0MTkwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL01vY2tS
ZWFsdGltZVZpZGVvU291cmNlTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC05NywyMyArOTcsNDQg
QEAgUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiBNb2NrUmVhbHRpbQogICAgIHJldHVybiBh
ZG9wdENGKHNhbXBsZUJ1ZmZlcik7CiB9CiAKLVJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiBN
b2NrUmVhbHRpbWVWaWRlb1NvdXJjZU1hYzo6cGl4ZWxCdWZmZXJGcm9tQ0dJbWFnZShDR0ltYWdl
UmVmIGltYWdlKSBjb25zdAorUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IE1vY2tSZWFsdGlt
ZVZpZGVvU291cmNlTWFjOjpwaXhlbEJ1ZmZlckZyb21DR0ltYWdlKENHSW1hZ2VSZWYgaW1hZ2Up
CiB7CiAgICAgc3RhdGljIENHQ29sb3JTcGFjZVJlZiBkZXZpY2VSR0JDb2xvclNwYWNlID0gQ0dD
b2xvclNwYWNlQ3JlYXRlRGV2aWNlUkdCKCk7CiAKLSAgICBDR1NpemUgZnJhbWVTaXplID0gQ0dT
aXplTWFrZShDR0ltYWdlR2V0V2lkdGgoaW1hZ2UpLCBDR0ltYWdlR2V0SGVpZ2h0KGltYWdlKSk7
Ci0gICAgQ0ZEaWN0aW9uYXJ5UmVmIG9wdGlvbnMgPSAoX19icmlkZ2UgQ0ZEaWN0aW9uYXJ5UmVm
KSBAewotICAgICAgICAoX19icmlkZ2UgTlNTdHJpbmcgKilrQ1ZQaXhlbEJ1ZmZlckNHSW1hZ2VD
b21wYXRpYmlsaXR5S2V5OiBAKE5PKSwKLSAgICAgICAgKF9fYnJpZGdlIE5TU3RyaW5nICopa0NW
UGl4ZWxCdWZmZXJDR0JpdG1hcENvbnRleHRDb21wYXRpYmlsaXR5S2V5OiBAKE5PKQotICAgIH07
CisgICAgQ0dTaXplIGltYWdlU2l6ZSA9IENHU2l6ZU1ha2UoQ0dJbWFnZUdldFdpZHRoKGltYWdl
KSwgQ0dJbWFnZUdldEhlaWdodChpbWFnZSkpOworICAgIGlmICghbV9idWZmZXJQb29sKSB7Cisg
ICAgICAgIENWUGl4ZWxCdWZmZXJQb29sUmVmIGJ1ZmZlclBvb2w7CisgICAgICAgIENGRGljdGlv
bmFyeVJlZiBzb3VyY2VQaXhlbEJ1ZmZlck9wdGlvbnMgPSAoX19icmlkZ2UgQ0ZEaWN0aW9uYXJ5
UmVmKSBAeworICAgICAgICAgICAgKF9fYnJpZGdlIE5TU3RyaW5nICopa0NWUGl4ZWxCdWZmZXJQ
aXhlbEZvcm1hdFR5cGVLZXkgOiBAKGtDVlBpeGVsRm9ybWF0VHlwZV8zMkFSR0IpLAorICAgICAg
ICAgICAgKF9fYnJpZGdlIE5TU3RyaW5nICopa0NWUGl4ZWxCdWZmZXJXaWR0aEtleSA6IEAoaW1h
Z2VTaXplLndpZHRoKSwKKyAgICAgICAgICAgIChfX2JyaWRnZSBOU1N0cmluZyAqKWtDVlBpeGVs
QnVmZmVySGVpZ2h0S2V5IDogQChpbWFnZVNpemUuaGVpZ2h0KSwKKyNpZiBQTEFURk9STShJT1Mp
CisgICAgICAgICAgICAoX19icmlkZ2UgTlNTdHJpbmcgKilrQ1ZQaXhlbEZvcm1hdE9wZW5HTEVT
Q29tcGF0aWJpbGl0eSA6IEAoWUVTKSwKKyNlbHNlCisgICAgICAgICAgICAoX19icmlkZ2UgTlNT
dHJpbmcgKilrQ1ZQaXhlbEJ1ZmZlck9wZW5HTENvbXBhdGliaWxpdHlLZXkgOiBAKFlFUyksCisj
ZW5kaWYKKyAgICAgICAgICAgIChfX2JyaWRnZSBOU1N0cmluZyAqKWtDVlBpeGVsQnVmZmVySU9T
dXJmYWNlUHJvcGVydGllc0tleSA6IEB7LyplbXB0eSBkaWN0aW9uYXJ5Ki99CisgICAgICAgIH07
CisKKyAgICAgICAgQ0ZEaWN0aW9uYXJ5UmVmIHBpeGVsQnVmZmVyUG9vbE9wdGlvbnMgPSAoX19i
cmlkZ2UgQ0ZEaWN0aW9uYXJ5UmVmKSBAeworICAgICAgICAgICAoX19icmlkZ2UgTlNTdHJpbmcg
KilrQ1ZQaXhlbEJ1ZmZlclBvb2xNaW5pbXVtQnVmZmVyQ291bnRLZXkgOiBAKDQpCisgICAgICAg
IH07CisKKyAgICAgICAgQ1ZSZXR1cm4gc3RhdHVzID0gQ1ZQaXhlbEJ1ZmZlclBvb2xDcmVhdGUo
a0NGQWxsb2NhdG9yRGVmYXVsdCwgcGl4ZWxCdWZmZXJQb29sT3B0aW9ucywgc291cmNlUGl4ZWxC
dWZmZXJPcHRpb25zLCAmYnVmZmVyUG9vbCk7CisgICAgICAgIGlmIChzdGF0dXMgIT0ga0NWUmV0
dXJuU3VjY2VzcykKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgIG1fYnVm
ZmVyUG9vbCA9IGFkb3B0Q0YoYnVmZmVyUG9vbCk7CisgICAgfQorCiAgICAgQ1ZQaXhlbEJ1ZmZl
clJlZiBwaXhlbEJ1ZmZlcjsKLSAgICBDVlJldHVybiBzdGF0dXMgPSBDVlBpeGVsQnVmZmVyQ3Jl
YXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIGZyYW1lU2l6ZS53aWR0aCwgZnJhbWVTaXplLmhlaWdo
dCwga0NWUGl4ZWxGb3JtYXRUeXBlXzMyQVJHQiwgb3B0aW9ucywgJnBpeGVsQnVmZmVyKTsKKyAg
ICBDVlJldHVybiBzdGF0dXMgPSBDVlBpeGVsQnVmZmVyUG9vbENyZWF0ZVBpeGVsQnVmZmVyKG51
bGxwdHIsIG1fYnVmZmVyUG9vbC5nZXQoKSwgJnBpeGVsQnVmZmVyKTsKICAgICBpZiAoc3RhdHVz
ICE9IGtDVlJldHVyblN1Y2Nlc3MpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgQ1ZQ
aXhlbEJ1ZmZlckxvY2tCYXNlQWRkcmVzcyhwaXhlbEJ1ZmZlciwgMCk7CiAgICAgdm9pZCogZGF0
YSA9IENWUGl4ZWxCdWZmZXJHZXRCYXNlQWRkcmVzcyhwaXhlbEJ1ZmZlcik7Ci0gICAgYXV0byBj
b250ZXh0ID0gYWRvcHRDRihDR0JpdG1hcENvbnRleHRDcmVhdGUoZGF0YSwgZnJhbWVTaXplLndp
ZHRoLCBmcmFtZVNpemUuaGVpZ2h0LCA4LCBDVlBpeGVsQnVmZmVyR2V0Qnl0ZXNQZXJSb3cocGl4
ZWxCdWZmZXIpLCBkZXZpY2VSR0JDb2xvclNwYWNlLCAoQ0dCaXRtYXBJbmZvKSBrQ0dJbWFnZUFs
cGhhTm9uZVNraXBGaXJzdCkpOworICAgIGF1dG8gY29udGV4dCA9IGFkb3B0Q0YoQ0dCaXRtYXBD
b250ZXh0Q3JlYXRlKGRhdGEsIGltYWdlU2l6ZS53aWR0aCwgaW1hZ2VTaXplLmhlaWdodCwgOCwg
Q1ZQaXhlbEJ1ZmZlckdldEJ5dGVzUGVyUm93KHBpeGVsQnVmZmVyKSwgZGV2aWNlUkdCQ29sb3JT
cGFjZSwgKENHQml0bWFwSW5mbykga0NHSW1hZ2VBbHBoYU5vbmVTa2lwRmlyc3QpKTsKICAgICBD
R0NvbnRleHREcmF3SW1hZ2UoY29udGV4dC5nZXQoKSwgQ0dSZWN0TWFrZSgwLCAwLCBDR0ltYWdl
R2V0V2lkdGgoaW1hZ2UpLCBDR0ltYWdlR2V0SGVpZ2h0KGltYWdlKSksIGltYWdlKTsKICAgICBD
VlBpeGVsQnVmZmVyVW5sb2NrQmFzZUFkZHJlc3MocGl4ZWxCdWZmZXIsIDApOwogCkBAIC0xMjgs
NiArMTQ5LDE0IEBAIHZvaWQgTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2VNYWM6OnVwZGF0ZVMKICAg
ICB2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZUFWRk9iakM6OmNyZWF0ZShzYW1wbGVC
dWZmZXIuZ2V0KCkpKTsKIH0KIAorYm9vbCBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZU1hYzo6YXBw
bHlTaXplKGNvbnN0IEludFNpemUmIG5ld1NpemUpCit7CisgICAgaWYgKHNpemUoKSAhPSBuZXdT
aXplKQorICAgICAgICBtX2J1ZmZlclBvb2wgPSBudWxscHRyOworCisgICAgcmV0dXJuIE1vY2tS
ZWFsdGltZVZpZGVvU291cmNlOjphcHBseVNpemUobmV3U2l6ZSk7Cit9CisKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZVZpZGVvU291cmNlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVWaWRlb1Nv
dXJjZS5oCShyZXZpc2lvbiAyMTQxOTApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2Nr
L01vY2tSZWFsdGltZVZpZGVvU291cmNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTYwLDYgKzYwLDcg
QEAgcHJvdGVjdGVkOgogICAgIEltYWdlQnVmZmVyKiBpbWFnZUJ1ZmZlcigpIGNvbnN0OwogCiAg
ICAgZG91YmxlIGVsYXBzZWRUaW1lKCk7CisgICAgYm9vbCBhcHBseVNpemUoY29uc3QgSW50U2l6
ZSYpIG92ZXJyaWRlOwogCiBwcml2YXRlOgogICAgIHZvaWQgdXBkYXRlU2V0dGluZ3MoUmVhbHRp
bWVNZWRpYVNvdXJjZVNldHRpbmdzJikgb3ZlcnJpZGU7CkBAIC03Myw3ICs3NCw2IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBkcmF3VGV4dChHcmFwaGljc0NvbnRleHQmKTsKICAgICB2b2lkIGRyYXdC
b3hlcyhHcmFwaGljc0NvbnRleHQmKTsKIAotICAgIGJvb2wgYXBwbHlTaXplKGNvbnN0IEludFNp
emUmKSBvdmVycmlkZTsKICAgICBib29sIGFwcGx5RnJhbWVSYXRlKGRvdWJsZSkgb3ZlcnJpZGU7
CiAgICAgYm9vbCBhcHBseUZhY2luZ01vZGUoUmVhbHRpbWVNZWRpYVNvdXJjZVNldHRpbmdzOjpW
aWRlb0ZhY2luZ01vZGUpIG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KICAgICBib29sIGFwcGx5
QXNwZWN0UmF0aW8oZG91YmxlKSBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>305035</attachid>
            <date>2017-03-21 15:23:39 -0700</date>
            <delta_ts>2017-03-23 08:54:52 -0700</delta_ts>
            <desc>Patch for landing.</desc>
            <filename>ios_mock_video_patch_2.txt</filename>
            <type>text/plain</type>
            <size>15207</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNDE5MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDE3LTAzLTIxICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtNZWRpYVN0cmVhbV0g
TWFrZSBtb2NrIHZpZGVvIHNvdXJjZSB3b3JrIG9uIGlPUworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY5OTIzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
WW91ZW5uIEZhYmxldC4KKyAgICAgICAgCisgICAgICAgIEdlbmVyYXRlIElPU3VyZmFjZS1iYWNr
ZWQgQ1ZQaXhlbEJ1ZmZlcnMuIEFsbG9jYXRlIHRoZW0gZnJvbSBhIAorICAgICAgICBDVlBpeGVs
QnVmZmVyUG9vbCBmb3IgZWZmaWNpZW5jeS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGZ1
bmN0aW9uYWwgY2hhbmdlLgorCisgICAgICAgICogcGxhdGZvcm0vY29jb2EvQ29yZVZpZGVvU29m
dExpbmsuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL0NvcmVWaWRlb1NvZnRMaW5rLmg6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjp2aWRlb1RyYW5zZm9ybWF0aW9uTWF0cml4
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvTW9ja1JlYWx0aW1lVmlkZW9T
b3VyY2VNYWMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvTW9ja1JlYWx0
aW1lVmlkZW9Tb3VyY2VNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpNb2NrUmVhbHRpbWVWaWRl
b1NvdXJjZU1hYzo6cGl4ZWxCdWZmZXJGcm9tQ0dJbWFnZSk6CisgICAgICAgIChXZWJDb3JlOjpN
b2NrUmVhbHRpbWVWaWRlb1NvdXJjZU1hYzo6YXBwbHlTaXplKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9tb2NrL01vY2tSZWFsdGltZVZpZGVvU291cmNlLmg6CisKIDIwMTctMDMtMjAgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBQcmVwYXJlIFNv
Y2tldFN0cmVhbUhhbmRsZSBmb3IgYmVpbmcgY3JlYXRlZCBmcm9tIFdLMgpJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvQ29yZVZpZGVvU29mdExpbmsuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0NvcmVWaWRlb1NvZnRMaW5rLmNwcAko
cmV2aXNpb24gMjE0MTkwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvQ29yZVZp
ZGVvU29mdExpbmsuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw3ICszOSwxOCBAQCBTT0ZUX0xJ
TktfRlVOQ1RJT05fRk9SX1NPVVJDRShXZWJDb3JlLCBDCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9S
X1NPVVJDRShXZWJDb3JlLCBDb3JlVmlkZW8sIENWUGl4ZWxCdWZmZXJHZXRCYXNlQWRkcmVzc09m
UGxhbmUsIHZvaWQgKiwgKENWUGl4ZWxCdWZmZXJSZWYgcGl4ZWxCdWZmZXIsIHNpemVfdCBwbGFu
ZUluZGV4KSwgKHBpeGVsQnVmZmVyLCBwbGFuZUluZGV4KSk7CiBTT0ZUX0xJTktfRlVOQ1RJT05f
Rk9SX1NPVVJDRShXZWJDb3JlLCBDb3JlVmlkZW8sIENWUGl4ZWxCdWZmZXJMb2NrQmFzZUFkZHJl
c3MsIENWUmV0dXJuLCAoQ1ZQaXhlbEJ1ZmZlclJlZiBwaXhlbEJ1ZmZlciwgQ1ZPcHRpb25GbGFn
cyBsb2NrRmxhZ3MpLCAocGl4ZWxCdWZmZXIsIGxvY2tGbGFncykpCiBTT0ZUX0xJTktfRlVOQ1RJ
T05fRk9SX1NPVVJDRShXZWJDb3JlLCBDb3JlVmlkZW8sIENWUGl4ZWxCdWZmZXJVbmxvY2tCYXNl
QWRkcmVzcywgQ1ZSZXR1cm4sIChDVlBpeGVsQnVmZmVyUmVmIHBpeGVsQnVmZmVyLCBDVk9wdGlv
bkZsYWdzIGxvY2tGbGFncyksIChwaXhlbEJ1ZmZlciwgbG9ja0ZsYWdzKSkKK1NPRlRfTElOS19G
VU5DVElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIENvcmVWaWRlbywgQ1ZQaXhlbEJ1ZmZlclBvb2xD
cmVhdGUsIENWUmV0dXJuLChDRkFsbG9jYXRvclJlZiBhbGxvY2F0b3IsIENGRGljdGlvbmFyeVJl
ZiBwb29sQXR0cmlidXRlcywgQ0ZEaWN0aW9uYXJ5UmVmIHBpeGVsQnVmZmVyQXR0cmlidXRlcywg
Q1ZQaXhlbEJ1ZmZlclBvb2xSZWYqIHBvb2xPdXQpLCAoYWxsb2NhdG9yLCBwb29sQXR0cmlidXRl
cywgcGl4ZWxCdWZmZXJBdHRyaWJ1dGVzLCBwb29sT3V0KSkKK1NPRlRfTElOS19GVU5DVElPTl9G
T1JfU09VUkNFKFdlYkNvcmUsIENvcmVWaWRlbywgQ1ZQaXhlbEJ1ZmZlclBvb2xDcmVhdGVQaXhl
bEJ1ZmZlciwgQ1ZSZXR1cm4sIChDRkFsbG9jYXRvclJlZiBhbGxvY2F0b3IsIENWUGl4ZWxCdWZm
ZXJQb29sUmVmIHBpeGVsQnVmZmVyUG9vbCwgQ1ZQaXhlbEJ1ZmZlclJlZiogcGl4ZWxCdWZmZXJP
dXQpLCAoYWxsb2NhdG9yLCBwaXhlbEJ1ZmZlclBvb2wsIHBpeGVsQnVmZmVyT3V0KSkKIFNPRlRf
TElOS19DT05TVEFOVF9GT1JfU09VUkNFKFdlYkNvcmUsIENvcmVWaWRlbywga0NWUGl4ZWxCdWZm
ZXJQaXhlbEZvcm1hdFR5cGVLZXksIENGU3RyaW5nUmVmKQorU09GVF9MSU5LX0NPTlNUQU5UX0ZP
Ul9TT1VSQ0UoV2ViQ29yZSwgQ29yZVZpZGVvLCBrQ1ZQaXhlbEJ1ZmZlckNHQml0bWFwQ29udGV4
dENvbXBhdGliaWxpdHlLZXksIENGU3RyaW5nUmVmKQorU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9T
T1VSQ0UoV2ViQ29yZSwgQ29yZVZpZGVvLCBrQ1ZQaXhlbEJ1ZmZlckNHSW1hZ2VDb21wYXRpYmls
aXR5S2V5LCBDRlN0cmluZ1JlZikKK1NPRlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFKFdlYkNv
cmUsIENvcmVWaWRlbywga0NWUGl4ZWxCdWZmZXJJT1N1cmZhY2VPcGVuR0xFU0ZCT0NvbXBhdGli
aWxpdHlLZXksIENGU3RyaW5nUmVmKQorU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0UoV2Vi
Q29yZSwgQ29yZVZpZGVvLCBrQ1ZQaXhlbEJ1ZmZlcldpZHRoS2V5LCBDRlN0cmluZ1JlZikKK1NP
RlRfTElOS19DT05TVEFOVF9GT1JfU09VUkNFKFdlYkNvcmUsIENvcmVWaWRlbywga0NWUGl4ZWxC
dWZmZXJIZWlnaHRLZXksIENGU3RyaW5nUmVmKQorU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VS
Q0UoV2ViQ29yZSwgQ29yZVZpZGVvLCBrQ1ZQaXhlbEZvcm1hdE9wZW5HTENvbXBhdGliaWxpdHks
IENGU3RyaW5nUmVmKQorU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgQ29y
ZVZpZGVvLCBrQ1ZQaXhlbEZvcm1hdE9wZW5HTEVTQ29tcGF0aWJpbGl0eSwgQ0ZTdHJpbmdSZWYp
CitTT0ZUX0xJTktfQ09OU1RBTlRfRk9SX1NPVVJDRShXZWJDb3JlLCBDb3JlVmlkZW8sIGtDVlBp
eGVsQnVmZmVySU9TdXJmYWNlUHJvcGVydGllc0tleSwgQ0ZTdHJpbmdSZWYpCitTT0ZUX0xJTktf
Q09OU1RBTlRfRk9SX1NPVVJDRShXZWJDb3JlLCBDb3JlVmlkZW8sIGtDVlBpeGVsQnVmZmVyUG9v
bE1pbmltdW1CdWZmZXJDb3VudEtleSwgQ0ZTdHJpbmdSZWYpCiAKICNpZiBQTEFURk9STShJT1Mp
CiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShXZWJDb3JlLCBDb3JlVmlkZW8sIENWT3Bl
bkdMRVNUZXh0dXJlQ2FjaGVDcmVhdGUsIENWUmV0dXJuLCAoQ0ZBbGxvY2F0b3JSZWYgYWxsb2Nh
dG9yLCBDRkRpY3Rpb25hcnlSZWYgY2FjaGVBdHRyaWJ1dGVzLCBDVkVBR0xDb250ZXh0IGVhZ2xD
b250ZXh0LCBDRkRpY3Rpb25hcnlSZWYgdGV4dHVyZUF0dHJpYnV0ZXMsIENWT3BlbkdMRVNUZXh0
dXJlQ2FjaGVSZWYqIGNhY2hlT3V0KSwgKGFsbG9jYXRvciwgY2FjaGVBdHRyaWJ1dGVzLCBlYWds
Q29udGV4dCwgdGV4dHVyZUF0dHJpYnV0ZXMsIGNhY2hlT3V0KSkKQEAgLTQ5LDkgKzYwLDYgQEAg
U09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgQwogU09GVF9MSU5LX0ZVTkNU
SU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgQ29yZVZpZGVvLCBDVk9wZW5HTEVTVGV4dHVyZUdldE5h
bWUsIEdMdWludCwgKENWT3BlbkdMRVNUZXh0dXJlUmVmIGltYWdlKSwgKGltYWdlKSkKIFNPRlRf
TElOS19GVU5DVElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIENvcmVWaWRlbywgQ1ZQaXhlbEJ1ZmZl
ckNyZWF0ZSwgQ1ZSZXR1cm4sIChDRkFsbG9jYXRvclJlZiBhbGxvY2F0b3IsIHNpemVfdCB3aWR0
aCwgc2l6ZV90IGhlaWdodCwgT1NUeXBlIHBpeGVsRm9ybWF0VHlwZSwgQ0ZEaWN0aW9uYXJ5UmVm
IHBpeGVsQnVmZmVyQXR0cmlidXRlcywgQ1ZQaXhlbEJ1ZmZlclJlZiAqcGl4ZWxCdWZmZXJPdXQp
LCAoYWxsb2NhdG9yLCB3aWR0aCwgaGVpZ2h0LCBwaXhlbEZvcm1hdFR5cGUsIHBpeGVsQnVmZmVy
QXR0cmlidXRlcywgcGl4ZWxCdWZmZXJPdXQpKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VS
Q0UoV2ViQ29yZSwgQ29yZVZpZGVvLCBDVlBpeGVsQnVmZmVyQ3JlYXRlV2l0aEJ5dGVzLCBDVlJl
dHVybiwgKENGQWxsb2NhdG9yUmVmIGFsbG9jYXRvciwgc2l6ZV90IHdpZHRoLCBzaXplX3QgaGVp
Z2h0LCBPU1R5cGUgcGl4ZWxGb3JtYXRUeXBlLCB2b2lkKiBkYXRhLCBzaXplX3QgYnl0ZXNQZXJS
b3csIHZvaWQgKCpyZWxlYXNlQ2FsbGJhY2spKHZvaWQqLCBjb25zdCB2b2lkKiksIHZvaWQqIHJl
bGVhc2VQb2ludGVyLCBDRkRpY3Rpb25hcnlSZWYgcGl4ZWxCdWZmZXJBdHRyaWJ1dGVzLCBDVlBp
eGVsQnVmZmVyUmVmICpwaXhlbEJ1ZmZlck91dCksIChhbGxvY2F0b3IsIHdpZHRoLCBoZWlnaHQs
IHBpeGVsRm9ybWF0VHlwZSwgZGF0YSwgYnl0ZXNQZXJSb3csIHJlbGVhc2VDYWxsYmFjaywgcmVs
ZWFzZVBvaW50ZXIsIHBpeGVsQnVmZmVyQXR0cmlidXRlcywgcGl4ZWxCdWZmZXJPdXQpKQotU09G
VF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgQ29yZVZpZGVvLCBrQ1ZQaXhlbEJ1
ZmZlckNHQml0bWFwQ29udGV4dENvbXBhdGliaWxpdHlLZXksIENGU3RyaW5nUmVmKQotU09GVF9M
SU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgQ29yZVZpZGVvLCBrQ1ZQaXhlbEJ1ZmZl
ckNHSW1hZ2VDb21wYXRpYmlsaXR5S2V5LCBDRlN0cmluZ1JlZikKLVNPRlRfTElOS19DT05TVEFO
VF9GT1JfU09VUkNFKFdlYkNvcmUsIENvcmVWaWRlbywga0NWUGl4ZWxCdWZmZXJJT1N1cmZhY2VP
cGVuR0xFU0ZCT0NvbXBhdGliaWxpdHlLZXksIENGU3RyaW5nUmVmKQogI2Vsc2UKIFNPRlRfTElO
S19GVU5DVElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIENvcmVWaWRlbywgQ1ZPcGVuR0xUZXh0dXJl
Q2FjaGVDcmVhdGUsIENWUmV0dXJuLCAoQ0ZBbGxvY2F0b3JSZWYgYWxsb2NhdG9yLCBDRkRpY3Rp
b25hcnlSZWYgY2FjaGVBdHRyaWJ1dGVzLCBDR0xDb250ZXh0T2JqIGNnbENvbnRleHQsIENHTFBp
eGVsRm9ybWF0T2JqIGNnbFBpeGVsRm9ybWF0LCBDRkRpY3Rpb25hcnlSZWYgdGV4dHVyZUF0dHJp
YnV0ZXMsIENWT3BlbkdMVGV4dHVyZUNhY2hlUmVmKiBjYWNoZU91dCksIChhbGxvY2F0b3IsIGNh
Y2hlQXR0cmlidXRlcywgY2dsQ29udGV4dCwgY2dsUGl4ZWxGb3JtYXQsIHRleHR1cmVBdHRyaWJ1
dGVzLCBjYWNoZU91dCkpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShXZWJDb3JlLCBD
b3JlVmlkZW8sIENWT3BlbkdMVGV4dHVyZUNhY2hlQ3JlYXRlVGV4dHVyZUZyb21JbWFnZSwgQ1ZS
ZXR1cm4sIChDRkFsbG9jYXRvclJlZiBhbGxvY2F0b3IsIENWT3BlbkdMVGV4dHVyZUNhY2hlUmVm
IHRleHR1cmVDYWNoZSwgQ1ZJbWFnZUJ1ZmZlclJlZiBzb3VyY2VJbWFnZSwgQ0ZEaWN0aW9uYXJ5
UmVmIGF0dHJpYnV0ZXMsIENWT3BlbkdMVGV4dHVyZVJlZiogdGV4dHVyZU91dCksIChhbGxvY2F0
b3IsIHRleHR1cmVDYWNoZSwgc291cmNlSW1hZ2UsIGF0dHJpYnV0ZXMsIHRleHR1cmVPdXQpKQpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvQ29yZVZpZGVvU29mdExpbmsuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9Db3JlVmlkZW9Tb2Z0
TGluay5oCShyZXZpc2lvbiAyMTQxOTApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2Nv
YS9Db3JlVmlkZW9Tb2Z0TGluay5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSw5ICs0OSwyNSBAQCBT
T0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihXZWJDb3JlLCBDCiAjZGVmaW5lIENWUGl4ZWxC
dWZmZXJMb2NrQmFzZUFkZHJlc3Mgc29mdExpbmtfQ29yZVZpZGVvX0NWUGl4ZWxCdWZmZXJMb2Nr
QmFzZUFkZHJlc3MKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFdlYkNvcmUsIENvcmVW
aWRlbywgQ1ZQaXhlbEJ1ZmZlclVubG9ja0Jhc2VBZGRyZXNzLCBDVlJldHVybiwgKENWUGl4ZWxC
dWZmZXJSZWYgcGl4ZWxCdWZmZXIsIENWT3B0aW9uRmxhZ3MgbG9ja0ZsYWdzKSwgKHBpeGVsQnVm
ZmVyLCBsb2NrRmxhZ3MpKQogI2RlZmluZSBDVlBpeGVsQnVmZmVyVW5sb2NrQmFzZUFkZHJlc3Mg
c29mdExpbmtfQ29yZVZpZGVvX0NWUGl4ZWxCdWZmZXJVbmxvY2tCYXNlQWRkcmVzcworU09GVF9M
SU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29yZSwgQ29yZVZpZGVvLCBDVlBpeGVsQnVmZmVy
UG9vbENyZWF0ZSwgQ1ZSZXR1cm4sIChDRkFsbG9jYXRvclJlZiBhbGxvY2F0b3IsIENGRGljdGlv
bmFyeVJlZiBwb29sQXR0cmlidXRlcywgQ0ZEaWN0aW9uYXJ5UmVmIHBpeGVsQnVmZmVyQXR0cmli
dXRlcywgQ1ZQaXhlbEJ1ZmZlclBvb2xSZWYqIHBvb2xPdXQpLCAoYWxsb2NhdG9yLCBwb29sQXR0
cmlidXRlcywgcGl4ZWxCdWZmZXJBdHRyaWJ1dGVzLCBwb29sT3V0KSkKKyNkZWZpbmUgQ1ZQaXhl
bEJ1ZmZlclBvb2xDcmVhdGUgc29mdExpbmtfQ29yZVZpZGVvX0NWUGl4ZWxCdWZmZXJQb29sQ3Jl
YXRlCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihXZWJDb3JlLCBDb3JlVmlkZW8sIENW
UGl4ZWxCdWZmZXJQb29sQ3JlYXRlUGl4ZWxCdWZmZXIsIENWUmV0dXJuLCAoQ0ZBbGxvY2F0b3JS
ZWYgYWxsb2NhdG9yLCBDVlBpeGVsQnVmZmVyUG9vbFJlZiBwaXhlbEJ1ZmZlclBvb2wsIENWUGl4
ZWxCdWZmZXJSZWYqIHBpeGVsQnVmZmVyT3V0KSwgKGFsbG9jYXRvciwgcGl4ZWxCdWZmZXJQb29s
LCBwaXhlbEJ1ZmZlck91dCkpCisjZGVmaW5lIENWUGl4ZWxCdWZmZXJQb29sQ3JlYXRlUGl4ZWxC
dWZmZXIgc29mdExpbmtfQ29yZVZpZGVvX0NWUGl4ZWxCdWZmZXJQb29sQ3JlYXRlUGl4ZWxCdWZm
ZXIKIAogU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9IRUFERVIoV2ViQ29yZSwgQ29yZVZpZGVvLCBr
Q1ZQaXhlbEJ1ZmZlclBpeGVsRm9ybWF0VHlwZUtleSwgQ0ZTdHJpbmdSZWYpCiAjZGVmaW5lIGtD
VlBpeGVsQnVmZmVyUGl4ZWxGb3JtYXRUeXBlS2V5IGdldF9Db3JlVmlkZW9fa0NWUGl4ZWxCdWZm
ZXJQaXhlbEZvcm1hdFR5cGVLZXkoKQorU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9IRUFERVIoV2Vi
Q29yZSwgQ29yZVZpZGVvLCBrQ1ZQaXhlbEJ1ZmZlcldpZHRoS2V5LCBDRlN0cmluZ1JlZikKKyNk
ZWZpbmUga0NWUGl4ZWxCdWZmZXJXaWR0aEtleSBnZXRfQ29yZVZpZGVvX2tDVlBpeGVsQnVmZmVy
V2lkdGhLZXkoKQorU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9IRUFERVIoV2ViQ29yZSwgQ29yZVZp
ZGVvLCBrQ1ZQaXhlbEJ1ZmZlckhlaWdodEtleSwgQ0ZTdHJpbmdSZWYpCisjZGVmaW5lIGtDVlBp
eGVsQnVmZmVySGVpZ2h0S2V5IGdldF9Db3JlVmlkZW9fa0NWUGl4ZWxCdWZmZXJIZWlnaHRLZXko
KQorU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9IRUFERVIoV2ViQ29yZSwgQ29yZVZpZGVvLCBrQ1ZQ
aXhlbEZvcm1hdE9wZW5HTENvbXBhdGliaWxpdHksIENGU3RyaW5nUmVmKQorI2RlZmluZSBrQ1ZQ
aXhlbEZvcm1hdE9wZW5HTENvbXBhdGliaWxpdHkgZ2V0X0NvcmVWaWRlb19rQ1ZQaXhlbEZvcm1h
dE9wZW5HTENvbXBhdGliaWxpdHkoKQorU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9IRUFERVIoV2Vi
Q29yZSwgQ29yZVZpZGVvLCBrQ1ZQaXhlbEZvcm1hdE9wZW5HTEVTQ29tcGF0aWJpbGl0eSwgQ0ZT
dHJpbmdSZWYpCisjZGVmaW5lIGtDVlBpeGVsRm9ybWF0T3BlbkdMRVNDb21wYXRpYmlsaXR5IGdl
dF9Db3JlVmlkZW9fa0NWUGl4ZWxGb3JtYXRPcGVuR0xFU0NvbXBhdGliaWxpdHkoKQorU09GVF9M
SU5LX0NPTlNUQU5UX0ZPUl9IRUFERVIoV2ViQ29yZSwgQ29yZVZpZGVvLCBrQ1ZQaXhlbEJ1ZmZl
cklPU3VyZmFjZVByb3BlcnRpZXNLZXksIENGU3RyaW5nUmVmKQorI2RlZmluZSBrQ1ZQaXhlbEJ1
ZmZlcklPU3VyZmFjZVByb3BlcnRpZXNLZXkgZ2V0X0NvcmVWaWRlb19rQ1ZQaXhlbEJ1ZmZlcklP
U3VyZmFjZVByb3BlcnRpZXNLZXkoKQorU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9IRUFERVIoV2Vi
Q29yZSwgQ29yZVZpZGVvLCBrQ1ZQaXhlbEJ1ZmZlclBvb2xNaW5pbXVtQnVmZmVyQ291bnRLZXks
IENGU3RyaW5nUmVmKQorI2RlZmluZSBrQ1ZQaXhlbEJ1ZmZlclBvb2xNaW5pbXVtQnVmZmVyQ291
bnRLZXkgZ2V0X0NvcmVWaWRlb19rQ1ZQaXhlbEJ1ZmZlclBvb2xNaW5pbXVtQnVmZmVyQ291bnRL
ZXkoKQogCiAjaWYgUExBVEZPUk0oSU9TKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIo
V2ViQ29yZSwgQ29yZVZpZGVvLCBDVk9wZW5HTEVTVGV4dHVyZUNhY2hlQ3JlYXRlLCBDVlJldHVy
biwgKENGQWxsb2NhdG9yUmVmIGFsbG9jYXRvciwgQ0ZEaWN0aW9uYXJ5UmVmIGNhY2hlQXR0cmli
dXRlcywgQ1ZFQUdMQ29udGV4dCBlYWdsQ29udGV4dCwgQ0ZEaWN0aW9uYXJ5UmVmIHRleHR1cmVB
dHRyaWJ1dGVzLCBDVk9wZW5HTEVTVGV4dHVyZUNhY2hlUmVmKiBjYWNoZU91dCksIChhbGxvY2F0
b3IsIGNhY2hlQXR0cmlidXRlcywgZWFnbENvbnRleHQsIHRleHR1cmVBdHRyaWJ1dGVzLCBjYWNo
ZU91dCkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tCShyZXZpc2lvbiAyMTQxOTAp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9N
ZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0JKHdvcmtpbmcgY29weSkKQEAg
LTMyMSw3ICszMjEsNyBAQCBDR0FmZmluZVRyYW5zZm9ybSBNZWRpYVBsYXllclByaXZhdGVNZWRp
CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHN0YXRpYyBmbG9hdCBzZW5zb3JBbmdsZVtdID0geyAw
LCAwLCAxODAsIDkwLCAyNzAgfTsKICNlbHNlCi0gICAgc3RhdGljIGZsb2F0IHNlbnNvckFuZ2xl
W10gPSB7IDE4MCwgMTgwLCAwLCA5MCwgMjcwIH07CisgICAgc3RhdGljIGZsb2F0IHNlbnNvckFu
Z2xlW10gPSB7IDAsIDE4MCwgMCwgOTAsIDI3MCB9OwogI2VuZGlmCiAgICAgZmxvYXQgcm90YXRp
b24gPSBzZW5zb3JBbmdsZVtzdGF0aWNfY2FzdDxpbnQ+KG1fdmlkZW9PcmllbnRhdGlvbildOwog
ICAgIG1fdmlkZW9UcmFuc2Zvcm0gPSBDR0FmZmluZVRyYW5zZm9ybU1ha2VSb3RhdGlvbihyb3Rh
dGlvbiAqIE1fUEkgLyAxODApOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vbWFjL01vY2tSZWFsdGltZVZpZGVvU291cmNlTWFjLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL01vY2tSZWFsdGltZVZpZGVvU291
cmNlTWFjLmgJKHJldmlzaW9uIDIxNDE5MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL21hYy9Nb2NrUmVhbHRpbWVWaWRlb1NvdXJjZU1hYy5oCSh3b3JraW5nIGNvcHkp
CkBAIC0zOSw2ICszOSw3IEBACiB0eXBlZGVmIHN0cnVjdCBfX0NWQnVmZmVyICpDVkJ1ZmZlclJl
ZjsKIHR5cGVkZWYgQ1ZCdWZmZXJSZWYgQ1ZJbWFnZUJ1ZmZlclJlZjsKIHR5cGVkZWYgQ1ZJbWFn
ZUJ1ZmZlclJlZiBDVlBpeGVsQnVmZmVyUmVmOwordHlwZWRlZiBzdHJ1Y3QgX19DVlBpeGVsQnVm
ZmVyUG9vbCAqQ1ZQaXhlbEJ1ZmZlclBvb2xSZWY7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApA
QCAtNTUsMTAgKzU2LDEyIEBAIHByaXZhdGU6CiAgICAgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJS
ZWY+IHBpeGVsQnVmZmVyRnJvbUNHSW1hZ2UoQ0dJbWFnZVJlZikgY29uc3Q7CiAKICAgICBQbGF0
Zm9ybUxheWVyKiBwbGF0Zm9ybUxheWVyKCkgY29uc3Q7Ci0gICAgdm9pZCB1cGRhdGVTYW1wbGVC
dWZmZXIoKSBvdmVycmlkZTsKKyAgICB2b2lkIHVwZGF0ZVNhbXBsZUJ1ZmZlcigpIGZpbmFsOwor
ICAgIGJvb2wgYXBwbHlTaXplKGNvbnN0IEludFNpemUmKSBmaW5hbDsKIAogICAgIG11dGFibGUg
UmV0YWluUHRyPENHSW1hZ2VSZWY+IG1fcHJldmlld0ltYWdlOwogICAgIG11dGFibGUgUmV0YWlu
UHRyPFBsYXRmb3JtTGF5ZXI+IG1fcHJldmlld0xheWVyOworICAgIG11dGFibGUgUmV0YWluUHRy
PENWUGl4ZWxCdWZmZXJQb29sUmVmPiBtX2J1ZmZlclBvb2w7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMv
TW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2VNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL01vY2tSZWFsdGltZVZpZGVvU291cmNlTWFjLm1t
CShyZXZpc2lvbiAyMTQxOTApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2VNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTEw
MSwxOSArMTAxLDQwIEBAIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiBNb2NrUmVhbHRpbWUK
IHsKICAgICBzdGF0aWMgQ0dDb2xvclNwYWNlUmVmIGRldmljZVJHQkNvbG9yU3BhY2UgPSBDR0Nv
bG9yU3BhY2VDcmVhdGVEZXZpY2VSR0IoKTsKIAotICAgIENHU2l6ZSBmcmFtZVNpemUgPSBDR1Np
emVNYWtlKENHSW1hZ2VHZXRXaWR0aChpbWFnZSksIENHSW1hZ2VHZXRIZWlnaHQoaW1hZ2UpKTsK
LSAgICBDRkRpY3Rpb25hcnlSZWYgb3B0aW9ucyA9IChfX2JyaWRnZSBDRkRpY3Rpb25hcnlSZWYp
IEB7Ci0gICAgICAgIChfX2JyaWRnZSBOU1N0cmluZyAqKWtDVlBpeGVsQnVmZmVyQ0dJbWFnZUNv
bXBhdGliaWxpdHlLZXk6IEAoTk8pLAotICAgICAgICAoX19icmlkZ2UgTlNTdHJpbmcgKilrQ1ZQ
aXhlbEJ1ZmZlckNHQml0bWFwQ29udGV4dENvbXBhdGliaWxpdHlLZXk6IEAoTk8pCi0gICAgfTsK
KyAgICBDR1NpemUgaW1hZ2VTaXplID0gQ0dTaXplTWFrZShDR0ltYWdlR2V0V2lkdGgoaW1hZ2Up
LCBDR0ltYWdlR2V0SGVpZ2h0KGltYWdlKSk7CisgICAgaWYgKCFtX2J1ZmZlclBvb2wpIHsKKyAg
ICAgICAgQ1ZQaXhlbEJ1ZmZlclBvb2xSZWYgYnVmZmVyUG9vbDsKKyAgICAgICAgQ0ZEaWN0aW9u
YXJ5UmVmIHNvdXJjZVBpeGVsQnVmZmVyT3B0aW9ucyA9IChfX2JyaWRnZSBDRkRpY3Rpb25hcnlS
ZWYpIEB7CisgICAgICAgICAgICAoX19icmlkZ2UgTlNTdHJpbmcgKilrQ1ZQaXhlbEJ1ZmZlclBp
eGVsRm9ybWF0VHlwZUtleSA6IEAoa0NWUGl4ZWxGb3JtYXRUeXBlXzMyQVJHQiksCisgICAgICAg
ICAgICAoX19icmlkZ2UgTlNTdHJpbmcgKilrQ1ZQaXhlbEJ1ZmZlcldpZHRoS2V5IDogQChpbWFn
ZVNpemUud2lkdGgpLAorICAgICAgICAgICAgKF9fYnJpZGdlIE5TU3RyaW5nICopa0NWUGl4ZWxC
dWZmZXJIZWlnaHRLZXkgOiBAKGltYWdlU2l6ZS5oZWlnaHQpLAorI2lmIFBMQVRGT1JNKElPUykK
KyAgICAgICAgICAgIChfX2JyaWRnZSBOU1N0cmluZyAqKWtDVlBpeGVsRm9ybWF0T3BlbkdMRVND
b21wYXRpYmlsaXR5IDogQChZRVMpLAorI2Vsc2UKKyAgICAgICAgICAgIChfX2JyaWRnZSBOU1N0
cmluZyAqKWtDVlBpeGVsQnVmZmVyT3BlbkdMQ29tcGF0aWJpbGl0eUtleSA6IEAoWUVTKSwKKyNl
bmRpZgorICAgICAgICAgICAgKF9fYnJpZGdlIE5TU3RyaW5nICopa0NWUGl4ZWxCdWZmZXJJT1N1
cmZhY2VQcm9wZXJ0aWVzS2V5IDogQHsvKmVtcHR5IGRpY3Rpb25hcnkqL30KKyAgICAgICAgfTsK
KworICAgICAgICBDRkRpY3Rpb25hcnlSZWYgcGl4ZWxCdWZmZXJQb29sT3B0aW9ucyA9IChfX2Jy
aWRnZSBDRkRpY3Rpb25hcnlSZWYpIEB7CisgICAgICAgICAgIChfX2JyaWRnZSBOU1N0cmluZyAq
KWtDVlBpeGVsQnVmZmVyUG9vbE1pbmltdW1CdWZmZXJDb3VudEtleSA6IEAoNCkKKyAgICAgICAg
fTsKKworICAgICAgICBDVlJldHVybiBzdGF0dXMgPSBDVlBpeGVsQnVmZmVyUG9vbENyZWF0ZShr
Q0ZBbGxvY2F0b3JEZWZhdWx0LCBwaXhlbEJ1ZmZlclBvb2xPcHRpb25zLCBzb3VyY2VQaXhlbEJ1
ZmZlck9wdGlvbnMsICZidWZmZXJQb29sKTsKKyAgICAgICAgaWYgKHN0YXR1cyAhPSBrQ1ZSZXR1
cm5TdWNjZXNzKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgbV9idWZm
ZXJQb29sID0gYWRvcHRDRihidWZmZXJQb29sKTsKKyAgICB9CisKICAgICBDVlBpeGVsQnVmZmVy
UmVmIHBpeGVsQnVmZmVyOwotICAgIENWUmV0dXJuIHN0YXR1cyA9IENWUGl4ZWxCdWZmZXJDcmVh
dGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgZnJhbWVTaXplLndpZHRoLCBmcmFtZVNpemUuaGVpZ2h0
LCBrQ1ZQaXhlbEZvcm1hdFR5cGVfMzJBUkdCLCBvcHRpb25zLCAmcGl4ZWxCdWZmZXIpOworICAg
IENWUmV0dXJuIHN0YXR1cyA9IENWUGl4ZWxCdWZmZXJQb29sQ3JlYXRlUGl4ZWxCdWZmZXIobnVs
bHB0ciwgbV9idWZmZXJQb29sLmdldCgpLCAmcGl4ZWxCdWZmZXIpOwogICAgIGlmIChzdGF0dXMg
IT0ga0NWUmV0dXJuU3VjY2VzcykKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBDVlBp
eGVsQnVmZmVyTG9ja0Jhc2VBZGRyZXNzKHBpeGVsQnVmZmVyLCAwKTsKICAgICB2b2lkKiBkYXRh
ID0gQ1ZQaXhlbEJ1ZmZlckdldEJhc2VBZGRyZXNzKHBpeGVsQnVmZmVyKTsKLSAgICBhdXRvIGNv
bnRleHQgPSBhZG9wdENGKENHQml0bWFwQ29udGV4dENyZWF0ZShkYXRhLCBmcmFtZVNpemUud2lk
dGgsIGZyYW1lU2l6ZS5oZWlnaHQsIDgsIENWUGl4ZWxCdWZmZXJHZXRCeXRlc1BlclJvdyhwaXhl
bEJ1ZmZlciksIGRldmljZVJHQkNvbG9yU3BhY2UsIChDR0JpdG1hcEluZm8pIGtDR0ltYWdlQWxw
aGFOb25lU2tpcEZpcnN0KSk7CisgICAgYXV0byBjb250ZXh0ID0gYWRvcHRDRihDR0JpdG1hcENv
bnRleHRDcmVhdGUoZGF0YSwgaW1hZ2VTaXplLndpZHRoLCBpbWFnZVNpemUuaGVpZ2h0LCA4LCBD
VlBpeGVsQnVmZmVyR2V0Qnl0ZXNQZXJSb3cocGl4ZWxCdWZmZXIpLCBkZXZpY2VSR0JDb2xvclNw
YWNlLCAoQ0dCaXRtYXBJbmZvKSBrQ0dJbWFnZUFscGhhTm9uZVNraXBGaXJzdCkpOwogICAgIENH
Q29udGV4dERyYXdJbWFnZShjb250ZXh0LmdldCgpLCBDR1JlY3RNYWtlKDAsIDAsIENHSW1hZ2VH
ZXRXaWR0aChpbWFnZSksIENHSW1hZ2VHZXRIZWlnaHQoaW1hZ2UpKSwgaW1hZ2UpOwogICAgIENW
UGl4ZWxCdWZmZXJVbmxvY2tCYXNlQWRkcmVzcyhwaXhlbEJ1ZmZlciwgMCk7CiAKQEAgLTEyOCw2
ICsxNDksMTQgQEAgdm9pZCBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZU1hYzo6dXBkYXRlUwogICAg
IHZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlQVZGT2JqQzo6Y3JlYXRlKHNhbXBsZUJ1
ZmZlci5nZXQoKSkpOwogfQogCitib29sIE1vY2tSZWFsdGltZVZpZGVvU291cmNlTWFjOjphcHBs
eVNpemUoY29uc3QgSW50U2l6ZSYgbmV3U2l6ZSkKK3sKKyAgICBpZiAoc2l6ZSgpICE9IG5ld1Np
emUpCisgICAgICAgIG1fYnVmZmVyUG9vbCA9IG51bGxwdHI7CisKKyAgICByZXR1cm4gTW9ja1Jl
YWx0aW1lVmlkZW9Tb3VyY2U6OmFwcGx5U2l6ZShuZXdTaXplKTsKK30KKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZVZpZGVvU291
cmNlLmgJKHJldmlzaW9uIDIxNDE5MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
TW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuaAkod29ya2luZyBjb3B5KQpAQCAtNjAsNiArNjAsNyBA
QCBwcm90ZWN0ZWQ6CiAgICAgSW1hZ2VCdWZmZXIqIGltYWdlQnVmZmVyKCkgY29uc3Q7CiAKICAg
ICBkb3VibGUgZWxhcHNlZFRpbWUoKTsKKyAgICBib29sIGFwcGx5U2l6ZShjb25zdCBJbnRTaXpl
Jikgb3ZlcnJpZGU7CiAKIHByaXZhdGU6CiAgICAgdm9pZCB1cGRhdGVTZXR0aW5ncyhSZWFsdGlt
ZU1lZGlhU291cmNlU2V0dGluZ3MmKSBvdmVycmlkZTsKQEAgLTczLDcgKzc0LDYgQEAgcHJpdmF0
ZToKICAgICB2b2lkIGRyYXdUZXh0KEdyYXBoaWNzQ29udGV4dCYpOwogICAgIHZvaWQgZHJhd0Jv
eGVzKEdyYXBoaWNzQ29udGV4dCYpOwogCi0gICAgYm9vbCBhcHBseVNpemUoY29uc3QgSW50U2l6
ZSYpIG92ZXJyaWRlOwogICAgIGJvb2wgYXBwbHlGcmFtZVJhdGUoZG91YmxlKSBvdmVycmlkZTsK
ICAgICBib29sIGFwcGx5RmFjaW5nTW9kZShSZWFsdGltZU1lZGlhU291cmNlU2V0dGluZ3M6OlZp
ZGVvRmFjaW5nTW9kZSkgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIGJvb2wgYXBwbHlB
c3BlY3RSYXRpbyhkb3VibGUpIG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>