<?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>189427</bug_id>
          
          <creation_ts>2018-09-07 12:17:27 -0700</creation_ts>
          <short_desc>RealtimeOutgoingVideoSourceCocoa should use VTImageRotationSession to rotate CVPixelBuffers</short_desc>
          <delta_ts>2018-09-07 15:29:25 -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>WebRTC</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>jer.noble</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1457615</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-09-07 12:17:27 -0700</bug_when>
    <thetext>RealtimeOutgoingVideoSourceCocoa should use VTImageRotationSession to rotate CVPixelBuffers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457622</commentid>
    <comment_count>1</comment_count>
      <attachid>349177</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-09-07 12:27:25 -0700</bug_when>
    <thetext>Created attachment 349177
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457653</commentid>
    <comment_count>2</comment_count>
      <attachid>349177</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-09-07 13:39:00 -0700</bug_when>
    <thetext>Comment on attachment 349177
Patch

Code following more or less ImageDecoderAVFObjC::storeSampleBuffer.
Maybe I should check return error for VTImageRotationSessionCreate, VTImageRotationSessionSetProperty, CVPixelBufferPoolCreate and CVPixelBufferPoolCreatePixelBuffer?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457657</commentid>
    <comment_count>3</comment_count>
      <attachid>349177</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-09-07 13:51:31 -0700</bug_when>
    <thetext>Comment on attachment 349177
Patch

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

&gt; Source/WebCore/platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.mm:76
&gt; +        VTImageRotationSessionCreate(kCFAllocatorDefault, rotation, &amp;rawRotationSession);
&gt; +        VTImageRotationSessionSetProperty(rawRotationSession, kVTImageRotationPropertyKey_EnableHighSpeedTransfer, kCFBooleanTrue);

Nit: these can both fail, you should check the return code and bail on failure so we don&apos;t crash later.

&gt; Source/WebCore/platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.mm:93
&gt; +        CVPixelBufferPoolCreate(kCFAllocatorDefault, nullptr, (__bridge CFDictionaryRef)pixelAttributes, &amp;pool);

Ditto.

&gt; Source/WebCore/platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.mm:102
&gt; +    CVPixelBufferPoolCreatePixelBuffer(kCFAllocatorDefault, m_rotationPool.get(), &amp;rawRotatedBuffer);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457702</commentid>
    <comment_count>4</comment_count>
      <attachid>349197</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-09-07 14:48:23 -0700</bug_when>
    <thetext>Created attachment 349197
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457728</commentid>
    <comment_count>5</comment_count>
      <attachid>349197</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-07 15:28:27 -0700</bug_when>
    <thetext>Comment on attachment 349197
Patch for landing

Clearing flags on attachment: 349197

Committed r235810: &lt;https://trac.webkit.org/changeset/235810&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457729</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-07 15:28:28 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457731</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-09-07 15:29:25 -0700</bug_when>
    <thetext>&lt;rdar://problem/44241898&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349177</attachid>
            <date>2018-09-07 12:27:25 -0700</date>
            <delta_ts>2018-09-07 14:48:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189427-20180907122724.patch</filename>
            <type>text/plain</type>
            <size>8764</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1Nzg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWQ5MjA0YTIxMDc5MjFh
