<?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>184835</bug_id>
          
          <creation_ts>2018-04-20 13:36:31 -0700</creation_ts>
          <short_desc>Mandate H264 hardware encoder for Mac in libwebrtc</short_desc>
          <delta_ts>2018-04-30 13:28:29 -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>
          <dependson>184855</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1416396</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-04-20 13:36:31 -0700</bug_when>
    <thetext>Mandate H264 hardware encoder for Mac in libwebrtc</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416401</commentid>
    <comment_count>1</comment_count>
      <attachid>338458</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-04-20 13:49:18 -0700</bug_when>
    <thetext>Created attachment 338458
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416415</commentid>
    <comment_count>2</comment_count>
      <attachid>338459</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-04-20 14:16:31 -0700</bug_when>
    <thetext>Created attachment 338459
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416441</commentid>
    <comment_count>3</comment_count>
      <attachid>338459</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-04-20 15:11:44 -0700</bug_when>
    <thetext>Comment on attachment 338459
Patch

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

&gt; Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:615
&gt; +  CFTypeRef sessionValues[] = { webrtc::isH264HardwareEncoderAllowed() ? kCFBooleanTrue : kCFBooleanFalse, webrtc::isH264HardwareEncoderAllowed() ? kCFBooleanTrue : kCFBooleanFalse, kCFBooleanTrue };