YWNkNTdkNzdhZmMwZGFlMjM5MjBlYTk5Ny4uNTljOTI0M2U2ODNhOTEzODNkYTNkODViNjdkNzBl
ZDY1OGRiODEyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE4LTA5LTA3ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZWFsdGltZU91dGdvaW5n
VmlkZW9Tb3VyY2VDb2NvYSBzaG91bGQgdXNlIFZUSW1hZ2VSb3RhdGlvblNlc3Npb24gdG8gcm90
YXRlIENWUGl4ZWxCdWZmZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xODk0MjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBQcmV2aW91c2x5LCB3ZSB3ZXJlIHJlbHlpbmcgb24gbGlid2VicnRjIHV0aWxz
IHRvIGRvIHRoZSByb3RhdGlvbi4KKyAgICAgICAgVGhpcyBpcyBpbmVmZmljaWVudCBjb21wYXJl
ZCB0byBWVEltYWdlUm90YXRlU2Vzc2lvbiBhbmQgYWxzbyBpbmR1Y2VzIGFkZGl0aW9uYWwgbWVt
b3J5IGNvc3QKKyAgICAgICAgc2luY2UgbGlid2VicnRjIGlzIHJvdGF0aW5nIHVzaW5nIGl0cyBv
d24gYnVmZmVycyBhbmQgdGhlIGVuY29kZXIgd2lsbCBjb252ZXJ0IHRoaXMgYnVmZmVyIGJhY2sg
dG8gYSBDVlBpeGVsQnVmZmVyLgorCisgICAgICAgIEluc3RlYWQgdXNlIFZUSW1hZ2VSb3RhdGlv
blNlc3Npb24gd2hlbiByb3RhdGlvbiBtdXN0IGJlIGRvbmUgYXQgc2VuZGluZyBzaWRlLgorICAg
ICAgICBDb3ZlcmVkIGJ5IHdlYnJ0Yy92aWRlby1yb3RhdGlvbi5odG1sLgorCisgICAgICAgICog
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29h
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29h
OjpzYW1wbGVCdWZmZXJVcGRhdGVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9t
YWMvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2EuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2EubW06Cisg
ICAgICAgIChXZWJDb3JlOjpjb21wdXRlUm90YXRlZFdpZHRoQW5kSGVpZ2h0KToKKyAgICAgICAg
KFdlYkNvcmU6OlJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hOjpyb3RhdGVQaXhlbEJ1
ZmZlcik6CisKIDIwMTgtMDktMDcgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgog
CiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciB1bmlmaWVkIHBsYW4gdHJhbnNjZWl2ZXJzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVP
dXRnb2luZ1ZpZGVvU291cmNlQ29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLmNwcAppbmRleCBl
ZDE0YzM0YzMxZDY2YzA1Y2VkNTk1YzY1NjAzMGU3MTNmNjU1Nzg3Li5iYzhhZjM5ZWM4OGJmMWJh
MzIwYTNiZmIxMDYyNzEzMWZkYjQxMDY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2EuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91
dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5jcHAKQEAgLTE1MiwyMyArMTUyLDE0IEBAIHZvaWQgUmVh
bHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2E6OnNhbXBsZUJ1ZmZlclVwZGF0ZWQoTWVkaWFT
dHJlYW1UcmFja1ByaXZhCiAgICAgYXV0byBwaXhlbEJ1ZmZlciA9IHN0YXRpY19jYXN0PENWUGl4
ZWxCdWZmZXJSZWY+KENNU2FtcGxlQnVmZmVyR2V0SW1hZ2VCdWZmZXIoc2FtcGxlLnBsYXRmb3Jt
U2FtcGxlKCkuc2FtcGxlLmNtU2FtcGxlQnVmZmVyKSk7CiAgICAgYXV0byBwaXhlbEZvcm1hdFR5
cGUgPSBDVlBpeGVsQnVmZmVyR2V0UGl4ZWxGb3JtYXRUeXBlKHBpeGVsQnVmZmVyKTsKIAotICAg
IHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlZpZGVvRnJhbWVCdWZmZXI+IGJ1ZmZlcjsKLSAg
ICBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gY29udmVydGVkQnVmZmVyOwotICAgIGlmIChw
aXhlbEZvcm1hdFR5cGUgPT0ga0NWUGl4ZWxGb3JtYXRUeXBlXzQyMFlwQ2JDcjhQbGFuYXIgfHwg
cGl4ZWxGb3JtYXRUeXBlID09IGtDVlBpeGVsRm9ybWF0VHlwZV80MjBZcENiQ3I4QmlQbGFuYXJG
dWxsUmFuZ2UpCi0gICAgICAgIGJ1ZmZlciA9IHdlYnJ0Yzo6cGl4ZWxCdWZmZXJUb0ZyYW1lKHBp
eGVsQnVmZmVyKTsKLSAgICBlbHNlIHsKKyAgICBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4g
Y29udmVydGVkQnVmZmVyID0gcGl4ZWxCdWZmZXI7CisgICAgaWYgKHBpeGVsRm9ybWF0VHlwZSAh
PSBrQ1ZQaXhlbEZvcm1hdFR5cGVfNDIwWXBDYkNyOFBsYW5hciAmJiBwaXhlbEZvcm1hdFR5cGUg
IT0ga0NWUGl4ZWxGb3JtYXRUeXBlXzQyMFlwQ2JDcjhCaVBsYW5hckZ1bGxSYW5nZSkKICAgICAg
ICAgY29udmVydGVkQnVmZmVyID0gY29udmVydFRvWVVWKHBpeGVsQnVmZmVyKTsKLSAgICAgICAg
YnVmZmVyID0gd2VicnRjOjpwaXhlbEJ1ZmZlclRvRnJhbWUoY29udmVydGVkQnVmZmVyLmdldCgp
KTsKLSAgICB9CiAKLSAgICBpZiAobV9zaG91bGRBcHBseVJvdGF0aW9uICYmIG1fY3VycmVudFJv
dGF0aW9uICE9IHdlYnJ0Yzo6a1ZpZGVvUm90YXRpb25fMCkgewotICAgICAgICAvLyBGSVhNRTog
V2Ugc2hvdWxkIG1ha2UgQVZWaWRlb0NhcHR1cmVTb3VyY2UgaGFuZGxlIHRoZSByb3RhdGlvbiB3
aGVuZXZlciBwb3NzaWJsZS4KLSAgICAgICAgLy8gVGhpcyBpbXBsZW1lbnRhdGlvbiBpcyBpbmVm
ZmljaWVudCwgd2Ugc2hvdWxkIHJvdGF0ZSBvbiB0aGUgQ01TYW1wbGVCdWZmZXIgZGlyZWN0bHkg
aW5zdGVhZCBvZiBkb2luZyB0aGlzIGRvdWJsZSBhbGxvY2F0aW9uLgotICAgICAgICBhdXRvIHJv
dGF0ZWRCdWZmZXIgPSBidWZmZXItPlRvSTQyMCgpOwotICAgICAgICBBU1NFUlQocm90YXRlZEJ1
ZmZlcik7Ci0gICAgICAgIGJ1ZmZlciA9IHdlYnJ0Yzo6STQyMEJ1ZmZlcjo6Um90YXRlKCpyb3Rh
dGVkQnVmZmVyLCBtX2N1cnJlbnRSb3RhdGlvbik7Ci0gICAgfQotICAgIHNlbmRGcmFtZShXVEZN
b3ZlKGJ1ZmZlcikpOworICAgIGlmIChtX3Nob3VsZEFwcGx5Um90YXRpb24gJiYgbV9jdXJyZW50
Um90YXRpb24gIT0gd2VicnRjOjprVmlkZW9Sb3RhdGlvbl8wKQorICAgICAgICBjb252ZXJ0ZWRC
dWZmZXIgPSByb3RhdGVQaXhlbEJ1ZmZlcihjb252ZXJ0ZWRCdWZmZXIuZ2V0KCksIG1fY3VycmVu
dFJvdGF0aW9uKTsKKworICAgIHNlbmRGcmFtZSh3ZWJydGM6OnBpeGVsQnVmZmVyVG9GcmFtZShj
b252ZXJ0ZWRCdWZmZXIuZ2V0KCkpKTsKIH0KIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29j
b2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91
dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5oCmluZGV4IDk2MWQ1MTJkN2I0MmE5ZGRhMTNlZThkZTNi
MTAyNDZkMmY0MzUzZmMuLmZjM2FhY2Q0YTY1MzEwM2Q1NmVlZWNjODcwNTIzZjE1ZjgzMDRmYzYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFs
dGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5oCkBA
IC0yOSw2ICsyOSwxMCBAQAogCiAjaW5jbHVkZSAiUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNl
LmgiCiAjaW5jbHVkZSAiUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oIgorI2luY2x1ZGUgPHdlYnJ0
Yy9hcGkvdmlkZW8vdmlkZW9fcm90YXRpb24uaD4KKwordHlwZWRlZiBzdHJ1Y3QgT3BhcXVlVlRJ
bWFnZVJvdGF0aW9uU2Vzc2lvbiogVlRJbWFnZVJvdGF0aW9uU2Vzc2lvblJlZjsKK3R5cGVkZWYg
c3RydWN0IF9fQ1ZQaXhlbEJ1ZmZlclBvb2wqIENWUGl4ZWxCdWZmZXJQb29sUmVmOwogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQzLDggKzQ3LDE1IEBAIHByaXZhdGU6CiAgICAgdm9pZCBz
YW1wbGVCdWZmZXJVcGRhdGVkKE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJiwgTWVkaWFTYW1wbGUm
KSBmaW5hbDsKIAogICAgIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiBjb252ZXJ0VG9ZVVYo
Q1ZQaXhlbEJ1ZmZlclJlZik7CisgICAgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IHJvdGF0
ZVBpeGVsQnVmZmVyKENWUGl4ZWxCdWZmZXJSZWYsIHdlYnJ0Yzo6VmlkZW9Sb3RhdGlvbik7CiAK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8UGl4ZWxCdWZmZXJDb25mb3JtZXJDVj4gbV9waXhlbEJ1ZmZl
ckNvbmZvcm1lcjsKKyAgICBSZXRhaW5QdHI8VlRJbWFnZVJvdGF0aW9uU2Vzc2lvblJlZj4gbV9y
b3RhdGlvblNlc3Npb247CisgICAgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJQb29sUmVmPiBtX3Jv
dGF0aW9uUG9vbDsKKyAgICB3ZWJydGM6OlZpZGVvUm90YXRpb24gbV9jdXJyZW50Um90YXRpb25B
bmdsZSB7IHdlYnJ0Yzo6a1ZpZGVvUm90YXRpb25fMCB9OworICAgIHNpemVfdCBtX3JvdGF0ZWRX
aWR0aCB7IDAgfTsKKyAgICBzaXplX3QgbV9yb3RhdGVkSGVpZ2h0IHsgMCB9OworICAgIE9TVHlw
ZSBtX3JvdGF0ZWRGb3JtYXQ7CiAKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICBzaXpl
X3QgbV9udW1iZXJPZkZyYW1lcyB7IDAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdv
aW5nVmlkZW9Tb3VyY2VDb2NvYS5tbQppbmRleCA4ODFmNTcxMWZhMDFmZjRkYjM5NjE2MmE3Njg3
MGQyZTI2YmY0NzZiLi42MTFjZjJjNTlmNTdiYWIwMTM5ZjhhNTk4YzRkYjMzZTVmMTYwMTE0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRp
bWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tCkBA
IC0yOCw5ICsyOCwxMiBAQAogCiAjaWYgVVNFKExJQldFQlJUQykKIAorI2ltcG9ydCAiTG9nZ2lu
Zy5oIgorI2ltcG9ydCAiTWVkaWFTYW1wbGUuaCIKICNpbXBvcnQgIlBpeGVsQnVmZmVyQ29uZm9y
bWVyQ1YuaCIKICNpbXBvcnQgPHBhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oPgogI2ltcG9ydCAi
Q29yZVZpZGVvU29mdExpbmsuaCIKKyNpbXBvcnQgIlZpZGVvVG9vbGJveFNvZnRMaW5rLmgiCiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDUsNiArNDgsNjkgQEAgUmV0YWluUHRyPENWUGl4
ZWxCdWZmZXJSZWY+IFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hOjpjb252ZXJ0VG9Z
VVYoQ1ZQaXgKICAgICByZXR1cm4gbV9waXhlbEJ1ZmZlckNvbmZvcm1lci0+Y29udmVydChwaXhl
bEJ1ZmZlcik7CiB9CiAKK3N0YXRpYyBpbmxpbmUgdm9pZCBjb21wdXRlUm90YXRlZFdpZHRoQW5k
SGVpZ2h0KENWUGl4ZWxCdWZmZXJSZWYgcGl4ZWxCdWZmZXIsIHdlYnJ0Yzo6VmlkZW9Sb3RhdGlv
biByb3RhdGlvbiwgc2l6ZV90JiB3aWR0aCwgc2l6ZV90JiBoZWlnaHQpCit7CisgICAgc3dpdGNo
IChyb3RhdGlvbikgeworICAgIGNhc2Ugd2VicnRjOjprVmlkZW9Sb3RhdGlvbl8wOgorICAgIGNh
c2Ugd2VicnRjOjprVmlkZW9Sb3RhdGlvbl8xODA6CisgICAgICAgIHdpZHRoID0gQ1ZQaXhlbEJ1
ZmZlckdldFdpZHRoKHBpeGVsQnVmZmVyKTsKKyAgICAgICAgaGVpZ2h0ID0gQ1ZQaXhlbEJ1ZmZl
ckdldEhlaWdodChwaXhlbEJ1ZmZlcik7CisgICAgICAgIHJldHVybjsKKyAgICBjYXNlIHdlYnJ0
Yzo6a1ZpZGVvUm90YXRpb25fOTA6CisgICAgY2FzZSB3ZWJydGM6OmtWaWRlb1JvdGF0aW9uXzI3
MDoKKyAgICAgICAgd2lkdGggPSBDVlBpeGVsQnVmZmVyR2V0SGVpZ2h0KHBpeGVsQnVmZmVyKTsK
KyAgICAgICAgaGVpZ2h0ID0gQ1ZQaXhlbEJ1ZmZlckdldFdpZHRoKHBpeGVsQnVmZmVyKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KK30KKworUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IFJl
YWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hOjpyb3RhdGVQaXhlbEJ1ZmZlcihDVlBpeGVs
QnVmZmVyUmVmIHBpeGVsQnVmZmVyLCB3ZWJydGM6OlZpZGVvUm90YXRpb24gcm90YXRpb24pCit7
CisgICAgQVNTRVJUKHJvdGF0aW9uKTsKKyAgICBpZiAoIXJvdGF0aW9uKQorICAgICAgICByZXR1
cm4gcGl4ZWxCdWZmZXI7CisKKyAgICBpZiAoIW1fcm90YXRpb25TZXNzaW9uIHx8IHJvdGF0aW9u
ICE9IG1fY3VycmVudFJvdGF0aW9uKSB7CisgICAgICAgIFZUSW1hZ2VSb3RhdGlvblNlc3Npb25S
ZWYgcmF3Um90YXRpb25TZXNzaW9uID0gbnVsbHB0cjsKKyAgICAgICAgVlRJbWFnZVJvdGF0aW9u
U2Vzc2lvbkNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCByb3RhdGlvbiwgJnJhd1JvdGF0aW9u
U2Vzc2lvbik7CisgICAgICAgIFZUSW1hZ2VSb3RhdGlvblNlc3Npb25TZXRQcm9wZXJ0eShyYXdS
b3RhdGlvblNlc3Npb24sIGtWVEltYWdlUm90YXRpb25Qcm9wZXJ0eUtleV9FbmFibGVIaWdoU3Bl
ZWRUcmFuc2Zlciwga0NGQm9vbGVhblRydWUpOworCisgICAgICAgIG1fcm90YXRpb25TZXNzaW9u
ID0gYWRvcHRDRihyYXdSb3RhdGlvblNlc3Npb24pOworICAgICAgICBtX2N1cnJlbnRSb3RhdGlv
biA9IHJvdGF0aW9uOworICAgIH0KKworICAgIHNpemVfdCByb3RhdGVkV2lkdGgsIHJvdGF0ZWRI
ZWlnaHQ7CisgICAgY29tcHV0ZVJvdGF0ZWRXaWR0aEFuZEhlaWdodChwaXhlbEJ1ZmZlciwgcm90
YXRpb24sIHJvdGF0ZWRXaWR0aCwgcm90YXRlZEhlaWdodCk7CisgICAgYXV0byBmb3JtYXQgPSBD
VlBpeGVsQnVmZmVyR2V0UGl4ZWxGb3JtYXRUeXBlKHBpeGVsQnVmZmVyKTsKKyAgICBpZiAoIW1f
cm90YXRpb25Qb29sIHx8IHJvdGF0ZWRXaWR0aCAhPSBtX3JvdGF0ZWRXaWR0aCB8fCByb3RhdGVk
SGVpZ2h0ICE9IG1fcm90YXRlZEhlaWdodCB8fCBmb3JtYXQgIT0gbV9yb3RhdGVkRm9ybWF0KSB7
CisgICAgICAgIGF1dG8gcGl4ZWxBdHRyaWJ1dGVzID0gQHsKKyAgICAgICAgICAgIChfX2JyaWRn
ZSBOU1N0cmluZyAqKWtDVlBpeGVsQnVmZmVyV2lkdGhLZXk6IEAocm90YXRlZFdpZHRoKSwKKyAg
ICAgICAgICAgIChfX2JyaWRnZSBOU1N0cmluZyAqKWtDVlBpeGVsQnVmZmVySGVpZ2h0S2V5OiBA
KHJvdGF0ZWRIZWlnaHQpLAorICAgICAgICAgICAgKF9fYnJpZGdlIE5TU3RyaW5nICopa0NWUGl4
ZWxCdWZmZXJQaXhlbEZvcm1hdFR5cGVLZXk6IEAoZm9ybWF0KSwKKyAgICAgICAgICAgIChfX2Jy
aWRnZSBOU1N0cmluZyAqKWtDVlBpeGVsQnVmZmVyQ0dJbWFnZUNvbXBhdGliaWxpdHlLZXk6IEBO
TywKKyAgICAgICAgfTsKKyAgICAgICAgQ1ZQaXhlbEJ1ZmZlclBvb2xSZWYgcG9vbCA9IG51bGxw
dHI7CisgICAgICAgIENWUGl4ZWxCdWZmZXJQb29sQ3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQs
IG51bGxwdHIsIChfX2JyaWRnZSBDRkRpY3Rpb25hcnlSZWYpcGl4ZWxBdHRyaWJ1dGVzLCAmcG9v
bCk7CisKKyAgICAgICAgbV9yb3RhdGlvblBvb2wgPSBhZG9wdENGKHBvb2wpOworICAgICAgICBt
X3JvdGF0ZWRXaWR0aCA9IHJvdGF0ZWRXaWR0aDsKKyAgICAgICAgbV9yb3RhdGVkSGVpZ2h0ID0g
cm90YXRlZEhlaWdodDsKKyAgICAgICAgbV9yb3RhdGVkRm9ybWF0ID0gZm9ybWF0OworICAgIH0K
KworICAgIENWUGl4ZWxCdWZmZXJSZWYgcmF3Um90YXRlZEJ1ZmZlciA9IG51bGxwdHI7CisgICAg
Q1ZQaXhlbEJ1ZmZlclBvb2xDcmVhdGVQaXhlbEJ1ZmZlcihrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBt
X3JvdGF0aW9uUG9vbC5nZXQoKSwgJnJhd1JvdGF0ZWRCdWZmZXIpOworICAgIFJldGFpblB0cjxD
VlBpeGVsQnVmZmVyUmVmPiByb3RhdGVkQnVmZmVyID0gYWRvcHRDRihyYXdSb3RhdGVkQnVmZmVy
KTsKKworICAgIGF1dG8gc3RhdHVzID0gVlRJbWFnZVJvdGF0aW9uU2Vzc2lvblRyYW5zZmVySW1h
Z2UobV9yb3RhdGlvblNlc3Npb24uZ2V0KCksIHBpeGVsQnVmZmVyLCByb3RhdGVkQnVmZmVyLmdl
dCgpKTsKKworICAgIGlmIChzdGF0dXMgIT0gbm9FcnIpIHsKKyAgICAgICAgUkVMRUFTRV9MT0co
TWVkaWFTdHJlYW0sICJSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYTo6cm90YXRlUGl4
ZWxCdWZmZXIgZmFpbGVkIHdpdGggZXJyb3IgJWQiLCBzdGF0dXMpOworICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKyAgICB9CisgICAgcmV0dXJuIHJvdGF0ZWRCdWZmZXI7Cit9CisKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349197</attachid>
            <date>2018-09-07 14:48:23 -0700</date>
            <delta_ts>2018-09-07 15:28:27 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-189427-20180907144822.patch</filename>
            <type>text/plain</type>
            <size>9516</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1Nzg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzFlMWJkYzNjN2M1MjEy
Y2NhNGEwYzg4MTg2NzU3NjJhMjk4YWQzNi4uZjhmMGI0ODE1MzI0ZDcwZTlmMjI0MTkzMzI2YWJl
YjgwMjM2MTMyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE4LTA5LTA3ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBSZWFsdGltZU91dGdvaW5n
VmlkZW9Tb3VyY2VDb2NvYSBzaG91bGQgdXNlIFZUSW1hZ2VSb3RhdGlvblNlc3Npb24gdG8gcm90
YXRlIENWUGl4ZWxCdWZmZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xODk0MjcKKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisK
KyAgICAgICAgUHJldmlvdXNseSwgd2Ugd2VyZSByZWx5aW5nIG9uIGxpYndlYnJ0YyB1dGlscyB0
byBkbyB0aGUgcm90YXRpb24uCisgICAgICAgIFRoaXMgaXMgaW5lZmZpY2llbnQgY29tcGFyZWQg
dG8gVlRJbWFnZVJvdGF0ZVNlc3Npb24gYW5kIGFsc28gaW5kdWNlcyBhZGRpdGlvbmFsIG1lbW9y
eSBjb3N0CisgICAgICAgIHNpbmNlIGxpYndlYnJ0YyBpcyByb3RhdGluZyB1c2luZyBpdHMgb3du
IGJ1ZmZlcnMgYW5kIHRoZSBlbmNvZGVyIHdpbGwgY29udmVydCB0aGlzIGJ1ZmZlciBiYWNrIHRv
IGEgQ1ZQaXhlbEJ1ZmZlci4KKworICAgICAgICBJbnN0ZWFkIHVzZSBWVEltYWdlUm90YXRpb25T
ZXNzaW9uIHdoZW4gcm90YXRpb24gbXVzdCBiZSBkb25lIGF0IHNlbmRpbmcgc2lkZS4KKyAgICAg
ICAgQ292ZXJlZCBieSB3ZWJydGMvdmlkZW8tcm90YXRpb24uaHRtbC4KKworICAgICAgICAqIHBs
YXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYTo6
c2FtcGxlQnVmZmVyVXBkYXRlZCk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFj
L1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLmg6CisgICAgICAgICogcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tOgorICAg
ICAgICAoV2ViQ29yZTo6Y29tcHV0ZVJvdGF0ZWRXaWR0aEFuZEhlaWdodCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYTo6cm90YXRlUGl4ZWxCdWZm
ZXIpOgorCiAyMDE4LTA5LTA3ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgW0xGQ10gUmVwbGFjZSAiY29tcHV0ZWQiIHZhbHVlIHdpdGggInVzZWQiIHZhbHVlIHRv
IG1hdGNoIHNwZWMgbGFuZ3VhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ1Zp
ZGVvU291cmNlQ29jb2EuY3BwCmluZGV4IGVkMTRjMzRjMzFkNjZjMDVjZWQ1OTVjNjU2MDMwZTcx
M2Y2NTU3ODcuLmJjOGFmMzllYzg4YmYxYmEzMjBhM2JmYjEwNjI3MTMxZmRiNDEwNjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91
dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLmNwcApAQCAt
MTUyLDIzICsxNTIsMTQgQEAgdm9pZCBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYTo6
c2FtcGxlQnVmZmVyVXBkYXRlZChNZWRpYVN0cmVhbVRyYWNrUHJpdmEKICAgICBhdXRvIHBpeGVs
QnVmZmVyID0gc3RhdGljX2Nhc3Q8Q1ZQaXhlbEJ1ZmZlclJlZj4oQ01TYW1wbGVCdWZmZXJHZXRJ
bWFnZUJ1ZmZlcihzYW1wbGUucGxhdGZvcm1TYW1wbGUoKS5zYW1wbGUuY21TYW1wbGVCdWZmZXIp
KTsKICAgICBhdXRvIHBpeGVsRm9ybWF0VHlwZSA9IENWUGl4ZWxCdWZmZXJHZXRQaXhlbEZvcm1h
dFR5cGUocGl4ZWxCdWZmZXIpOwogCi0gICAgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6Vmlk
ZW9GcmFtZUJ1ZmZlcj4gYnVmZmVyOwotICAgIFJldGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiBj
b252ZXJ0ZWRCdWZmZXI7Ci0gICAgaWYgKHBpeGVsRm9ybWF0VHlwZSA9PSBrQ1ZQaXhlbEZvcm1h
dFR5cGVfNDIwWXBDYkNyOFBsYW5hciB8fCBwaXhlbEZvcm1hdFR5cGUgPT0ga0NWUGl4ZWxGb3Jt
YXRUeXBlXzQyMFlwQ2JDcjhCaVBsYW5hckZ1bGxSYW5nZSkKLSAgICAgICAgYnVmZmVyID0gd2Vi
cnRjOjpwaXhlbEJ1ZmZlclRvRnJhbWUocGl4ZWxCdWZmZXIpOwotICAgIGVsc2UgeworICAgIFJl
dGFpblB0cjxDVlBpeGVsQnVmZmVyUmVmPiBjb252ZXJ0ZWRCdWZmZXIgPSBwaXhlbEJ1ZmZlcjsK
KyAgICBpZiAocGl4ZWxGb3JtYXRUeXBlICE9IGtDVlBpeGVsRm9ybWF0VHlwZV80MjBZcENiQ3I4
UGxhbmFyICYmIHBpeGVsRm9ybWF0VHlwZSAhPSBrQ1ZQaXhlbEZvcm1hdFR5cGVfNDIwWXBDYkNy
OEJpUGxhbmFyRnVsbFJhbmdlKQogICAgICAgICBjb252ZXJ0ZWRCdWZmZXIgPSBjb252ZXJ0VG9Z
VVYocGl4ZWxCdWZmZXIpOwotICAgICAgICBidWZmZXIgPSB3ZWJydGM6OnBpeGVsQnVmZmVyVG9G
cmFtZShjb252ZXJ0ZWRCdWZmZXIuZ2V0KCkpOwotICAgIH0KIAotICAgIGlmIChtX3Nob3VsZEFw
cGx5Um90YXRpb24gJiYgbV9jdXJyZW50Um90YXRpb24gIT0gd2VicnRjOjprVmlkZW9Sb3RhdGlv
bl8wKSB7Ci0gICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgbWFrZSBBVlZpZGVvQ2FwdHVyZVNv
dXJjZSBoYW5kbGUgdGhlIHJvdGF0aW9uIHdoZW5ldmVyIHBvc3NpYmxlLgotICAgICAgICAvLyBU
aGlzIGltcGxlbWVudGF0aW9uIGlzIGluZWZmaWNpZW50LCB3ZSBzaG91bGQgcm90YXRlIG9uIHRo
ZSBDTVNhbXBsZUJ1ZmZlciBkaXJlY3RseSBpbnN0ZWFkIG9mIGRvaW5nIHRoaXMgZG91YmxlIGFs
bG9jYXRpb24uCi0gICAgICAgIGF1dG8gcm90YXRlZEJ1ZmZlciA9IGJ1ZmZlci0+VG9JNDIwKCk7
Ci0gICAgICAgIEFTU0VSVChyb3RhdGVkQnVmZmVyKTsKLSAgICAgICAgYnVmZmVyID0gd2VicnRj
OjpJNDIwQnVmZmVyOjpSb3RhdGUoKnJvdGF0ZWRCdWZmZXIsIG1fY3VycmVudFJvdGF0aW9uKTsK
LSAgICB9Ci0gICAgc2VuZEZyYW1lKFdURk1vdmUoYnVmZmVyKSk7CisgICAgaWYgKG1fc2hvdWxk
QXBwbHlSb3RhdGlvbiAmJiBtX2N1cnJlbnRSb3RhdGlvbiAhPSB3ZWJydGM6OmtWaWRlb1JvdGF0
aW9uXzApCisgICAgICAgIGNvbnZlcnRlZEJ1ZmZlciA9IHJvdGF0ZVBpeGVsQnVmZmVyKGNvbnZl
cnRlZEJ1ZmZlci5nZXQoKSwgbV9jdXJyZW50Um90YXRpb24pOworCisgICAgc2VuZEZyYW1lKHdl
YnJ0Yzo6cGl4ZWxCdWZmZXJUb0ZyYW1lKGNvbnZlcnRlZEJ1ZmZlci5nZXQoKSkpOwogfQogCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFs
dGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLmgKaW5kZXgg
OTYxZDUxMmQ3YjQyYTlkZGExM2VlOGRlM2IxMDI0NmQyZjQzNTNmYy4uZmMzYWFjZDRhNjUzMTAz
ZDU2ZWVlY2M4NzA1MjNmMTVmODMwNGZjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0
Z29pbmdWaWRlb1NvdXJjZUNvY29hLmgKQEAgLTI5LDYgKzI5LDEwIEBACiAKICNpbmNsdWRlICJS
ZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2UuaCIKICNpbmNsdWRlICJQaXhlbEJ1ZmZlckNvbmZv
cm1lckNWLmgiCisjaW5jbHVkZSA8d2VicnRjL2FwaS92aWRlby92aWRlb19yb3RhdGlvbi5oPgor
Cit0eXBlZGVmIHN0cnVjdCBPcGFxdWVWVEltYWdlUm90YXRpb25TZXNzaW9uKiBWVEltYWdlUm90
YXRpb25TZXNzaW9uUmVmOwordHlwZWRlZiBzdHJ1Y3QgX19DVlBpeGVsQnVmZmVyUG9vbCogQ1ZQ
aXhlbEJ1ZmZlclBvb2xSZWY7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDMsOCArNDcs
MTUgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNhbXBsZUJ1ZmZlclVwZGF0ZWQoTWVkaWFTdHJlYW1U
cmFja1ByaXZhdGUmLCBNZWRpYVNhbXBsZSYpIGZpbmFsOwogCiAgICAgUmV0YWluUHRyPENWUGl4
ZWxCdWZmZXJSZWY+IGNvbnZlcnRUb1lVVihDVlBpeGVsQnVmZmVyUmVmKTsKKyAgICBSZXRhaW5Q
dHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gcm90YXRlUGl4ZWxCdWZmZXIoQ1ZQaXhlbEJ1ZmZlclJlZiwg
d2VicnRjOjpWaWRlb1JvdGF0aW9uKTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxQaXhlbEJ1ZmZl
ckNvbmZvcm1lckNWPiBtX3BpeGVsQnVmZmVyQ29uZm9ybWVyOworICAgIFJldGFpblB0cjxWVElt
YWdlUm90YXRpb25TZXNzaW9uUmVmPiBtX3JvdGF0aW9uU2Vzc2lvbjsKKyAgICBSZXRhaW5QdHI8
Q1ZQaXhlbEJ1ZmZlclBvb2xSZWY+IG1fcm90YXRpb25Qb29sOworICAgIHdlYnJ0Yzo6VmlkZW9S
b3RhdGlvbiBtX2N1cnJlbnRSb3RhdGlvbkFuZ2xlIHsgd2VicnRjOjprVmlkZW9Sb3RhdGlvbl8w
IH07CisgICAgc2l6ZV90IG1fcm90YXRlZFdpZHRoIHsgMCB9OworICAgIHNpemVfdCBtX3JvdGF0
ZWRIZWlnaHQgeyAwIH07CisgICAgT1NUeXBlIG1fcm90YXRlZEZvcm1hdDsKIAogI2lmICFSRUxF
QVNFX0xPR19ESVNBQkxFRAogICAgIHNpemVfdCBtX251bWJlck9mRnJhbWVzIHsgMCB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1l
T3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tCmluZGV4IDg4
MWY1NzExZmEwMWZmNGRiMzk2MTYyYTc2ODcwZDJlMjZiZjQ3NmIuLjk2YTQ1ODU2NDhkMmU4N2U3
OWRjNDNjMDQ4MzNkZGY5OWViMzk1MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRn
b2luZ1ZpZGVvU291cmNlQ29jb2EubW0KQEAgLTI4LDkgKzI4LDEyIEBACiAKICNpZiBVU0UoTElC
V0VCUlRDKQogCisjaW1wb3J0ICJMb2dnaW5nLmgiCisjaW1wb3J0ICJNZWRpYVNhbXBsZS5oIgog
I2ltcG9ydCAiUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5oIgogI2ltcG9ydCA8cGFsL2NmL0NvcmVN
ZWRpYVNvZnRMaW5rLmg+CiAjaW1wb3J0ICJDb3JlVmlkZW9Tb2Z0TGluay5oIgorI2ltcG9ydCAi
VmlkZW9Ub29sYm94U29mdExpbmsuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00NSw2
ICs0OCw4NSBAQCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gUmVhbHRpbWVPdXRnb2luZ1Zp
ZGVvU291cmNlQ29jb2E6OmNvbnZlcnRUb1lVVihDVlBpeAogICAgIHJldHVybiBtX3BpeGVsQnVm
ZmVyQ29uZm9ybWVyLT5jb252ZXJ0KHBpeGVsQnVmZmVyKTsKIH0KIAorc3RhdGljIGlubGluZSB2
b2lkIGNvbXB1dGVSb3RhdGVkV2lkdGhBbmRIZWlnaHQoQ1ZQaXhlbEJ1ZmZlclJlZiBwaXhlbEJ1
ZmZlciwgd2VicnRjOjpWaWRlb1JvdGF0aW9uIHJvdGF0aW9uLCBzaXplX3QmIHdpZHRoLCBzaXpl
X3QmIGhlaWdodCkKK3sKKyAgICBzd2l0Y2ggKHJvdGF0aW9uKSB7CisgICAgY2FzZSB3ZWJydGM6
OmtWaWRlb1JvdGF0aW9uXzA6CisgICAgY2FzZSB3ZWJydGM6OmtWaWRlb1JvdGF0aW9uXzE4MDoK
KyAgICAgICAgd2lkdGggPSBDVlBpeGVsQnVmZmVyR2V0V2lkdGgocGl4ZWxCdWZmZXIpOworICAg
ICAgICBoZWlnaHQgPSBDVlBpeGVsQnVmZmVyR2V0SGVpZ2h0KHBpeGVsQnVmZmVyKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIGNhc2Ugd2VicnRjOjprVmlkZW9Sb3RhdGlvbl85MDoKKyAgICBjYXNl
IHdlYnJ0Yzo6a1ZpZGVvUm90YXRpb25fMjcwOgorICAgICAgICB3aWR0aCA9IENWUGl4ZWxCdWZm
ZXJHZXRIZWlnaHQocGl4ZWxCdWZmZXIpOworICAgICAgICBoZWlnaHQgPSBDVlBpeGVsQnVmZmVy
R2V0V2lkdGgocGl4ZWxCdWZmZXIpOworICAgICAgICByZXR1cm47CisgICAgfQorfQorCitSZXRh
aW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2E6
OnJvdGF0ZVBpeGVsQnVmZmVyKENWUGl4ZWxCdWZmZXJSZWYgcGl4ZWxCdWZmZXIsIHdlYnJ0Yzo6
VmlkZW9Sb3RhdGlvbiByb3RhdGlvbikKK3sKKyAgICBBU1NFUlQocm90YXRpb24pOworICAgIGlm
ICghcm90YXRpb24pCisgICAgICAgIHJldHVybiBwaXhlbEJ1ZmZlcjsKKworICAgIGlmICghbV9y
b3RhdGlvblNlc3Npb24gfHwgcm90YXRpb24gIT0gbV9jdXJyZW50Um90YXRpb24pIHsKKyAgICAg
ICAgVlRJbWFnZVJvdGF0aW9uU2Vzc2lvblJlZiByYXdSb3RhdGlvblNlc3Npb24gPSBudWxscHRy
OworICAgICAgICBhdXRvIHN0YXR1cyA9IFZUSW1hZ2VSb3RhdGlvblNlc3Npb25DcmVhdGUoa0NG
QWxsb2NhdG9yRGVmYXVsdCwgcm90YXRpb24sICZyYXdSb3RhdGlvblNlc3Npb24pOworICAgICAg
ICBpZiAoc3RhdHVzICE9IG5vRXJyKSB7CisgICAgICAgICAgICBSRUxFQVNFX0xPRyhNZWRpYVN0
cmVhbSwgIlJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hOjpyb3RhdGVQaXhlbEJ1ZmZl
ciBmYWlsZWQgY3JlYXRpbmcgYSByb3RhdGlvbiBzZXNzaW9uIHdpdGggZXJyb3IgJWQiLCBzdGF0
dXMpOworICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIH0KKworICAgICAgICBt
X3JvdGF0aW9uU2Vzc2lvbiA9IGFkb3B0Q0YocmF3Um90YXRpb25TZXNzaW9uKTsKKyAgICAgICAg
bV9jdXJyZW50Um90YXRpb24gPSByb3RhdGlvbjsKKworICAgICAgICBWVEltYWdlUm90YXRpb25T
ZXNzaW9uU2V0UHJvcGVydHkocmF3Um90YXRpb25TZXNzaW9uLCBrVlRJbWFnZVJvdGF0aW9uUHJv
cGVydHlLZXlfRW5hYmxlSGlnaFNwZWVkVHJhbnNmZXIsIGtDRkJvb2xlYW5UcnVlKTsKKyAgICB9
CisKKyAgICBzaXplX3Qgcm90YXRlZFdpZHRoLCByb3RhdGVkSGVpZ2h0OworICAgIGNvbXB1dGVS
b3RhdGVkV2lkdGhBbmRIZWlnaHQocGl4ZWxCdWZmZXIsIHJvdGF0aW9uLCByb3RhdGVkV2lkdGgs
IHJvdGF0ZWRIZWlnaHQpOworICAgIGF1dG8gZm9ybWF0ID0gQ1ZQaXhlbEJ1ZmZlckdldFBpeGVs
Rm9ybWF0VHlwZShwaXhlbEJ1ZmZlcik7CisgICAgaWYgKCFtX3JvdGF0aW9uUG9vbCB8fCByb3Rh
dGVkV2lkdGggIT0gbV9yb3RhdGVkV2lkdGggfHwgcm90YXRlZEhlaWdodCAhPSBtX3JvdGF0ZWRI
ZWlnaHQgfHwgZm9ybWF0ICE9IG1fcm90YXRlZEZvcm1hdCkgeworICAgICAgICBhdXRvIHBpeGVs
QXR0cmlidXRlcyA9IEB7CisgICAgICAgICAgICAoX19icmlkZ2UgTlNTdHJpbmcgKilrQ1ZQaXhl
bEJ1ZmZlcldpZHRoS2V5OiBAKHJvdGF0ZWRXaWR0aCksCisgICAgICAgICAgICAoX19icmlkZ2Ug
TlNTdHJpbmcgKilrQ1ZQaXhlbEJ1ZmZlckhlaWdodEtleTogQChyb3RhdGVkSGVpZ2h0KSwKKyAg
ICAgICAgICAgIChfX2JyaWRnZSBOU1N0cmluZyAqKWtDVlBpeGVsQnVmZmVyUGl4ZWxGb3JtYXRU
eXBlS2V5OiBAKGZvcm1hdCksCisgICAgICAgICAgICAoX19icmlkZ2UgTlNTdHJpbmcgKilrQ1ZQ
aXhlbEJ1ZmZlckNHSW1hZ2VDb21wYXRpYmlsaXR5S2V5OiBATk8sCisgICAgICAgIH07CisKKyAg
ICAgICAgQ1ZQaXhlbEJ1ZmZlclBvb2xSZWYgcG9vbCA9IG51bGxwdHI7CisgICAgICAgIGF1dG8g
c3RhdHVzID0gQ1ZQaXhlbEJ1ZmZlclBvb2xDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgbnVs
bHB0ciwgKF9fYnJpZGdlIENGRGljdGlvbmFyeVJlZilwaXhlbEF0dHJpYnV0ZXMsICZwb29sKTsK
KworICAgICAgICBpZiAoc3RhdHVzICE9IGtDVlJldHVyblN1Y2Nlc3MpIHsKKyAgICAgICAgICAg
IFJFTEVBU0VfTE9HKE1lZGlhU3RyZWFtLCAiUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29j
b2E6OnJvdGF0ZVBpeGVsQnVmZmVyIGZhaWxlZCBjcmVhdGluZyBhIHBpeGVsIGJ1ZmZlciBwb29s
IHdpdGggZXJyb3IgJWQiLCBzdGF0dXMpOworICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Cisg
ICAgICAgIH0KKyAgICAgICAgbV9yb3RhdGlvblBvb2wgPSBhZG9wdENGKHBvb2wpOworCisgICAg
ICAgIG1fcm90YXRlZFdpZHRoID0gcm90YXRlZFdpZHRoOworICAgICAgICBtX3JvdGF0ZWRIZWln
aHQgPSByb3RhdGVkSGVpZ2h0OworICAgICAgICBtX3JvdGF0ZWRGb3JtYXQgPSBmb3JtYXQ7Cisg
ICAgfQorCisgICAgQ1ZQaXhlbEJ1ZmZlclJlZiByYXdSb3RhdGVkQnVmZmVyID0gbnVsbHB0cjsK
KyAgICBhdXRvIHN0YXR1cyA9IENWUGl4ZWxCdWZmZXJQb29sQ3JlYXRlUGl4ZWxCdWZmZXIoa0NG
QWxsb2NhdG9yRGVmYXVsdCwgbV9yb3RhdGlvblBvb2wuZ2V0KCksICZyYXdSb3RhdGVkQnVmZmVy
KTsKKworICAgIGlmIChzdGF0dXMgIT0ga0NWUmV0dXJuU3VjY2VzcykgeworICAgICAgICBSRUxF
QVNFX0xPRyhNZWRpYVN0cmVhbSwgIlJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hOjpy
b3RhdGVQaXhlbEJ1ZmZlciBmYWlsZWQgY3JlYXRpbmcgYSBwaXhlbCBidWZmZXIgd2l0aCBlcnJv
ciAlZCIsIHN0YXR1cyk7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKyAgICBSZXRh
aW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gcm90YXRlZEJ1ZmZlciA9IGFkb3B0Q0YocmF3Um90YXRl
ZEJ1ZmZlcik7CisKKyAgICBzdGF0dXMgPSBWVEltYWdlUm90YXRpb25TZXNzaW9uVHJhbnNmZXJJ
bWFnZShtX3JvdGF0aW9uU2Vzc2lvbi5nZXQoKSwgcGl4ZWxCdWZmZXIsIHJvdGF0ZWRCdWZmZXIu
Z2V0KCkpOworCisgICAgaWYgKHN0YXR1cyAhPSBub0VycikgeworICAgICAgICBSRUxFQVNFX0xP
RyhNZWRpYVN0cmVhbSwgIlJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hOjpyb3RhdGVQ
aXhlbEJ1ZmZlciBmYWlsZWQgcm90YXRpbmcgd2l0aCBlcnJvciAlZCIsIHN0YXR1cyk7CisgICAg
ICAgIHJldHVybiBudWxscHRyOworICAgIH0KKyAgICByZXR1cm4gcm90YXRlZEJ1ZmZlcjsKK30K
KwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gVVNFKExJQldFQlJUQykK
</data>

          </attachment>
      

    </bug>

</bugzilla>