Nit: it seems slightly wasteful to call webrtc::isH264HardwareEncoderAllowed() twice here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416455</commentid>
    <comment_count>4</comment_count>
      <attachid>338468</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-04-20 15:28:54 -0700</bug_when>
    <thetext>Created attachment 338468
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416458</commentid>
    <comment_count>5</comment_count>
      <attachid>338469</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-04-20 15:29:39 -0700</bug_when>
    <thetext>Created attachment 338469
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416459</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-04-20 15:30:46 -0700</bug_when>
    <thetext>(In reply to Eric Carlson from comment #3)
&gt; Comment on attachment 338459 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=338459&amp;action=review
&gt; 
&gt; &gt; Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:615
&gt; &gt; +  CFTypeRef sessionValues[] = { webrtc::isH264HardwareEncoderAllowed() ? kCFBooleanTrue : kCFBooleanFalse, webrtc::isH264HardwareEncoderAllowed() ? kCFBooleanTrue : kCFBooleanFalse, kCFBooleanTrue };
&gt; 
&gt; Nit: it seems slightly wasteful to call
&gt; webrtc::isH264HardwareEncoderAllowed() twice here.

Thanks for the review.
I updated the patch accordingly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416478</commentid>
    <comment_count>7</comment_count>
      <attachid>338469</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-20 15:57:59 -0700</bug_when>
    <thetext>Comment on attachment 338469
Patch for landing

Clearing flags on attachment: 338469

Committed r230862: &lt;https://trac.webkit.org/changeset/230862&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416479</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-20 15:58:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416480</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-04-20 15:58:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/39612500&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416566</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-20 18:23:15 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 184855</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419056</commentid>
    <comment_count>11</comment_count>
      <attachid>339131</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-04-30 11:27:28 -0700</bug_when>
    <thetext>Created attachment 339131
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419087</commentid>
    <comment_count>12</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-04-30 13:00:35 -0700</bug_when>
    <thetext>Timeouts were due to too many hw encoders allocated and returning too early to use sw encoders</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419097</commentid>
    <comment_count>13</comment_count>
      <attachid>339131</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-30 13:28:27 -0700</bug_when>
    <thetext>Comment on attachment 339131
Patch

Clearing flags on attachment: 339131

Committed r231167: &lt;https://trac.webkit.org/changeset/231167&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419098</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-30 13:28:29 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>338458</attachid>
            <date>2018-04-20 13:49:18 -0700</date>
            <delta_ts>2018-04-20 14:16:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184835-20180420134918.patch</filename>
            <type>text/plain</type>
            <size>12906</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwODM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCAwY2VhNDc3YzU1N2U2NTJiOWE1NTRhMWI4MTY2NjRhNGUyMjVlZmQzLi43Y2E5
OTEyNzNhNzYwNDJkNDBhNTY3YjhiNTMyYzhhNjU5ZGJjYzk4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxOC0wNC0yMCAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWFuZGF0ZSBIMjY0IGhhcmR3YXJl
IGVuY29kZXIgZm9yIE1hYyBpbiBsaWJ3ZWJydGMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDgzNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRlc3RlZCBtYW51YWxseSB0aHJvdWdoIGNvbnNvbGUgdHJh
Y2VzIHRoYXQgaGFyZHdhcmUgVkNQIGVuY29kZXIgY29kZSBwYXRoIGlzIGFjdHVhbGx5IHVzZWQg
aW5zdGVhZCBvZiBzb2Z0d2FyZSBWQ1AgZW5jb2RlciBjb2RlIHBhdGguCisKKyAgICAgICAgKiBT
b3VyY2Uvd2VicnRjL3Nkay9vYmpjL0ZyYW1ld29yay9DbGFzc2VzL1ZpZGVvVG9vbGJveC9SVENW
aWRlb0VuY29kZXJIMjY0Lm1tOgorICAgICAgICAoLVtSVENWaWRlb0VuY29kZXJIMjY0IHJlc2V0
Q29tcHJlc3Npb25TZXNzaW9uV2l0aFBpeGVsRm9ybWF0Ol0pOgorICAgICAgICAqIFdlYktpdC8w
MDAxLVVwZGF0ZS1SVENWaWRlb0VuY29kZXJIMjY0Lm1tLWZvci1XZWJLaXQucGF0Y2g6IEFkZGVk
IHRvIGNvdmVyIHRoaXMgY2hhbmdlIGFuZCBjaGFuZ2VzIG1hZGUgaW4gYnVnIDE4NDY2OCBhbmQg
MTgzOTYxLgorCiAyMDE4LTA0LTE5ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+
CiAKICAgICAgICAgRW5hYmxlIE9iamVjdGl2ZS1DIHdlYWsgcmVmZXJlbmNlcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL29iamMvRnJh
bWV3b3JrL0NsYXNzZXMvVmlkZW9Ub29sYm94L1JUQ1ZpZGVvRW5jb2RlckgyNjQubW0gYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9GcmFtZXdvcmsv
Q2xhc3Nlcy9WaWRlb1Rvb2xib3gvUlRDVmlkZW9FbmNvZGVySDI2NC5tbQppbmRleCBiYzc0Mzdm
MGMxMGNlODIxNDhiNGIwOTNhYjhkNTQyNjBhY2VkMjU0Li42YTE3ODg5YWU3YjliOGYwMzM4NmY0
YTlmODgxYjc0ZGY5ZTI5ZTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9GcmFtZXdvcmsvQ2xhc3Nlcy9WaWRlb1Rvb2xib3gv
UlRDVmlkZW9FbmNvZGVySDI2NC5tbQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9GcmFtZXdvcmsvQ2xhc3Nlcy9WaWRlb1Rvb2xib3gvUlRD
VmlkZW9FbmNvZGVySDI2NC5tbQpAQCAtNjA3LDIyICs2MDcsMjAgQEAgLSAoaW50KXJlc2V0Q29t
cHJlc3Npb25TZXNzaW9uV2l0aFBpeGVsRm9ybWF0OihPU1R5cGUpZnJhbWVQaXhlbEZvcm1hdCB7
CiAgICAgQ0ZSZWxlYXNlKHBpeGVsRm9ybWF0KTsKICAgICBwaXhlbEZvcm1hdCA9IG51bGxwdHI7
CiAgIH0KLSAgQ0ZNdXRhYmxlRGljdGlvbmFyeVJlZiBlbmNvZGVyX3NwZWNzID0gbnVsbHB0cjsK
KyAgQ0ZEaWN0aW9uYXJ5UmVmIGVuY29kZXJTcGVjcyA9IG51bGxwdHI7CiAjaWYgZGVmaW5lZChX
RUJSVENfTUFDKSAmJiAhZGVmaW5lZChXRUJSVENfSU9TKQogICAvLyBDdXJyZW50bHkgaHcgYWNj
bCBpcyBzdXBwb3J0ZWQgYWJvdmUgMzYwcCBvbiBtYWMsIGJlbG93IDM2MHAKICAgLy8gdGhlIGNv
bXByZXNzaW9uIHNlc3Npb24gd2lsbCBiZSBjcmVhdGVkIHdpdGggaHcgYWNjbCBkaXNhYmxlZC4K
LSAgZW5jb2Rlcl9zcGVjcyA9IENGRGljdGlvbmFyeUNyZWF0ZU11dGFibGUoCi0gICAgICBudWxs
cHRyLCAxLCAma0NGVHlwZURpY3Rpb25hcnlLZXlDYWxsQmFja3MsICZrQ0ZUeXBlRGljdGlvbmFy
eVZhbHVlQ2FsbEJhY2tzKTsKLSAgQ0ZEaWN0aW9uYXJ5U2V0VmFsdWUoZW5jb2Rlcl9zcGVjcywK
LSAgICAgICAgICAgICAgICAgICAgICAga1ZUVmlkZW9FbmNvZGVyU3BlY2lmaWNhdGlvbl9FbmFi
bGVIYXJkd2FyZUFjY2VsZXJhdGVkVmlkZW9FbmNvZGVyLAotICAgICAgICAgICAgICAgICAgICAg
ICB3ZWJydGM6OmlzSDI2NEhhcmR3YXJlRW5jb2RlckFsbG93ZWQoKSA/IGtDRkJvb2xlYW5UcnVl
IDoga0NGQm9vbGVhbkZhbHNlKTsKKyAgQ0ZUeXBlUmVmIHNlc3Npb25LZXlzW10gPSB7a1ZUVmlk
ZW9FbmNvZGVyU3BlY2lmaWNhdGlvbl9FbmFibGVIYXJkd2FyZUFjY2VsZXJhdGVkVmlkZW9FbmNv
ZGVyLCBrVlRWaWRlb0VuY29kZXJTcGVjaWZpY2F0aW9uX1JlcXVpcmVIYXJkd2FyZUFjY2VsZXJh
dGVkVmlkZW9FbmNvZGVyLCBrVlRDb21wcmVzc2lvblByb3BlcnR5S2V5X1JlYWxUaW1lIH07Cisg
IENGVHlwZVJlZiBzZXNzaW9uVmFsdWVzW10gPSB7IHdlYnJ0Yzo6aXNIMjY0SGFyZHdhcmVFbmNv
ZGVyQWxsb3dlZCgpID8ga0NGQm9vbGVhblRydWUgOiBrQ0ZCb29sZWFuRmFsc2UsIHdlYnJ0Yzo6
aXNIMjY0SGFyZHdhcmVFbmNvZGVyQWxsb3dlZCgpID8ga0NGQm9vbGVhblRydWUgOiBrQ0ZCb29s
ZWFuRmFsc2UsIGtDRkJvb2xlYW5UcnVlIH07CisgIGVuY29kZXJTcGVjcyA9IENGRGljdGlvbmFy
eUNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBzZXNzaW9uS2V5cywgc2Vzc2lvblZhbHVlcywg
MywgJmtDRlR5cGVEaWN0aW9uYXJ5S2V5Q2FsbEJhY2tzLCAma0NGVHlwZURpY3Rpb25hcnlWYWx1
ZUNhbGxCYWNrcyk7CiAjZW5kaWYKICAgT1NTdGF0dXMgc3RhdHVzID0KICAgICAgIENvbXByZXNz
aW9uU2Vzc2lvbkNyZWF0ZShudWxscHRyLCAgLy8gdXNlIGRlZmF1bHQgYWxsb2NhdG9yCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfd2lkdGgsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBfaGVpZ2h0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
a0NvZGVjVHlwZUgyNjQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmNvZGVy
X3NwZWNzLCAgLy8gdXNlIGhhcmR3YXJlIGFjY2VsZXJhdGVkIGVuY29kZXIgaWYgYXZhaWxhYmxl
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmNvZGVyU3BlY3MsICAvLyB1c2Ug
aGFyZHdhcmUgYWNjZWxlcmF0ZWQgZW5jb2RlciBpZiBhdmFpbGFibGUKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNvdXJjZUF0dHJpYnV0ZXMsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBudWxscHRyLCAgLy8gdXNlIGRlZmF1bHQgY29tcHJlc3NlZCBkYXRhIGFs
bG9jYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcHJlc3Npb25PdXRw
dXRDYWxsYmFjaywKQEAgLTYzMiw5ICs2MzAsOSBAQCAtIChpbnQpcmVzZXRDb21wcmVzc2lvblNl
c3Npb25XaXRoUGl4ZWxGb3JtYXQ6KE9TVHlwZSlmcmFtZVBpeGVsRm9ybWF0IHsKICAgICBDRlJl
bGVhc2Uoc291cmNlQXR0cmlidXRlcyk7CiAgICAgc291cmNlQXR0cmlidXRlcyA9IG51bGxwdHI7
CiAgIH0KLSAgaWYgKGVuY29kZXJfc3BlY3MpIHsKLSAgICBDRlJlbGVhc2UoZW5jb2Rlcl9zcGVj
cyk7Ci0gICAgZW5jb2Rlcl9zcGVjcyA9IG51bGxwdHI7CisgIGlmIChlbmNvZGVyU3BlY3MpIHsK
KyAgICBDRlJlbGVhc2UoZW5jb2RlclNwZWNzKTsKKyAgICBlbmNvZGVyU3BlY3MgPSBudWxscHRy
OwogICB9CiAgIGlmIChzdGF0dXMgIT0gbm9FcnIpIHsKICAgICBSVENfTE9HKExTX0VSUk9SKSA8
PCAiRmFpbGVkIHRvIGNyZWF0ZSBjb21wcmVzc2lvbiBzZXNzaW9uOiAiIDw8IHN0YXR1czsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9XZWJLaXQvMDAwMS1VcGRhdGUt
UlRDVmlkZW9FbmNvZGVySDI2NC5tbS1mb3ItV2ViS2l0LnBhdGNoIGIvU291cmNlL1RoaXJkUGFy
dHkvbGlid2VicnRjL1dlYktpdC8wMDAxLVVwZGF0ZS1SVENWaWRlb0VuY29kZXJIMjY0Lm1tLWZv
ci1XZWJLaXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzk4YTA5ZTg0MWY0NWEwMzQzNTc2ZjYzZGI3Njhh
NzYxZjVlMTUzOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9XZWJLaXQvMDAwMS1VcGRhdGUtUlRDVmlkZW9FbmNvZGVySDI2NC5tbS1mb3ItV2ViS2l0LnBh
dGNoCkBAIC0wLDAgKzEsMTg4IEBACitGcm9tIDRhN2I2OTE1YjFiY2RjZmQxN2VhZTg5MTBhNTUx
MTZiZjU1OTRhMmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBZb3Vlbm4gRmFibGV0
IDx5b3Vlbm5AYXBwbGUuY29tPgorRGF0ZTogRnJpLCAyMCBBcHIgMjAxOCAxMzo0Mzo1OSAtMDcw
MAorU3ViamVjdDogW1BBVENIXSBVcGRhdGUgUlRDVmlkZW9FbmNvZGVySDI2NC5tbSBmb3IgV2Vi
S2l0CisKK1RoaXMgcmV2ZXJ0cyBjb21taXQgNDU1YWM5Y2VkOWIzYzVhOTM4YjE4OWM5NTU2MDI4
MTlkZDhlYjNiNi4KKy0tLQorIC4uLi9DbGFzc2VzL1ZpZGVvVG9vbGJveC9SVENWaWRlb0VuY29k
ZXJIMjY0Lm1tICAgIHwgMTI3ICsrKysrKysrKysrKysrKysrKystLQorIDEgZmlsZSBjaGFuZ2Vk
LCAxMTcgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9GcmFtZXdvcmsv
Q2xhc3Nlcy9WaWRlb1Rvb2xib3gvUlRDVmlkZW9FbmNvZGVySDI2NC5tbSBiL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9vYmpjL0ZyYW1ld29yay9DbGFzc2Vz
L1ZpZGVvVG9vbGJveC9SVENWaWRlb0VuY29kZXJIMjY0Lm1tCitpbmRleCA4YzI3ZTc2NjdjZC4u
NmExNzg4OWFlN2IgMTAwNjQ0CistLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291
cmNlL3dlYnJ0Yy9zZGsvb2JqYy9GcmFtZXdvcmsvQ2xhc3Nlcy9WaWRlb1Rvb2xib3gvUlRDVmlk
ZW9FbmNvZGVySDI2NC5tbQorKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS93ZWJydGMvc2RrL29iamMvRnJhbWV3b3JrL0NsYXNzZXMvVmlkZW9Ub29sYm94L1JUQ1ZpZGVv
RW5jb2RlckgyNjQubW0KK0BAIC0zOCw2ICszOCw0MCBAQAorICNpbmNsdWRlICJzZGsvV2ViS2l0
L0VuY29kZXJVdGlsaXRpZXMuaCIKKyAjaW5jbHVkZSAic2RrL1dlYktpdC9XZWJLaXRVdGlsaXRp
ZXMuaCIKKyAKKysjaW1wb3J0IDxkbGZjbi5oPgorKyNpbXBvcnQgPG9iamMvcnVudGltZS5oPgor
KworK1NPRlRfTElOS19GUkFNRVdPUktfT1BUSU9OQUwoVmlkZW9Ub29sQm94KQorK1NPRlRfTElO
S19QT0lOVEVSX09QVElPTkFMKFZpZGVvVG9vbEJveCwga1ZUVmlkZW9FbmNvZGVyU3BlY2lmaWNh
dGlvbl9Vc2FnZSwgTlNTdHJpbmcgKikKKysKKysjaWYgIUVOQUJMRV9WQ1BfRU5DT0RFUiAmJiAh
ZGVmaW5lZChXRUJSVENfSU9TKQorK3N0YXRpYyBpbmxpbmUgYm9vbCBpc1N0YW5kYXJkRnJhbWVT
aXplKGludDMyX3Qgd2lkdGgsIGludDMyX3QgaGVpZ2h0KQorK3sKKysgICAgLy8gRklYTUU6IEVu
dmlzaW9uIHJlbGF4aW5nIHRoaXMgcnVsZSwgc29tZXRoaW5nIGxpa2Ugd2lkdGggYW5kIGhlaWdo
dCBkaXZpZGFibGUgYnkgNCBvciA4IHNob3VsZCBiZSBnb29kIGVub3VnaC4KKysgICAgaWYgKHdp
ZHRoID09IDEyODApCisrICAgICAgICByZXR1cm4gaGVpZ2h0ID09IDcyMDsKKysgICAgaWYgKHdp
ZHRoID09IDcyMCkKKysgICAgICAgIHJldHVybiBoZWlnaHQgPT0gMTI4MDsKKysgICAgaWYgKHdp
ZHRoID09IDk2MCkKKysgICAgICAgIHJldHVybiBoZWlnaHQgPT0gNTQwOworKyAgICBpZiAod2lk
dGggPT0gNTQwKQorKyAgICAgICAgcmV0dXJuIGhlaWdodCA9PSA5NjA7CisrICAgIGlmICh3aWR0
aCA9PSA2NDApCisrICAgICAgICByZXR1cm4gaGVpZ2h0ID09IDQ4MDsKKysgICAgaWYgKHdpZHRo
ID09IDQ4MCkKKysgICAgICAgIHJldHVybiBoZWlnaHQgPT0gNjQwOworKyAgICBpZiAod2lkdGgg
PT0gMjg4KQorKyAgICAgICAgcmV0dXJuIGhlaWdodCA9PSAzNTI7CisrICAgIGlmICh3aWR0aCA9
PSAzNTIpCisrICAgICAgICByZXR1cm4gaGVpZ2h0ID09IDI4ODsKKysgICAgaWYgKHdpZHRoID09
IDMyMCkKKysgICAgICAgIHJldHVybiBoZWlnaHQgPT0gMjQwOworKyAgICBpZiAod2lkdGggPT0g
MjQwKQorKyAgICAgICAgcmV0dXJuIGhlaWdodCA9PSAzMjA7CisrICAgIHJldHVybiBmYWxzZTsK
Kyt9CisrI2VuZGlmCisrCisgQGludGVyZmFjZSBSVENWaWRlb0VuY29kZXJIMjY0ICgpCisgCisg
LSAodm9pZClmcmFtZVdhc0VuY29kZWQ6KE9TU3RhdHVzKXN0YXR1cworQEAgLTU3MywyMiArNjA3
LDIwIEBAIC0gKGludClyZXNldENvbXByZXNzaW9uU2Vzc2lvbldpdGhQaXhlbEZvcm1hdDooT1NU
eXBlKWZyYW1lUGl4ZWxGb3JtYXQgeworICAgICBDRlJlbGVhc2UocGl4ZWxGb3JtYXQpOworICAg
ICBwaXhlbEZvcm1hdCA9IG51bGxwdHI7CisgICB9CistICBDRk11dGFibGVEaWN0aW9uYXJ5UmVm
IGVuY29kZXJfc3BlY3MgPSBudWxscHRyOworKyAgQ0ZEaWN0aW9uYXJ5UmVmIGVuY29kZXJTcGVj
cyA9IG51bGxwdHI7CisgI2lmIGRlZmluZWQoV0VCUlRDX01BQykgJiYgIWRlZmluZWQoV0VCUlRD
X0lPUykKKyAgIC8vIEN1cnJlbnRseSBodyBhY2NsIGlzIHN1cHBvcnRlZCBhYm92ZSAzNjBwIG9u
IG1hYywgYmVsb3cgMzYwcAorICAgLy8gdGhlIGNvbXByZXNzaW9uIHNlc3Npb24gd2lsbCBiZSBj
cmVhdGVkIHdpdGggaHcgYWNjbCBkaXNhYmxlZC4KKy0gIGVuY29kZXJfc3BlY3MgPSBDRkRpY3Rp
b25hcnlDcmVhdGVNdXRhYmxlKAorLSAgICAgIG51bGxwdHIsIDEsICZrQ0ZUeXBlRGljdGlvbmFy
eUtleUNhbGxCYWNrcywgJmtDRlR5cGVEaWN0aW9uYXJ5VmFsdWVDYWxsQmFja3MpOworLSAgQ0ZE
aWN0aW9uYXJ5U2V0VmFsdWUoZW5jb2Rlcl9zcGVjcywKKy0gICAgICAgICAgICAgICAgICAgICAg
IGtWVFZpZGVvRW5jb2RlclNwZWNpZmljYXRpb25fRW5hYmxlSGFyZHdhcmVBY2NlbGVyYXRlZFZp
ZGVvRW5jb2RlciwKKy0gICAgICAgICAgICAgICAgICAgICAgIHdlYnJ0Yzo6aXNIMjY0SGFyZHdh
cmVFbmNvZGVyQWxsb3dlZCgpID8ga0NGQm9vbGVhblRydWUgOiBrQ0ZCb29sZWFuRmFsc2UpOwor
KyAgQ0ZUeXBlUmVmIHNlc3Npb25LZXlzW10gPSB7a1ZUVmlkZW9FbmNvZGVyU3BlY2lmaWNhdGlv
bl9FbmFibGVIYXJkd2FyZUFjY2VsZXJhdGVkVmlkZW9FbmNvZGVyLCBrVlRWaWRlb0VuY29kZXJT
cGVjaWZpY2F0aW9uX1JlcXVpcmVIYXJkd2FyZUFjY2VsZXJhdGVkVmlkZW9FbmNvZGVyLCBrVlRD
b21wcmVzc2lvblByb3BlcnR5S2V5X1JlYWxUaW1lIH07CisrICBDRlR5cGVSZWYgc2Vzc2lvblZh
bHVlc1tdID0geyB3ZWJydGM6OmlzSDI2NEhhcmR3YXJlRW5jb2RlckFsbG93ZWQoKSA/IGtDRkJv
b2xlYW5UcnVlIDoga0NGQm9vbGVhbkZhbHNlLCB3ZWJydGM6OmlzSDI2NEhhcmR3YXJlRW5jb2Rl
ckFsbG93ZWQoKSA/IGtDRkJvb2xlYW5UcnVlIDoga0NGQm9vbGVhbkZhbHNlLCBrQ0ZCb29sZWFu
VHJ1ZSB9OworKyAgZW5jb2RlclNwZWNzID0gQ0ZEaWN0aW9uYXJ5Q3JlYXRlKGtDRkFsbG9jYXRv
ckRlZmF1bHQsIHNlc3Npb25LZXlzLCBzZXNzaW9uVmFsdWVzLCAzLCAma0NGVHlwZURpY3Rpb25h
cnlLZXlDYWxsQmFja3MsICZrQ0ZUeXBlRGljdGlvbmFyeVZhbHVlQ2FsbEJhY2tzKTsKKyAjZW5k
aWYKKyAgIE9TU3RhdHVzIHN0YXR1cyA9CisgICAgICAgQ29tcHJlc3Npb25TZXNzaW9uQ3JlYXRl
KG51bGxwdHIsICAvLyB1c2UgZGVmYXVsdCBhbGxvY2F0b3IKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBfd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
X2hlaWdodCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrQ29kZWNUeXBlSDI2
NCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmNvZGVyX3NwZWNzLCAgLy8g
dXNlIGhhcmR3YXJlIGFjY2VsZXJhdGVkIGVuY29kZXIgaWYgYXZhaWxhYmxlCisrICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZW5jb2RlclNwZWNzLCAgLy8gdXNlIGhhcmR3YXJlIGFj
Y2VsZXJhdGVkIGVuY29kZXIgaWYgYXZhaWxhYmxlCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc291cmNlQXR0cmlidXRlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBudWxscHRyLCAgLy8gdXNlIGRlZmF1bHQgY29tcHJlc3NlZCBkYXRhIGFsbG9jYXRvcgor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXByZXNzaW9uT3V0cHV0Q2FsbGJh
Y2ssCitAQCAtNTk4LDkgKzYzMCw5IEBAIC0gKGludClyZXNldENvbXByZXNzaW9uU2Vzc2lvbldp
dGhQaXhlbEZvcm1hdDooT1NUeXBlKWZyYW1lUGl4ZWxGb3JtYXQgeworICAgICBDRlJlbGVhc2Uo
c291cmNlQXR0cmlidXRlcyk7CisgICAgIHNvdXJjZUF0dHJpYnV0ZXMgPSBudWxscHRyOworICAg
fQorLSAgaWYgKGVuY29kZXJfc3BlY3MpIHsKKy0gICAgQ0ZSZWxlYXNlKGVuY29kZXJfc3BlY3Mp
OworLSAgICBlbmNvZGVyX3NwZWNzID0gbnVsbHB0cjsKKysgIGlmIChlbmNvZGVyU3BlY3MpIHsK
KysgICAgQ0ZSZWxlYXNlKGVuY29kZXJTcGVjcyk7CisrICAgIGVuY29kZXJTcGVjcyA9IG51bGxw
dHI7CisgICB9CisgICBpZiAoc3RhdHVzICE9IG5vRXJyKSB7CisgICAgIFJUQ19MT0coTFNfRVJS
T1IpIDw8ICJGYWlsZWQgdG8gY3JlYXRlIGNvbXByZXNzaW9uIHNlc3Npb246ICIgPDwgc3RhdHVz
OworQEAgLTYxNiw2ICs2NDgsNzggQEAgLSAoaW50KXJlc2V0Q29tcHJlc3Npb25TZXNzaW9uV2l0
aFBpeGVsRm9ybWF0OihPU1R5cGUpZnJhbWVQaXhlbEZvcm1hdCB7CisgICAgIFJUQ19MT0coTFNf
SU5GTykgPDwgIkNvbXByZXNzaW9uIHNlc3Npb24gY3JlYXRlZCB3aXRoIGh3IGFjY2wgZW5hYmxl
ZCI7CisgICB9IGVsc2UgeworICAgICBSVENfTE9HKExTX0lORk8pIDw8ICJDb21wcmVzc2lvbiBz
ZXNzaW9uIGNyZWF0ZWQgd2l0aCBodyBhY2NsIGRpc2FibGVkIjsKKysKKysjaWYgIUVOQUJMRV9W
Q1BfRU5DT0RFUiAmJiAhZGVmaW5lZChXRUJSVENfSU9TKQorKyAgICBpZiAoIWlzU3RhbmRhcmRG
cmFtZVNpemUoX3dpZHRoLCBfaGVpZ2h0KSkgeworKyAgICAgIFJUQ19MT0coTFNfRVJST1IpIDw8
ICJVc2luZyBIMjY0IHNvZnR3YXJlIGVuY29kZXIgd2l0aCBub24gc3RhbmRhcmQgc2l6ZSBpcyBu
b3Qgc3VwcG9ydGVkIjsKKysgICAgICByZXR1cm4gV0VCUlRDX1ZJREVPX0NPREVDX0VSUk9SOwor
KyAgICB9CisrCisrICAgIGlmICghZ2V0a1ZUVmlkZW9FbmNvZGVyU3BlY2lmaWNhdGlvbl9Vc2Fn
ZSgpKSB7CisrICAgICAgUlRDX0xPRyhMU19FUlJPUikgPDwgIlJUQ1ZpZGVvRW5jb2RlckgyNjQg
Y2Fubm90IGNyZWF0ZSBhIEgyNjQgc29mdHdhcmUgZW5jb2RlciI7CisrICAgICAgcmV0dXJuIFdF
QlJUQ19WSURFT19DT0RFQ19FUlJPUjsKKysgICAgfQorKworKyAgICBDRkRpY3Rpb25hcnlSZWYg
aW9TdXJmYWNlVmFsdWUgPSBDcmVhdGVDRlR5cGVEaWN0aW9uYXJ5KG51bGxwdHIsIG51bGxwdHIs
IDApOworKyAgICBpbnQ2NF90IHBpeGVsRm9ybWF0VHlwZSA9IGZyYW1lUGl4ZWxGb3JtYXQ7Cisr
ICAgIENGTnVtYmVyUmVmIHBpeGVsRm9ybWF0ID0gQ0ZOdW1iZXJDcmVhdGUobnVsbHB0ciwga0NG
TnVtYmVyTG9uZ1R5cGUsICZwaXhlbEZvcm1hdFR5cGUpOworKworKyAgICBjb25zdCBzaXplX3Qg
YXR0cmlidXRlc1NpemUgPSAzOworKyAgICBDRlR5cGVSZWYga2V5c1thdHRyaWJ1dGVzU2l6ZV0g
PSB7CisrICAgICAga0NWUGl4ZWxCdWZmZXJPcGVuR0xDb21wYXRpYmlsaXR5S2V5LAorKyAgICAg
IGtDVlBpeGVsQnVmZmVySU9TdXJmYWNlUHJvcGVydGllc0tleSwKKysgICAgICBrQ1ZQaXhlbEJ1
ZmZlclBpeGVsRm9ybWF0VHlwZUtleQorKyAgICB9OworKyAgICBDRlR5cGVSZWYgdmFsdWVzW2F0
dHJpYnV0ZXNTaXplXSA9IHsKKysgICAgICBrQ0ZCb29sZWFuVHJ1ZSwKKysgICAgICBpb1N1cmZh
Y2VWYWx1ZSwKKysgICAgICBwaXhlbEZvcm1hdH07CisrICAgIENGRGljdGlvbmFyeVJlZiBzb3Vy
Y2VBdHRyaWJ1dGVzID0gQ3JlYXRlQ0ZUeXBlRGljdGlvbmFyeShrZXlzLCB2YWx1ZXMsIGF0dHJp
YnV0ZXNTaXplKTsKKysKKysgICAgaWYgKGlvU3VyZmFjZVZhbHVlKSB7CisrICAgICAgQ0ZSZWxl
YXNlKGlvU3VyZmFjZVZhbHVlKTsKKysgICAgICBpb1N1cmZhY2VWYWx1ZSA9IG51bGxwdHI7Cisr
ICAgIH0KKysgICAgaWYgKHBpeGVsRm9ybWF0KSB7CisrICAgICAgQ0ZSZWxlYXNlKHBpeGVsRm9y
bWF0KTsKKysgICAgICBwaXhlbEZvcm1hdCA9IG51bGxwdHI7CisrICAgIH0KKysKKysgICAgQ0ZN
dXRhYmxlRGljdGlvbmFyeVJlZiBlbmNvZGVyU3BlY3MgPSBDRkRpY3Rpb25hcnlDcmVhdGVNdXRh
YmxlKG51bGxwdHIsIDIsICZrQ0ZUeXBlRGljdGlvbmFyeUtleUNhbGxCYWNrcywgJmtDRlR5cGVE
aWN0aW9uYXJ5VmFsdWVDYWxsQmFja3MpOworKyAgICBDRkRpY3Rpb25hcnlTZXRWYWx1ZShlbmNv
ZGVyU3BlY3MsIGtWVFZpZGVvRW5jb2RlclNwZWNpZmljYXRpb25fRW5hYmxlSGFyZHdhcmVBY2Nl
bGVyYXRlZFZpZGVvRW5jb2Rlciwga0NGQm9vbGVhbkZhbHNlKTsKKysgICAgaW50IHVzYWdlVmFs
dWUgPSAxOworKyAgICBDRk51bWJlclJlZiB1c2FnZSA9IENGTnVtYmVyQ3JlYXRlKG51bGxwdHIs
IGtDRk51bWJlckludFR5cGUsICZ1c2FnZVZhbHVlKTsKKysgICAgQ0ZEaWN0aW9uYXJ5U2V0VmFs
dWUoZW5jb2RlclNwZWNzLCBnZXRrVlRWaWRlb0VuY29kZXJTcGVjaWZpY2F0aW9uX1VzYWdlKCks
IHVzYWdlKTsKKysgICAgaWYgKHVzYWdlKSB7CisrICAgICAgQ0ZSZWxlYXNlKHVzYWdlKTsKKysg
ICAgICB1c2FnZSA9IG51bGxwdHI7CisrICAgIH0KKysKKysgICAgW3NlbGYgZGVzdHJveUNvbXBy
ZXNzaW9uU2Vzc2lvbl07CisrCisrICAgIE9TU3RhdHVzIHN0YXR1cyA9CisrICAgICAgQ29tcHJl
c3Npb25TZXNzaW9uQ3JlYXRlKG51bGxwdHIsICAvLyB1c2UgZGVmYXVsdCBhbGxvY2F0b3IKKysg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfd2lkdGgsCisrICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgX2hlaWdodCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBrQ29kZWNUeXBlSDI2NCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBl
bmNvZGVyU3BlY3MsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlQXR0
cmlidXRlcywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxscHRyLCAgLy8g
dXNlIGRlZmF1bHQgY29tcHJlc3NlZCBkYXRhIGFsbG9jYXRvcgorKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbXByZXNzaW9uT3V0cHV0Q2FsbGJhY2ssCisrICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbnVsbHB0ciwKKysgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAmX2NvbXByZXNzaW9uU2Vzc2lvbik7CisrICAgIGlmIChzb3VyY2VBdHRyaWJ1dGVz
KSB7CisrICAgICAgQ0ZSZWxlYXNlKHNvdXJjZUF0dHJpYnV0ZXMpOworKyAgICAgIHNvdXJjZUF0
dHJpYnV0ZXMgPSBudWxscHRyOworKyAgICB9CisrICAgIGlmIChlbmNvZGVyX3NwZWNzKSB7Cisr
ICAgICAgQ0ZSZWxlYXNlKGVuY29kZXJfc3BlY3MpOworKyAgICAgIGVuY29kZXJfc3BlY3MgPSBu
dWxscHRyOworKyAgICB9CisrICAgIGlmIChzdGF0dXMgIT0gbm9FcnIpIHsKKysgICAgICByZXR1
cm4gV0VCUlRDX1ZJREVPX0NPREVDX0VSUk9SOworKyAgICB9CisrI2VuZGlmCisgICB9CisgI2Vu
ZGlmCisgICBbc2VsZiBjb25maWd1cmVDb21wcmVzc2lvblNlc3Npb25dOworQEAgLTYyNyw2ICs3
MzEsOSBAQCAtICh2b2lkKWNvbmZpZ3VyZUNvbXByZXNzaW9uU2Vzc2lvbiB7CisgICBTZXRWVFNl
c3Npb25Qcm9wZXJ0eShfY29tcHJlc3Npb25TZXNzaW9uLCBrVlRDb21wcmVzc2lvblByb3BlcnR5
S2V5X1JlYWxUaW1lLCB0cnVlKTsKKyAgIFNldFZUU2Vzc2lvblByb3BlcnR5KF9jb21wcmVzc2lv
blNlc3Npb24sIGtWVENvbXByZXNzaW9uUHJvcGVydHlLZXlfUHJvZmlsZUxldmVsLCBfcHJvZmls
ZSk7CisgICBTZXRWVFNlc3Npb25Qcm9wZXJ0eShfY29tcHJlc3Npb25TZXNzaW9uLCBrVlRDb21w
cmVzc2lvblByb3BlcnR5S2V5X0FsbG93RnJhbWVSZW9yZGVyaW5nLCBmYWxzZSk7CisrI2lmIEVO
QUJMRV9WQ1BfRU5DT0RFUgorKyAgU2V0VlRTZXNzaW9uUHJvcGVydHkoX2NvbXByZXNzaW9uU2Vz
c2lvbiwgKF9fYnJpZGdlIENGU3RyaW5nUmVmKWdldGtWVFZpZGVvRW5jb2RlclNwZWNpZmljYXRp
b25fVXNhZ2UoKSwgMSk7CisrI2VuZGlmCisgICBbc2VsZiBzZXRFbmNvZGVyQml0cmF0ZUJwczpf
dGFyZ2V0Qml0cmF0ZUJwc107CisgICAvLyBUT0RPKHRrY2hpbik6IExvb2sgYXQgZW50cm9weSBt
b2RlIGFuZCBjb2xvcnNwYWNlIG1hdHJpY2VzLgorICAgLy8gVE9ETyh0a2NoaW4pOiBJbnZlc3Rp
Z2F0ZSB0byBzZWUgaWYgdGhlcmUncyBhbnkgd2F5IHRvIG1ha2UgdGhpcyB3b3JrLgorLS0gCisy
LjE1LjEgKEFwcGxlIEdpdC0xMDEpCisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>338459</attachid>
            <date>2018-04-20 14:16:31 -0700</date>
            <delta_ts>2018-04-20 15:28:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184835-20180420141630.patch</filename>
            <type>text/plain</type>
            <size>13331</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwODM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCAwY2VhNDc3YzU1N2U2NTJiOWE1NTRhMWI4MTY2NjRhNGUyMjVlZmQzLi43Y2E5
OTEyNzNhNzYwNDJkNDBhNTY3YjhiNTMyYzhhNjU5ZGJjYzk4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxOC0wNC0yMCAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWFuZGF0ZSBIMjY0IGhhcmR3YXJl
IGVuY29kZXIgZm9yIE1hYyBpbiBsaWJ3ZWJydGMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDgzNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRlc3RlZCBtYW51YWxseSB0aHJvdWdoIGNvbnNvbGUgdHJh
Y2VzIHRoYXQgaGFyZHdhcmUgVkNQIGVuY29kZXIgY29kZSBwYXRoIGlzIGFjdHVhbGx5IHVzZWQg
aW5zdGVhZCBvZiBzb2Z0d2FyZSBWQ1AgZW5jb2RlciBjb2RlIHBhdGguCisKKyAgICAgICAgKiBT
b3VyY2Uvd2VicnRjL3Nkay9vYmpjL0ZyYW1ld29yay9DbGFzc2VzL1ZpZGVvVG9vbGJveC9SVENW
aWRlb0VuY29kZXJIMjY0Lm1tOgorICAgICAgICAoLVtSVENWaWRlb0VuY29kZXJIMjY0IHJlc2V0
Q29tcHJlc3Npb25TZXNzaW9uV2l0aFBpeGVsRm9ybWF0Ol0pOgorICAgICAgICAqIFdlYktpdC8w
MDAxLVVwZGF0ZS1SVENWaWRlb0VuY29kZXJIMjY0Lm1tLWZvci1XZWJLaXQucGF0Y2g6IEFkZGVk
IHRvIGNvdmVyIHRoaXMgY2hhbmdlIGFuZCBjaGFuZ2VzIG1hZGUgaW4gYnVnIDE4NDY2OCBhbmQg
MTgzOTYxLgorCiAyMDE4LTA0LTE5ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+
CiAKICAgICAgICAgRW5hYmxlIE9iamVjdGl2ZS1DIHdlYWsgcmVmZXJlbmNlcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL29iamMvRnJh
bWV3b3JrL0NsYXNzZXMvVmlkZW9Ub29sYm94L1JUQ1ZpZGVvRW5jb2RlckgyNjQubW0gYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9GcmFtZXdvcmsv
Q2xhc3Nlcy9WaWRlb1Rvb2xib3gvUlRDVmlkZW9FbmNvZGVySDI2NC5tbQppbmRleCBiYzc0Mzdm
MGMxMGNlODIxNDhiNGIwOTNhYjhkNTQyNjBhY2VkMjU0Li40MGU1MWEyMmNmZTY1MjJmNDFmODZk
NWU0N2RhYjdiMTdjZGI3MmYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9GcmFtZXdvcmsvQ2xhc3Nlcy9WaWRlb1Rvb2xib3gv
UlRDVmlkZW9FbmNvZGVySDI2NC5tbQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9GcmFtZXdvcmsvQ2xhc3Nlcy9WaWRlb1Rvb2xib3gvUlRD
VmlkZW9FbmNvZGVySDI2NC5tbQpAQCAtNjA3LDIyICs2MDcsMjAgQEAgLSAoaW50KXJlc2V0Q29t
cHJlc3Npb25TZXNzaW9uV2l0aFBpeGVsRm9ybWF0OihPU1R5cGUpZnJhbWVQaXhlbEZvcm1hdCB7
CiAgICAgQ0ZSZWxlYXNlKHBpeGVsRm9ybWF0KTsKICAgICBwaXhlbEZvcm1hdCA9IG51bGxwdHI7
CiAgIH0KLSAgQ0ZNdXRhYmxlRGljdGlvbmFyeVJlZiBlbmNvZGVyX3NwZWNzID0gbnVsbHB0cjsK
KyAgQ0ZEaWN0aW9uYXJ5UmVmIGVuY29kZXJTcGVjcyA9IG51bGxwdHI7CiAjaWYgZGVmaW5lZChX
RUJSVENfTUFDKSAmJiAhZGVmaW5lZChXRUJSVENfSU9TKQogICAvLyBDdXJyZW50bHkgaHcgYWNj
bCBpcyBzdXBwb3J0ZWQgYWJvdmUgMzYwcCBvbiBtYWMsIGJlbG93IDM2MHAKICAgLy8gdGhlIGNv
bXByZXNzaW9uIHNlc3Npb24gd2lsbCBiZSBjcmVhdGVkIHdpdGggaHcgYWNjbCBkaXNhYmxlZC4K
LSAgZW5jb2Rlcl9zcGVjcyA9IENGRGljdGlvbmFyeUNyZWF0ZU11dGFibGUoCi0gICAgICBudWxs
cHRyLCAxLCAma0NGVHlwZURpY3Rpb25hcnlLZXlDYWxsQmFja3MsICZrQ0ZUeXBlRGljdGlvbmFy
eVZhbHVlQ2FsbEJhY2tzKTsKLSAgQ0ZEaWN0aW9uYXJ5U2V0VmFsdWUoZW5jb2Rlcl9zcGVjcywK
LSAgICAgICAgICAgICAgICAgICAgICAga1ZUVmlkZW9FbmNvZGVyU3BlY2lmaWNhdGlvbl9FbmFi
bGVIYXJkd2FyZUFjY2VsZXJhdGVkVmlkZW9FbmNvZGVyLAotICAgICAgICAgICAgICAgICAgICAg
ICB3ZWJydGM6OmlzSDI2NEhhcmR3YXJlRW5jb2RlckFsbG93ZWQoKSA/IGtDRkJvb2xlYW5UcnVl
IDoga0NGQm9vbGVhbkZhbHNlKTsKKyAgQ0ZUeXBlUmVmIHNlc3Npb25LZXlzW10gPSB7a1ZUVmlk
ZW9FbmNvZGVyU3BlY2lmaWNhdGlvbl9FbmFibGVIYXJkd2FyZUFjY2VsZXJhdGVkVmlkZW9FbmNv
ZGVyLCBrVlRWaWRlb0VuY29kZXJTcGVjaWZpY2F0aW9uX1JlcXVpcmVIYXJkd2FyZUFjY2VsZXJh
dGVkVmlkZW9FbmNvZGVyLCBrVlRDb21wcmVzc2lvblByb3BlcnR5S2V5X1JlYWxUaW1lIH07Cisg
IENGVHlwZVJlZiBzZXNzaW9uVmFsdWVzW10gPSB7IHdlYnJ0Yzo6aXNIMjY0SGFyZHdhcmVFbmNv
ZGVyQWxsb3dlZCgpID8ga0NGQm9vbGVhblRydWUgOiBrQ0ZCb29sZWFuRmFsc2UsIHdlYnJ0Yzo6
aXNIMjY0SGFyZHdhcmVFbmNvZGVyQWxsb3dlZCgpID8ga0NGQm9vbGVhblRydWUgOiBrQ0ZCb29s
ZWFuRmFsc2UsIGtDRkJvb2xlYW5UcnVlIH07CisgIGVuY29kZXJTcGVjcyA9IENGRGljdGlvbmFy
eUNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBzZXNzaW9uS2V5cywgc2Vzc2lvblZhbHVlcywg
MywgJmtDRlR5cGVEaWN0aW9uYXJ5S2V5Q2FsbEJhY2tzLCAma0NGVHlwZURpY3Rpb25hcnlWYWx1
ZUNhbGxCYWNrcyk7CiAjZW5kaWYKICAgT1NTdGF0dXMgc3RhdHVzID0KICAgICAgIENvbXByZXNz
aW9uU2Vzc2lvbkNyZWF0ZShudWxscHRyLCAgLy8gdXNlIGRlZmF1bHQgYWxsb2NhdG9yCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfd2lkdGgsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBfaGVpZ2h0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
a0NvZGVjVHlwZUgyNjQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmNvZGVy
X3NwZWNzLCAgLy8gdXNlIGhhcmR3YXJlIGFjY2VsZXJhdGVkIGVuY29kZXIgaWYgYXZhaWxhYmxl
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmNvZGVyU3BlY3MsICAvLyB1c2Ug
aGFyZHdhcmUgYWNjZWxlcmF0ZWQgZW5jb2RlciBpZiBhdmFpbGFibGUKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNvdXJjZUF0dHJpYnV0ZXMsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBudWxscHRyLCAgLy8gdXNlIGRlZmF1bHQgY29tcHJlc3NlZCBkYXRhIGFs
bG9jYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcHJlc3Npb25PdXRw
dXRDYWxsYmFjaywKQEAgLTYzMiw5ICs2MzAsOSBAQCAtIChpbnQpcmVzZXRDb21wcmVzc2lvblNl
c3Npb25XaXRoUGl4ZWxGb3JtYXQ6KE9TVHlwZSlmcmFtZVBpeGVsRm9ybWF0IHsKICAgICBDRlJl
bGVhc2Uoc291cmNlQXR0cmlidXRlcyk7CiAgICAgc291cmNlQXR0cmlidXRlcyA9IG51bGxwdHI7
CiAgIH0KLSAgaWYgKGVuY29kZXJfc3BlY3MpIHsKLSAgICBDRlJlbGVhc2UoZW5jb2Rlcl9zcGVj
cyk7Ci0gICAgZW5jb2Rlcl9zcGVjcyA9IG51bGxwdHI7CisgIGlmIChlbmNvZGVyU3BlY3MpIHsK
KyAgICBDRlJlbGVhc2UoZW5jb2RlclNwZWNzKTsKKyAgICBlbmNvZGVyU3BlY3MgPSBudWxscHRy
OwogICB9CiAgIGlmIChzdGF0dXMgIT0gbm9FcnIpIHsKICAgICBSVENfTE9HKExTX0VSUk9SKSA8
PCAiRmFpbGVkIHRvIGNyZWF0ZSBjb21wcmVzc2lvbiBzZXNzaW9uOiAiIDw8IHN0YXR1czsKQEAg
LTcxNCw5ICs3MTIsOSBAQCAtIChpbnQpcmVzZXRDb21wcmVzc2lvblNlc3Npb25XaXRoUGl4ZWxG
b3JtYXQ6KE9TVHlwZSlmcmFtZVBpeGVsRm9ybWF0IHsKICAgICAgIENGUmVsZWFzZShzb3VyY2VB
dHRyaWJ1dGVzKTsKICAgICAgIHNvdXJjZUF0dHJpYnV0ZXMgPSBudWxscHRyOwogICAgIH0KLSAg
ICBpZiAoZW5jb2Rlcl9zcGVjcykgewotICAgICAgQ0ZSZWxlYXNlKGVuY29kZXJfc3BlY3MpOwot
ICAgICAgZW5jb2Rlcl9zcGVjcyA9IG51bGxwdHI7CisgICAgaWYgKGVuY29kZXJTcGVjcykgewor
ICAgICAgQ0ZSZWxlYXNlKGVuY29kZXJTcGVjcyk7CisgICAgICBlbmNvZGVyU3BlY3MgPSBudWxs
cHRyOwogICAgIH0KICAgICBpZiAoc3RhdHVzICE9IG5vRXJyKSB7CiAgICAgICByZXR1cm4gV0VC
UlRDX1ZJREVPX0NPREVDX0VSUk9SOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1dlYktpdC8wMDAxLVVwZGF0ZS1SVENWaWRlb0VuY29kZXJIMjY0Lm1tLWZvci1XZWJL
aXQucGF0Y2ggYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvV2ViS2l0LzAwMDEtVXBkYXRl
LVJUQ1ZpZGVvRW5jb2RlckgyNjQubW0tZm9yLVdlYktpdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOThh
MDllODQxZjQ1YTAzNDM1NzZmNjNkYjc2OGE3NjFmNWUxNTM4Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1dlYktpdC8wMDAxLVVwZGF0ZS1SVENWaWRlb0Vu
Y29kZXJIMjY0Lm1tLWZvci1XZWJLaXQucGF0Y2gKQEAgLTAsMCArMSwxODggQEAKK0Zyb20gNGE3
YjY5MTViMWJjZGNmZDE3ZWFlODkxMGE1NTExNmJmNTU5NGEyYiBNb24gU2VwIDE3IDAwOjAwOjAw
IDIwMDEKK0Zyb206IFlvdWVubiBGYWJsZXQgPHlvdWVubkBhcHBsZS5jb20+CitEYXRlOiBGcmks
IDIwIEFwciAyMDE4IDEzOjQzOjU5IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIFVwZGF0ZSBSVENW
aWRlb0VuY29kZXJIMjY0Lm1tIGZvciBXZWJLaXQKKworVGhpcyByZXZlcnRzIGNvbW1pdCA0NTVh
YzljZWQ5YjNjNWE5MzhiMTg5Yzk1NTYwMjgxOWRkOGViM2I2LgorLS0tCisgLi4uL0NsYXNzZXMv
VmlkZW9Ub29sYm94L1JUQ1ZpZGVvRW5jb2RlckgyNjQubW0gICAgfCAxMjcgKysrKysrKysrKysr
KysrKysrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDExNyBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlv
bnMoLSkKKworZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uv
d2VicnRjL3Nkay9vYmpjL0ZyYW1ld29yay9DbGFzc2VzL1ZpZGVvVG9vbGJveC9SVENWaWRlb0Vu
Y29kZXJIMjY0Lm1tIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMv
c2RrL29iamMvRnJhbWV3b3JrL0NsYXNzZXMvVmlkZW9Ub29sYm94L1JUQ1ZpZGVvRW5jb2Rlckgy
NjQubW0KK2luZGV4IDhjMjdlNzY2N2NkLi42YTE3ODg5YWU3YiAxMDA2NDQKKy0tLSBhL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9vYmpjL0ZyYW1ld29yay9D
bGFzc2VzL1ZpZGVvVG9vbGJveC9SVENWaWRlb0VuY29kZXJIMjY0Lm1tCisrKysgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9GcmFtZXdvcmsvQ2xh
c3Nlcy9WaWRlb1Rvb2xib3gvUlRDVmlkZW9FbmNvZGVySDI2NC5tbQorQEAgLTM4LDYgKzM4LDQw
IEBACisgI2luY2x1ZGUgInNkay9XZWJLaXQvRW5jb2RlclV0aWxpdGllcy5oIgorICNpbmNsdWRl
ICJzZGsvV2ViS2l0L1dlYktpdFV0aWxpdGllcy5oIgorIAorKyNpbXBvcnQgPGRsZmNuLmg+Cisr
I2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+CisrCisrU09GVF9MSU5LX0ZSQU1FV09SS19PUFRJT05B
TChWaWRlb1Rvb2xCb3gpCisrU09GVF9MSU5LX1BPSU5URVJfT1BUSU9OQUwoVmlkZW9Ub29sQm94
LCBrVlRWaWRlb0VuY29kZXJTcGVjaWZpY2F0aW9uX1VzYWdlLCBOU1N0cmluZyAqKQorKworKyNp
ZiAhRU5BQkxFX1ZDUF9FTkNPREVSICYmICFkZWZpbmVkKFdFQlJUQ19JT1MpCisrc3RhdGljIGlu
bGluZSBib29sIGlzU3RhbmRhcmRGcmFtZVNpemUoaW50MzJfdCB3aWR0aCwgaW50MzJfdCBoZWln
aHQpCisreworKyAgICAvLyBGSVhNRTogRW52aXNpb24gcmVsYXhpbmcgdGhpcyBydWxlLCBzb21l
dGhpbmcgbGlrZSB3aWR0aCBhbmQgaGVpZ2h0IGRpdmlkYWJsZSBieSA0IG9yIDggc2hvdWxkIGJl
IGdvb2QgZW5vdWdoLgorKyAgICBpZiAod2lkdGggPT0gMTI4MCkKKysgICAgICAgIHJldHVybiBo
ZWlnaHQgPT0gNzIwOworKyAgICBpZiAod2lkdGggPT0gNzIwKQorKyAgICAgICAgcmV0dXJuIGhl
aWdodCA9PSAxMjgwOworKyAgICBpZiAod2lkdGggPT0gOTYwKQorKyAgICAgICAgcmV0dXJuIGhl
aWdodCA9PSA1NDA7CisrICAgIGlmICh3aWR0aCA9PSA1NDApCisrICAgICAgICByZXR1cm4gaGVp
Z2h0ID09IDk2MDsKKysgICAgaWYgKHdpZHRoID09IDY0MCkKKysgICAgICAgIHJldHVybiBoZWln
aHQgPT0gNDgwOworKyAgICBpZiAod2lkdGggPT0gNDgwKQorKyAgICAgICAgcmV0dXJuIGhlaWdo
dCA9PSA2NDA7CisrICAgIGlmICh3aWR0aCA9PSAyODgpCisrICAgICAgICByZXR1cm4gaGVpZ2h0
ID09IDM1MjsKKysgICAgaWYgKHdpZHRoID09IDM1MikKKysgICAgICAgIHJldHVybiBoZWlnaHQg
PT0gMjg4OworKyAgICBpZiAod2lkdGggPT0gMzIwKQorKyAgICAgICAgcmV0dXJuIGhlaWdodCA9
PSAyNDA7CisrICAgIGlmICh3aWR0aCA9PSAyNDApCisrICAgICAgICByZXR1cm4gaGVpZ2h0ID09
IDMyMDsKKysgICAgcmV0dXJuIGZhbHNlOworK30KKysjZW5kaWYKKysKKyBAaW50ZXJmYWNlIFJU
Q1ZpZGVvRW5jb2RlckgyNjQgKCkKKyAKKyAtICh2b2lkKWZyYW1lV2FzRW5jb2RlZDooT1NTdGF0
dXMpc3RhdHVzCitAQCAtNTczLDIyICs2MDcsMjAgQEAgLSAoaW50KXJlc2V0Q29tcHJlc3Npb25T
ZXNzaW9uV2l0aFBpeGVsRm9ybWF0OihPU1R5cGUpZnJhbWVQaXhlbEZvcm1hdCB7CisgICAgIENG
UmVsZWFzZShwaXhlbEZvcm1hdCk7CisgICAgIHBpeGVsRm9ybWF0ID0gbnVsbHB0cjsKKyAgIH0K
Ky0gIENGTXV0YWJsZURpY3Rpb25hcnlSZWYgZW5jb2Rlcl9zcGVjcyA9IG51bGxwdHI7CisrICBD
RkRpY3Rpb25hcnlSZWYgZW5jb2RlclNwZWNzID0gbnVsbHB0cjsKKyAjaWYgZGVmaW5lZChXRUJS
VENfTUFDKSAmJiAhZGVmaW5lZChXRUJSVENfSU9TKQorICAgLy8gQ3VycmVudGx5IGh3IGFjY2wg
aXMgc3VwcG9ydGVkIGFib3ZlIDM2MHAgb24gbWFjLCBiZWxvdyAzNjBwCisgICAvLyB0aGUgY29t
cHJlc3Npb24gc2Vzc2lvbiB3aWxsIGJlIGNyZWF0ZWQgd2l0aCBodyBhY2NsIGRpc2FibGVkLgor
LSAgZW5jb2Rlcl9zcGVjcyA9IENGRGljdGlvbmFyeUNyZWF0ZU11dGFibGUoCistICAgICAgbnVs
bHB0ciwgMSwgJmtDRlR5cGVEaWN0aW9uYXJ5S2V5Q2FsbEJhY2tzLCAma0NGVHlwZURpY3Rpb25h
cnlWYWx1ZUNhbGxCYWNrcyk7CistICBDRkRpY3Rpb25hcnlTZXRWYWx1ZShlbmNvZGVyX3NwZWNz
LAorLSAgICAgICAgICAgICAgICAgICAgICAga1ZUVmlkZW9FbmNvZGVyU3BlY2lmaWNhdGlvbl9F
bmFibGVIYXJkd2FyZUFjY2VsZXJhdGVkVmlkZW9FbmNvZGVyLAorLSAgICAgICAgICAgICAgICAg
ICAgICAgd2VicnRjOjppc0gyNjRIYXJkd2FyZUVuY29kZXJBbGxvd2VkKCkgPyBrQ0ZCb29sZWFu
VHJ1ZSA6IGtDRkJvb2xlYW5GYWxzZSk7CisrICBDRlR5cGVSZWYgc2Vzc2lvbktleXNbXSA9IHtr
VlRWaWRlb0VuY29kZXJTcGVjaWZpY2F0aW9uX0VuYWJsZUhhcmR3YXJlQWNjZWxlcmF0ZWRWaWRl
b0VuY29kZXIsIGtWVFZpZGVvRW5jb2RlclNwZWNpZmljYXRpb25fUmVxdWlyZUhhcmR3YXJlQWNj
ZWxlcmF0ZWRWaWRlb0VuY29kZXIsIGtWVENvbXByZXNzaW9uUHJvcGVydHlLZXlfUmVhbFRpbWUg
fTsKKysgIENGVHlwZVJlZiBzZXNzaW9uVmFsdWVzW10gPSB7IHdlYnJ0Yzo6aXNIMjY0SGFyZHdh
cmVFbmNvZGVyQWxsb3dlZCgpID8ga0NGQm9vbGVhblRydWUgOiBrQ0ZCb29sZWFuRmFsc2UsIHdl
YnJ0Yzo6aXNIMjY0SGFyZHdhcmVFbmNvZGVyQWxsb3dlZCgpID8ga0NGQm9vbGVhblRydWUgOiBr
Q0ZCb29sZWFuRmFsc2UsIGtDRkJvb2xlYW5UcnVlIH07CisrICBlbmNvZGVyU3BlY3MgPSBDRkRp
Y3Rpb25hcnlDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgc2Vzc2lvbktleXMsIHNlc3Npb25W
YWx1ZXMsIDMsICZrQ0ZUeXBlRGljdGlvbmFyeUtleUNhbGxCYWNrcywgJmtDRlR5cGVEaWN0aW9u
YXJ5VmFsdWVDYWxsQmFja3MpOworICNlbmRpZgorICAgT1NTdGF0dXMgc3RhdHVzID0KKyAgICAg
ICBDb21wcmVzc2lvblNlc3Npb25DcmVhdGUobnVsbHB0ciwgIC8vIHVzZSBkZWZhdWx0IGFsbG9j
YXRvcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF93aWR0aCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBfaGVpZ2h0LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGtDb2RlY1R5cGVIMjY0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGVuY29kZXJfc3BlY3MsICAvLyB1c2UgaGFyZHdhcmUgYWNjZWxlcmF0ZWQgZW5jb2Rl
ciBpZiBhdmFpbGFibGUKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmNvZGVy
U3BlY3MsICAvLyB1c2UgaGFyZHdhcmUgYWNjZWxlcmF0ZWQgZW5jb2RlciBpZiBhdmFpbGFibGUK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VBdHRyaWJ1dGVzLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGxwdHIsICAvLyB1c2UgZGVmYXVsdCBj
b21wcmVzc2VkIGRhdGEgYWxsb2NhdG9yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29tcHJlc3Npb25PdXRwdXRDYWxsYmFjaywKK0BAIC01OTgsOSArNjMwLDkgQEAgLSAoaW50
KXJlc2V0Q29tcHJlc3Npb25TZXNzaW9uV2l0aFBpeGVsRm9ybWF0OihPU1R5cGUpZnJhbWVQaXhl
bEZvcm1hdCB7CisgICAgIENGUmVsZWFzZShzb3VyY2VBdHRyaWJ1dGVzKTsKKyAgICAgc291cmNl
QXR0cmlidXRlcyA9IG51bGxwdHI7CisgICB9CistICBpZiAoZW5jb2Rlcl9zcGVjcykgeworLSAg
ICBDRlJlbGVhc2UoZW5jb2Rlcl9zcGVjcyk7CistICAgIGVuY29kZXJfc3BlY3MgPSBudWxscHRy
OworKyAgaWYgKGVuY29kZXJTcGVjcykgeworKyAgICBDRlJlbGVhc2UoZW5jb2RlclNwZWNzKTsK
KysgICAgZW5jb2RlclNwZWNzID0gbnVsbHB0cjsKKyAgIH0KKyAgIGlmIChzdGF0dXMgIT0gbm9F
cnIpIHsKKyAgICAgUlRDX0xPRyhMU19FUlJPUikgPDwgIkZhaWxlZCB0byBjcmVhdGUgY29tcHJl
c3Npb24gc2Vzc2lvbjogIiA8PCBzdGF0dXM7CitAQCAtNjE2LDYgKzY0OCw3OCBAQCAtIChpbnQp
cmVzZXRDb21wcmVzc2lvblNlc3Npb25XaXRoUGl4ZWxGb3JtYXQ6KE9TVHlwZSlmcmFtZVBpeGVs
Rm9ybWF0IHsKKyAgICAgUlRDX0xPRyhMU19JTkZPKSA8PCAiQ29tcHJlc3Npb24gc2Vzc2lvbiBj
cmVhdGVkIHdpdGggaHcgYWNjbCBlbmFibGVkIjsKKyAgIH0gZWxzZSB7CisgICAgIFJUQ19MT0co
TFNfSU5GTykgPDwgIkNvbXByZXNzaW9uIHNlc3Npb24gY3JlYXRlZCB3aXRoIGh3IGFjY2wgZGlz
YWJsZWQiOworKworKyNpZiAhRU5BQkxFX1ZDUF9FTkNPREVSICYmICFkZWZpbmVkKFdFQlJUQ19J
T1MpCisrICAgIGlmICghaXNTdGFuZGFyZEZyYW1lU2l6ZShfd2lkdGgsIF9oZWlnaHQpKSB7Cisr
ICAgICAgUlRDX0xPRyhMU19FUlJPUikgPDwgIlVzaW5nIEgyNjQgc29mdHdhcmUgZW5jb2RlciB3
aXRoIG5vbiBzdGFuZGFyZCBzaXplIGlzIG5vdCBzdXBwb3J0ZWQiOworKyAgICAgIHJldHVybiBX
RUJSVENfVklERU9fQ09ERUNfRVJST1I7CisrICAgIH0KKysKKysgICAgaWYgKCFnZXRrVlRWaWRl
b0VuY29kZXJTcGVjaWZpY2F0aW9uX1VzYWdlKCkpIHsKKysgICAgICBSVENfTE9HKExTX0VSUk9S
KSA8PCAiUlRDVmlkZW9FbmNvZGVySDI2NCBjYW5ub3QgY3JlYXRlIGEgSDI2NCBzb2Z0d2FyZSBl
bmNvZGVyIjsKKysgICAgICByZXR1cm4gV0VCUlRDX1ZJREVPX0NPREVDX0VSUk9SOworKyAgICB9
CisrCisrICAgIENGRGljdGlvbmFyeVJlZiBpb1N1cmZhY2VWYWx1ZSA9IENyZWF0ZUNGVHlwZURp
Y3Rpb25hcnkobnVsbHB0ciwgbnVsbHB0ciwgMCk7CisrICAgIGludDY0X3QgcGl4ZWxGb3JtYXRU
eXBlID0gZnJhbWVQaXhlbEZvcm1hdDsKKysgICAgQ0ZOdW1iZXJSZWYgcGl4ZWxGb3JtYXQgPSBD
Rk51bWJlckNyZWF0ZShudWxscHRyLCBrQ0ZOdW1iZXJMb25nVHlwZSwgJnBpeGVsRm9ybWF0VHlw
ZSk7CisrCisrICAgIGNvbnN0IHNpemVfdCBhdHRyaWJ1dGVzU2l6ZSA9IDM7CisrICAgIENGVHlw
ZVJlZiBrZXlzW2F0dHJpYnV0ZXNTaXplXSA9IHsKKysgICAgICBrQ1ZQaXhlbEJ1ZmZlck9wZW5H
TENvbXBhdGliaWxpdHlLZXksCisrICAgICAga0NWUGl4ZWxCdWZmZXJJT1N1cmZhY2VQcm9wZXJ0
aWVzS2V5LAorKyAgICAgIGtDVlBpeGVsQnVmZmVyUGl4ZWxGb3JtYXRUeXBlS2V5CisrICAgIH07
CisrICAgIENGVHlwZVJlZiB2YWx1ZXNbYXR0cmlidXRlc1NpemVdID0geworKyAgICAgIGtDRkJv
b2xlYW5UcnVlLAorKyAgICAgIGlvU3VyZmFjZVZhbHVlLAorKyAgICAgIHBpeGVsRm9ybWF0fTsK
KysgICAgQ0ZEaWN0aW9uYXJ5UmVmIHNvdXJjZUF0dHJpYnV0ZXMgPSBDcmVhdGVDRlR5cGVEaWN0
aW9uYXJ5KGtleXMsIHZhbHVlcywgYXR0cmlidXRlc1NpemUpOworKworKyAgICBpZiAoaW9TdXJm
YWNlVmFsdWUpIHsKKysgICAgICBDRlJlbGVhc2UoaW9TdXJmYWNlVmFsdWUpOworKyAgICAgIGlv
U3VyZmFjZVZhbHVlID0gbnVsbHB0cjsKKysgICAgfQorKyAgICBpZiAocGl4ZWxGb3JtYXQpIHsK
KysgICAgICBDRlJlbGVhc2UocGl4ZWxGb3JtYXQpOworKyAgICAgIHBpeGVsRm9ybWF0ID0gbnVs
bHB0cjsKKysgICAgfQorKworKyAgICBDRk11dGFibGVEaWN0aW9uYXJ5UmVmIGVuY29kZXJTcGVj
cyA9IENGRGljdGlvbmFyeUNyZWF0ZU11dGFibGUobnVsbHB0ciwgMiwgJmtDRlR5cGVEaWN0aW9u
YXJ5S2V5Q2FsbEJhY2tzLCAma0NGVHlwZURpY3Rpb25hcnlWYWx1ZUNhbGxCYWNrcyk7CisrICAg
IENGRGljdGlvbmFyeVNldFZhbHVlKGVuY29kZXJTcGVjcywga1ZUVmlkZW9FbmNvZGVyU3BlY2lm
aWNhdGlvbl9FbmFibGVIYXJkd2FyZUFjY2VsZXJhdGVkVmlkZW9FbmNvZGVyLCBrQ0ZCb29sZWFu
RmFsc2UpOworKyAgICBpbnQgdXNhZ2VWYWx1ZSA9IDE7CisrICAgIENGTnVtYmVyUmVmIHVzYWdl
ID0gQ0ZOdW1iZXJDcmVhdGUobnVsbHB0ciwga0NGTnVtYmVySW50VHlwZSwgJnVzYWdlVmFsdWUp
OworKyAgICBDRkRpY3Rpb25hcnlTZXRWYWx1ZShlbmNvZGVyU3BlY3MsIGdldGtWVFZpZGVvRW5j
b2RlclNwZWNpZmljYXRpb25fVXNhZ2UoKSwgdXNhZ2UpOworKyAgICBpZiAodXNhZ2UpIHsKKysg
ICAgICBDRlJlbGVhc2UodXNhZ2UpOworKyAgICAgIHVzYWdlID0gbnVsbHB0cjsKKysgICAgfQor
KworKyAgICBbc2VsZiBkZXN0cm95Q29tcHJlc3Npb25TZXNzaW9uXTsKKysKKysgICAgT1NTdGF0
dXMgc3RhdHVzID0KKysgICAgICBDb21wcmVzc2lvblNlc3Npb25DcmVhdGUobnVsbHB0ciwgIC8v
IHVzZSBkZWZhdWx0IGFsbG9jYXRvcgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IF93aWR0aCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfaGVpZ2h0LAorKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtDb2RlY1R5cGVIMjY0LAorKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGVuY29kZXJTcGVjcywKKysgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzb3VyY2VBdHRyaWJ1dGVzLAorKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG51bGxwdHIsICAvLyB1c2UgZGVmYXVsdCBjb21wcmVzc2VkIGRhdGEgYWxs
b2NhdG9yCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcHJlc3Npb25PdXRw
dXRDYWxsYmFjaywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxscHRyLAor
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZfY29tcHJlc3Npb25TZXNzaW9uKTsK
KysgICAgaWYgKHNvdXJjZUF0dHJpYnV0ZXMpIHsKKysgICAgICBDRlJlbGVhc2Uoc291cmNlQXR0
cmlidXRlcyk7CisrICAgICAgc291cmNlQXR0cmlidXRlcyA9IG51bGxwdHI7CisrICAgIH0KKysg
ICAgaWYgKGVuY29kZXJfc3BlY3MpIHsKKysgICAgICBDRlJlbGVhc2UoZW5jb2Rlcl9zcGVjcyk7
CisrICAgICAgZW5jb2Rlcl9zcGVjcyA9IG51bGxwdHI7CisrICAgIH0KKysgICAgaWYgKHN0YXR1
cyAhPSBub0VycikgeworKyAgICAgIHJldHVybiBXRUJSVENfVklERU9fQ09ERUNfRVJST1I7Cisr
ICAgIH0KKysjZW5kaWYKKyAgIH0KKyAjZW5kaWYKKyAgIFtzZWxmIGNvbmZpZ3VyZUNvbXByZXNz
aW9uU2Vzc2lvbl07CitAQCAtNjI3LDYgKzczMSw5IEBAIC0gKHZvaWQpY29uZmlndXJlQ29tcHJl
c3Npb25TZXNzaW9uIHsKKyAgIFNldFZUU2Vzc2lvblByb3BlcnR5KF9jb21wcmVzc2lvblNlc3Np
b24sIGtWVENvbXByZXNzaW9uUHJvcGVydHlLZXlfUmVhbFRpbWUsIHRydWUpOworICAgU2V0VlRT
ZXNzaW9uUHJvcGVydHkoX2NvbXByZXNzaW9uU2Vzc2lvbiwga1ZUQ29tcHJlc3Npb25Qcm9wZXJ0
eUtleV9Qcm9maWxlTGV2ZWwsIF9wcm9maWxlKTsKKyAgIFNldFZUU2Vzc2lvblByb3BlcnR5KF9j
b21wcmVzc2lvblNlc3Npb24sIGtWVENvbXByZXNzaW9uUHJvcGVydHlLZXlfQWxsb3dGcmFtZVJl
b3JkZXJpbmcsIGZhbHNlKTsKKysjaWYgRU5BQkxFX1ZDUF9FTkNPREVSCisrICBTZXRWVFNlc3Np
b25Qcm9wZXJ0eShfY29tcHJlc3Npb25TZXNzaW9uLCAoX19icmlkZ2UgQ0ZTdHJpbmdSZWYpZ2V0
a1ZUVmlkZW9FbmNvZGVyU3BlY2lmaWNhdGlvbl9Vc2FnZSgpLCAxKTsKKysjZW5kaWYKKyAgIFtz
ZWxmIHNldEVuY29kZXJCaXRyYXRlQnBzOl90YXJnZXRCaXRyYXRlQnBzXTsKKyAgIC8vIFRPRE8o
dGtjaGluKTogTG9vayBhdCBlbnRyb3B5IG1vZGUgYW5kIGNvbG9yc3BhY2UgbWF0cmljZXMuCisg
ICAvLyBUT0RPKHRrY2hpbik6IEludmVzdGlnYXRlIHRvIHNlZSBpZiB0aGVyZSdzIGFueSB3YXkg
dG8gbWFrZSB0aGlzIHdvcmsuCistLSAKKzIuMTUuMSAoQXBwbGUgR2l0LTEwMSkKKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>338468</attachid>
            <date>2018-04-20 15:28:54 -0700</date>
            <delta_ts>2018-04-20 15:29:38 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-184835-20180420152854.patch</filename>
            <type>text/plain</type>
            <size>13326</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwODM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCAwY2VhNDc3YzU1N2U2NTJiOWE1NTRhMWI4MTY2NjRhNGUyMjVlZmQzLi43Y2E5
OTEyNzNhNzYwNDJkNDBhNTY3YjhiNTMyYzhhNjU5ZGJjYzk4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxOC0wNC0yMCAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWFuZGF0ZSBIMjY0IGhhcmR3YXJl
IGVuY29kZXIgZm9yIE1hYyBpbiBsaWJ3ZWJydGMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDgzNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRlc3RlZCBtYW51YWxseSB0aHJvdWdoIGNvbnNvbGUgdHJh
Y2VzIHRoYXQgaGFyZHdhcmUgVkNQIGVuY29kZXIgY29kZSBwYXRoIGlzIGFjdHVhbGx5IHVzZWQg
aW5zdGVhZCBvZiBzb2Z0d2FyZSBWQ1AgZW5jb2RlciBjb2RlIHBhdGguCisKKyAgICAgICAgKiBT
b3VyY2Uvd2VicnRjL3Nkay9vYmpjL0ZyYW1ld29yay9DbGFzc2VzL1ZpZGVvVG9vbGJveC9SVENW
aWRlb0VuY29kZXJIMjY0Lm1tOgorICAgICAgICAoLVtSVENWaWRlb0VuY29kZXJIMjY0IHJlc2V0
Q29tcHJlc3Npb25TZXNzaW9uV2l0aFBpeGVsRm9ybWF0Ol0pOgorICAgICAgICAqIFdlYktpdC8w
MDAxLVVwZGF0ZS1SVENWaWRlb0VuY29kZXJIMjY0Lm1tLWZvci1XZWJLaXQucGF0Y2g6IEFkZGVk
IHRvIGNvdmVyIHRoaXMgY2hhbmdlIGFuZCBjaGFuZ2VzIG1hZGUgaW4gYnVnIDE4NDY2OCBhbmQg
MTgzOTYxLgorCiAyMDE4LTA0LTE5ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+
CiAKICAgICAgICAgRW5hYmxlIE9iamVjdGl2ZS1DIHdlYWsgcmVmZXJlbmNlcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL29iamMvRnJh
bWV3b3JrL0NsYXNzZXMvVmlkZW9Ub29sYm94L1JUQ1ZpZGVvRW5jb2RlckgyNjQubW0gYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9GcmFtZXdvcmsv
Q2xhc3Nlcy9WaWRlb1Rvb2xib3gvUlRDVmlkZW9FbmNvZGVySDI2NC5tbQppbmRleCBiYzc0Mzdm
MGMxMGNlODIxNDhiNGIwOTNhYjhkNTQyNjBhY2VkMjU0Li5jNTQ5M2Q2Njk2YjEzZjllYmM4YjQz
M2JiMDAyMGFhMmVjNGJmN2NlIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9GcmFtZXdvcmsvQ2xhc3Nlcy9WaWRlb1Rvb2xib3gv
UlRDVmlkZW9FbmNvZGVySDI2NC5tbQorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9GcmFtZXdvcmsvQ2xhc3Nlcy9WaWRlb1Rvb2xib3gvUlRD
VmlkZW9FbmNvZGVySDI2NC5tbQpAQCAtNjA3LDIyICs2MDcsMjEgQEAgLSAoaW50KXJlc2V0Q29t
cHJlc3Npb25TZXNzaW9uV2l0aFBpeGVsRm9ybWF0OihPU1R5cGUpZnJhbWVQaXhlbEZvcm1hdCB7
CiAgICAgQ0ZSZWxlYXNlKHBpeGVsRm9ybWF0KTsKICAgICBwaXhlbEZvcm1hdCA9IG51bGxwdHI7
CiAgIH0KLSAgQ0ZNdXRhYmxlRGljdGlvbmFyeVJlZiBlbmNvZGVyX3NwZWNzID0gbnVsbHB0cjsK
KyAgQ0ZEaWN0aW9uYXJ5UmVmIGVuY29kZXJTcGVjcyA9IG51bGxwdHI7CiAjaWYgZGVmaW5lZChX
RUJSVENfTUFDKSAmJiAhZGVmaW5lZChXRUJSVENfSU9TKQorICBhdXRvIHVzZUhhcmR3YXJlRW5j
b2RlciA9IHdlYnJ0Yzo6aXNIMjY0SGFyZHdhcmVFbmNvZGVyQWxsb3dlZCgpID8ga0NGQm9vbGVh
blRydWUgOiBrQ0ZCb29sZWFuRmFsc2U7CiAgIC8vIEN1cnJlbnRseSBodyBhY2NsIGlzIHN1cHBv
cnRlZCBhYm92ZSAzNjBwIG9uIG1hYywgYmVsb3cgMzYwcAogICAvLyB0aGUgY29tcHJlc3Npb24g
c2Vzc2lvbiB3aWxsIGJlIGNyZWF0ZWQgd2l0aCBodyBhY2NsIGRpc2FibGVkLgotICBlbmNvZGVy
X3NwZWNzID0gQ0ZEaWN0aW9uYXJ5Q3JlYXRlTXV0YWJsZSgKLSAgICAgIG51bGxwdHIsIDEsICZr
Q0ZUeXBlRGljdGlvbmFyeUtleUNhbGxCYWNrcywgJmtDRlR5cGVEaWN0aW9uYXJ5VmFsdWVDYWxs
QmFja3MpOwotICBDRkRpY3Rpb25hcnlTZXRWYWx1ZShlbmNvZGVyX3NwZWNzLAotICAgICAgICAg
ICAgICAgICAgICAgICBrVlRWaWRlb0VuY29kZXJTcGVjaWZpY2F0aW9uX0VuYWJsZUhhcmR3YXJl
QWNjZWxlcmF0ZWRWaWRlb0VuY29kZXIsCi0gICAgICAgICAgICAgICAgICAgICAgIHdlYnJ0Yzo6
aXNIMjY0SGFyZHdhcmVFbmNvZGVyQWxsb3dlZCgpID8ga0NGQm9vbGVhblRydWUgOiBrQ0ZCb29s
ZWFuRmFsc2UpOworICBDRlR5cGVSZWYgc2Vzc2lvbktleXNbXSA9IHtrVlRWaWRlb0VuY29kZXJT
cGVjaWZpY2F0aW9uX0VuYWJsZUhhcmR3YXJlQWNjZWxlcmF0ZWRWaWRlb0VuY29kZXIsIGtWVFZp
ZGVvRW5jb2RlclNwZWNpZmljYXRpb25fUmVxdWlyZUhhcmR3YXJlQWNjZWxlcmF0ZWRWaWRlb0Vu
Y29kZXIsIGtWVENvbXByZXNzaW9uUHJvcGVydHlLZXlfUmVhbFRpbWUgfTsKKyAgQ0ZUeXBlUmVm
IHNlc3Npb25WYWx1ZXNbXSA9IHsgIHVzZUhhcmR3YXJlRW5jb2RlciwgdXNlSGFyZHdhcmVFbmNv
ZGVyLCBrQ0ZCb29sZWFuVHJ1ZSB9OworICBlbmNvZGVyU3BlY3MgPSBDRkRpY3Rpb25hcnlDcmVh
dGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgc2Vzc2lvbktleXMsIHNlc3Npb25WYWx1ZXMsIDMsICZr
Q0ZUeXBlRGljdGlvbmFyeUtleUNhbGxCYWNrcywgJmtDRlR5cGVEaWN0aW9uYXJ5VmFsdWVDYWxs
QmFja3MpOwogI2VuZGlmCiAgIE9TU3RhdHVzIHN0YXR1cyA9CiAgICAgICBDb21wcmVzc2lvblNl
c3Npb25DcmVhdGUobnVsbHB0ciwgIC8vIHVzZSBkZWZhdWx0IGFsbG9jYXRvcgogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgX3dpZHRoLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgX2hlaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtDb2Rl
Y1R5cGVIMjY0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5jb2Rlcl9zcGVj
cywgIC8vIHVzZSBoYXJkd2FyZSBhY2NlbGVyYXRlZCBlbmNvZGVyIGlmIGF2YWlsYWJsZQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5jb2RlclNwZWNzLCAgLy8gdXNlIGhhcmR3
YXJlIGFjY2VsZXJhdGVkIGVuY29kZXIgaWYgYXZhaWxhYmxlCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzb3VyY2VBdHRyaWJ1dGVzLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbnVsbHB0ciwgIC8vIHVzZSBkZWZhdWx0IGNvbXByZXNzZWQgZGF0YSBhbGxvY2F0
b3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXByZXNzaW9uT3V0cHV0Q2Fs
bGJhY2ssCkBAIC02MzIsOSArNjMxLDkgQEAgLSAoaW50KXJlc2V0Q29tcHJlc3Npb25TZXNzaW9u
V2l0aFBpeGVsRm9ybWF0OihPU1R5cGUpZnJhbWVQaXhlbEZvcm1hdCB7CiAgICAgQ0ZSZWxlYXNl
KHNvdXJjZUF0dHJpYnV0ZXMpOwogICAgIHNvdXJjZUF0dHJpYnV0ZXMgPSBudWxscHRyOwogICB9
Ci0gIGlmIChlbmNvZGVyX3NwZWNzKSB7Ci0gICAgQ0ZSZWxlYXNlKGVuY29kZXJfc3BlY3MpOwot
ICAgIGVuY29kZXJfc3BlY3MgPSBudWxscHRyOworICBpZiAoZW5jb2RlclNwZWNzKSB7CisgICAg
Q0ZSZWxlYXNlKGVuY29kZXJTcGVjcyk7CisgICAgZW5jb2RlclNwZWNzID0gbnVsbHB0cjsKICAg
fQogICBpZiAoc3RhdHVzICE9IG5vRXJyKSB7CiAgICAgUlRDX0xPRyhMU19FUlJPUikgPDwgIkZh
aWxlZCB0byBjcmVhdGUgY29tcHJlc3Npb24gc2Vzc2lvbjogIiA8PCBzdGF0dXM7CkBAIC03MTQs
OSArNzEzLDkgQEAgLSAoaW50KXJlc2V0Q29tcHJlc3Npb25TZXNzaW9uV2l0aFBpeGVsRm9ybWF0
OihPU1R5cGUpZnJhbWVQaXhlbEZvcm1hdCB7CiAgICAgICBDRlJlbGVhc2Uoc291cmNlQXR0cmli
dXRlcyk7CiAgICAgICBzb3VyY2VBdHRyaWJ1dGVzID0gbnVsbHB0cjsKICAgICB9Ci0gICAgaWYg
KGVuY29kZXJfc3BlY3MpIHsKLSAgICAgIENGUmVsZWFzZShlbmNvZGVyX3NwZWNzKTsKLSAgICAg
IGVuY29kZXJfc3BlY3MgPSBudWxscHRyOworICAgIGlmIChlbmNvZGVyU3BlY3MpIHsKKyAgICAg
IENGUmVsZWFzZShlbmNvZGVyU3BlY3MpOworICAgICAgZW5jb2RlclNwZWNzID0gbnVsbHB0cjsK
ICAgICB9CiAgICAgaWYgKHN0YXR1cyAhPSBub0VycikgewogICAgICAgcmV0dXJuIFdFQlJUQ19W
SURFT19DT0RFQ19FUlJPUjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9XZWJLaXQvMDAwMS1VcGRhdGUtUlRDVmlkZW9FbmNvZGVySDI2NC5tbS1mb3ItV2ViS2l0LnBh
dGNoIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1dlYktpdC8wMDAxLVVwZGF0ZS1SVENW
aWRlb0VuY29kZXJIMjY0Lm1tLWZvci1XZWJLaXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzk4YTA5ZTg0
MWY0NWEwMzQzNTc2ZjYzZGI3NjhhNzYxZjVlMTUzOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9XZWJLaXQvMDAwMS1VcGRhdGUtUlRDVmlkZW9FbmNvZGVy
SDI2NC5tbS1mb3ItV2ViS2l0LnBhdGNoCkBAIC0wLDAgKzEsMTg4IEBACitGcm9tIDRhN2I2OTE1
YjFiY2RjZmQxN2VhZTg5MTBhNTUxMTZiZjU1OTRhMmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx
CitGcm9tOiBZb3Vlbm4gRmFibGV0IDx5b3Vlbm5AYXBwbGUuY29tPgorRGF0ZTogRnJpLCAyMCBB
cHIgMjAxOCAxMzo0Mzo1OSAtMDcwMAorU3ViamVjdDogW1BBVENIXSBVcGRhdGUgUlRDVmlkZW9F
bmNvZGVySDI2NC5tbSBmb3IgV2ViS2l0CisKK1RoaXMgcmV2ZXJ0cyBjb21taXQgNDU1YWM5Y2Vk
OWIzYzVhOTM4YjE4OWM5NTU2MDI4MTlkZDhlYjNiNi4KKy0tLQorIC4uLi9DbGFzc2VzL1ZpZGVv
VG9vbGJveC9SVENWaWRlb0VuY29kZXJIMjY0Lm1tICAgIHwgMTI3ICsrKysrKysrKysrKysrKysr
KystLQorIDEgZmlsZSBjaGFuZ2VkLCAxMTcgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0p
CisKK2RpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0
Yy9zZGsvb2JqYy9GcmFtZXdvcmsvQ2xhc3Nlcy9WaWRlb1Rvb2xib3gvUlRDVmlkZW9FbmNvZGVy
SDI2NC5tbSBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9v
YmpjL0ZyYW1ld29yay9DbGFzc2VzL1ZpZGVvVG9vbGJveC9SVENWaWRlb0VuY29kZXJIMjY0Lm1t
CitpbmRleCA4YzI3ZTc2NjdjZC4uNmExNzg4OWFlN2IgMTAwNjQ0CistLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9GcmFtZXdvcmsvQ2xhc3Nl
cy9WaWRlb1Rvb2xib3gvUlRDVmlkZW9FbmNvZGVySDI2NC5tbQorKysrIGIvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL29iamMvRnJhbWV3b3JrL0NsYXNzZXMv
VmlkZW9Ub29sYm94L1JUQ1ZpZGVvRW5jb2RlckgyNjQubW0KK0BAIC0zOCw2ICszOCw0MCBAQAor
ICNpbmNsdWRlICJzZGsvV2ViS2l0L0VuY29kZXJVdGlsaXRpZXMuaCIKKyAjaW5jbHVkZSAic2Rr
L1dlYktpdC9XZWJLaXRVdGlsaXRpZXMuaCIKKyAKKysjaW1wb3J0IDxkbGZjbi5oPgorKyNpbXBv
cnQgPG9iamMvcnVudGltZS5oPgorKworK1NPRlRfTElOS19GUkFNRVdPUktfT1BUSU9OQUwoVmlk
ZW9Ub29sQm94KQorK1NPRlRfTElOS19QT0lOVEVSX09QVElPTkFMKFZpZGVvVG9vbEJveCwga1ZU
VmlkZW9FbmNvZGVyU3BlY2lmaWNhdGlvbl9Vc2FnZSwgTlNTdHJpbmcgKikKKysKKysjaWYgIUVO
QUJMRV9WQ1BfRU5DT0RFUiAmJiAhZGVmaW5lZChXRUJSVENfSU9TKQorK3N0YXRpYyBpbmxpbmUg
Ym9vbCBpc1N0YW5kYXJkRnJhbWVTaXplKGludDMyX3Qgd2lkdGgsIGludDMyX3QgaGVpZ2h0KQor
K3sKKysgICAgLy8gRklYTUU6IEVudmlzaW9uIHJlbGF4aW5nIHRoaXMgcnVsZSwgc29tZXRoaW5n
IGxpa2Ugd2lkdGggYW5kIGhlaWdodCBkaXZpZGFibGUgYnkgNCBvciA4IHNob3VsZCBiZSBnb29k
IGVub3VnaC4KKysgICAgaWYgKHdpZHRoID09IDEyODApCisrICAgICAgICByZXR1cm4gaGVpZ2h0
ID09IDcyMDsKKysgICAgaWYgKHdpZHRoID09IDcyMCkKKysgICAgICAgIHJldHVybiBoZWlnaHQg
PT0gMTI4MDsKKysgICAgaWYgKHdpZHRoID09IDk2MCkKKysgICAgICAgIHJldHVybiBoZWlnaHQg
PT0gNTQwOworKyAgICBpZiAod2lkdGggPT0gNTQwKQorKyAgICAgICAgcmV0dXJuIGhlaWdodCA9
PSA5NjA7CisrICAgIGlmICh3aWR0aCA9PSA2NDApCisrICAgICAgICByZXR1cm4gaGVpZ2h0ID09
IDQ4MDsKKysgICAgaWYgKHdpZHRoID09IDQ4MCkKKysgICAgICAgIHJldHVybiBoZWlnaHQgPT0g
NjQwOworKyAgICBpZiAod2lkdGggPT0gMjg4KQorKyAgICAgICAgcmV0dXJuIGhlaWdodCA9PSAz
NTI7CisrICAgIGlmICh3aWR0aCA9PSAzNTIpCisrICAgICAgICByZXR1cm4gaGVpZ2h0ID09IDI4
ODsKKysgICAgaWYgKHdpZHRoID09IDMyMCkKKysgICAgICAgIHJldHVybiBoZWlnaHQgPT0gMjQw
OworKyAgICBpZiAod2lkdGggPT0gMjQwKQorKyAgICAgICAgcmV0dXJuIGhlaWdodCA9PSAzMjA7
CisrICAgIHJldHVybiBmYWxzZTsKKyt9CisrI2VuZGlmCisrCisgQGludGVyZmFjZSBSVENWaWRl
b0VuY29kZXJIMjY0ICgpCisgCisgLSAodm9pZClmcmFtZVdhc0VuY29kZWQ6KE9TU3RhdHVzKXN0
YXR1cworQEAgLTU3MywyMiArNjA3LDIwIEBAIC0gKGludClyZXNldENvbXByZXNzaW9uU2Vzc2lv
bldpdGhQaXhlbEZvcm1hdDooT1NUeXBlKWZyYW1lUGl4ZWxGb3JtYXQgeworICAgICBDRlJlbGVh
c2UocGl4ZWxGb3JtYXQpOworICAgICBwaXhlbEZvcm1hdCA9IG51bGxwdHI7CisgICB9CistICBD
Rk11dGFibGVEaWN0aW9uYXJ5UmVmIGVuY29kZXJfc3BlY3MgPSBudWxscHRyOworKyAgQ0ZEaWN0
aW9uYXJ5UmVmIGVuY29kZXJTcGVjcyA9IG51bGxwdHI7CisgI2lmIGRlZmluZWQoV0VCUlRDX01B
QykgJiYgIWRlZmluZWQoV0VCUlRDX0lPUykKKyAgIC8vIEN1cnJlbnRseSBodyBhY2NsIGlzIHN1
cHBvcnRlZCBhYm92ZSAzNjBwIG9uIG1hYywgYmVsb3cgMzYwcAorICAgLy8gdGhlIGNvbXByZXNz
aW9uIHNlc3Npb24gd2lsbCBiZSBjcmVhdGVkIHdpdGggaHcgYWNjbCBkaXNhYmxlZC4KKy0gIGVu
Y29kZXJfc3BlY3MgPSBDRkRpY3Rpb25hcnlDcmVhdGVNdXRhYmxlKAorLSAgICAgIG51bGxwdHIs
IDEsICZrQ0ZUeXBlRGljdGlvbmFyeUtleUNhbGxCYWNrcywgJmtDRlR5cGVEaWN0aW9uYXJ5VmFs
dWVDYWxsQmFja3MpOworLSAgQ0ZEaWN0aW9uYXJ5U2V0VmFsdWUoZW5jb2Rlcl9zcGVjcywKKy0g
ICAgICAgICAgICAgICAgICAgICAgIGtWVFZpZGVvRW5jb2RlclNwZWNpZmljYXRpb25fRW5hYmxl
SGFyZHdhcmVBY2NlbGVyYXRlZFZpZGVvRW5jb2RlciwKKy0gICAgICAgICAgICAgICAgICAgICAg
IHdlYnJ0Yzo6aXNIMjY0SGFyZHdhcmVFbmNvZGVyQWxsb3dlZCgpID8ga0NGQm9vbGVhblRydWUg
OiBrQ0ZCb29sZWFuRmFsc2UpOworKyAgQ0ZUeXBlUmVmIHNlc3Npb25LZXlzW10gPSB7a1ZUVmlk
ZW9FbmNvZGVyU3BlY2lmaWNhdGlvbl9FbmFibGVIYXJkd2FyZUFjY2VsZXJhdGVkVmlkZW9FbmNv
ZGVyLCBrVlRWaWRlb0VuY29kZXJTcGVjaWZpY2F0aW9uX1JlcXVpcmVIYXJkd2FyZUFjY2VsZXJh
dGVkVmlkZW9FbmNvZGVyLCBrVlRDb21wcmVzc2lvblByb3BlcnR5S2V5X1JlYWxUaW1lIH07Cisr
ICBDRlR5cGVSZWYgc2Vzc2lvblZhbHVlc1tdID0geyB3ZWJydGM6OmlzSDI2NEhhcmR3YXJlRW5j
b2RlckFsbG93ZWQoKSA/IGtDRkJvb2xlYW5UcnVlIDoga0NGQm9vbGVhbkZhbHNlLCB3ZWJydGM6
OmlzSDI2NEhhcmR3YXJlRW5jb2RlckFsbG93ZWQoKSA/IGtDRkJvb2xlYW5UcnVlIDoga0NGQm9v
bGVhbkZhbHNlLCBrQ0ZCb29sZWFuVHJ1ZSB9OworKyAgZW5jb2RlclNwZWNzID0gQ0ZEaWN0aW9u
YXJ5Q3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIHNlc3Npb25LZXlzLCBzZXNzaW9uVmFsdWVz
LCAzLCAma0NGVHlwZURpY3Rpb25hcnlLZXlDYWxsQmFja3MsICZrQ0ZUeXBlRGljdGlvbmFyeVZh
bHVlQ2FsbEJhY2tzKTsKKyAjZW5kaWYKKyAgIE9TU3RhdHVzIHN0YXR1cyA9CisgICAgICAgQ29t
cHJlc3Npb25TZXNzaW9uQ3JlYXRlKG51bGxwdHIsICAvLyB1c2UgZGVmYXVsdCBhbGxvY2F0b3IK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfd2lkdGgsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgX2hlaWdodCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBrQ29kZWNUeXBlSDI2NCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBlbmNvZGVyX3NwZWNzLCAgLy8gdXNlIGhhcmR3YXJlIGFjY2VsZXJhdGVkIGVuY29kZXIgaWYg
YXZhaWxhYmxlCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5jb2RlclNwZWNz
LCAgLy8gdXNlIGhhcmR3YXJlIGFjY2VsZXJhdGVkIGVuY29kZXIgaWYgYXZhaWxhYmxlCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlQXR0cmlidXRlcywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBudWxscHRyLCAgLy8gdXNlIGRlZmF1bHQgY29tcHJl
c3NlZCBkYXRhIGFsbG9jYXRvcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bXByZXNzaW9uT3V0cHV0Q2FsbGJhY2ssCitAQCAtNTk4LDkgKzYzMCw5IEBAIC0gKGludClyZXNl
dENvbXByZXNzaW9uU2Vzc2lvbldpdGhQaXhlbEZvcm1hdDooT1NUeXBlKWZyYW1lUGl4ZWxGb3Jt
YXQgeworICAgICBDRlJlbGVhc2Uoc291cmNlQXR0cmlidXRlcyk7CisgICAgIHNvdXJjZUF0dHJp
YnV0ZXMgPSBudWxscHRyOworICAgfQorLSAgaWYgKGVuY29kZXJfc3BlY3MpIHsKKy0gICAgQ0ZS
ZWxlYXNlKGVuY29kZXJfc3BlY3MpOworLSAgICBlbmNvZGVyX3NwZWNzID0gbnVsbHB0cjsKKysg
IGlmIChlbmNvZGVyU3BlY3MpIHsKKysgICAgQ0ZSZWxlYXNlKGVuY29kZXJTcGVjcyk7CisrICAg
IGVuY29kZXJTcGVjcyA9IG51bGxwdHI7CisgICB9CisgICBpZiAoc3RhdHVzICE9IG5vRXJyKSB7
CisgICAgIFJUQ19MT0coTFNfRVJST1IpIDw8ICJGYWlsZWQgdG8gY3JlYXRlIGNvbXByZXNzaW9u
IHNlc3Npb246ICIgPDwgc3RhdHVzOworQEAgLTYxNiw2ICs2NDgsNzggQEAgLSAoaW50KXJlc2V0
Q29tcHJlc3Npb25TZXNzaW9uV2l0aFBpeGVsRm9ybWF0OihPU1R5cGUpZnJhbWVQaXhlbEZvcm1h
dCB7CisgICAgIFJUQ19MT0coTFNfSU5GTykgPDwgIkNvbXByZXNzaW9uIHNlc3Npb24gY3JlYXRl
ZCB3aXRoIGh3IGFjY2wgZW5hYmxlZCI7CisgICB9IGVsc2UgeworICAgICBSVENfTE9HKExTX0lO
Rk8pIDw8ICJDb21wcmVzc2lvbiBzZXNzaW9uIGNyZWF0ZWQgd2l0aCBodyBhY2NsIGRpc2FibGVk
IjsKKysKKysjaWYgIUVOQUJMRV9WQ1BfRU5DT0RFUiAmJiAhZGVmaW5lZChXRUJSVENfSU9TKQor
KyAgICBpZiAoIWlzU3RhbmRhcmRGcmFtZVNpemUoX3dpZHRoLCBfaGVpZ2h0KSkgeworKyAgICAg
IFJUQ19MT0coTFNfRVJST1IpIDw8ICJVc2luZyBIMjY0IHNvZnR3YXJlIGVuY29kZXIgd2l0aCBu
b24gc3RhbmRhcmQgc2l6ZSBpcyBub3Qgc3VwcG9ydGVkIjsKKysgICAgICByZXR1cm4gV0VCUlRD
X1ZJREVPX0NPREVDX0VSUk9SOworKyAgICB9CisrCisrICAgIGlmICghZ2V0a1ZUVmlkZW9FbmNv
ZGVyU3BlY2lmaWNhdGlvbl9Vc2FnZSgpKSB7CisrICAgICAgUlRDX0xPRyhMU19FUlJPUikgPDwg
IlJUQ1ZpZGVvRW5jb2RlckgyNjQgY2Fubm90IGNyZWF0ZSBhIEgyNjQgc29mdHdhcmUgZW5jb2Rl
ciI7CisrICAgICAgcmV0dXJuIFdFQlJUQ19WSURFT19DT0RFQ19FUlJPUjsKKysgICAgfQorKwor
KyAgICBDRkRpY3Rpb25hcnlSZWYgaW9TdXJmYWNlVmFsdWUgPSBDcmVhdGVDRlR5cGVEaWN0aW9u
YXJ5KG51bGxwdHIsIG51bGxwdHIsIDApOworKyAgICBpbnQ2NF90IHBpeGVsRm9ybWF0VHlwZSA9
IGZyYW1lUGl4ZWxGb3JtYXQ7CisrICAgIENGTnVtYmVyUmVmIHBpeGVsRm9ybWF0ID0gQ0ZOdW1i
ZXJDcmVhdGUobnVsbHB0ciwga0NGTnVtYmVyTG9uZ1R5cGUsICZwaXhlbEZvcm1hdFR5cGUpOwor
KworKyAgICBjb25zdCBzaXplX3QgYXR0cmlidXRlc1NpemUgPSAzOworKyAgICBDRlR5cGVSZWYg
a2V5c1thdHRyaWJ1dGVzU2l6ZV0gPSB7CisrICAgICAga0NWUGl4ZWxCdWZmZXJPcGVuR0xDb21w
YXRpYmlsaXR5S2V5LAorKyAgICAgIGtDVlBpeGVsQnVmZmVySU9TdXJmYWNlUHJvcGVydGllc0tl
eSwKKysgICAgICBrQ1ZQaXhlbEJ1ZmZlclBpeGVsRm9ybWF0VHlwZUtleQorKyAgICB9OworKyAg
ICBDRlR5cGVSZWYgdmFsdWVzW2F0dHJpYnV0ZXNTaXplXSA9IHsKKysgICAgICBrQ0ZCb29sZWFu
VHJ1ZSwKKysgICAgICBpb1N1cmZhY2VWYWx1ZSwKKysgICAgICBwaXhlbEZvcm1hdH07CisrICAg
IENGRGljdGlvbmFyeVJlZiBzb3VyY2VBdHRyaWJ1dGVzID0gQ3JlYXRlQ0ZUeXBlRGljdGlvbmFy
eShrZXlzLCB2YWx1ZXMsIGF0dHJpYnV0ZXNTaXplKTsKKysKKysgICAgaWYgKGlvU3VyZmFjZVZh
bHVlKSB7CisrICAgICAgQ0ZSZWxlYXNlKGlvU3VyZmFjZVZhbHVlKTsKKysgICAgICBpb1N1cmZh
Y2VWYWx1ZSA9IG51bGxwdHI7CisrICAgIH0KKysgICAgaWYgKHBpeGVsRm9ybWF0KSB7CisrICAg
ICAgQ0ZSZWxlYXNlKHBpeGVsRm9ybWF0KTsKKysgICAgICBwaXhlbEZvcm1hdCA9IG51bGxwdHI7
CisrICAgIH0KKysKKysgICAgQ0ZNdXRhYmxlRGljdGlvbmFyeVJlZiBlbmNvZGVyU3BlY3MgPSBD
RkRpY3Rpb25hcnlDcmVhdGVNdXRhYmxlKG51bGxwdHIsIDIsICZrQ0ZUeXBlRGljdGlvbmFyeUtl
eUNhbGxCYWNrcywgJmtDRlR5cGVEaWN0aW9uYXJ5VmFsdWVDYWxsQmFja3MpOworKyAgICBDRkRp
Y3Rpb25hcnlTZXRWYWx1ZShlbmNvZGVyU3BlY3MsIGtWVFZpZGVvRW5jb2RlclNwZWNpZmljYXRp
b25fRW5hYmxlSGFyZHdhcmVBY2NlbGVyYXRlZFZpZGVvRW5jb2Rlciwga0NGQm9vbGVhbkZhbHNl
KTsKKysgICAgaW50IHVzYWdlVmFsdWUgPSAxOworKyAgICBDRk51bWJlclJlZiB1c2FnZSA9IENG
TnVtYmVyQ3JlYXRlKG51bGxwdHIsIGtDRk51bWJlckludFR5cGUsICZ1c2FnZVZhbHVlKTsKKysg
ICAgQ0ZEaWN0aW9uYXJ5U2V0VmFsdWUoZW5jb2RlclNwZWNzLCBnZXRrVlRWaWRlb0VuY29kZXJT
cGVjaWZpY2F0aW9uX1VzYWdlKCksIHVzYWdlKTsKKysgICAgaWYgKHVzYWdlKSB7CisrICAgICAg
Q0ZSZWxlYXNlKHVzYWdlKTsKKysgICAgICB1c2FnZSA9IG51bGxwdHI7CisrICAgIH0KKysKKysg
ICAgW3NlbGYgZGVzdHJveUNvbXByZXNzaW9uU2Vzc2lvbl07CisrCisrICAgIE9TU3RhdHVzIHN0
YXR1cyA9CisrICAgICAgQ29tcHJlc3Npb25TZXNzaW9uQ3JlYXRlKG51bGxwdHIsICAvLyB1c2Ug
ZGVmYXVsdCBhbGxvY2F0b3IKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfd2lk
dGgsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2hlaWdodCwKKysgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBrQ29kZWNUeXBlSDI2NCwKKysgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBlbmNvZGVyU3BlY3MsCisrICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc291cmNlQXR0cmlidXRlcywKKysgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBudWxscHRyLCAgLy8gdXNlIGRlZmF1bHQgY29tcHJlc3NlZCBkYXRhIGFsbG9jYXRv
cgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXByZXNzaW9uT3V0cHV0Q2Fs
bGJhY2ssCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbHB0ciwKKysgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmX2NvbXByZXNzaW9uU2Vzc2lvbik7CisrICAg
IGlmIChzb3VyY2VBdHRyaWJ1dGVzKSB7CisrICAgICAgQ0ZSZWxlYXNlKHNvdXJjZUF0dHJpYnV0
ZXMpOworKyAgICAgIHNvdXJjZUF0dHJpYnV0ZXMgPSBudWxscHRyOworKyAgICB9CisrICAgIGlm
IChlbmNvZGVyX3NwZWNzKSB7CisrICAgICAgQ0ZSZWxlYXNlKGVuY29kZXJfc3BlY3MpOworKyAg
ICAgIGVuY29kZXJfc3BlY3MgPSBudWxscHRyOworKyAgICB9CisrICAgIGlmIChzdGF0dXMgIT0g
bm9FcnIpIHsKKysgICAgICByZXR1cm4gV0VCUlRDX1ZJREVPX0NPREVDX0VSUk9SOworKyAgICB9
CisrI2VuZGlmCisgICB9CisgI2VuZGlmCisgICBbc2VsZiBjb25maWd1cmVDb21wcmVzc2lvblNl
c3Npb25dOworQEAgLTYyNyw2ICs3MzEsOSBAQCAtICh2b2lkKWNvbmZpZ3VyZUNvbXByZXNzaW9u
U2Vzc2lvbiB7CisgICBTZXRWVFNlc3Npb25Qcm9wZXJ0eShfY29tcHJlc3Npb25TZXNzaW9uLCBr
VlRDb21wcmVzc2lvblByb3BlcnR5S2V5X1JlYWxUaW1lLCB0cnVlKTsKKyAgIFNldFZUU2Vzc2lv
blByb3BlcnR5KF9jb21wcmVzc2lvblNlc3Npb24sIGtWVENvbXByZXNzaW9uUHJvcGVydHlLZXlf
UHJvZmlsZUxldmVsLCBfcHJvZmlsZSk7CisgICBTZXRWVFNlc3Npb25Qcm9wZXJ0eShfY29tcHJl
c3Npb25TZXNzaW9uLCBrVlRDb21wcmVzc2lvblByb3BlcnR5S2V5X0FsbG93RnJhbWVSZW9yZGVy
aW5nLCBmYWxzZSk7CisrI2lmIEVOQUJMRV9WQ1BfRU5DT0RFUgorKyAgU2V0VlRTZXNzaW9uUHJv
cGVydHkoX2NvbXByZXNzaW9uU2Vzc2lvbiwgKF9fYnJpZGdlIENGU3RyaW5nUmVmKWdldGtWVFZp
ZGVvRW5jb2RlclNwZWNpZmljYXRpb25fVXNhZ2UoKSwgMSk7CisrI2VuZGlmCisgICBbc2VsZiBz
ZXRFbmNvZGVyQml0cmF0ZUJwczpfdGFyZ2V0Qml0cmF0ZUJwc107CisgICAvLyBUT0RPKHRrY2hp
bik6IExvb2sgYXQgZW50cm9weSBtb2RlIGFuZCBjb2xvcnNwYWNlIG1hdHJpY2VzLgorICAgLy8g
VE9ETyh0a2NoaW4pOiBJbnZlc3RpZ2F0ZSB0byBzZWUgaWYgdGhlcmUncyBhbnkgd2F5IHRvIG1h
a2UgdGhpcyB3b3JrLgorLS0gCisyLjE1LjEgKEFwcGxlIEdpdC0xMDEpCisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>338469</attachid>
            <date>2018-04-20 15:29:39 -0700</date>
            <delta_ts>2018-04-30 11:27:26 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-184835-20180420152939.patch</filename>
            <type>text/plain</type>
            <size>13324</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwODM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCAwY2VhNDc3YzU1N2U2NTJiOWE1NTRhMWI4MTY2NjRhNGUyMjVlZmQzLi5mODBh
YzY5ZGVlNjg4ZWZmOWQ2MWViNjNiMTVmNTBkMDRlZTQzNzY0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxOC0wNC0yMCAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWFuZGF0ZSBIMjY0IGhhcmR3YXJl
IGVuY29kZXIgZm9yIE1hYyBpbiBsaWJ3ZWJydGMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDgzNQorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMg
Q2FybHNvbi4KKworICAgICAgICBUZXN0ZWQgbWFudWFsbHkgdGhyb3VnaCBjb25zb2xlIHRyYWNl
cyB0aGF0IGhhcmR3YXJlIFZDUCBlbmNvZGVyIGNvZGUgcGF0aCBpcyBhY3R1YWxseSB1c2VkIGlu
c3RlYWQgb2Ygc29mdHdhcmUgVkNQIGVuY29kZXIgY29kZSBwYXRoLgorCisgICAgICAgICogU291
cmNlL3dlYnJ0Yy9zZGsvb2JqYy9GcmFtZXdvcmsvQ2xhc3Nlcy9WaWRlb1Rvb2xib3gvUlRDVmlk
ZW9FbmNvZGVySDI2NC5tbToKKyAgICAgICAgKC1bUlRDVmlkZW9FbmNvZGVySDI2NCByZXNldENv
bXByZXNzaW9uU2Vzc2lvbldpdGhQaXhlbEZvcm1hdDpdKToKKyAgICAgICAgKiBXZWJLaXQvMDAw
MS1VcGRhdGUtUlRDVmlkZW9FbmNvZGVySDI2NC5tbS1mb3ItV2ViS2l0LnBhdGNoOiBBZGRlZCB0
byBjb3ZlciB0aGlzIGNoYW5nZSBhbmQgY2hhbmdlcyBtYWRlIGluIGJ1ZyAxODQ2NjggYW5kIDE4
Mzk2MS4KKwogMjAxOC0wNC0xOSAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgog
CiAgICAgICAgIEVuYWJsZSBPYmplY3RpdmUtQyB3ZWFrIHJlZmVyZW5jZXMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9vYmpjL0ZyYW1l
d29yay9DbGFzc2VzL1ZpZGVvVG9vbGJveC9SVENWaWRlb0VuY29kZXJIMjY0Lm1tIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL29iamMvRnJhbWV3b3JrL0Ns
YXNzZXMvVmlkZW9Ub29sYm94L1JUQ1ZpZGVvRW5jb2RlckgyNjQubW0KaW5kZXggYmM3NDM3ZjBj
MTBjZTgyMTQ4YjRiMDkzYWI4ZDU0MjYwYWNlZDI1NC4uYzU0OTNkNjY5NmIxM2Y5ZWJjOGI0MzNi
YjAwMjBhYTJlYzRiZjdjZSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS93ZWJydGMvc2RrL29iamMvRnJhbWV3b3JrL0NsYXNzZXMvVmlkZW9Ub29sYm94L1JU
Q1ZpZGVvRW5jb2RlckgyNjQubW0KKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS93ZWJydGMvc2RrL29iamMvRnJhbWV3b3JrL0NsYXNzZXMvVmlkZW9Ub29sYm94L1JUQ1Zp
ZGVvRW5jb2RlckgyNjQubW0KQEAgLTYwNywyMiArNjA3LDIxIEBAIC0gKGludClyZXNldENvbXBy
ZXNzaW9uU2Vzc2lvbldpdGhQaXhlbEZvcm1hdDooT1NUeXBlKWZyYW1lUGl4ZWxGb3JtYXQgewog
ICAgIENGUmVsZWFzZShwaXhlbEZvcm1hdCk7CiAgICAgcGl4ZWxGb3JtYXQgPSBudWxscHRyOwog
ICB9Ci0gIENGTXV0YWJsZURpY3Rpb25hcnlSZWYgZW5jb2Rlcl9zcGVjcyA9IG51bGxwdHI7Cisg
IENGRGljdGlvbmFyeVJlZiBlbmNvZGVyU3BlY3MgPSBudWxscHRyOwogI2lmIGRlZmluZWQoV0VC
UlRDX01BQykgJiYgIWRlZmluZWQoV0VCUlRDX0lPUykKKyAgYXV0byB1c2VIYXJkd2FyZUVuY29k
ZXIgPSB3ZWJydGM6OmlzSDI2NEhhcmR3YXJlRW5jb2RlckFsbG93ZWQoKSA/IGtDRkJvb2xlYW5U
cnVlIDoga0NGQm9vbGVhbkZhbHNlOwogICAvLyBDdXJyZW50bHkgaHcgYWNjbCBpcyBzdXBwb3J0
ZWQgYWJvdmUgMzYwcCBvbiBtYWMsIGJlbG93IDM2MHAKICAgLy8gdGhlIGNvbXByZXNzaW9uIHNl
c3Npb24gd2lsbCBiZSBjcmVhdGVkIHdpdGggaHcgYWNjbCBkaXNhYmxlZC4KLSAgZW5jb2Rlcl9z
cGVjcyA9IENGRGljdGlvbmFyeUNyZWF0ZU11dGFibGUoCi0gICAgICBudWxscHRyLCAxLCAma0NG
VHlwZURpY3Rpb25hcnlLZXlDYWxsQmFja3MsICZrQ0ZUeXBlRGljdGlvbmFyeVZhbHVlQ2FsbEJh
Y2tzKTsKLSAgQ0ZEaWN0aW9uYXJ5U2V0VmFsdWUoZW5jb2Rlcl9zcGVjcywKLSAgICAgICAgICAg
ICAgICAgICAgICAga1ZUVmlkZW9FbmNvZGVyU3BlY2lmaWNhdGlvbl9FbmFibGVIYXJkd2FyZUFj
Y2VsZXJhdGVkVmlkZW9FbmNvZGVyLAotICAgICAgICAgICAgICAgICAgICAgICB3ZWJydGM6Omlz
SDI2NEhhcmR3YXJlRW5jb2RlckFsbG93ZWQoKSA/IGtDRkJvb2xlYW5UcnVlIDoga0NGQm9vbGVh
bkZhbHNlKTsKKyAgQ0ZUeXBlUmVmIHNlc3Npb25LZXlzW10gPSB7a1ZUVmlkZW9FbmNvZGVyU3Bl
Y2lmaWNhdGlvbl9FbmFibGVIYXJkd2FyZUFjY2VsZXJhdGVkVmlkZW9FbmNvZGVyLCBrVlRWaWRl
b0VuY29kZXJTcGVjaWZpY2F0aW9uX1JlcXVpcmVIYXJkd2FyZUFjY2VsZXJhdGVkVmlkZW9FbmNv
ZGVyLCBrVlRDb21wcmVzc2lvblByb3BlcnR5S2V5X1JlYWxUaW1lIH07CisgIENGVHlwZVJlZiBz
ZXNzaW9uVmFsdWVzW10gPSB7ICB1c2VIYXJkd2FyZUVuY29kZXIsIHVzZUhhcmR3YXJlRW5jb2Rl
ciwga0NGQm9vbGVhblRydWUgfTsKKyAgZW5jb2RlclNwZWNzID0gQ0ZEaWN0aW9uYXJ5Q3JlYXRl
KGtDRkFsbG9jYXRvckRlZmF1bHQsIHNlc3Npb25LZXlzLCBzZXNzaW9uVmFsdWVzLCAzLCAma0NG
VHlwZURpY3Rpb25hcnlLZXlDYWxsQmFja3MsICZrQ0ZUeXBlRGljdGlvbmFyeVZhbHVlQ2FsbEJh
Y2tzKTsKICNlbmRpZgogICBPU1N0YXR1cyBzdGF0dXMgPQogICAgICAgQ29tcHJlc3Npb25TZXNz
aW9uQ3JlYXRlKG51bGxwdHIsICAvLyB1c2UgZGVmYXVsdCBhbGxvY2F0b3IKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIF93aWR0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIF9oZWlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrQ29kZWNU
eXBlSDI2NCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuY29kZXJfc3BlY3Ms
ICAvLyB1c2UgaGFyZHdhcmUgYWNjZWxlcmF0ZWQgZW5jb2RlciBpZiBhdmFpbGFibGUKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuY29kZXJTcGVjcywgIC8vIHVzZSBoYXJkd2Fy
ZSBhY2NlbGVyYXRlZCBlbmNvZGVyIGlmIGF2YWlsYWJsZQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc291cmNlQXR0cmlidXRlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG51bGxwdHIsICAvLyB1c2UgZGVmYXVsdCBjb21wcmVzc2VkIGRhdGEgYWxsb2NhdG9y
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wcmVzc2lvbk91dHB1dENhbGxi
YWNrLApAQCAtNjMyLDkgKzYzMSw5IEBAIC0gKGludClyZXNldENvbXByZXNzaW9uU2Vzc2lvbldp
dGhQaXhlbEZvcm1hdDooT1NUeXBlKWZyYW1lUGl4ZWxGb3JtYXQgewogICAgIENGUmVsZWFzZShz
b3VyY2VBdHRyaWJ1dGVzKTsKICAgICBzb3VyY2VBdHRyaWJ1dGVzID0gbnVsbHB0cjsKICAgfQot
ICBpZiAoZW5jb2Rlcl9zcGVjcykgewotICAgIENGUmVsZWFzZShlbmNvZGVyX3NwZWNzKTsKLSAg
ICBlbmNvZGVyX3NwZWNzID0gbnVsbHB0cjsKKyAgaWYgKGVuY29kZXJTcGVjcykgeworICAgIENG
UmVsZWFzZShlbmNvZGVyU3BlY3MpOworICAgIGVuY29kZXJTcGVjcyA9IG51bGxwdHI7CiAgIH0K
ICAgaWYgKHN0YXR1cyAhPSBub0VycikgewogICAgIFJUQ19MT0coTFNfRVJST1IpIDw8ICJGYWls
ZWQgdG8gY3JlYXRlIGNvbXByZXNzaW9uIHNlc3Npb246ICIgPDwgc3RhdHVzOwpAQCAtNzE0LDkg
KzcxMyw5IEBAIC0gKGludClyZXNldENvbXByZXNzaW9uU2Vzc2lvbldpdGhQaXhlbEZvcm1hdDoo
T1NUeXBlKWZyYW1lUGl4ZWxGb3JtYXQgewogICAgICAgQ0ZSZWxlYXNlKHNvdXJjZUF0dHJpYnV0
ZXMpOwogICAgICAgc291cmNlQXR0cmlidXRlcyA9IG51bGxwdHI7CiAgICAgfQotICAgIGlmIChl
bmNvZGVyX3NwZWNzKSB7Ci0gICAgICBDRlJlbGVhc2UoZW5jb2Rlcl9zcGVjcyk7Ci0gICAgICBl
bmNvZGVyX3NwZWNzID0gbnVsbHB0cjsKKyAgICBpZiAoZW5jb2RlclNwZWNzKSB7CisgICAgICBD
RlJlbGVhc2UoZW5jb2RlclNwZWNzKTsKKyAgICAgIGVuY29kZXJTcGVjcyA9IG51bGxwdHI7CiAg
ICAgfQogICAgIGlmIChzdGF0dXMgIT0gbm9FcnIpIHsKICAgICAgIHJldHVybiBXRUJSVENfVklE
RU9fQ09ERUNfRVJST1I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
V2ViS2l0LzAwMDEtVXBkYXRlLVJUQ1ZpZGVvRW5jb2RlckgyNjQubW0tZm9yLVdlYktpdC5wYXRj
aCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9XZWJLaXQvMDAwMS1VcGRhdGUtUlRDVmlk
ZW9FbmNvZGVySDI2NC5tbS1mb3ItV2ViS2l0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM5OGEwOWU4NDFm
NDVhMDM0MzU3NmY2M2RiNzY4YTc2MWY1ZTE1MzgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvV2ViS2l0LzAwMDEtVXBkYXRlLVJUQ1ZpZGVvRW5jb2Rlckgy
NjQubW0tZm9yLVdlYktpdC5wYXRjaApAQCAtMCwwICsxLDE4OCBAQAorRnJvbSA0YTdiNjkxNWIx
YmNkY2ZkMTdlYWU4OTEwYTU1MTE2YmY1NTk0YTJiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQor
RnJvbTogWW91ZW5uIEZhYmxldCA8eW91ZW5uQGFwcGxlLmNvbT4KK0RhdGU6IEZyaSwgMjAgQXBy
IDIwMTggMTM6NDM6NTkgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0gVXBkYXRlIFJUQ1ZpZGVvRW5j
b2RlckgyNjQubW0gZm9yIFdlYktpdAorCitUaGlzIHJldmVydHMgY29tbWl0IDQ1NWFjOWNlZDli
M2M1YTkzOGIxODljOTU1NjAyODE5ZGQ4ZWIzYjYuCistLS0KKyAuLi4vQ2xhc3Nlcy9WaWRlb1Rv
b2xib3gvUlRDVmlkZW9FbmNvZGVySDI2NC5tbSAgICB8IDEyNyArKysrKysrKysrKysrKysrKysr
LS0KKyAxIGZpbGUgY2hhbmdlZCwgMTE3IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQor
CitkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMv
c2RrL29iamMvRnJhbWV3b3JrL0NsYXNzZXMvVmlkZW9Ub29sYm94L1JUQ1ZpZGVvRW5jb2Rlckgy
NjQubW0gYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvb2Jq
Yy9GcmFtZXdvcmsvQ2xhc3Nlcy9WaWRlb1Rvb2xib3gvUlRDVmlkZW9FbmNvZGVySDI2NC5tbQor
aW5kZXggOGMyN2U3NjY3Y2QuLjZhMTc4ODlhZTdiIDEwMDY0NAorLS0tIGEvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL29iamMvRnJhbWV3b3JrL0NsYXNzZXMv
VmlkZW9Ub29sYm94L1JUQ1ZpZGVvRW5jb2RlckgyNjQubW0KKysrKyBiL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9vYmpjL0ZyYW1ld29yay9DbGFzc2VzL1Zp
ZGVvVG9vbGJveC9SVENWaWRlb0VuY29kZXJIMjY0Lm1tCitAQCAtMzgsNiArMzgsNDAgQEAKKyAj
aW5jbHVkZSAic2RrL1dlYktpdC9FbmNvZGVyVXRpbGl0aWVzLmgiCisgI2luY2x1ZGUgInNkay9X
ZWJLaXQvV2ViS2l0VXRpbGl0aWVzLmgiCisgCisrI2ltcG9ydCA8ZGxmY24uaD4KKysjaW1wb3J0
IDxvYmpjL3J1bnRpbWUuaD4KKysKKytTT0ZUX0xJTktfRlJBTUVXT1JLX09QVElPTkFMKFZpZGVv
VG9vbEJveCkKKytTT0ZUX0xJTktfUE9JTlRFUl9PUFRJT05BTChWaWRlb1Rvb2xCb3gsIGtWVFZp
ZGVvRW5jb2RlclNwZWNpZmljYXRpb25fVXNhZ2UsIE5TU3RyaW5nICopCisrCisrI2lmICFFTkFC
TEVfVkNQX0VOQ09ERVIgJiYgIWRlZmluZWQoV0VCUlRDX0lPUykKKytzdGF0aWMgaW5saW5lIGJv
b2wgaXNTdGFuZGFyZEZyYW1lU2l6ZShpbnQzMl90IHdpZHRoLCBpbnQzMl90IGhlaWdodCkKKyt7
CisrICAgIC8vIEZJWE1FOiBFbnZpc2lvbiByZWxheGluZyB0aGlzIHJ1bGUsIHNvbWV0aGluZyBs
aWtlIHdpZHRoIGFuZCBoZWlnaHQgZGl2aWRhYmxlIGJ5IDQgb3IgOCBzaG91bGQgYmUgZ29vZCBl
bm91Z2guCisrICAgIGlmICh3aWR0aCA9PSAxMjgwKQorKyAgICAgICAgcmV0dXJuIGhlaWdodCA9
PSA3MjA7CisrICAgIGlmICh3aWR0aCA9PSA3MjApCisrICAgICAgICByZXR1cm4gaGVpZ2h0ID09
IDEyODA7CisrICAgIGlmICh3aWR0aCA9PSA5NjApCisrICAgICAgICByZXR1cm4gaGVpZ2h0ID09
IDU0MDsKKysgICAgaWYgKHdpZHRoID09IDU0MCkKKysgICAgICAgIHJldHVybiBoZWlnaHQgPT0g
OTYwOworKyAgICBpZiAod2lkdGggPT0gNjQwKQorKyAgICAgICAgcmV0dXJuIGhlaWdodCA9PSA0
ODA7CisrICAgIGlmICh3aWR0aCA9PSA0ODApCisrICAgICAgICByZXR1cm4gaGVpZ2h0ID09IDY0
MDsKKysgICAgaWYgKHdpZHRoID09IDI4OCkKKysgICAgICAgIHJldHVybiBoZWlnaHQgPT0gMzUy
OworKyAgICBpZiAod2lkdGggPT0gMzUyKQorKyAgICAgICAgcmV0dXJuIGhlaWdodCA9PSAyODg7
CisrICAgIGlmICh3aWR0aCA9PSAzMjApCisrICAgICAgICByZXR1cm4gaGVpZ2h0ID09IDI0MDsK
KysgICAgaWYgKHdpZHRoID09IDI0MCkKKysgICAgICAgIHJldHVybiBoZWlnaHQgPT0gMzIwOwor
KyAgICByZXR1cm4gZmFsc2U7CisrfQorKyNlbmRpZgorKworIEBpbnRlcmZhY2UgUlRDVmlkZW9F
bmNvZGVySDI2NCAoKQorIAorIC0gKHZvaWQpZnJhbWVXYXNFbmNvZGVkOihPU1N0YXR1cylzdGF0
dXMKK0BAIC01NzMsMjIgKzYwNywyMCBAQCAtIChpbnQpcmVzZXRDb21wcmVzc2lvblNlc3Npb25X
aXRoUGl4ZWxGb3JtYXQ6KE9TVHlwZSlmcmFtZVBpeGVsRm9ybWF0IHsKKyAgICAgQ0ZSZWxlYXNl
KHBpeGVsRm9ybWF0KTsKKyAgICAgcGl4ZWxGb3JtYXQgPSBudWxscHRyOworICAgfQorLSAgQ0ZN
dXRhYmxlRGljdGlvbmFyeVJlZiBlbmNvZGVyX3NwZWNzID0gbnVsbHB0cjsKKysgIENGRGljdGlv
bmFyeVJlZiBlbmNvZGVyU3BlY3MgPSBudWxscHRyOworICNpZiBkZWZpbmVkKFdFQlJUQ19NQUMp
ICYmICFkZWZpbmVkKFdFQlJUQ19JT1MpCisgICAvLyBDdXJyZW50bHkgaHcgYWNjbCBpcyBzdXBw
b3J0ZWQgYWJvdmUgMzYwcCBvbiBtYWMsIGJlbG93IDM2MHAKKyAgIC8vIHRoZSBjb21wcmVzc2lv
biBzZXNzaW9uIHdpbGwgYmUgY3JlYXRlZCB3aXRoIGh3IGFjY2wgZGlzYWJsZWQuCistICBlbmNv
ZGVyX3NwZWNzID0gQ0ZEaWN0aW9uYXJ5Q3JlYXRlTXV0YWJsZSgKKy0gICAgICBudWxscHRyLCAx
LCAma0NGVHlwZURpY3Rpb25hcnlLZXlDYWxsQmFja3MsICZrQ0ZUeXBlRGljdGlvbmFyeVZhbHVl
Q2FsbEJhY2tzKTsKKy0gIENGRGljdGlvbmFyeVNldFZhbHVlKGVuY29kZXJfc3BlY3MsCistICAg
ICAgICAgICAgICAgICAgICAgICBrVlRWaWRlb0VuY29kZXJTcGVjaWZpY2F0aW9uX0VuYWJsZUhh
cmR3YXJlQWNjZWxlcmF0ZWRWaWRlb0VuY29kZXIsCistICAgICAgICAgICAgICAgICAgICAgICB3
ZWJydGM6OmlzSDI2NEhhcmR3YXJlRW5jb2RlckFsbG93ZWQoKSA/IGtDRkJvb2xlYW5UcnVlIDog
a0NGQm9vbGVhbkZhbHNlKTsKKysgIENGVHlwZVJlZiBzZXNzaW9uS2V5c1tdID0ge2tWVFZpZGVv
RW5jb2RlclNwZWNpZmljYXRpb25fRW5hYmxlSGFyZHdhcmVBY2NlbGVyYXRlZFZpZGVvRW5jb2Rl
ciwga1ZUVmlkZW9FbmNvZGVyU3BlY2lmaWNhdGlvbl9SZXF1aXJlSGFyZHdhcmVBY2NlbGVyYXRl
ZFZpZGVvRW5jb2Rlciwga1ZUQ29tcHJlc3Npb25Qcm9wZXJ0eUtleV9SZWFsVGltZSB9OworKyAg
Q0ZUeXBlUmVmIHNlc3Npb25WYWx1ZXNbXSA9IHsgd2VicnRjOjppc0gyNjRIYXJkd2FyZUVuY29k
ZXJBbGxvd2VkKCkgPyBrQ0ZCb29sZWFuVHJ1ZSA6IGtDRkJvb2xlYW5GYWxzZSwgd2VicnRjOjpp
c0gyNjRIYXJkd2FyZUVuY29kZXJBbGxvd2VkKCkgPyBrQ0ZCb29sZWFuVHJ1ZSA6IGtDRkJvb2xl
YW5GYWxzZSwga0NGQm9vbGVhblRydWUgfTsKKysgIGVuY29kZXJTcGVjcyA9IENGRGljdGlvbmFy
eUNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBzZXNzaW9uS2V5cywgc2Vzc2lvblZhbHVlcywg
MywgJmtDRlR5cGVEaWN0aW9uYXJ5S2V5Q2FsbEJhY2tzLCAma0NGVHlwZURpY3Rpb25hcnlWYWx1
ZUNhbGxCYWNrcyk7CisgI2VuZGlmCisgICBPU1N0YXR1cyBzdGF0dXMgPQorICAgICAgIENvbXBy
ZXNzaW9uU2Vzc2lvbkNyZWF0ZShudWxscHRyLCAgLy8gdXNlIGRlZmF1bHQgYWxsb2NhdG9yCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3dpZHRoLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIF9oZWlnaHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAga0NvZGVjVHlwZUgyNjQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZW5jb2Rlcl9zcGVjcywgIC8vIHVzZSBoYXJkd2FyZSBhY2NlbGVyYXRlZCBlbmNvZGVyIGlmIGF2
YWlsYWJsZQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuY29kZXJTcGVjcywg
IC8vIHVzZSBoYXJkd2FyZSBhY2NlbGVyYXRlZCBlbmNvZGVyIGlmIGF2YWlsYWJsZQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZUF0dHJpYnV0ZXMsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbnVsbHB0ciwgIC8vIHVzZSBkZWZhdWx0IGNvbXByZXNz
ZWQgZGF0YSBhbGxvY2F0b3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21w
cmVzc2lvbk91dHB1dENhbGxiYWNrLAorQEAgLTU5OCw5ICs2MzAsOSBAQCAtIChpbnQpcmVzZXRD
b21wcmVzc2lvblNlc3Npb25XaXRoUGl4ZWxGb3JtYXQ6KE9TVHlwZSlmcmFtZVBpeGVsRm9ybWF0
IHsKKyAgICAgQ0ZSZWxlYXNlKHNvdXJjZUF0dHJpYnV0ZXMpOworICAgICBzb3VyY2VBdHRyaWJ1
dGVzID0gbnVsbHB0cjsKKyAgIH0KKy0gIGlmIChlbmNvZGVyX3NwZWNzKSB7CistICAgIENGUmVs
ZWFzZShlbmNvZGVyX3NwZWNzKTsKKy0gICAgZW5jb2Rlcl9zcGVjcyA9IG51bGxwdHI7CisrICBp
ZiAoZW5jb2RlclNwZWNzKSB7CisrICAgIENGUmVsZWFzZShlbmNvZGVyU3BlY3MpOworKyAgICBl
bmNvZGVyU3BlY3MgPSBudWxscHRyOworICAgfQorICAgaWYgKHN0YXR1cyAhPSBub0Vycikgewor
ICAgICBSVENfTE9HKExTX0VSUk9SKSA8PCAiRmFpbGVkIHRvIGNyZWF0ZSBjb21wcmVzc2lvbiBz
ZXNzaW9uOiAiIDw8IHN0YXR1czsKK0BAIC02MTYsNiArNjQ4LDc4IEBAIC0gKGludClyZXNldENv
bXByZXNzaW9uU2Vzc2lvbldpdGhQaXhlbEZvcm1hdDooT1NUeXBlKWZyYW1lUGl4ZWxGb3JtYXQg
eworICAgICBSVENfTE9HKExTX0lORk8pIDw8ICJDb21wcmVzc2lvbiBzZXNzaW9uIGNyZWF0ZWQg
d2l0aCBodyBhY2NsIGVuYWJsZWQiOworICAgfSBlbHNlIHsKKyAgICAgUlRDX0xPRyhMU19JTkZP
KSA8PCAiQ29tcHJlc3Npb24gc2Vzc2lvbiBjcmVhdGVkIHdpdGggaHcgYWNjbCBkaXNhYmxlZCI7
CisrCisrI2lmICFFTkFCTEVfVkNQX0VOQ09ERVIgJiYgIWRlZmluZWQoV0VCUlRDX0lPUykKKysg
ICAgaWYgKCFpc1N0YW5kYXJkRnJhbWVTaXplKF93aWR0aCwgX2hlaWdodCkpIHsKKysgICAgICBS
VENfTE9HKExTX0VSUk9SKSA8PCAiVXNpbmcgSDI2NCBzb2Z0d2FyZSBlbmNvZGVyIHdpdGggbm9u
IHN0YW5kYXJkIHNpemUgaXMgbm90IHN1cHBvcnRlZCI7CisrICAgICAgcmV0dXJuIFdFQlJUQ19W
SURFT19DT0RFQ19FUlJPUjsKKysgICAgfQorKworKyAgICBpZiAoIWdldGtWVFZpZGVvRW5jb2Rl
clNwZWNpZmljYXRpb25fVXNhZ2UoKSkgeworKyAgICAgIFJUQ19MT0coTFNfRVJST1IpIDw8ICJS
VENWaWRlb0VuY29kZXJIMjY0IGNhbm5vdCBjcmVhdGUgYSBIMjY0IHNvZnR3YXJlIGVuY29kZXIi
OworKyAgICAgIHJldHVybiBXRUJSVENfVklERU9fQ09ERUNfRVJST1I7CisrICAgIH0KKysKKysg
ICAgQ0ZEaWN0aW9uYXJ5UmVmIGlvU3VyZmFjZVZhbHVlID0gQ3JlYXRlQ0ZUeXBlRGljdGlvbmFy
eShudWxscHRyLCBudWxscHRyLCAwKTsKKysgICAgaW50NjRfdCBwaXhlbEZvcm1hdFR5cGUgPSBm
cmFtZVBpeGVsRm9ybWF0OworKyAgICBDRk51bWJlclJlZiBwaXhlbEZvcm1hdCA9IENGTnVtYmVy
Q3JlYXRlKG51bGxwdHIsIGtDRk51bWJlckxvbmdUeXBlLCAmcGl4ZWxGb3JtYXRUeXBlKTsKKysK
KysgICAgY29uc3Qgc2l6ZV90IGF0dHJpYnV0ZXNTaXplID0gMzsKKysgICAgQ0ZUeXBlUmVmIGtl
eXNbYXR0cmlidXRlc1NpemVdID0geworKyAgICAgIGtDVlBpeGVsQnVmZmVyT3BlbkdMQ29tcGF0
aWJpbGl0eUtleSwKKysgICAgICBrQ1ZQaXhlbEJ1ZmZlcklPU3VyZmFjZVByb3BlcnRpZXNLZXks
CisrICAgICAga0NWUGl4ZWxCdWZmZXJQaXhlbEZvcm1hdFR5cGVLZXkKKysgICAgfTsKKysgICAg
Q0ZUeXBlUmVmIHZhbHVlc1thdHRyaWJ1dGVzU2l6ZV0gPSB7CisrICAgICAga0NGQm9vbGVhblRy
dWUsCisrICAgICAgaW9TdXJmYWNlVmFsdWUsCisrICAgICAgcGl4ZWxGb3JtYXR9OworKyAgICBD
RkRpY3Rpb25hcnlSZWYgc291cmNlQXR0cmlidXRlcyA9IENyZWF0ZUNGVHlwZURpY3Rpb25hcnko
a2V5cywgdmFsdWVzLCBhdHRyaWJ1dGVzU2l6ZSk7CisrCisrICAgIGlmIChpb1N1cmZhY2VWYWx1
ZSkgeworKyAgICAgIENGUmVsZWFzZShpb1N1cmZhY2VWYWx1ZSk7CisrICAgICAgaW9TdXJmYWNl
VmFsdWUgPSBudWxscHRyOworKyAgICB9CisrICAgIGlmIChwaXhlbEZvcm1hdCkgeworKyAgICAg
IENGUmVsZWFzZShwaXhlbEZvcm1hdCk7CisrICAgICAgcGl4ZWxGb3JtYXQgPSBudWxscHRyOwor
KyAgICB9CisrCisrICAgIENGTXV0YWJsZURpY3Rpb25hcnlSZWYgZW5jb2RlclNwZWNzID0gQ0ZE
aWN0aW9uYXJ5Q3JlYXRlTXV0YWJsZShudWxscHRyLCAyLCAma0NGVHlwZURpY3Rpb25hcnlLZXlD
YWxsQmFja3MsICZrQ0ZUeXBlRGljdGlvbmFyeVZhbHVlQ2FsbEJhY2tzKTsKKysgICAgQ0ZEaWN0
aW9uYXJ5U2V0VmFsdWUoZW5jb2RlclNwZWNzLCBrVlRWaWRlb0VuY29kZXJTcGVjaWZpY2F0aW9u
X0VuYWJsZUhhcmR3YXJlQWNjZWxlcmF0ZWRWaWRlb0VuY29kZXIsIGtDRkJvb2xlYW5GYWxzZSk7
CisrICAgIGludCB1c2FnZVZhbHVlID0gMTsKKysgICAgQ0ZOdW1iZXJSZWYgdXNhZ2UgPSBDRk51
bWJlckNyZWF0ZShudWxscHRyLCBrQ0ZOdW1iZXJJbnRUeXBlLCAmdXNhZ2VWYWx1ZSk7CisrICAg
IENGRGljdGlvbmFyeVNldFZhbHVlKGVuY29kZXJTcGVjcywgZ2V0a1ZUVmlkZW9FbmNvZGVyU3Bl
Y2lmaWNhdGlvbl9Vc2FnZSgpLCB1c2FnZSk7CisrICAgIGlmICh1c2FnZSkgeworKyAgICAgIENG
UmVsZWFzZSh1c2FnZSk7CisrICAgICAgdXNhZ2UgPSBudWxscHRyOworKyAgICB9CisrCisrICAg
IFtzZWxmIGRlc3Ryb3lDb21wcmVzc2lvblNlc3Npb25dOworKworKyAgICBPU1N0YXR1cyBzdGF0
dXMgPQorKyAgICAgIENvbXByZXNzaW9uU2Vzc2lvbkNyZWF0ZShudWxscHRyLCAgLy8gdXNlIGRl
ZmF1bHQgYWxsb2NhdG9yCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3dpZHRo
LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9oZWlnaHQsCisrICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAga0NvZGVjVHlwZUgyNjQsCisrICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZW5jb2RlclNwZWNzLAorKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHNvdXJjZUF0dHJpYnV0ZXMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbnVsbHB0ciwgIC8vIHVzZSBkZWZhdWx0IGNvbXByZXNzZWQgZGF0YSBhbGxvY2F0b3IK
KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wcmVzc2lvbk91dHB1dENhbGxi
YWNrLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGxwdHIsCisrICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJl9jb21wcmVzc2lvblNlc3Npb24pOworKyAgICBp
ZiAoc291cmNlQXR0cmlidXRlcykgeworKyAgICAgIENGUmVsZWFzZShzb3VyY2VBdHRyaWJ1dGVz
KTsKKysgICAgICBzb3VyY2VBdHRyaWJ1dGVzID0gbnVsbHB0cjsKKysgICAgfQorKyAgICBpZiAo
ZW5jb2Rlcl9zcGVjcykgeworKyAgICAgIENGUmVsZWFzZShlbmNvZGVyX3NwZWNzKTsKKysgICAg
ICBlbmNvZGVyX3NwZWNzID0gbnVsbHB0cjsKKysgICAgfQorKyAgICBpZiAoc3RhdHVzICE9IG5v
RXJyKSB7CisrICAgICAgcmV0dXJuIFdFQlJUQ19WSURFT19DT0RFQ19FUlJPUjsKKysgICAgfQor
KyNlbmRpZgorICAgfQorICNlbmRpZgorICAgW3NlbGYgY29uZmlndXJlQ29tcHJlc3Npb25TZXNz
aW9uXTsKK0BAIC02MjcsNiArNzMxLDkgQEAgLSAodm9pZCljb25maWd1cmVDb21wcmVzc2lvblNl
c3Npb24geworICAgU2V0VlRTZXNzaW9uUHJvcGVydHkoX2NvbXByZXNzaW9uU2Vzc2lvbiwga1ZU
Q29tcHJlc3Npb25Qcm9wZXJ0eUtleV9SZWFsVGltZSwgdHJ1ZSk7CisgICBTZXRWVFNlc3Npb25Q
cm9wZXJ0eShfY29tcHJlc3Npb25TZXNzaW9uLCBrVlRDb21wcmVzc2lvblByb3BlcnR5S2V5X1By
b2ZpbGVMZXZlbCwgX3Byb2ZpbGUpOworICAgU2V0VlRTZXNzaW9uUHJvcGVydHkoX2NvbXByZXNz
aW9uU2Vzc2lvbiwga1ZUQ29tcHJlc3Npb25Qcm9wZXJ0eUtleV9BbGxvd0ZyYW1lUmVvcmRlcmlu
ZywgZmFsc2UpOworKyNpZiBFTkFCTEVfVkNQX0VOQ09ERVIKKysgIFNldFZUU2Vzc2lvblByb3Bl
cnR5KF9jb21wcmVzc2lvblNlc3Npb24sIChfX2JyaWRnZSBDRlN0cmluZ1JlZilnZXRrVlRWaWRl
b0VuY29kZXJTcGVjaWZpY2F0aW9uX1VzYWdlKCksIDEpOworKyNlbmRpZgorICAgW3NlbGYgc2V0
RW5jb2RlckJpdHJhdGVCcHM6X3RhcmdldEJpdHJhdGVCcHNdOworICAgLy8gVE9ETyh0a2NoaW4p
OiBMb29rIGF0IGVudHJvcHkgbW9kZSBhbmQgY29sb3JzcGFjZSBtYXRyaWNlcy4KKyAgIC8vIFRP
RE8odGtjaGluKTogSW52ZXN0aWdhdGUgdG8gc2VlIGlmIHRoZXJlJ3MgYW55IHdheSB0byBtYWtl
IHRoaXMgd29yay4KKy0tIAorMi4xNS4xIChBcHBsZSBHaXQtMTAxKQorCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>339131</attachid>
            <date>2018-04-30 11:27:28 -0700</date>
            <delta_ts>2018-04-30 13:28:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184835-20180430112727.patch</filename>
            <type>text/plain</type>
            <size>17341</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxMTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCBmZjIwOWEwNDllZTRhYTg4MDBhYjU0MGQ4MzJlMDMzNDAyNTFjODM1Li40OGJj
NWZkMjdhNWYwYWM4ODVjMzQzOWIwOGI5NWRkMGUwMjllYTU1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxOC0wNC0zMCAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWFuZGF0ZSBIMjY0IGhhcmR3YXJl
IGVuY29kZXIgZm9yIE1hYyBpbiBsaWJ3ZWJydGMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDgzNQorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMg
Q2FybHNvbi4KKworICAgICAgICBUZXN0ZWQgbWFudWFsbHkgdGhyb3VnaCBjb25zb2xlIHRyYWNl
cyB0aGF0IGhhcmR3YXJlIFZDUCBlbmNvZGVyIGNvZGUgcGF0aCBpcyBhY3R1YWxseSB1c2VkIGlu
c3RlYWQgb2Ygc29mdHdhcmUgVkNQIGVuY29kZXIgY29kZSBwYXRoLgorCisgICAgICAgICogU291
cmNlL3dlYnJ0Yy9zZGsvb2JqYy9GcmFtZXdvcmsvQ2xhc3Nlcy9WaWRlb1Rvb2xib3gvUlRDVmlk
ZW9FbmNvZGVySDI2NC5tbToKKyAgICAgICAgKC1bUlRDVmlkZW9FbmNvZGVySDI2NCByZXNldENv
bXByZXNzaW9uU2Vzc2lvbldpdGhQaXhlbEZvcm1hdDpdKToKKyAgICAgICAgKiBXZWJLaXQvMDAw
MS1VcGRhdGUtUlRDVmlkZW9FbmNvZGVySDI2NC5tbS1mb3ItV2ViS2l0LnBhdGNoOiBBZGRlZCB0
byBjb3ZlciB0aGlzIGNoYW5nZSBhbmQgY2hhbmdlcyBtYWRlIGluIGJ1ZyAxODQ2NjggYW5kIDE4
Mzk2MS4KKwogMjAxOC0wNC0yMCAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIzMDg2Mi4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9vYmpjL0Zy
YW1ld29yay9DbGFzc2VzL1ZpZGVvVG9vbGJveC9SVENWaWRlb0VuY29kZXJIMjY0Lm1tIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL29iamMvRnJhbWV3b3Jr
L0NsYXNzZXMvVmlkZW9Ub29sYm94L1JUQ1ZpZGVvRW5jb2RlckgyNjQubW0KaW5kZXggYmM3NDM3
ZjBjMTBjZTgyMTQ4YjRiMDkzYWI4ZDU0MjYwYWNlZDI1NC4uNjgxMThmOGY1NmEzYmQ1OTFkNTZh
YWE2MzZkMjQ5ZTY0Y2FkMGM4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS93ZWJydGMvc2RrL29iamMvRnJhbWV3b3JrL0NsYXNzZXMvVmlkZW9Ub29sYm94
L1JUQ1ZpZGVvRW5jb2RlckgyNjQubW0KKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRj
L1NvdXJjZS93ZWJydGMvc2RrL29iamMvRnJhbWV3b3JrL0NsYXNzZXMvVmlkZW9Ub29sYm94L1JU
Q1ZpZGVvRW5jb2RlckgyNjQubW0KQEAgLTYwNywyMiArNjA3LDIxIEBAIC0gKGludClyZXNldENv
bXByZXNzaW9uU2Vzc2lvbldpdGhQaXhlbEZvcm1hdDooT1NUeXBlKWZyYW1lUGl4ZWxGb3JtYXQg
ewogICAgIENGUmVsZWFzZShwaXhlbEZvcm1hdCk7CiAgICAgcGl4ZWxGb3JtYXQgPSBudWxscHRy
OwogICB9Ci0gIENGTXV0YWJsZURpY3Rpb25hcnlSZWYgZW5jb2Rlcl9zcGVjcyA9IG51bGxwdHI7
CisgIENGRGljdGlvbmFyeVJlZiBlbmNvZGVyU3BlY3MgPSBudWxscHRyOwogI2lmIGRlZmluZWQo
V0VCUlRDX01BQykgJiYgIWRlZmluZWQoV0VCUlRDX0lPUykKKyAgYXV0byB1c2VIYXJkd2FyZUVu
Y29kZXIgPSB3ZWJydGM6OmlzSDI2NEhhcmR3YXJlRW5jb2RlckFsbG93ZWQoKSA/IGtDRkJvb2xl
YW5UcnVlIDoga0NGQm9vbGVhbkZhbHNlOwogICAvLyBDdXJyZW50bHkgaHcgYWNjbCBpcyBzdXBw
b3J0ZWQgYWJvdmUgMzYwcCBvbiBtYWMsIGJlbG93IDM2MHAKICAgLy8gdGhlIGNvbXByZXNzaW9u
IHNlc3Npb24gd2lsbCBiZSBjcmVhdGVkIHdpdGggaHcgYWNjbCBkaXNhYmxlZC4KLSAgZW5jb2Rl
cl9zcGVjcyA9IENGRGljdGlvbmFyeUNyZWF0ZU11dGFibGUoCi0gICAgICBudWxscHRyLCAxLCAm
a0NGVHlwZURpY3Rpb25hcnlLZXlDYWxsQmFja3MsICZrQ0ZUeXBlRGljdGlvbmFyeVZhbHVlQ2Fs
bEJhY2tzKTsKLSAgQ0ZEaWN0aW9uYXJ5U2V0VmFsdWUoZW5jb2Rlcl9zcGVjcywKLSAgICAgICAg
ICAgICAgICAgICAgICAga1ZUVmlkZW9FbmNvZGVyU3BlY2lmaWNhdGlvbl9FbmFibGVIYXJkd2Fy
ZUFjY2VsZXJhdGVkVmlkZW9FbmNvZGVyLAotICAgICAgICAgICAgICAgICAgICAgICB3ZWJydGM6
OmlzSDI2NEhhcmR3YXJlRW5jb2RlckFsbG93ZWQoKSA/IGtDRkJvb2xlYW5UcnVlIDoga0NGQm9v
bGVhbkZhbHNlKTsKKyAgQ0ZUeXBlUmVmIHNlc3Npb25LZXlzW10gPSB7a1ZUVmlkZW9FbmNvZGVy
U3BlY2lmaWNhdGlvbl9FbmFibGVIYXJkd2FyZUFjY2VsZXJhdGVkVmlkZW9FbmNvZGVyLCBrVlRW
aWRlb0VuY29kZXJTcGVjaWZpY2F0aW9uX1JlcXVpcmVIYXJkd2FyZUFjY2VsZXJhdGVkVmlkZW9F
bmNvZGVyLCBrVlRDb21wcmVzc2lvblByb3BlcnR5S2V5X1JlYWxUaW1lIH07CisgIENGVHlwZVJl
ZiBzZXNzaW9uVmFsdWVzW10gPSB7ICB1c2VIYXJkd2FyZUVuY29kZXIsIHVzZUhhcmR3YXJlRW5j
b2Rlciwga0NGQm9vbGVhblRydWUgfTsKKyAgZW5jb2RlclNwZWNzID0gQ0ZEaWN0aW9uYXJ5Q3Jl
YXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIHNlc3Npb25LZXlzLCBzZXNzaW9uVmFsdWVzLCAzLCAm
a0NGVHlwZURpY3Rpb25hcnlLZXlDYWxsQmFja3MsICZrQ0ZUeXBlRGljdGlvbmFyeVZhbHVlQ2Fs
bEJhY2tzKTsKICNlbmRpZgogICBPU1N0YXR1cyBzdGF0dXMgPQogICAgICAgQ29tcHJlc3Npb25T
ZXNzaW9uQ3JlYXRlKG51bGxwdHIsICAvLyB1c2UgZGVmYXVsdCBhbGxvY2F0b3IKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIF93aWR0aCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIF9oZWlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrQ29k
ZWNUeXBlSDI2NCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuY29kZXJfc3Bl
Y3MsICAvLyB1c2UgaGFyZHdhcmUgYWNjZWxlcmF0ZWQgZW5jb2RlciBpZiBhdmFpbGFibGUKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuY29kZXJTcGVjcywgIC8vIHVzZSBoYXJk
d2FyZSBhY2NlbGVyYXRlZCBlbmNvZGVyIGlmIGF2YWlsYWJsZQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc291cmNlQXR0cmlidXRlcywKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG51bGxwdHIsICAvLyB1c2UgZGVmYXVsdCBjb21wcmVzc2VkIGRhdGEgYWxsb2Nh
dG9yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wcmVzc2lvbk91dHB1dENh
bGxiYWNrLApAQCAtNjMyLDIwICs2MzEsMjUgQEAgLSAoaW50KXJlc2V0Q29tcHJlc3Npb25TZXNz
aW9uV2l0aFBpeGVsRm9ybWF0OihPU1R5cGUpZnJhbWVQaXhlbEZvcm1hdCB7CiAgICAgQ0ZSZWxl
YXNlKHNvdXJjZUF0dHJpYnV0ZXMpOwogICAgIHNvdXJjZUF0dHJpYnV0ZXMgPSBudWxscHRyOwog
ICB9Ci0gIGlmIChlbmNvZGVyX3NwZWNzKSB7Ci0gICAgQ0ZSZWxlYXNlKGVuY29kZXJfc3BlY3Mp
OwotICAgIGVuY29kZXJfc3BlY3MgPSBudWxscHRyOworICBpZiAoZW5jb2RlclNwZWNzKSB7Cisg
ICAgQ0ZSZWxlYXNlKGVuY29kZXJTcGVjcyk7CisgICAgZW5jb2RlclNwZWNzID0gbnVsbHB0cjsK
ICAgfQorCisjaWYgRU5BQkxFX1ZDUF9FTkNPREVSIHx8IGRlZmluZWQoV0VCUlRDX0lPUykKICAg
aWYgKHN0YXR1cyAhPSBub0VycikgewogICAgIFJUQ19MT0coTFNfRVJST1IpIDw8ICJGYWlsZWQg
dG8gY3JlYXRlIGNvbXByZXNzaW9uIHNlc3Npb246ICIgPDwgc3RhdHVzOwogICAgIHJldHVybiBX
RUJSVENfVklERU9fQ09ERUNfRVJST1I7CiAgIH0KKyNlbmRpZgogI2lmIGRlZmluZWQoV0VCUlRD
X01BQykgJiYgIWRlZmluZWQoV0VCUlRDX0lPUykKICAgQ0ZCb29sZWFuUmVmIGh3YWNjbF9lbmFi
bGVkID0gbnVsbHB0cjsKLSAgc3RhdHVzID0gVlRTZXNzaW9uQ29weVByb3BlcnR5KF9jb21wcmVz
c2lvblNlc3Npb24sCisgIGlmIChzdGF0dXMgPT0gbm9FcnIpIHsKKyAgICBzdGF0dXMgPSBWVFNl
c3Npb25Db3B5UHJvcGVydHkoX2NvbXByZXNzaW9uU2Vzc2lvbiwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGtWVENvbXByZXNzaW9uUHJvcGVydHlLZXlfVXNpbmdIYXJkd2FyZUFj
Y2VsZXJhdGVkVmlkZW9FbmNvZGVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bnVsbHB0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZod2FjY2xfZW5hYmxl
ZCk7CisgIH0KICAgaWYgKHN0YXR1cyA9PSBub0VyciAmJiAoQ0ZCb29sZWFuR2V0VmFsdWUoaHdh
Y2NsX2VuYWJsZWQpKSkgewogICAgIFJUQ19MT0coTFNfSU5GTykgPDwgIkNvbXByZXNzaW9uIHNl
c3Npb24gY3JlYXRlZCB3aXRoIGh3IGFjY2wgZW5hYmxlZCI7CiAgIH0gZWxzZSB7CkBAIC03MTQs
OSArNzE4LDkgQEAgLSAoaW50KXJlc2V0Q29tcHJlc3Npb25TZXNzaW9uV2l0aFBpeGVsRm9ybWF0
OihPU1R5cGUpZnJhbWVQaXhlbEZvcm1hdCB7CiAgICAgICBDRlJlbGVhc2Uoc291cmNlQXR0cmli
dXRlcyk7CiAgICAgICBzb3VyY2VBdHRyaWJ1dGVzID0gbnVsbHB0cjsKICAgICB9Ci0gICAgaWYg
KGVuY29kZXJfc3BlY3MpIHsKLSAgICAgIENGUmVsZWFzZShlbmNvZGVyX3NwZWNzKTsKLSAgICAg
IGVuY29kZXJfc3BlY3MgPSBudWxscHRyOworICAgIGlmIChlbmNvZGVyU3BlY3MpIHsKKyAgICAg
IENGUmVsZWFzZShlbmNvZGVyU3BlY3MpOworICAgICAgZW5jb2RlclNwZWNzID0gbnVsbHB0cjsK
ICAgICB9CiAgICAgaWYgKHN0YXR1cyAhPSBub0VycikgewogICAgICAgcmV0dXJuIFdFQlJUQ19W
SURFT19DT0RFQ19FUlJPUjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9XZWJLaXQvMDAwMS1VcGRhdGUtUlRDVmlkZW9FbmNvZGVySDI2NC5tbS1mb3ItV2ViS2l0LnBh
dGNoIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1dlYktpdC8wMDAxLVVwZGF0ZS1SVENW
aWRlb0VuY29kZXJIMjY0Lm1tLWZvci1XZWJLaXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTY4YmU0NWMx
NGZjMGVhNzgxMjI1NGUyMDExNmNkODVlYWM4MzY3OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9XZWJLaXQvMDAwMS1VcGRhdGUtUlRDVmlkZW9FbmNvZGVy
SDI2NC5tbS1mb3ItV2ViS2l0LnBhdGNoCkBAIC0wLDAgKzEsMjc0IEBACitGcm9tIDY1MjZkMWRh
ZjA1NDc0OGNkMDk4M2Y5OTRlYzBmOTg4ZGYyMzVkYzEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx
CitGcm9tOiBZb3Vlbm4gRmFibGV0IDx5b3Vlbm5AYXBwbGUuY29tPgorRGF0ZTogTW9uLCAzMCBB
cHIgMjAxOCAxMToyNjoyNiAtMDcwMAorU3ViamVjdDogW1BBVENIXSBVcGRhdGUgUlRDVmlkZW9F
bmNvZGVySDI2NCBmb3IgV2ViS2l0CisKKy0tLQorIC4uLi9DbGFzc2VzL1ZpZGVvVG9vbGJveC9S
VENWaWRlb0VuY29kZXJIMjY0Lm1tICAgIHwgMTU5ICsrKysrKysrKysrKysrKysrKy0tLQorIDEg
ZmlsZSBjaGFuZ2VkLCAxNDAgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCisKK2RpZmYg
LS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvb2Jq
Yy9GcmFtZXdvcmsvQ2xhc3Nlcy9WaWRlb1Rvb2xib3gvUlRDVmlkZW9FbmNvZGVySDI2NC5tbSBi
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9vYmpjL0ZyYW1l
d29yay9DbGFzc2VzL1ZpZGVvVG9vbGJveC9SVENWaWRlb0VuY29kZXJIMjY0Lm1tCitpbmRleCBh
ODE4YzI3ZDFlNi4uNjgxMThmOGY1NmEgMTAwNjQ0CistLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9s
aWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvb2JqYy9GcmFtZXdvcmsvQ2xhc3Nlcy9WaWRlb1Rv
b2xib3gvUlRDVmlkZW9FbmNvZGVySDI2NC5tbQorKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL29iamMvRnJhbWV3b3JrL0NsYXNzZXMvVmlkZW9Ub29s
Ym94L1JUQ1ZpZGVvRW5jb2RlckgyNjQubW0KK0BAIC0zNSw2ICszNSw0MyBAQAorICNpbmNsdWRl
ICJzeXN0ZW1fd3JhcHBlcnMvaW5jbHVkZS9jbG9jay5oIgorICNpbmNsdWRlICJ0aGlyZF9wYXJ0
eS9saWJ5dXYvaW5jbHVkZS9saWJ5dXYvY29udmVydF9mcm9tLmgiCisgCisrI2luY2x1ZGUgInNk
ay9XZWJLaXQvRW5jb2RlclV0aWxpdGllcy5oIgorKyNpbmNsdWRlICJzZGsvV2ViS2l0L1dlYktp
dFV0aWxpdGllcy5oIgorKworKyNpbXBvcnQgPGRsZmNuLmg+CisrI2ltcG9ydCA8b2JqYy9ydW50
aW1lLmg+CisrCisrU09GVF9MSU5LX0ZSQU1FV09SS19PUFRJT05BTChWaWRlb1Rvb2xCb3gpCisr
U09GVF9MSU5LX1BPSU5URVJfT1BUSU9OQUwoVmlkZW9Ub29sQm94LCBrVlRWaWRlb0VuY29kZXJT
cGVjaWZpY2F0aW9uX1VzYWdlLCBOU1N0cmluZyAqKQorKworKyNpZiAhRU5BQkxFX1ZDUF9FTkNP
REVSICYmICFkZWZpbmVkKFdFQlJUQ19JT1MpCisrc3RhdGljIGlubGluZSBib29sIGlzU3RhbmRh
cmRGcmFtZVNpemUoaW50MzJfdCB3aWR0aCwgaW50MzJfdCBoZWlnaHQpCisreworKyAgICAvLyBG
SVhNRTogRW52aXNpb24gcmVsYXhpbmcgdGhpcyBydWxlLCBzb21ldGhpbmcgbGlrZSB3aWR0aCBh
bmQgaGVpZ2h0IGRpdmlkYWJsZSBieSA0IG9yIDggc2hvdWxkIGJlIGdvb2QgZW5vdWdoLgorKyAg
ICBpZiAod2lkdGggPT0gMTI4MCkKKysgICAgICAgIHJldHVybiBoZWlnaHQgPT0gNzIwOworKyAg
ICBpZiAod2lkdGggPT0gNzIwKQorKyAgICAgICAgcmV0dXJuIGhlaWdodCA9PSAxMjgwOworKyAg
ICBpZiAod2lkdGggPT0gOTYwKQorKyAgICAgICAgcmV0dXJuIGhlaWdodCA9PSA1NDA7CisrICAg
IGlmICh3aWR0aCA9PSA1NDApCisrICAgICAgICByZXR1cm4gaGVpZ2h0ID09IDk2MDsKKysgICAg
aWYgKHdpZHRoID09IDY0MCkKKysgICAgICAgIHJldHVybiBoZWlnaHQgPT0gNDgwOworKyAgICBp
ZiAod2lkdGggPT0gNDgwKQorKyAgICAgICAgcmV0dXJuIGhlaWdodCA9PSA2NDA7CisrICAgIGlm
ICh3aWR0aCA9PSAyODgpCisrICAgICAgICByZXR1cm4gaGVpZ2h0ID09IDM1MjsKKysgICAgaWYg
KHdpZHRoID09IDM1MikKKysgICAgICAgIHJldHVybiBoZWlnaHQgPT0gMjg4OworKyAgICBpZiAo
d2lkdGggPT0gMzIwKQorKyAgICAgICAgcmV0dXJuIGhlaWdodCA9PSAyNDA7CisrICAgIGlmICh3
aWR0aCA9PSAyNDApCisrICAgICAgICByZXR1cm4gaGVpZ2h0ID09IDMyMDsKKysgICAgcmV0dXJu
IGZhbHNlOworK30KKysjZW5kaWYKKysKKyBAaW50ZXJmYWNlIFJUQ1ZpZGVvRW5jb2RlckgyNjQg
KCkKKyAKKyAtICh2b2lkKWZyYW1lV2FzRW5jb2RlZDooT1NTdGF0dXMpc3RhdHVzCitAQCAtMjg1
LDcgKzMyMiw3IEBAIEBpbXBsZW1lbnRhdGlvbiBSVENWaWRlb0VuY29kZXJIMjY0IHsKKyAgIFJU
Q1ZpZGVvRW5jb2RlckNhbGxiYWNrIF9jYWxsYmFjazsKKyAgIGludDMyX3QgX3dpZHRoOworICAg
aW50MzJfdCBfaGVpZ2h0OworLSAgVlRDb21wcmVzc2lvblNlc3Npb25SZWYgX2NvbXByZXNzaW9u
U2Vzc2lvbjsKKysgIENvbXByZXNzaW9uU2Vzc2lvblJlZiBfY29tcHJlc3Npb25TZXNzaW9uOwor
ICAgUlRDVmlkZW9Db2RlY01vZGUgX21vZGU7CisgCisgICB3ZWJydGM6OkgyNjRCaXRzdHJlYW1Q
YXJzZXIgX2gyNjRCaXRzdHJlYW1QYXJzZXI7CitAQCAtMzE4LDYgKzM1NSwxMCBAQCAtIChpbnN0
YW5jZXR5cGUpaW5pdFdpdGhDb2RlY0luZm86KFJUQ1ZpZGVvQ29kZWNJbmZvICopY29kZWNJbmZv
IHsKKyAKKyAtICh2b2lkKWRlYWxsb2MgeworICAgW3NlbGYgZGVzdHJveUNvbXByZXNzaW9uU2Vz
c2lvbl07CisrICBpZiAoX2NhbGxiYWNrKSB7CisrICAgIEJsb2NrX3JlbGVhc2UoX2NhbGxiYWNr
KTsKKysgIH0KKysgIFtzdXBlciBkZWFsbG9jXTsKKyB9CisgCisgLSAoTlNJbnRlZ2VyKXN0YXJ0
RW5jb2RlV2l0aFNldHRpbmdzOihSVENWaWRlb0VuY29kZXJTZXR0aW5ncyAqKXNldHRpbmdzCitA
QCAtMzU4LDkgKzM5OSw5IEBAIC0gKE5TSW50ZWdlcillbmNvZGU6KFJUQ1ZpZGVvRnJhbWUgKilm
cmFtZQorIAorICAgLy8gR2V0IGEgcGl4ZWwgYnVmZmVyIGZyb20gdGhlIHBvb2wgYW5kIGNvcHkg
ZnJhbWUgZGF0YSBvdmVyLgorICAgQ1ZQaXhlbEJ1ZmZlclBvb2xSZWYgcGl4ZWxCdWZmZXJQb29s
ID0KKy0gICAgICBWVENvbXByZXNzaW9uU2Vzc2lvbkdldFBpeGVsQnVmZmVyUG9vbChfY29tcHJl
c3Npb25TZXNzaW9uKTsKKysgICAgICBDb21wcmVzc2lvblNlc3Npb25HZXRQaXhlbEJ1ZmZlclBv
b2woX2NvbXByZXNzaW9uU2Vzc2lvbik7CisgICBpZiAoW3NlbGYgcmVzZXRDb21wcmVzc2lvblNl
c3Npb25JZk5lZWRlZEZvclBvb2w6cGl4ZWxCdWZmZXJQb29sIHdpdGhGcmFtZTpmcmFtZV0pIHsK
Ky0gICAgcGl4ZWxCdWZmZXJQb29sID0gVlRDb21wcmVzc2lvblNlc3Npb25HZXRQaXhlbEJ1ZmZl
clBvb2woX2NvbXByZXNzaW9uU2Vzc2lvbik7CisrICAgIHBpeGVsQnVmZmVyUG9vbCA9IENvbXBy
ZXNzaW9uU2Vzc2lvbkdldFBpeGVsQnVmZmVyUG9vbChfY29tcHJlc3Npb25TZXNzaW9uKTsKKyAg
ICAgaXNLZXlmcmFtZVJlcXVpcmVkID0gWUVTOworICAgfQorIAorQEAgLTQ0Miw3ICs0ODMsNyBA
QCAtIChOU0ludGVnZXIpZW5jb2RlOihSVENWaWRlb0ZyYW1lICopZnJhbWUKKyAgIC8vIFVwZGF0
ZSB0aGUgYml0cmF0ZSBpZiBuZWVkZWQuCisgICBbc2VsZiBzZXRCaXRyYXRlQnBzOl9iaXRyYXRl
QWRqdXN0ZXItPkdldEFkanVzdGVkQml0cmF0ZUJwcygpXTsKKyAKKy0gIE9TU3RhdHVzIHN0YXR1
cyA9IFZUQ29tcHJlc3Npb25TZXNzaW9uRW5jb2RlRnJhbWUoX2NvbXByZXNzaW9uU2Vzc2lvbiwK
KysgIE9TU3RhdHVzIHN0YXR1cyA9IENvbXByZXNzaW9uU2Vzc2lvbkVuY29kZUZyYW1lKF9jb21w
cmVzc2lvblNlc3Npb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHBpeGVsQnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwcmVzZW50YXRpb25UaW1lU3RhbXAsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtDTVRpbWVJbnZhbGlk
LAorQEAgLTQ2Myw3ICs1MDQsNyBAQCAtIChOU0ludGVnZXIpZW5jb2RlOihSVENWaWRlb0ZyYW1l
ICopZnJhbWUKKyB9CisgCisgLSAodm9pZClzZXRDYWxsYmFjazooUlRDVmlkZW9FbmNvZGVyQ2Fs
bGJhY2spY2FsbGJhY2sgeworLSAgX2NhbGxiYWNrID0gY2FsbGJhY2s7CisrICBfY2FsbGJhY2sg
PSBCbG9ja19jb3B5KGNhbGxiYWNrKTsKKyB9CisgCisgLSAoaW50KXNldEJpdHJhdGU6KHVpbnQz
Ml90KWJpdHJhdGVLYml0IGZyYW1lcmF0ZToodWludDMyX3QpZnJhbWVyYXRlIHsKK0BAIC00ODAs
NiArNTIxLDcgQEAgLSAoTlNJbnRlZ2VyKXJlbGVhc2VFbmNvZGVyIHsKKyAgIC8vIGNhbGxiYWNr
IGFueW1vcmUuIERvIG5vdCByZW1vdmUgY2FsbGJhY2sgdW50aWwgdGhlIHNlc3Npb24gaXMgaW52
YWxpZGF0ZWQKKyAgIC8vIHNpbmNlIGFzeW5jIGVuY29kZXIgY2FsbGJhY2tzIGNhbiBvY2N1ciB1
bnRpbCBpbnZhbGlkYXRpb24uCisgICBbc2VsZiBkZXN0cm95Q29tcHJlc3Npb25TZXNzaW9uXTsK
KysgIEJsb2NrX3JlbGVhc2UoX2NhbGxiYWNrKTsKKyAgIF9jYWxsYmFjayA9IG51bGxwdHI7Cisg
ICByZXR1cm4gV0VCUlRDX1ZJREVPX0NPREVDX09LOworIH0KK0BAIC01NjUsMjIgKzYwNywyMSBA
QCAtIChpbnQpcmVzZXRDb21wcmVzc2lvblNlc3Npb25XaXRoUGl4ZWxGb3JtYXQ6KE9TVHlwZSlm
cmFtZVBpeGVsRm9ybWF0IHsKKyAgICAgQ0ZSZWxlYXNlKHBpeGVsRm9ybWF0KTsKKyAgICAgcGl4
ZWxGb3JtYXQgPSBudWxscHRyOworICAgfQorLSAgQ0ZNdXRhYmxlRGljdGlvbmFyeVJlZiBlbmNv
ZGVyX3NwZWNzID0gbnVsbHB0cjsKKysgIENGRGljdGlvbmFyeVJlZiBlbmNvZGVyU3BlY3MgPSBu
dWxscHRyOworICNpZiBkZWZpbmVkKFdFQlJUQ19NQUMpICYmICFkZWZpbmVkKFdFQlJUQ19JT1Mp
CisrICBhdXRvIHVzZUhhcmR3YXJlRW5jb2RlciA9IHdlYnJ0Yzo6aXNIMjY0SGFyZHdhcmVFbmNv
ZGVyQWxsb3dlZCgpID8ga0NGQm9vbGVhblRydWUgOiBrQ0ZCb29sZWFuRmFsc2U7CisgICAvLyBD
dXJyZW50bHkgaHcgYWNjbCBpcyBzdXBwb3J0ZWQgYWJvdmUgMzYwcCBvbiBtYWMsIGJlbG93IDM2
MHAKKyAgIC8vIHRoZSBjb21wcmVzc2lvbiBzZXNzaW9uIHdpbGwgYmUgY3JlYXRlZCB3aXRoIGh3
IGFjY2wgZGlzYWJsZWQuCistICBlbmNvZGVyX3NwZWNzID0gQ0ZEaWN0aW9uYXJ5Q3JlYXRlTXV0
YWJsZSgKKy0gICAgICBudWxscHRyLCAxLCAma0NGVHlwZURpY3Rpb25hcnlLZXlDYWxsQmFja3Ms
ICZrQ0ZUeXBlRGljdGlvbmFyeVZhbHVlQ2FsbEJhY2tzKTsKKy0gIENGRGljdGlvbmFyeVNldFZh
bHVlKGVuY29kZXJfc3BlY3MsCistICAgICAgICAgICAgICAgICAgICAgICBrVlRWaWRlb0VuY29k
ZXJTcGVjaWZpY2F0aW9uX0VuYWJsZUhhcmR3YXJlQWNjZWxlcmF0ZWRWaWRlb0VuY29kZXIsCist
ICAgICAgICAgICAgICAgICAgICAgICBrQ0ZCb29sZWFuVHJ1ZSk7CisrICBDRlR5cGVSZWYgc2Vz
c2lvbktleXNbXSA9IHtrVlRWaWRlb0VuY29kZXJTcGVjaWZpY2F0aW9uX0VuYWJsZUhhcmR3YXJl
QWNjZWxlcmF0ZWRWaWRlb0VuY29kZXIsIGtWVFZpZGVvRW5jb2RlclNwZWNpZmljYXRpb25fUmVx
dWlyZUhhcmR3YXJlQWNjZWxlcmF0ZWRWaWRlb0VuY29kZXIsIGtWVENvbXByZXNzaW9uUHJvcGVy
dHlLZXlfUmVhbFRpbWUgfTsKKysgIENGVHlwZVJlZiBzZXNzaW9uVmFsdWVzW10gPSB7ICB1c2VI
YXJkd2FyZUVuY29kZXIsIHVzZUhhcmR3YXJlRW5jb2Rlciwga0NGQm9vbGVhblRydWUgfTsKKysg
IGVuY29kZXJTcGVjcyA9IENGRGljdGlvbmFyeUNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBz
ZXNzaW9uS2V5cywgc2Vzc2lvblZhbHVlcywgMywgJmtDRlR5cGVEaWN0aW9uYXJ5S2V5Q2FsbEJh
Y2tzLCAma0NGVHlwZURpY3Rpb25hcnlWYWx1ZUNhbGxCYWNrcyk7CisgI2VuZGlmCisgICBPU1N0
YXR1cyBzdGF0dXMgPQorLSAgICAgIFZUQ29tcHJlc3Npb25TZXNzaW9uQ3JlYXRlKG51bGxwdHIs
ICAvLyB1c2UgZGVmYXVsdCBhbGxvY2F0b3IKKysgICAgICBDb21wcmVzc2lvblNlc3Npb25DcmVh
dGUobnVsbHB0ciwgIC8vIHVzZSBkZWZhdWx0IGFsbG9jYXRvcgorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIF93aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBfaGVpZ2h0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtDTVZpZGVvQ29k
ZWNUeXBlX0gyNjQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5jb2Rlcl9z
cGVjcywgIC8vIHVzZSBoYXJkd2FyZSBhY2NlbGVyYXRlZCBlbmNvZGVyIGlmIGF2YWlsYWJsZQor
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtDb2RlY1R5cGVIMjY0LAorKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuY29kZXJTcGVjcywgIC8vIHVzZSBoYXJkd2Fy
ZSBhY2NlbGVyYXRlZCBlbmNvZGVyIGlmIGF2YWlsYWJsZQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNvdXJjZUF0dHJpYnV0ZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbnVsbHB0ciwgIC8vIHVzZSBkZWZhdWx0IGNvbXByZXNzZWQgZGF0YSBhbGxvY2F0
b3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wcmVzc2lvbk91dHB1dENh
bGxiYWNrLAorQEAgLTU5MCwyNCArNjMxLDEwMSBAQCAtIChpbnQpcmVzZXRDb21wcmVzc2lvblNl
c3Npb25XaXRoUGl4ZWxGb3JtYXQ6KE9TVHlwZSlmcmFtZVBpeGVsRm9ybWF0IHsKKyAgICAgQ0ZS
ZWxlYXNlKHNvdXJjZUF0dHJpYnV0ZXMpOworICAgICBzb3VyY2VBdHRyaWJ1dGVzID0gbnVsbHB0
cjsKKyAgIH0KKy0gIGlmIChlbmNvZGVyX3NwZWNzKSB7CistICAgIENGUmVsZWFzZShlbmNvZGVy
X3NwZWNzKTsKKy0gICAgZW5jb2Rlcl9zcGVjcyA9IG51bGxwdHI7CisrICBpZiAoZW5jb2RlclNw
ZWNzKSB7CisrICAgIENGUmVsZWFzZShlbmNvZGVyU3BlY3MpOworKyAgICBlbmNvZGVyU3BlY3Mg
PSBudWxscHRyOworICAgfQorKworKyNpZiBFTkFCTEVfVkNQX0VOQ09ERVIgfHwgZGVmaW5lZChX
RUJSVENfSU9TKQorICAgaWYgKHN0YXR1cyAhPSBub0VycikgeworICAgICBSVENfTE9HKExTX0VS
Uk9SKSA8PCAiRmFpbGVkIHRvIGNyZWF0ZSBjb21wcmVzc2lvbiBzZXNzaW9uOiAiIDw8IHN0YXR1
czsKKyAgICAgcmV0dXJuIFdFQlJUQ19WSURFT19DT0RFQ19FUlJPUjsKKyAgIH0KKysjZW5kaWYK
KyAjaWYgZGVmaW5lZChXRUJSVENfTUFDKSAmJiAhZGVmaW5lZChXRUJSVENfSU9TKQorICAgQ0ZC
b29sZWFuUmVmIGh3YWNjbF9lbmFibGVkID0gbnVsbHB0cjsKKy0gIHN0YXR1cyA9IFZUU2Vzc2lv
bkNvcHlQcm9wZXJ0eShfY29tcHJlc3Npb25TZXNzaW9uLAorKyAgaWYgKHN0YXR1cyA9PSBub0Vy
cikgeworKyAgICBzdGF0dXMgPSBWVFNlc3Npb25Db3B5UHJvcGVydHkoX2NvbXByZXNzaW9uU2Vz
c2lvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrVlRDb21wcmVzc2lvblBy
b3BlcnR5S2V5X1VzaW5nSGFyZHdhcmVBY2NlbGVyYXRlZFZpZGVvRW5jb2RlciwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBudWxscHRyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICZod2FjY2xfZW5hYmxlZCk7CisrICB9CisgICBpZiAoc3RhdHVzID09IG5v
RXJyICYmIChDRkJvb2xlYW5HZXRWYWx1ZShod2FjY2xfZW5hYmxlZCkpKSB7CisgICAgIFJUQ19M
T0coTFNfSU5GTykgPDwgIkNvbXByZXNzaW9uIHNlc3Npb24gY3JlYXRlZCB3aXRoIGh3IGFjY2wg
ZW5hYmxlZCI7CisgICB9IGVsc2UgeworICAgICBSVENfTE9HKExTX0lORk8pIDw8ICJDb21wcmVz
c2lvbiBzZXNzaW9uIGNyZWF0ZWQgd2l0aCBodyBhY2NsIGRpc2FibGVkIjsKKysKKysjaWYgIUVO
QUJMRV9WQ1BfRU5DT0RFUiAmJiAhZGVmaW5lZChXRUJSVENfSU9TKQorKyAgICBpZiAoIWlzU3Rh
bmRhcmRGcmFtZVNpemUoX3dpZHRoLCBfaGVpZ2h0KSkgeworKyAgICAgIFJUQ19MT0coTFNfRVJS
T1IpIDw8ICJVc2luZyBIMjY0IHNvZnR3YXJlIGVuY29kZXIgd2l0aCBub24gc3RhbmRhcmQgc2l6
ZSBpcyBub3Qgc3VwcG9ydGVkIjsKKysgICAgICByZXR1cm4gV0VCUlRDX1ZJREVPX0NPREVDX0VS
Uk9SOworKyAgICB9CisrCisrICAgIGlmICghZ2V0a1ZUVmlkZW9FbmNvZGVyU3BlY2lmaWNhdGlv
bl9Vc2FnZSgpKSB7CisrICAgICAgUlRDX0xPRyhMU19FUlJPUikgPDwgIlJUQ1ZpZGVvRW5jb2Rl
ckgyNjQgY2Fubm90IGNyZWF0ZSBhIEgyNjQgc29mdHdhcmUgZW5jb2RlciI7CisrICAgICAgcmV0
dXJuIFdFQlJUQ19WSURFT19DT0RFQ19FUlJPUjsKKysgICAgfQorKworKyAgICBDRkRpY3Rpb25h
cnlSZWYgaW9TdXJmYWNlVmFsdWUgPSBDcmVhdGVDRlR5cGVEaWN0aW9uYXJ5KG51bGxwdHIsIG51
bGxwdHIsIDApOworKyAgICBpbnQ2NF90IHBpeGVsRm9ybWF0VHlwZSA9IGZyYW1lUGl4ZWxGb3Jt
YXQ7CisrICAgIENGTnVtYmVyUmVmIHBpeGVsRm9ybWF0ID0gQ0ZOdW1iZXJDcmVhdGUobnVsbHB0
ciwga0NGTnVtYmVyTG9uZ1R5cGUsICZwaXhlbEZvcm1hdFR5cGUpOworKworKyAgICBjb25zdCBz
aXplX3QgYXR0cmlidXRlc1NpemUgPSAzOworKyAgICBDRlR5cGVSZWYga2V5c1thdHRyaWJ1dGVz
U2l6ZV0gPSB7CisrICAgICAga0NWUGl4ZWxCdWZmZXJPcGVuR0xDb21wYXRpYmlsaXR5S2V5LAor
KyAgICAgIGtDVlBpeGVsQnVmZmVySU9TdXJmYWNlUHJvcGVydGllc0tleSwKKysgICAgICBrQ1ZQ
aXhlbEJ1ZmZlclBpeGVsRm9ybWF0VHlwZUtleQorKyAgICB9OworKyAgICBDRlR5cGVSZWYgdmFs
dWVzW2F0dHJpYnV0ZXNTaXplXSA9IHsKKysgICAgICBrQ0ZCb29sZWFuVHJ1ZSwKKysgICAgICBp
b1N1cmZhY2VWYWx1ZSwKKysgICAgICBwaXhlbEZvcm1hdH07CisrICAgIENGRGljdGlvbmFyeVJl
ZiBzb3VyY2VBdHRyaWJ1dGVzID0gQ3JlYXRlQ0ZUeXBlRGljdGlvbmFyeShrZXlzLCB2YWx1ZXMs
IGF0dHJpYnV0ZXNTaXplKTsKKysKKysgICAgaWYgKGlvU3VyZmFjZVZhbHVlKSB7CisrICAgICAg
Q0ZSZWxlYXNlKGlvU3VyZmFjZVZhbHVlKTsKKysgICAgICBpb1N1cmZhY2VWYWx1ZSA9IG51bGxw
dHI7CisrICAgIH0KKysgICAgaWYgKHBpeGVsRm9ybWF0KSB7CisrICAgICAgQ0ZSZWxlYXNlKHBp
eGVsRm9ybWF0KTsKKysgICAgICBwaXhlbEZvcm1hdCA9IG51bGxwdHI7CisrICAgIH0KKysKKysg
ICAgQ0ZNdXRhYmxlRGljdGlvbmFyeVJlZiBlbmNvZGVyU3BlY3MgPSBDRkRpY3Rpb25hcnlDcmVh
dGVNdXRhYmxlKG51bGxwdHIsIDIsICZrQ0ZUeXBlRGljdGlvbmFyeUtleUNhbGxCYWNrcywgJmtD
RlR5cGVEaWN0aW9uYXJ5VmFsdWVDYWxsQmFja3MpOworKyAgICBDRkRpY3Rpb25hcnlTZXRWYWx1
ZShlbmNvZGVyU3BlY3MsIGtWVFZpZGVvRW5jb2RlclNwZWNpZmljYXRpb25fRW5hYmxlSGFyZHdh
cmVBY2NlbGVyYXRlZFZpZGVvRW5jb2Rlciwga0NGQm9vbGVhbkZhbHNlKTsKKysgICAgaW50IHVz
YWdlVmFsdWUgPSAxOworKyAgICBDRk51bWJlclJlZiB1c2FnZSA9IENGTnVtYmVyQ3JlYXRlKG51
bGxwdHIsIGtDRk51bWJlckludFR5cGUsICZ1c2FnZVZhbHVlKTsKKysgICAgQ0ZEaWN0aW9uYXJ5
U2V0VmFsdWUoZW5jb2RlclNwZWNzLCBnZXRrVlRWaWRlb0VuY29kZXJTcGVjaWZpY2F0aW9uX1Vz
YWdlKCksIHVzYWdlKTsKKysgICAgaWYgKHVzYWdlKSB7CisrICAgICAgQ0ZSZWxlYXNlKHVzYWdl
KTsKKysgICAgICB1c2FnZSA9IG51bGxwdHI7CisrICAgIH0KKysKKysgICAgW3NlbGYgZGVzdHJv
eUNvbXByZXNzaW9uU2Vzc2lvbl07CisrCisrICAgIE9TU3RhdHVzIHN0YXR1cyA9CisrICAgICAg
Q29tcHJlc3Npb25TZXNzaW9uQ3JlYXRlKG51bGxwdHIsICAvLyB1c2UgZGVmYXVsdCBhbGxvY2F0
b3IKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfd2lkdGgsCisrICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgX2hlaWdodCwKKysgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBrQ29kZWNUeXBlSDI2NCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBlbmNvZGVyU3BlY3MsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291
cmNlQXR0cmlidXRlcywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxscHRy
LCAgLy8gdXNlIGRlZmF1bHQgY29tcHJlc3NlZCBkYXRhIGFsbG9jYXRvcgorKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbXByZXNzaW9uT3V0cHV0Q2FsbGJhY2ssCisrICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbHB0ciwKKysgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAmX2NvbXByZXNzaW9uU2Vzc2lvbik7CisrICAgIGlmIChzb3VyY2VBdHRy
aWJ1dGVzKSB7CisrICAgICAgQ0ZSZWxlYXNlKHNvdXJjZUF0dHJpYnV0ZXMpOworKyAgICAgIHNv
dXJjZUF0dHJpYnV0ZXMgPSBudWxscHRyOworKyAgICB9CisrICAgIGlmIChlbmNvZGVyU3BlY3Mp
IHsKKysgICAgICBDRlJlbGVhc2UoZW5jb2RlclNwZWNzKTsKKysgICAgICBlbmNvZGVyU3BlY3Mg
PSBudWxscHRyOworKyAgICB9CisrICAgIGlmIChzdGF0dXMgIT0gbm9FcnIpIHsKKysgICAgICBy
ZXR1cm4gV0VCUlRDX1ZJREVPX0NPREVDX0VSUk9SOworKyAgICB9CisrI2VuZGlmCisgICB9Cisg
I2VuZGlmCisgICBbc2VsZiBjb25maWd1cmVDb21wcmVzc2lvblNlc3Npb25dOworQEAgLTYxOSw2
ICs3MzcsOSBAQCAtICh2b2lkKWNvbmZpZ3VyZUNvbXByZXNzaW9uU2Vzc2lvbiB7CisgICBTZXRW
VFNlc3Npb25Qcm9wZXJ0eShfY29tcHJlc3Npb25TZXNzaW9uLCBrVlRDb21wcmVzc2lvblByb3Bl
cnR5S2V5X1JlYWxUaW1lLCB0cnVlKTsKKyAgIFNldFZUU2Vzc2lvblByb3BlcnR5KF9jb21wcmVz
c2lvblNlc3Npb24sIGtWVENvbXByZXNzaW9uUHJvcGVydHlLZXlfUHJvZmlsZUxldmVsLCBfcHJv
ZmlsZSk7CisgICBTZXRWVFNlc3Npb25Qcm9wZXJ0eShfY29tcHJlc3Npb25TZXNzaW9uLCBrVlRD
b21wcmVzc2lvblByb3BlcnR5S2V5X0FsbG93RnJhbWVSZW9yZGVyaW5nLCBmYWxzZSk7CisrI2lm
IEVOQUJMRV9WQ1BfRU5DT0RFUgorKyAgU2V0VlRTZXNzaW9uUHJvcGVydHkoX2NvbXByZXNzaW9u
U2Vzc2lvbiwgKF9fYnJpZGdlIENGU3RyaW5nUmVmKWdldGtWVFZpZGVvRW5jb2RlclNwZWNpZmlj
YXRpb25fVXNhZ2UoKSwgMSk7CisrI2VuZGlmCisgICBbc2VsZiBzZXRFbmNvZGVyQml0cmF0ZUJw
czpfdGFyZ2V0Qml0cmF0ZUJwc107CisgICAvLyBUT0RPKHRrY2hpbik6IExvb2sgYXQgZW50cm9w
eSBtb2RlIGFuZCBjb2xvcnNwYWNlIG1hdHJpY2VzLgorICAgLy8gVE9ETyh0a2NoaW4pOiBJbnZl
c3RpZ2F0ZSB0byBzZWUgaWYgdGhlcmUncyBhbnkgd2F5IHRvIG1ha2UgdGhpcyB3b3JrLgorQEAg
LTYzNiw3ICs3NTcsNyBAQCAtICh2b2lkKWNvbmZpZ3VyZUNvbXByZXNzaW9uU2Vzc2lvbiB7Cisg
CisgLSAodm9pZClkZXN0cm95Q29tcHJlc3Npb25TZXNzaW9uIHsKKyAgIGlmIChfY29tcHJlc3Np
b25TZXNzaW9uKSB7CistICAgIFZUQ29tcHJlc3Npb25TZXNzaW9uSW52YWxpZGF0ZShfY29tcHJl
c3Npb25TZXNzaW9uKTsKKysgICAgQ29tcHJlc3Npb25TZXNzaW9uSW52YWxpZGF0ZShfY29tcHJl
c3Npb25TZXNzaW9uKTsKKyAgICAgQ0ZSZWxlYXNlKF9jb21wcmVzc2lvblNlc3Npb24pOworICAg
ICBfY29tcHJlc3Npb25TZXNzaW9uID0gbnVsbHB0cjsKKyAgIH0KKy0tIAorMi4xNi4xIChBcHBs
ZSBHaXQtMTAyKQorCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>