<?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>34309</bug_id>
          
          <creation_ts>2010-01-28 22:41:48 -0800</creation_ts>
          <short_desc>MSAA: Crash when posting a notification for a detached object</short_desc>
          <delta_ts>2010-01-29 13:56:42 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jon Honeycutt">jhoneycutt</reporter>
          <assigned_to name="Jon Honeycutt">jhoneycutt</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>185742</commentid>
    <comment_count>0</comment_count>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2010-01-28 22:41:48 -0800</bug_when>
    <thetext>A crash occurs when a notification is posted for an object that has been detached from the document.

&lt;rdar://problem/7409759&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185768</commentid>
    <comment_count>1</comment_count>
      <attachid>47687</attachid>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2010-01-29 00:33:08 -0800</bug_when>
    <thetext>Created attachment 47687
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185889</commentid>
    <comment_count>2</comment_count>
      <attachid>47687</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-01-29 09:31:24 -0800</bug_when>
    <thetext>Comment on attachment 47687
patch

&gt; +        * accessibility/AccessibilityRenderObject.cpp:
&gt; +        (AccessibilityRenderObject::document):
&gt; +        Null check m_renderer.

I presume this is the bug fix.

&gt; +        * accessibility/win/AXObjectCacheWin.cpp:
&gt; +        (WebCore::AXObjectCache::postPlatformNotification):
&gt; +        Map AXValueChanged to EVENT_OBJECT_VALUECHANGED.

What does this have to do with the bug report? Is it just something else you noticed when making the test case?

I must admit this is one of the largest patches I have ever seen to fix a null-dereference!

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185928</commentid>
    <comment_count>3</comment_count>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2010-01-29 12:18:05 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 47687 [details])
&gt; &gt; +        * accessibility/AccessibilityRenderObject.cpp:
&gt; &gt; +        (AccessibilityRenderObject::document):
&gt; &gt; +        Null check m_renderer.
&gt; 
&gt; I presume this is the bug fix.

Yes, this is the fix. I&apos;ll mention this in the changelog.

&gt; 
&gt; &gt; +        * accessibility/win/AXObjectCacheWin.cpp:
&gt; &gt; +        (WebCore::AXObjectCache::postPlatformNotification):
&gt; &gt; +        Map AXValueChanged to EVENT_OBJECT_VALUECHANGED.
&gt; 
&gt; What does this have to do with the bug report? Is it just something else you
&gt; noticed when making the test case?

This is required for us to receive the value change event that lets us know that the test passed without crashing. I&apos;ll mention that, too.

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185954</commentid>
    <comment_count>4</comment_count>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2010-01-29 13:56:42 -0800</bug_when>
    <thetext>Landed in r54078.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>47687</attachid>
            <date>2010-01-29 00:33:08 -0800</date>
            <delta_ts>2010-01-29 09:31:24 -0800</delta_ts>
            <desc>patch</desc>
            <filename>0001-MSAA-Crash-when-posting-a-notification-for-a-detache.patch</filename>
            <type>text/plain</type>
            <size>31992</size>
            <attacher name="Jon Honeycutt">jhoneycutt</attacher>
            
              <data encoding="base64">RnJvbSBkZDE1MTBiMjM0N2FlZjRhMTU1ZTk4M2E2NGZiNzdiOGY0YjU1ODM2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb24gSG9uZXljdXR0IDxqaG9uZXljdXR0QGFwcGxlLmNvbT4K
RGF0ZTogVGh1LCAyOCBKYW4gMjAxMCAyMzo0Mjo1MSAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIE1T
QUE6IENyYXNoIHdoZW4gcG9zdGluZyBhIG5vdGlmaWNhdGlvbiBmb3IgYSBkZXRhY2hlZCBvYmpl
Y3QKCmh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDMwOQo8cmRhcjov
L3Byb2JsZW0vNzQwOTc1OT4KClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKV2ViQ29yZToK
ClRlc3Q6IHBsYXRmb3JtL3dpbi9hY2Nlc3NpYmlsaXR5L2RldGFjaGVkLW9iamVjdC1ub3RpZmlj
YXRpb24tY3Jhc2guaHRtbAoKKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmpl
Y3QuY3BwOgooQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6ZG9jdW1lbnQpOgpOdWxsIGNoZWNr
IG1fcmVuZGVyZXIuCgoqIGFjY2Vzc2liaWxpdHkvd2luL0FYT2JqZWN0Q2FjaGVXaW4uY3BwOgoo
V2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKToKTWFwIEFY
VmFsdWVDaGFuZ2VkIHRvIEVWRU5UX09CSkVDVF9WQUxVRUNIQU5HRUQuCgpXZWJLaXQvd2luOgoK
KiBBY2Nlc3NpYmxlQmFzZS5jcHA6CihBY2Nlc3NpYmxlQmFzZTo6UXVlcnlTZXJ2aWNlKToKSWYg
YW4gdW5yZWNvZ25pemVkIHNlcnZpY2UgSUQgaXMgcGFzc2VkLCByZXR1cm4gZWFybHkuIE90aGVy
d2lzZSwgcmV0dXJuCnRoZSByZXN1bHQgb2YgUXVlcnlJbnRlcmZhY2UuCihBY2Nlc3NpYmxlQmFz
ZTo6UXVlcnlJbnRlcmZhY2UpOgpBZGQgc3RhdGljX2Nhc3RzLiBDaGVjayBmb3IgbmV3IFVVSURz
LgooQWNjZXNzaWJsZUJhc2U6OmlzU2FtZU9iamVjdCk6ClF1ZXJ5IHRoZSBvYmplY3QgZm9yIEFj
Y2Vzc2libGVCYXNlLiBSZXR1cm4gd2hldGhlciB0aGUgcG9pbnRlcnMgb3IgdGhlCndyYXBwZWQg
b2JqZWN0cyBtYXRjaC4KCiogQWNjZXNzaWJsZUJhc2UuaDoKR2l2ZSB0aGUgY2xhc3MgYSBVVUlE
IHNvIHdlIGNhbiBxdWVyeSBmb3IgaXQgaW4gaXNTYW1lT2JqZWN0KCkuIEluaGVyaXQKZnJvbSBJ
QWNjZXNzaWJsZUNvbXBhcmFibGU7IGluaGVyaXQgZnJvbSBJU2VydmljZVByb3ZpZGVyIHNvIGNs
aWVudHMgY2FuCnVzZSBRdWVyeVNlcnZpY2UgdG8gcXVlcnkgZm9yIGEgY3VzdG9tIGludGVyZmFj
ZS4KCiogSW50ZXJmYWNlcy9BY2Nlc3NpYmxlQ29tcGFyYWJsZS5pZGw6IEFkZGVkLiBEZWNsYXJl
cyBhIGZ1bmN0aW9uIHRoYXQKY2FuIGJlIGNhbGxlZCB0byBjb21wYXJlIHRvIGFjY2Vzc2libGUg
b2JqZWN0cy4KCiogSW50ZXJmYWNlcy9XZWJLaXQuaWRsOgpJbmNsdWRlIHRoZSBuZXcgSURMLgoK
KiBXZWJLaXQudmNwcm9qL0ludGVyZmFjZXMudmNwcm9qOgpBZGQgdGhlIG5ldyBJREwgdG8gdGhl
IHByb2plY3QuCgpXZWJLaXRUb29sczoKCiogRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuaDoKRGVjbGFyZSBuZXcgZnVuY3Rpb25zLiBBZGQgbmV3IG1lbWJlcnMgdG8gc3Rv
cmUgdGhlIGV2ZW50IGhvb2sgYW5kIHRoZQptYXBwaW5nIG9mIGFjY2Vzc2liaWxpdHkgZWxlbWVu
dHMgdG8gdGhlaXIgSlMgY2FsbGJhY2tzLgoKKiBEdW1wUmVuZGVyVHJlZS9ndGsvQWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXJHdGsuY3BwOgooQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6Om5vdGlmaWNh
dGlvblJlY2VpdmVkKToKU3R1YmJlZC4KKEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjphZGROb3Rp
ZmljYXRpb25MaXN0ZW5lcik6ClN0dWJiZWQuCgoqIER1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3Np
YmlsaXR5Q29udHJvbGxlck1hYy5tbToKKEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpub3RpZmlj
YXRpb25SZWNlaXZlZCk6ClN0dWJiZWQuCihBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6YWRkTm90
aWZpY2F0aW9uTGlzdGVuZXIpOgpTdHViYmVkLgoKKiBEdW1wUmVuZGVyVHJlZS93aW4vQWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXJXaW4uY3BwOgooQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OkFjY2Vz
c2liaWxpdHlDb250cm9sbGVyKToKSW5pdGlhbGl6ZSB0aGUgZXZlbnQgaG9vay4KKEFjY2Vzc2li
aWxpdHlDb250cm9sbGVyOjp+QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpOgpSZW1vdmUgdGhlIGV2
ZW50IGhvb2suIFVucHJvdGVjdCBhbGwgb2YgdGhlIEpTIGZ1bmN0aW9ucyB0aGF0IGFyZSBzdG9y
ZWQKaW4gdGhlIG1hcC4KKGxvZ0V2ZW50UHJvYyk6CkNsZWFuLXVwIGEgdmFyaWFibGUuCihzdHJp
bmdFdmVudCk6ClJldHVybiBhIHN0cmluZyBkZXNjcmlwdGlvbiBvZiB0aGUgTVNBQSBldmVudCBj
b2RlLgoobm90aWZpY2F0aW9uTGlzdGVuZXJQcm9jKToKR2V0IHRoZSBhY2Nlc3NpYmxlIG9iamVj
dCBmcm9tIHRoZSBldmVudCwgYW5kIHF1ZXJ5IGl0IGZvciBJQWNjZXNzaWJsZS4KQ2FsbCB0aGUg
QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIncyBub3RpZmljYXRpb25SZWNlaXZlZCgpLgooY29tcGFy
YWJsZU9iamVjdCk6ClVzZSBRdWVyeVNlcnZpY2UgdG8gb2J0YWluIHRoZSBJQWNjZXNzaWJsZUNv
bXBhcmFibGUgZm9yIHRoZQpJU2VydmljZVByb3ZpZGVyLgooQWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXI6Om5vdGlmaWNhdGlvblJlY2VpdmVkKToKSXRlcmF0ZSB0aGUgbWFwIG9mIG9iamVjdHMgdGhh
dCBoYXZlIHJlZ2lzdGVyZWQgZm9yIG5vdGlmaWNhdGlvbgpjYWxsYmFja3MuIFF1ZXJ5IGVhY2gg
Zm9yIElTZXJ2aWNlUHJvdmlkZXIsIHRoZW4gdXNlIGNvbXBhcmFibGVPYmplY3QoKQp0byBnZXQg
YW4gSUFjY2Vzc2libGVDb21wYXJhYmxlLiBJZiB3ZSBmaW5kIGFuIG9iamVjdCBtYXRjaGluZyB0
aGUKbm90aWZpZWQgb2JqZWN0LCBjYWxsIGl0cyBjYWxsYmFjaywgcGFzc2luZyB0aGUgZXZlbnQg
dGhhdCB3YXMgcmVjZWl2ZWQuCihBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6YWRkTm90aWZpY2F0
aW9uTGlzdGVuZXIpOgpJZiB3ZSBoYXZlIG5vdCBjcmVhdGVkIHRoZSBldmVudCBob29rLCBjcmVh
dGUgaXQuIFByb3RlY3QgdGhlIEpTCmNhbGxiYWNrIGZ1bmN0aW9uIG9iamVjdCwgYW5kIGFkZCB0
aGUgb2JqZWN0IGFuZCBpdHMgY2FsbGJhY2sgdG8gb3VyCm1hcC4KCiogRHVtcFJlbmRlclRyZWUv
d2luL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwOgooQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6YWRkTm90aWZpY2F0aW9uTGlzdGVuZXIpOgpDYWxsIHRocm91Z2ggdG8gdGhlIEFjY2Vzc2li
aWxpdHlDb250cm9sbGVyJ3MgYWRkTm90aWZpY2F0aW9uTGlzdGVuZXIoKS4KCiogRHVtcFJlbmRl
clRyZWUvd2luL0R1bXBSZW5kZXJUcmVlV2luLmg6CkFkZCBhbiBleHRlcm4gZGVjbGFyYXRpb24g
Zm9yIHRoZSBzaGFyZWQgRnJhbWVMb2FkRGVsZWdhdGUgZXh0ZXJuLCBzbyB3ZQpjYW4gYWNjZXNz
IGl0IGZyb20gQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuCgoqIER1bXBSZW5kZXJUcmVlL3dpbi9G
cmFtZUxvYWREZWxlZ2F0ZS5oOgooRnJhbWVMb2FkRGVsZWdhdGU6OmFjY2Vzc2liaWxpdHlDb250
cm9sbGVyKToKUmV0dXJuIHRoZSBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlci4KCkxheW91dFRlc3Rz
OgoKKiBwbGF0Zm9ybS93aW4vYWNjZXNzaWJpbGl0eS9kZXRhY2hlZC1vYmplY3Qtbm90aWZpY2F0
aW9uLWNyYXNoLWV4cGVjdGVkLnR4dDogQWRkZWQuCiogcGxhdGZvcm0vd2luL2FjY2Vzc2liaWxp
dHkvZGV0YWNoZWQtb2JqZWN0LW5vdGlmaWNhdGlvbi1jcmFzaC5odG1sOiBBZGRlZC4KLS0tCiBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTIg
KysrCiAuLi5kZXRhY2hlZC1vYmplY3Qtbm90aWZpY2F0aW9uLWNyYXNoLWV4cGVjdGVkLnR4dCB8
ICAgIDYgKysKIC4uLi9kZXRhY2hlZC1vYmplY3Qtbm90aWZpY2F0aW9uLWNyYXNoLmh0bWwgICAg
ICAgIHwgICA0OSArKysrKysrKysrCiBXZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB8ICAgMTkgKysrKwogLi4uL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdC5jcHAgICAgfCAgICAyICsKIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS93
aW4vQVhPYmplY3RDYWNoZVdpbi5jcHAgICAgIHwgICAgMSArCiBXZWJLaXQvd2luL0FjY2Vzc2li
bGVCYXNlLmNwcCAgICAgICAgICAgICAgICAgICAgICB8ICAgMzAgKysrKysrLQogV2ViS2l0L3dp
bi9BY2Nlc3NpYmxlQmFzZS5oICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEzICsrLQogV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDMzICsr
KysrKysKIFdlYktpdC93aW4vSW50ZXJmYWNlcy9BY2Nlc3NpYmxlQ29tcGFyYWJsZS5pZGwgICAg
IHwgICA0NSArKysrKysrKysKIFdlYktpdC93aW4vSW50ZXJmYWNlcy9XZWJLaXQuaWRsICAgICAg
ICAgICAgICAgICAgIHwgICAgMSArCiBXZWJLaXQvd2luL1dlYktpdC52Y3Byb2ovSW50ZXJmYWNl
cy52Y3Byb2ogICAgICAgICB8ICAgMjAgKysrKwogV2ViS2l0VG9vbHMvQ2hhbmdlTG9nICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDYzICsrKysrKysrKysrKysKIC4uLi9EdW1wUmVu
ZGVyVHJlZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5oICAgICAgIHwgICAxMSArKy0KIC4uLi9n
dGsvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJHdGsuY3BwICAgICAgICAgICAgIHwgICAgOCArKwog
Li4uL21hYy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlck1hYy5tbSAgICAgICAgICAgICAgfCAgICA4
ICsrCiAuLi4vd2luL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyV2luLmNwcCAgICAgICAgICAgICB8
ICAgOTQgKysrKysrKysrKysrKysrKysrKy0KIC4uLi93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dFdpbi5jcHAgICAgICAgICAgICAgIHwgICAxMCArKy0KIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL3dpbi9EdW1wUmVuZGVyVHJlZVdpbi5oIHwgICAgMyArCiBXZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS93aW4vRnJhbWVMb2FkRGVsZWdhdGUuaCB8ICAgIDIgKwogMjAgZmlsZXMgY2hhbmdl
ZCwgNDE4IGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0
IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9hY2Nlc3NpYmlsaXR5L2RldGFjaGVkLW9iamVjdC1u
b3RpZmljYXRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luL2FjY2Vzc2liaWxpdHkvZGV0YWNoZWQtb2JqZWN0LW5vdGlmaWNh
dGlvbi1jcmFzaC5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgV2ViS2l0L3dpbi9JbnRlcmZhY2Vz
L0FjY2Vzc2libGVDb21wYXJhYmxlLmlkbAoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlNzZmMTI3Li4yYTFhZWQ5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDEtMjggIEpvbiBIb25leWN1dHQgIDxqaG9uZXljdXR0
QGFwcGxlLmNvbT4KKworICAgICAgICBNU0FBOiBDcmFzaCB3aGVuIHBvc3RpbmcgYSBub3RpZmlj
YXRpb24gZm9yIGEgZGV0YWNoZWQgb2JqZWN0CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTM0MzA5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NDA5
NzU5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
cGxhdGZvcm0vd2luL2FjY2Vzc2liaWxpdHkvZGV0YWNoZWQtb2JqZWN0LW5vdGlmaWNhdGlvbi1j
cmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9hY2Nlc3Np
YmlsaXR5L2RldGFjaGVkLW9iamVjdC1ub3RpZmljYXRpb24tY3Jhc2guaHRtbDogQWRkZWQuCisK
IDIwMTAtMDEtMjcgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9raWEuY29tPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IExhc3psbyBHb21ib3MuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93aW4vYWNjZXNzaWJpbGl0eS9kZXRhY2hlZC1vYmplY3Qtbm90aWZpY2F0aW9uLWNy
YXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9hY2Nlc3NpYmlsaXR5
L2RldGFjaGVkLW9iamVjdC1ub3RpZmljYXRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlMDg3MzcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vYWNjZXNzaWJpbGl0eS9kZXRhY2hlZC1vYmplY3Qtbm90
aWZpY2F0aW9uLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKKyAKK1RoaXMgdGVz
dHMgdGhhdCBwb3N0aW5nIGEgbm90aWZpY2F0aW9uIGZvciBhIGRlbGV0ZWQgZWxlbWVudCBkb2Vz
IG5vdCBjYXVzZSBhIGNyYXNoLgorCisKK1BBU1M6IERpZG4ndCBjcmFzaC4KKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2FjY2Vzc2liaWxpdHkvZGV0YWNoZWQtb2JqZWN0
LW5vdGlmaWNhdGlvbi1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2FjY2Vz
c2liaWxpdHkvZGV0YWNoZWQtb2JqZWN0LW5vdGlmaWNhdGlvbi1jcmFzaC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlZDNjNGMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vYWNjZXNzaWJpbGl0eS9kZXRhY2hlZC1vYmplY3Qtbm90
aWZpY2F0aW9uLWNyYXNoLmh0bWwKQEAgLTAsMCArMSw0OSBAQAorPGh0bWw+Cis8aGVhZD4KKyAg
ICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIj4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBpZD0i
Ym9keSI+CisKKzxpbnB1dCBpZD0iYXZuRWxlbWVudCI+Cis8aW5wdXQgaWQ9ImF2bkVsZW1lbnQy
Ij4KKworPHA+VGhpcyB0ZXN0cyB0aGF0IHBvc3RpbmcgYSBub3RpZmljYXRpb24gZm9yIGEgZGVs
ZXRlZCBlbGVtZW50IGRvZXMKK25vdCBjYXVzZSBhIGNyYXNoLjwvcD4KKworPHAgaWQ9Im5vdERS
VCI+VGhpcyB0ZXN0IHNob3VsZCBvbmx5IGJlIHJ1biBpbnNpZGUgb2YgRHVtcFJlbmRlclRyZWUu
PC9wPgorCis8cCBpZD0iY29uc29sZSI+PC9wPgorCis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIG5v
dGlmaWNhdGlvblJlY2VpdmVkKGV2ZW50KQorICAgIHsKKyAgICAgICAgaWYgKGV2ZW50ICE9ICJ2
YWx1ZSBjaGFuZ2UgZXZlbnQiKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGRlYnVn
KCJQQVNTOiBEaWRuJ3QgY3Jhc2guIik7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5v
dGlmeURvbmUoKTsKKyAgICB9CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlciAm
JiB3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoIm5vdERSVCIpLnN0eWxlLnZpc2liaWxpdHkgPSAiaGlkZGVuIjsKKworICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKworICAgICAgICB2YXIgZWxlbWVudCA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJhdm5FbGVtZW50Iik7CisgICAgICAgIGVsZW1lbnQuZm9j
dXMoKTsKKworICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS12YWx1ZW5vdyIsIDIp
OworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYm9keSIpLnJlbW92ZUNoaWxkKGVs
ZW1lbnQpOworCisgICAgICAgIHZhciBlbGVtZW50MiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJhdm5FbGVtZW50MiIpOworICAgICAgICBlbGVtZW50Mi5mb2N1cygpOworCisgICAgICAgIGFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LmFkZE5vdGlmaWNhdGlvbkxpc3Rl
bmVyKG5vdGlmaWNhdGlvblJlY2VpdmVkKTsKKworICAgICAgICBlbGVtZW50Mi5zZXRBdHRyaWJ1
dGUoImFyaWEtdmFsdWVub3ciLCAyKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggMTFjMzc5Yi4uZDg2ZTZiNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMC0wMS0yOCAgSm9uIEhvbmV5
Y3V0dCAgPGpob25leWN1dHRAYXBwbGUuY29tPgorCisgICAgICAgIE1TQUE6IENyYXNoIHdoZW4g
cG9zdGluZyBhIG5vdGlmaWNhdGlvbiBmb3IgYSBkZXRhY2hlZCBvYmplY3QKKworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzQzMDkKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzc0MDk3NTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGVzdDogcGxhdGZvcm0vd2luL2FjY2Vzc2liaWxpdHkvZGV0YWNoZWQt
b2JqZWN0LW5vdGlmaWNhdGlvbi1jcmFzaC5odG1sCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdDo6ZG9jdW1lbnQpOgorICAgICAgICBOdWxsIGNoZWNrIG1fcmVuZGVyZXIuCisK
KyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L3dpbi9BWE9iamVjdENhY2hlV2luLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnBvc3RQbGF0Zm9ybU5vdGlmaWNhdGlvbik6Cisg
ICAgICAgIE1hcCBBWFZhbHVlQ2hhbmdlZCB0byBFVkVOVF9PQkpFQ1RfVkFMVUVDSEFOR0VELgor
CiAyMDEwLTAxLTI3ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwIGIvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCmluZGV4IDhjZDUxYWUuLmQ3MzhjYTggMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0
LmNwcAorKysgYi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVj
dC5jcHAKQEAgLTIwMjYsNiArMjAyNiw4IEBAIFJlbmRlclZpZXcqIEFjY2Vzc2liaWxpdHlSZW5k
ZXJPYmplY3Q6OnRvcFJlbmRlcmVyKCkgY29uc3QKIAogRG9jdW1lbnQqIEFjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3Q6OmRvY3VtZW50KCkgY29uc3QKIHsKKyAgICBpZiAoIW1fcmVuZGVyZXIpCisg
ICAgICAgIHJldHVybiAwOwogICAgIHJldHVybiBtX3JlbmRlcmVyLT5kb2N1bWVudCgpOwogfQog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvd2luL0FYT2JqZWN0Q2FjaGVXaW4u
Y3BwIGIvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L3dpbi9BWE9iamVjdENhY2hlV2luLmNwcAppbmRl
eCA4YjdkOTllLi4yMWU2MWQ5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvd2lu
L0FYT2JqZWN0Q2FjaGVXaW4uY3BwCisrKyBiL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS93aW4vQVhP
YmplY3RDYWNoZVdpbi5jcHAKQEAgLTgzLDYgKzgzLDcgQEAgdm9pZCBBWE9iamVjdENhY2hlOjpw
b3N0UGxhdGZvcm1Ob3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqLCBBWE5vdGlm
aWMKICAgICAgICAgICAgIG1zYWFFdmVudCA9IEVWRU5UX1NZU1RFTV9TQ1JPTExJTkdTVEFSVDsK
ICAgICAgICAgICAgIGJyZWFrOwogCisgICAgICAgIGNhc2UgQVhWYWx1ZUNoYW5nZWQ6CiAgICAg
ICAgIGNhc2UgQVhNZW51TGlzdFZhbHVlQ2hhbmdlZDoKICAgICAgICAgICAgIG1zYWFFdmVudCA9
IEVWRU5UX09CSkVDVF9WQUxVRUNIQU5HRTsKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0
IGEvV2ViS2l0L3dpbi9BY2Nlc3NpYmxlQmFzZS5jcHAgYi9XZWJLaXQvd2luL0FjY2Vzc2libGVC
YXNlLmNwcAppbmRleCA5NzhhMzM5Li4wNzA0NzcxIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0Fj
Y2Vzc2libGVCYXNlLmNwcAorKysgYi9XZWJLaXQvd2luL0FjY2Vzc2libGVCYXNlLmNwcApAQCAt
MSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5jLiBBbGwgUmln
aHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5LCAyMDEwIEFwcGxlIElu
Yy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpA
QCAtNzcsMTUgKzc3LDMwIEBAIEFjY2Vzc2libGVCYXNlKiBBY2Nlc3NpYmxlQmFzZTo6Y3JlYXRl
SW5zdGFuY2UoQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqKQogICAgIHJldHVybiBuZXcgQWNjZXNz
aWJsZUJhc2Uob2JqKTsKIH0KIAorSFJFU1VMVCBBY2Nlc3NpYmxlQmFzZTo6UXVlcnlTZXJ2aWNl
KFJFRkdVSUQgZ3VpZFNlcnZpY2UsIFJFRklJRCByaWlkLCB2b2lkICoqcHB2T2JqZWN0KQorewor
ICAgIGlmICghSXNFcXVhbEdVSUQoZ3VpZFNlcnZpY2UsIFNJRF9BY2Nlc3NpYmxlQ29tcGFyYWJs
ZSkpIHsKKyAgICAgICAgKnBwdk9iamVjdCA9IDA7CisgICAgICAgIHJldHVybiBFX0lOVkFMSURB
Ukc7CisgICAgfQorICAgIHJldHVybiBRdWVyeUludGVyZmFjZShyaWlkLCBwcHZPYmplY3QpOwor
fQorCiAvLyBJVW5rbm93bgogSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBBY2Nlc3NpYmxlQmFz
ZTo6UXVlcnlJbnRlcmZhY2UoUkVGSUlEIHJpaWQsIHZvaWQqKiBwcHZPYmplY3QpCiB7CiAgICAg
aWYgKElzRXF1YWxHVUlEKHJpaWQsIF9fdXVpZG9mKElBY2Nlc3NpYmxlKSkpCi0gICAgICAgICpw
cHZPYmplY3QgPSB0aGlzOworICAgICAgICAqcHB2T2JqZWN0ID0gc3RhdGljX2Nhc3Q8SUFjY2Vz
c2libGUqPih0aGlzKTsKICAgICBlbHNlIGlmIChJc0VxdWFsR1VJRChyaWlkLCBfX3V1aWRvZihJ
RGlzcGF0Y2gpKSkKLSAgICAgICAgKnBwdk9iamVjdCA9IHRoaXM7CisgICAgICAgICpwcHZPYmpl
Y3QgPSBzdGF0aWNfY2FzdDxJQWNjZXNzaWJsZSo+KHRoaXMpOwogICAgIGVsc2UgaWYgKElzRXF1
YWxHVUlEKHJpaWQsIF9fdXVpZG9mKElVbmtub3duKSkpCi0gICAgICAgICpwcHZPYmplY3QgPSB0
aGlzOworICAgICAgICAqcHB2T2JqZWN0ID0gc3RhdGljX2Nhc3Q8SUFjY2Vzc2libGUqPih0aGlz
KTsKKyAgICBlbHNlIGlmIChJc0VxdWFsR1VJRChyaWlkLCBfX3V1aWRvZihJQWNjZXNzaWJsZUNv
bXBhcmFibGUpKSkKKyAgICAgICAgKnBwdk9iamVjdCA9IHN0YXRpY19jYXN0PElBY2Nlc3NpYmxl
Q29tcGFyYWJsZSo+KHRoaXMpOworICAgIGVsc2UgaWYgKElzRXF1YWxHVUlEKHJpaWQsIF9fdXVp
ZG9mKElTZXJ2aWNlUHJvdmlkZXIpKSkKKyAgICAgICAgKnBwdk9iamVjdCA9IHN0YXRpY19jYXN0
PElTZXJ2aWNlUHJvdmlkZXIqPih0aGlzKTsKKyAgICBlbHNlIGlmIChJc0VxdWFsR1VJRChyaWlk
LCBfX3V1aWRvZihBY2Nlc3NpYmxlQmFzZSkpKQorICAgICAgICAqcHB2T2JqZWN0ID0gc3RhdGlj
X2Nhc3Q8QWNjZXNzaWJsZUJhc2UqPih0aGlzKTsKICAgICBlbHNlIHsKICAgICAgICAgKnBwdk9i
amVjdCA9IDA7CiAgICAgICAgIHJldHVybiBFX05PSU5URVJGQUNFOwpAQCAtNjk5LDMgKzcxNCwx
MCBAQCBBY2Nlc3NpYmxlQmFzZSogQWNjZXNzaWJsZUJhc2U6OndyYXBwZXIoQWNjZXNzaWJpbGl0
eU9iamVjdCogb2JqKQogICAgICAgICByZXN1bHQgPSBjcmVhdGVJbnN0YW5jZShvYmopOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CisKK0hSRVNVTFQgQWNjZXNzaWJsZUJhc2U6OmlzU2FtZU9iamVj
dChJQWNjZXNzaWJsZUNvbXBhcmFibGUqIG90aGVyLCBCT09MKiByZXN1bHQpCit7CisgICAgQ09N
UHRyPEFjY2Vzc2libGVCYXNlPiBvdGhlckFjY2Vzc2libGVCYXNlKFF1ZXJ5LCBvdGhlcik7Cisg
ICAgKnJlc3VsdCA9IChvdGhlckFjY2Vzc2libGVCYXNlID09IHRoaXMgfHwgb3RoZXJBY2Nlc3Np
YmxlQmFzZS0+bV9vYmplY3QgPT0gbV9vYmplY3QpOworICAgIHJldHVybiBTX09LOworfQpkaWZm
IC0tZ2l0IGEvV2ViS2l0L3dpbi9BY2Nlc3NpYmxlQmFzZS5oIGIvV2ViS2l0L3dpbi9BY2Nlc3Np
YmxlQmFzZS5oCmluZGV4IDNiNmJjZTguLmNhMTcwM2YgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4v
QWNjZXNzaWJsZUJhc2UuaAorKysgYi9XZWJLaXQvd2luL0FjY2Vzc2libGVCYXNlLmgKQEAgLTEs
NSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA4IEFwcGxlIEluYy4gQWxsIFJpZ2h0
cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSwgMjAxMCBBcHBsZSBJbmMu
IEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTI2LDE0ICsyNiwxOCBAQAogI2lmbmRlZiBBY2Nlc3NpYmxlQmFzZV9oCiAjZGVmaW5lIEFjY2Vz
c2libGVCYXNlX2gKIAotI2luY2x1ZGUgPG9sZWFjYy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQWNj
ZXNzaWJpbGl0eU9iamVjdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQWNjZXNzaWJpbGl0eU9iamVj
dFdyYXBwZXJXaW4uaD4KKyNpbmNsdWRlIDxXZWJLaXQvV2ViS2l0Lmg+CisjaW5jbHVkZSA8b2xl
YWNjLmg+CiAKLWNsYXNzIEFjY2Vzc2libGVCYXNlIDogcHVibGljIElBY2Nlc3NpYmxlLCBwdWJs
aWMgV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgeworY2xhc3MgREVDTFNQRUNf
VVVJRCgiM2RiZDU2NWItZGIyMi00ZDg4LThlMGUtNzc4YmRlNTQ1MjRhIikgQWNjZXNzaWJsZUJh
c2UgOiBwdWJsaWMgSUFjY2Vzc2libGVDb21wYXJhYmxlLCBwdWJsaWMgSVNlcnZpY2VQcm92aWRl
ciwgcHVibGljIFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIHsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgQWNjZXNzaWJsZUJhc2UqIGNyZWF0ZUluc3RhbmNlKFdlYkNvcmU6OkFjY2Vz
c2liaWxpdHlPYmplY3QqKTsKIAorICAgIC8vIElTZXJ2aWNlUHJvdmlkZXIKKyAgICB2aXJ0dWFs
IEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgUXVlcnlTZXJ2aWNlKFJFRkdVSUQgZ3VpZFNlcnZp
Y2UsIFJFRklJRCByaWlkLCB2b2lkICoqcHB2KTsKKwogICAgIC8vIElVbmtub3duCiAgICAgdmly
dHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFF1ZXJ5SW50ZXJmYWNlKFJFRklJRCByaWlk
LCB2b2lkKiogcHB2T2JqZWN0KTsKICAgICB2aXJ0dWFsIFVMT05HIFNURE1FVEhPRENBTExUWVBF
IEFkZFJlZih2b2lkKSB7IHJldHVybiArK21fcmVmQ291bnQ7IH0KQEAgLTg5LDYgKzkzLDkgQEAg
cHVibGljOgogICAgICAgICBtX29iamVjdCA9IDA7CiAgICAgfQogCisgICAgLy8gSUFjY2Vzc2li
bGVDb21wYXJhYmxlCisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGlzU2Ft
ZU9iamVjdChJQWNjZXNzaWJsZUNvbXBhcmFibGUqIG90aGVyLCBCT09MKiByZXN1bHQpOworCiBw
cm90ZWN0ZWQ6CiAgICAgQWNjZXNzaWJsZUJhc2UoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVj
dCopOwogICAgIHZpcnR1YWwgfkFjY2Vzc2libGVCYXNlKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQv
d2luL0NoYW5nZUxvZyBiL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IGM2NGRhYzUuLmY4ZjEy
YjMgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1dlYktpdC93aW4vQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTAtMDEtMjggIEpvbiBIb25leWN1dHQgIDxqaG9u
ZXljdXR0QGFwcGxlLmNvbT4KKworICAgICAgICBNU0FBOiBDcmFzaCB3aGVuIHBvc3RpbmcgYSBu
b3RpZmljYXRpb24gZm9yIGEgZGV0YWNoZWQgb2JqZWN0CisKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM0MzA5CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS83NDA5NzU5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogQWNjZXNzaWJsZUJhc2UuY3BwOgorICAgICAgICAoQWNjZXNzaWJsZUJhc2U6OlF1ZXJ5
U2VydmljZSk6CisgICAgICAgIElmIGFuIHVucmVjb2duaXplZCBzZXJ2aWNlIElEIGlzIHBhc3Nl
ZCwgcmV0dXJuIGVhcmx5LiBPdGhlcndpc2UsIHJldHVybgorICAgICAgICB0aGUgcmVzdWx0IG9m
IFF1ZXJ5SW50ZXJmYWNlLgorICAgICAgICAoQWNjZXNzaWJsZUJhc2U6OlF1ZXJ5SW50ZXJmYWNl
KToKKyAgICAgICAgQWRkIHN0YXRpY19jYXN0cy4gQ2hlY2sgZm9yIG5ldyBVVUlEcy4KKyAgICAg
ICAgKEFjY2Vzc2libGVCYXNlOjppc1NhbWVPYmplY3QpOgorICAgICAgICBRdWVyeSB0aGUgb2Jq
ZWN0IGZvciBBY2Nlc3NpYmxlQmFzZS4gUmV0dXJuIHdoZXRoZXIgdGhlIHBvaW50ZXJzIG9yIHRo
ZQorICAgICAgICB3cmFwcGVkIG9iamVjdHMgbWF0Y2guCisKKyAgICAgICAgKiBBY2Nlc3NpYmxl
QmFzZS5oOgorICAgICAgICBHaXZlIHRoZSBjbGFzcyBhIFVVSUQgc28gd2UgY2FuIHF1ZXJ5IGZv
ciBpdCBpbiBpc1NhbWVPYmplY3QoKS4gSW5oZXJpdAorICAgICAgICBmcm9tIElBY2Nlc3NpYmxl
Q29tcGFyYWJsZTsgaW5oZXJpdCBmcm9tIElTZXJ2aWNlUHJvdmlkZXIgc28gY2xpZW50cyBjYW4K
KyAgICAgICAgdXNlIFF1ZXJ5U2VydmljZSB0byBxdWVyeSBmb3IgYSBjdXN0b20gaW50ZXJmYWNl
LgorCisgICAgICAgICogSW50ZXJmYWNlcy9BY2Nlc3NpYmxlQ29tcGFyYWJsZS5pZGw6IEFkZGVk
LiBEZWNsYXJlcyBhIGZ1bmN0aW9uIHRoYXQKKyAgICAgICAgY2FuIGJlIGNhbGxlZCB0byBjb21w
YXJlIHRvIGFjY2Vzc2libGUgb2JqZWN0cy4KKworICAgICAgICAqIEludGVyZmFjZXMvV2ViS2l0
LmlkbDoKKyAgICAgICAgSW5jbHVkZSB0aGUgbmV3IElETC4KKworICAgICAgICAqIFdlYktpdC52
Y3Byb2ovSW50ZXJmYWNlcy52Y3Byb2o6CisgICAgICAgIEFkZCB0aGUgbmV3IElETCB0byB0aGUg
cHJvamVjdC4KKwogMjAxMC0wMS0yNiAgU3RldmUgRmFsa2VuYnVyZyAgPHNmYWxrZW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9saXZlciBIdW50LgpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L3dpbi9JbnRlcmZhY2VzL0FjY2Vzc2libGVDb21wYXJhYmxlLmlkbCBiL1dlYktpdC93aW4v
SW50ZXJmYWNlcy9BY2Nlc3NpYmxlQ29tcGFyYWJsZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uNzEwZTBkMQotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdC93aW4vSW50
ZXJmYWNlcy9BY2Nlc3NpYmxlQ29tcGFyYWJsZS5pZGwKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBET19OT19J
TVBPUlRTCitpbXBvcnQgIm9haWRsLmlkbCI7CitpbXBvcnQgIm9jaWRsLmlkbCI7CisjZW5kaWYK
KworaW1wb3J0ICJvbGVhY2MuaWRsIjsKKworY3BwX3F1b3RlKCJleHRlcm4gY29uc3QgR1VJRCAg
X19kZWNsc3BlYyhzZWxlY3RhbnkpIFNJRF9BY2Nlc3NpYmxlQ29tcGFyYWJsZSA9IHsgMHg2MmI4
Y2I1ZiwgMHhmYjdhLCAweDRmYWYsIDB4ODEsIDB4ZTgsIDB4NTIsIDB4YjYsIDB4NWYsIDB4MTIs
IDB4OGIsIDB4MzEgfTsiKQorCitbCisgICAgb2JqZWN0LAorICAgIHV1aWQoNGYwMzgxYWQtZGFi
My00MmFkLTljYTItYTg1YjBhZTA0MWMwKSwKKyAgICBoaWRkZW4sCisgICAgZHVhbCwKKyAgICBw
b2ludGVyX2RlZmF1bHQodW5pcXVlKQorXQoraW50ZXJmYWNlIElBY2Nlc3NpYmxlQ29tcGFyYWJs
ZSA6IElBY2Nlc3NpYmxlCit7CisgICAgSFJFU1VMVCBpc1NhbWVPYmplY3QoW2luXSBJQWNjZXNz
aWJsZUNvbXBhcmFibGUqIG90aGVyLCBbb3V0LCByZXR2YWxdIEJPT0wqIHJlc3VsdCk7Cit9CmRp
ZmYgLS1naXQgYS9XZWJLaXQvd2luL0ludGVyZmFjZXMvV2ViS2l0LmlkbCBiL1dlYktpdC93aW4v
SW50ZXJmYWNlcy9XZWJLaXQuaWRsCmluZGV4IDVhZTFhZDkuLjNjZDc0OGMgMTAwNjQ0Ci0tLSBh
L1dlYktpdC93aW4vSW50ZXJmYWNlcy9XZWJLaXQuaWRsCisrKyBiL1dlYktpdC93aW4vSW50ZXJm
YWNlcy9XZWJLaXQuaWRsCkBAIC01NSw2ICs1NSw3IEBAIGNwcF9xdW90ZSgiICovIikKIGltcG9y
dCAib2FpZGwuaWRsIjsKIGltcG9ydCAib2NpZGwuaWRsIjsKIAorI2luY2x1ZGUgIkFjY2Vzc2li
bGVDb21wYXJhYmxlLmlkbCIKICNpbmNsdWRlICJXZWJTY3JvbGxiYXJUeXBlcy5pZGwiCiAjaW5j
bHVkZSAiSmF2YVNjcmlwdENvcmVBUElUeXBlcy5pZGwiCiAjaW5jbHVkZSAiSVdlYlNjcmlwdE9i
amVjdC5pZGwiCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYktpdC52Y3Byb2ovSW50ZXJmYWNl
cy52Y3Byb2ogYi9XZWJLaXQvd2luL1dlYktpdC52Y3Byb2ovSW50ZXJmYWNlcy52Y3Byb2oKaW5k
ZXggNWQ4N2FjZC4uYzZhMGFkZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJLaXQudmNwcm9q
L0ludGVyZmFjZXMudmNwcm9qCisrKyBiL1dlYktpdC93aW4vV2ViS2l0LnZjcHJvai9JbnRlcmZh
Y2VzLnZjcHJvagpAQCAtMTUyLDYgKzE1MiwyNiBAQAogCTwvUmVmZXJlbmNlcz4NCiAJPEZpbGVz
Pg0KIAkJPEZpbGUNCisJCQlSZWxhdGl2ZVBhdGg9Ii4uXEludGVyZmFjZXNcQWNjZXNzaWJsZUNv
bXBhcmFibGUuaWRsIg0KKwkJCT4NCisJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJTmFtZT0i
RGVidWd8V2luMzIiDQorCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQk+DQorCQkJ
CTxUb29sDQorCQkJCQlOYW1lPSJWQ01JRExUb29sIg0KKwkJCQkvPg0KKwkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+DQorCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCU5hbWU9IlJlbGVhc2V8V2lu
MzIiDQorCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQk+DQorCQkJCTxUb29sDQor
CQkJCQlOYW1lPSJWQ01JRExUb29sIg0KKwkJCQkvPg0KKwkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
DQorCQk8L0ZpbGU+DQorCQk8RmlsZQ0KIAkJCVJlbGF0aXZlUGF0aD0iLi5cSW50ZXJmYWNlc1xE
T01Db3JlLmlkbCINCiAJCQk+DQogCQkJPEZpbGVDb25maWd1cmF0aW9uDQpkaWZmIC0tZ2l0IGEv
V2ViS2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDA4NjBl
NzUuLjIwMjZhNjIgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJL
aXRUb29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2NiBAQAorMjAxMC0wMS0yOCAgSm9uIEhvbmV5
Y3V0dCAgPGpob25leWN1dHRAYXBwbGUuY29tPgorCisgICAgICAgIE1TQUE6IENyYXNoIHdoZW4g
cG9zdGluZyBhIG5vdGlmaWNhdGlvbiBmb3IgYSBkZXRhY2hlZCBvYmplY3QKKworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzQzMDkKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzc0MDk3NTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5o
OgorICAgICAgICBEZWNsYXJlIG5ldyBmdW5jdGlvbnMuIEFkZCBuZXcgbWVtYmVycyB0byBzdG9y
ZSB0aGUgZXZlbnQgaG9vayBhbmQgdGhlCisgICAgICAgIG1hcHBpbmcgb2YgYWNjZXNzaWJpbGl0
eSBlbGVtZW50cyB0byB0aGVpciBKUyBjYWxsYmFja3MuCisKKyAgICAgICAgKiBEdW1wUmVuZGVy
VHJlZS9ndGsvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJHdGsuY3BwOgorICAgICAgICAoQWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXI6Om5vdGlmaWNhdGlvblJlY2VpdmVkKToKKyAgICAgICAgU3R1YmJl
ZC4KKyAgICAgICAgKEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjphZGROb3RpZmljYXRpb25MaXN0
ZW5lcik6CisgICAgICAgIFN0dWJiZWQuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMv
QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJNYWMubW06CisgICAgICAgIChBY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlcjo6bm90aWZpY2F0aW9uUmVjZWl2ZWQpOgorICAgICAgICBTdHViYmVkLgorICAgICAg
ICAoQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmFkZE5vdGlmaWNhdGlvbkxpc3RlbmVyKToKKyAg
ICAgICAgU3R1YmJlZC4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9BY2Nlc3NpYmls
aXR5Q29udHJvbGxlcldpbi5jcHA6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6
QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpOgorICAgICAgICBJbml0aWFsaXplIHRoZSBldmVudCBo
b29rLgorICAgICAgICAoQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6On5BY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlcik6CisgICAgICAgIFJlbW92ZSB0aGUgZXZlbnQgaG9vay4gVW5wcm90ZWN0IGFsbCBv
ZiB0aGUgSlMgZnVuY3Rpb25zIHRoYXQgYXJlIHN0b3JlZAorICAgICAgICBpbiB0aGUgbWFwLgor
ICAgICAgICAobG9nRXZlbnRQcm9jKToKKyAgICAgICAgQ2xlYW4tdXAgYSB2YXJpYWJsZS4KKyAg
ICAgICAgKHN0cmluZ0V2ZW50KToKKyAgICAgICAgUmV0dXJuIGEgc3RyaW5nIGRlc2NyaXB0aW9u
IG9mIHRoZSBNU0FBIGV2ZW50IGNvZGUuCisgICAgICAgIChub3RpZmljYXRpb25MaXN0ZW5lclBy
b2MpOgorICAgICAgICBHZXQgdGhlIGFjY2Vzc2libGUgb2JqZWN0IGZyb20gdGhlIGV2ZW50LCBh
bmQgcXVlcnkgaXQgZm9yIElBY2Nlc3NpYmxlLgorICAgICAgICBDYWxsIHRoZSBBY2Nlc3NpYmls
aXR5Q29udHJvbGxlcidzIG5vdGlmaWNhdGlvblJlY2VpdmVkKCkuCisgICAgICAgIChjb21wYXJh
YmxlT2JqZWN0KToKKyAgICAgICAgVXNlIFF1ZXJ5U2VydmljZSB0byBvYnRhaW4gdGhlIElBY2Nl
c3NpYmxlQ29tcGFyYWJsZSBmb3IgdGhlCisgICAgICAgIElTZXJ2aWNlUHJvdmlkZXIuCisgICAg
ICAgIChBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6bm90aWZpY2F0aW9uUmVjZWl2ZWQpOgorICAg
ICAgICBJdGVyYXRlIHRoZSBtYXAgb2Ygb2JqZWN0cyB0aGF0IGhhdmUgcmVnaXN0ZXJlZCBmb3Ig
bm90aWZpY2F0aW9uCisgICAgICAgIGNhbGxiYWNrcy4gUXVlcnkgZWFjaCBmb3IgSVNlcnZpY2VQ
cm92aWRlciwgdGhlbiB1c2UgY29tcGFyYWJsZU9iamVjdCgpCisgICAgICAgIHRvIGdldCBhbiBJ
QWNjZXNzaWJsZUNvbXBhcmFibGUuIElmIHdlIGZpbmQgYW4gb2JqZWN0IG1hdGNoaW5nIHRoZQor
ICAgICAgICBub3RpZmllZCBvYmplY3QsIGNhbGwgaXRzIGNhbGxiYWNrLCBwYXNzaW5nIHRoZSBl
dmVudCB0aGF0IHdhcyByZWNlaXZlZC4KKyAgICAgICAgKEFjY2Vzc2liaWxpdHlDb250cm9sbGVy
OjphZGROb3RpZmljYXRpb25MaXN0ZW5lcik6CisgICAgICAgIElmIHdlIGhhdmUgbm90IGNyZWF0
ZWQgdGhlIGV2ZW50IGhvb2ssIGNyZWF0ZSBpdC4gUHJvdGVjdCB0aGUgSlMKKyAgICAgICAgY2Fs
bGJhY2sgZnVuY3Rpb24gb2JqZWN0LCBhbmQgYWRkIHRoZSBvYmplY3QgYW5kIGl0cyBjYWxsYmFj
ayB0byBvdXIKKyAgICAgICAgbWFwLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6YWRkTm90aWZpY2F0aW9uTGlzdGVuZXIpOgorICAgICAgICBDYWxsIHRocm91Z2ggdG8g
dGhlIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyJ3MgYWRkTm90aWZpY2F0aW9uTGlzdGVuZXIoKS4K
KworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZVdpbi5oOgorICAg
ICAgICBBZGQgYW4gZXh0ZXJuIGRlY2xhcmF0aW9uIGZvciB0aGUgc2hhcmVkIEZyYW1lTG9hZERl
bGVnYXRlIGV4dGVybiwgc28gd2UKKyAgICAgICAgY2FuIGFjY2VzcyBpdCBmcm9tIEFjY2Vzc2li
aWxpdHlDb250cm9sbGVyLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL0ZyYW1lTG9h
ZERlbGVnYXRlLmg6CisgICAgICAgIChGcmFtZUxvYWREZWxlZ2F0ZTo6YWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIpOgorICAgICAgICBSZXR1cm4gdGhlIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyLgor
CiAyMDEwLTAxLTI3ICBLaW51a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmggYi9XZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5oCmluZGV4IGI0ZDQ1ZWIuLjVjYWZm
ZGUgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlD
b250cm9sbGVyLmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIuaApAQCAtMjYsMTMgKzI2LDE0IEBACiAjaWZuZGVmIEFjY2Vzc2liaWxpdHlD
b250cm9sbGVyX2gKICNkZWZpbmUgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJfaAogCisjaW5jbHVk
ZSAiQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pT
T2JqZWN0UmVmLmg+CisjaW5jbHVkZSA8c3RyaW5nPgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+
CiAjaWYgUExBVEZPUk0oV0lOKQogI2luY2x1ZGUgPHdpbmRvd3MuaD4KICNlbmRpZgogCi1jbGFz
cyBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OwotCiBjbGFzcyBBY2Nlc3NpYmlsaXR5Q29udHJvbGxl
ciB7CiBwdWJsaWM6CiAgICAgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIoKTsKQEAgLTUwLDYgKzUx
LDkgQEAgcHVibGljOgogCiAgICAgdm9pZCByZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CiAKKyAg
ICB2b2lkIGFkZE5vdGlmaWNhdGlvbkxpc3RlbmVyKFBsYXRmb3JtVUlFbGVtZW50LCBKU09iamVj
dFJlZiBmdW5jdGlvbkNhbGxiYWNrKTsKKyAgICB2b2lkIG5vdGlmaWNhdGlvblJlY2VpdmVkKFBs
YXRmb3JtVUlFbGVtZW50LCBjb25zdCBzdGQ6OnN0cmluZyYgZXZlbnROYW1lKTsKKwogcHJpdmF0
ZToKICAgICBzdGF0aWMgSlNDbGFzc1JlZiBnZXRKU0NsYXNzKCk7CiAKQEAgLTU3LDYgKzYxLDkg
QEAgcHJpdmF0ZToKICAgICBIV0lORVZFTlRIT09LIG1fZm9jdXNFdmVudEhvb2s7CiAgICAgSFdJ
TkVWRU5USE9PSyBtX3ZhbHVlQ2hhbmdlRXZlbnRIb29rOwogICAgIEhXSU5FVkVOVEhPT0sgbV9z
Y3JvbGxpbmdTdGFydEV2ZW50SG9vazsKKworICAgIEhXSU5FVkVOVEhPT0sgbV9hbGxFdmVudHNI
b29rOworICAgIEhhc2hNYXA8UGxhdGZvcm1VSUVsZW1lbnQsIEpTT2JqZWN0UmVmPiBtX25vdGlm
aWNhdGlvbkxpc3RlbmVyczsKICNlbmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvZ3RrL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyR3RrLmNwcCBiL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckd0ay5jcHAK
aW5kZXggZDk1Zjg1NC4uMTI2NTNmYyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvZ3RrL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyR3RrLmNwcAorKysgYi9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9ndGsvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJHdGsuY3BwCkBAIC03
NywzICs3NywxMSBAQCB2b2lkIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpzZXRMb2dTY3JvbGxp
bmdTdGFydEV2ZW50cyhib29sKQogdm9pZCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6c2V0TG9n
VmFsdWVDaGFuZ2VFdmVudHMoYm9vbCkKIHsKIH0KKwordm9pZCBBY2Nlc3NpYmlsaXR5Q29udHJv
bGxlcjo6YWRkTm90aWZpY2F0aW9uTGlzdGVuZXIoUGxhdGZvcm1VSUVsZW1lbnQsIEpTT2JqZWN0
UmVmKQoreworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpub3RpZmljYXRpb25S
ZWNlaXZlZChQbGF0Zm9ybVVJRWxlbWVudCwgY29uc3Qgc3RkOjpzdHJpbmcmKQoreworfQpkaWZm
IC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0FjY2Vzc2liaWxpdHlDb250
cm9sbGVyTWFjLm1tIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0FjY2Vzc2liaWxp
dHlDb250cm9sbGVyTWFjLm1tCmluZGV4IDQ4OTVhMWEuLjRkMmRhNmUgMTAwNjQ0Ci0tLSBhL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlck1hYy5t
bQorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXJNYWMubW0KQEAgLTY1LDMgKzY1LDExIEBAIHZvaWQgQWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXI6OnNldExvZ1Njcm9sbGluZ1N0YXJ0RXZlbnRzKGJvb2wpCiB2b2lkIEFjY2Vzc2liaWxpdHlD
b250cm9sbGVyOjpzZXRMb2dWYWx1ZUNoYW5nZUV2ZW50cyhib29sKQogewogfQorCit2b2lkIEFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyOjphZGROb3RpZmljYXRpb25MaXN0ZW5lcihQbGF0Zm9ybVVJ
RWxlbWVudCwgSlNPYmplY3RSZWYpCit7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXI6Om5vdGlmaWNhdGlvblJlY2VpdmVkKFBsYXRmb3JtVUlFbGVtZW50LCBjb25zdCBzdGQ6OnN0
cmluZyYpCit7Cit9CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4v
QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJXaW4uY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvd2luL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyV2luLmNwcAppbmRleCAxYWJiNzFlLi42YjM1
OTQ4IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vQWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXJXaW4uY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dp
bi9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlcldpbi5jcHAKQEAgLTI4LDcgKzI4LDEwIEBACiAKICNp
bmNsdWRlICJBY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgiCiAjaW5jbHVkZSAiRHVtcFJlbmRlclRy
ZWUuaCIKKyNpbmNsdWRlICJGcmFtZUxvYWREZWxlZ2F0ZS5oIgogI2luY2x1ZGUgPEphdmFTY3Jp
cHRDb3JlL0Fzc2VydGlvbnMuaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU1JldGFpblB0
ci5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTU3RyaW5nUmVmLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9DT01QdHIuaD4KICNpbmNsdWRlIDxXZWJLaXQvV2ViS2l0Lmg+CiAjaW5jbHVkZSA8
b2xlYWNjLmg+CkBAIC00MCw2ICs0Myw3IEBAIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpBY2Nl
c3NpYmlsaXR5Q29udHJvbGxlcigpCiAgICAgOiBtX2ZvY3VzRXZlbnRIb29rKDApCiAgICAgLCBt
X3Njcm9sbGluZ1N0YXJ0RXZlbnRIb29rKDApCiAgICAgLCBtX3ZhbHVlQ2hhbmdlRXZlbnRIb29r
KDApCisgICAgLCBtX2FsbEV2ZW50c0hvb2soMCkKIHsKIH0KIApAQCAtNDcsNiArNTEsMTIgQEAg
QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6On5BY2Nlc3NpYmlsaXR5Q29udHJvbGxlcigpCiB7CiAg
ICAgc2V0TG9nRm9jdXNFdmVudHMoZmFsc2UpOwogICAgIHNldExvZ1ZhbHVlQ2hhbmdlRXZlbnRz
KGZhbHNlKTsKKworICAgIGlmIChtX2FsbEV2ZW50c0hvb2spCisgICAgICAgIFVuaG9va1dpbkV2
ZW50KG1fYWxsRXZlbnRzSG9vayk7CisKKyAgICBmb3IgKEhhc2hNYXA8UGxhdGZvcm1VSUVsZW1l
bnQsIEpTT2JqZWN0UmVmPjo6aXRlcmF0b3IgaXQgPSBtX25vdGlmaWNhdGlvbkxpc3RlbmVycy5i
ZWdpbigpOyBpdCAhPSBtX25vdGlmaWNhdGlvbkxpc3RlbmVycy5lbmQoKTsgKytpdCkKKyAgICAg
ICAgSlNWYWx1ZVVucHJvdGVjdChmcmFtZS0+Z2xvYmFsQ29udGV4dCgpLCBpdC0+c2Vjb25kKTsK
IH0KIAogQWNjZXNzaWJpbGl0eVVJRWxlbWVudCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6Zm9j
dXNlZEVsZW1lbnQoKQpAQCAtOTEsNyArMTAxLDcgQEAgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCBB
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6cm9vdEVsZW1lbnQoKQogICAgIHJldHVybiByb290QWNj
ZXNzaWJsZTsKIH0KIAotc3RhdGljIHZvaWQgQ0FMTEJBQ0sgbG9nRXZlbnRQcm9jKEhXSU5FVkVO
VEhPT0sgaFdpbkV2ZW50SG9vaywgRFdPUkQgZXZlbnQsIEhXTkQgaHduZCwgTE9ORyBpZE9iamVj
dCwgTE9ORyBpZENoaWxkLCBEV09SRCwgRFdPUkQpCitzdGF0aWMgdm9pZCBDQUxMQkFDSyBsb2dF
dmVudFByb2MoSFdJTkVWRU5USE9PSywgRFdPUkQgZXZlbnQsIEhXTkQgaHduZCwgTE9ORyBpZE9i
amVjdCwgTE9ORyBpZENoaWxkLCBEV09SRCwgRFdPUkQpCiB7CiAgICAgLy8gR2V0IHRoZSBhY2Nl
c3NpYmxlIG9iamVjdCBmb3IgdGhpcyBldmVudC4KICAgICBDT01QdHI8SUFjY2Vzc2libGU+IHBh
cmVudE9iamVjdDsKQEAgLTEzMyw2ICsxNDMsOCBAQCBzdGF0aWMgdm9pZCBDQUxMQkFDSyBsb2dF
dmVudFByb2MoSFdJTkVWRU5USE9PSyBoV2luRXZlbnRIb29rLCBEV09SRCBldmVudCwgSFdORAog
ICAgICAgICAgICAgcHJpbnRmKCJSZWNlaXZlZCB1bmtub3duIGV2ZW50IGZvciBvYmplY3QgJyVT
Jy5cbiIsIG5hbWUuY19zdHIoKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICB9CisKKyAgICBW
YXJpYW50Q2xlYXIoJnZDaGlsZCk7CiB9CiAKIHZvaWQgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6
OnNldExvZ0ZvY3VzRXZlbnRzKGJvb2wgbG9nRm9jdXNFdmVudHMpCkBAIC0xOTQsMyArMjA2LDgz
IEBAIHZvaWQgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnNldExvZ1Njcm9sbGluZ1N0YXJ0RXZl
bnRzKGJvb2wgbG9nU2Nyb2xsaW5nU3RhcnRFCiAKICAgICBBU1NFUlQobV9zY3JvbGxpbmdTdGFy
dEV2ZW50SG9vayk7CiB9CisKK3N0YXRpYyBzdHJpbmcgc3RyaW5nRXZlbnQoRFdPUkQgZXZlbnQp
Cit7CisgICAgc3dpdGNoKGV2ZW50KSB7CisgICAgICAgIGNhc2UgRVZFTlRfT0JKRUNUX1ZBTFVF
Q0hBTkdFOgorICAgICAgICAgICAgcmV0dXJuICJ2YWx1ZSBjaGFuZ2UgZXZlbnQiOworICAgICAg
ICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuICJ1bmtub3duIGV2ZW50IjsKKyAgICB9Cit9
CisKK3N0YXRpYyB2b2lkIENBTExCQUNLIG5vdGlmaWNhdGlvbkxpc3RlbmVyUHJvYyhIV0lORVZF
TlRIT09LLCBEV09SRCBldmVudCwgSFdORCBod25kLCBMT05HIGlkT2JqZWN0LCBMT05HIGlkQ2hp
bGQsIERXT1JELCBEV09SRCkKK3sKKyAgICAvLyBHZXQgdGhlIGFjY2Vzc2libGUgb2JqZWN0IGZv
ciB0aGlzIGV2ZW50LgorICAgIENPTVB0cjxJQWNjZXNzaWJsZT4gcGFyZW50T2JqZWN0OworCisg
ICAgVkFSSUFOVCB2Q2hpbGQ7CisgICAgVmFyaWFudEluaXQoJnZDaGlsZCk7CisKKyAgICBIUkVT
VUxUIGhyID0gQWNjZXNzaWJsZU9iamVjdEZyb21FdmVudChod25kLCBpZE9iamVjdCwgaWRDaGls
ZCwgJnBhcmVudE9iamVjdCwgJnZDaGlsZCk7CisgICAgQVNTRVJUKFNVQ0NFRURFRChocikpOwor
CisgICAgQ09NUHRyPElEaXNwYXRjaD4gY2hpbGREaXNwYXRjaDsKKyAgICBpZiAoRkFJTEVEKHBh
cmVudE9iamVjdC0+Z2V0X2FjY0NoaWxkKHZDaGlsZCwgJmNoaWxkRGlzcGF0Y2gpKSkgeworICAg
ICAgICBWYXJpYW50Q2xlYXIoJnZDaGlsZCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBDT01QdHI8SUFjY2Vzc2libGU+IGNoaWxkQWNjZXNzaWJsZShRdWVyeSwgY2hpbGREaXNwYXRj
aCk7CisKKyAgICBzaGFyZWRGcmFtZUxvYWREZWxlZ2F0ZS0+YWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIoKS0+bm90aWZpY2F0aW9uUmVjZWl2ZWQoY2hpbGRBY2Nlc3NpYmxlLCBzdHJpbmdFdmVudChl
dmVudCkpOworCisgICAgVmFyaWFudENsZWFyKCZ2Q2hpbGQpOworfQorCitzdGF0aWMgQ09NUHRy
PElBY2Nlc3NpYmxlQ29tcGFyYWJsZT4gY29tcGFyYWJsZU9iamVjdChjb25zdCBDT01QdHI8SVNl
cnZpY2VQcm92aWRlcj4mIHNlcnZpY2VQcm92aWRlcikKK3sKKyAgICBDT01QdHI8SUFjY2Vzc2li
bGVDb21wYXJhYmxlPiBjb21wYXJhYmxlOworICAgIHNlcnZpY2VQcm92aWRlci0+UXVlcnlTZXJ2
aWNlKFNJRF9BY2Nlc3NpYmxlQ29tcGFyYWJsZSwgX191dWlkb2YoSUFjY2Vzc2libGVDb21wYXJh
YmxlKSwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KCZjb21wYXJhYmxlKSk7CisgICAgcmV0dXJu
IGNvbXBhcmFibGU7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6Om5vdGlmaWNh
dGlvblJlY2VpdmVkKFBsYXRmb3JtVUlFbGVtZW50IGVsZW1lbnQsIGNvbnN0IHN0cmluZyYgZXZl
bnROYW1lKQoreworICAgIGZvciAoSGFzaE1hcDxQbGF0Zm9ybVVJRWxlbWVudCwgSlNPYmplY3RS
ZWY+OjppdGVyYXRvciBpdCA9IG1fbm90aWZpY2F0aW9uTGlzdGVuZXJzLmJlZ2luKCk7IGl0ICE9
IG1fbm90aWZpY2F0aW9uTGlzdGVuZXJzLmVuZCgpOyArK2l0KSB7CisgICAgICAgIENPTVB0cjxJ
U2VydmljZVByb3ZpZGVyPiB0aGlzU2VydmljZVByb3ZpZGVyKFF1ZXJ5LCBpdC0+Zmlyc3QpOwor
ICAgICAgICBpZiAoIXRoaXNTZXJ2aWNlUHJvdmlkZXIpCisgICAgICAgICAgICBjb250aW51ZTsK
KworICAgICAgICBDT01QdHI8SUFjY2Vzc2libGVDb21wYXJhYmxlPiB0aGlzQ29tcGFyYWJsZSA9
IGNvbXBhcmFibGVPYmplY3QodGhpc1NlcnZpY2VQcm92aWRlcik7CisgICAgICAgIGlmICghdGhp
c0NvbXBhcmFibGUpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBDT01QdHI8SVNl
cnZpY2VQcm92aWRlcj4gZWxlbWVudFNlcnZpY2VQcm92aWRlcihRdWVyeSwgZWxlbWVudCk7Cisg
ICAgICAgIGlmICghZWxlbWVudFNlcnZpY2VQcm92aWRlcikKKyAgICAgICAgICAgIGNvbnRpbnVl
OworCisgICAgICAgIENPTVB0cjxJQWNjZXNzaWJsZUNvbXBhcmFibGU+IGVsZW1lbnRDb21wYXJh
YmxlID0gY29tcGFyYWJsZU9iamVjdChlbGVtZW50U2VydmljZVByb3ZpZGVyKTsKKyAgICAgICAg
aWYgKCFlbGVtZW50Q29tcGFyYWJsZSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAg
IEJPT0wgaXNTYW1lID0gRkFMU0U7CisgICAgICAgIHRoaXNDb21wYXJhYmxlLT5pc1NhbWVPYmpl
Y3QoZWxlbWVudENvbXBhcmFibGUuZ2V0KCksICZpc1NhbWUpOworICAgICAgICBpZiAoIWlzU2Ft
ZSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIEpTUmV0YWluUHRyPEpTU3RyaW5n
UmVmPiBqc05vdGlmaWNhdGlvbihBZG9wdCwgSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmco
ZXZlbnROYW1lLmNfc3RyKCkpKTsKKyAgICAgICAgSlNWYWx1ZVJlZiBhcmd1bWVudCA9IEpTVmFs
dWVNYWtlU3RyaW5nKGZyYW1lLT5nbG9iYWxDb250ZXh0KCksIGpzTm90aWZpY2F0aW9uLmdldCgp
KTsKKyAgICAgICAgSlNPYmplY3RDYWxsQXNGdW5jdGlvbihmcmFtZS0+Z2xvYmFsQ29udGV4dCgp
LCBpdC0+c2Vjb25kLCBOVUxMLCAxLCAmYXJndW1lbnQsIE5VTEwpOworICAgIH0KK30KKwordm9p
ZCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6YWRkTm90aWZpY2F0aW9uTGlzdGVuZXIoUGxhdGZv
cm1VSUVsZW1lbnQgZWxlbWVudCwgSlNPYmplY3RSZWYgZnVuY3Rpb25DYWxsYmFjaykKK3sKKyAg
ICBpZiAoIW1fYWxsRXZlbnRzSG9vaykKKyAgICAgICAgbV9hbGxFdmVudHNIb29rID0gU2V0V2lu
RXZlbnRIb29rKEVWRU5UX01JTiwgRVZFTlRfTUFYLCBHZXRNb2R1bGVIYW5kbGUoMCksIG5vdGlm
aWNhdGlvbkxpc3RlbmVyUHJvYywgR2V0Q3VycmVudFByb2Nlc3NJZCgpLCAwLCBXSU5FVkVOVF9J
TkNPTlRFWFQpOworCisgICAgSlNWYWx1ZVByb3RlY3QoZnJhbWUtPmdsb2JhbENvbnRleHQoKSwg
ZnVuY3Rpb25DYWxsYmFjayk7CisgICAgbV9ub3RpZmljYXRpb25MaXN0ZW5lcnMuYWRkKGVsZW1l
bnQsIGZ1bmN0aW9uQ2FsbGJhY2spOworfQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvd2luL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwIGIvV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvd2luL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwCmluZGV4IDlh
ZmY1ZTYuLjMwMTExMmYgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dp
bi9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50V2luLmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVudFdpbi5jcHAKQEAgLTI2LDYgKzI2LDkg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
LmgiCiAKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5oIgorI2luY2x1ZGUgIkR1
bXBSZW5kZXJUcmVlLmgiCisjaW5jbHVkZSAiRnJhbWVMb2FkRGVsZWdhdGUuaCIKICNpbmNsdWRl
IDxKYXZhU2NyaXB0Q29yZS9KU1N0cmluZ1JlZi5oPgogI2luY2x1ZGUgPHRjaGFyLmg+CiAjaW5j
bHVkZSA8c3RyaW5nPgpAQCAtNTMwLDggKzUzMywxMSBAQCBKU1N0cmluZ1JlZiBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50Ojp1cmwoKQogCiBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFkZE5v
dGlmaWNhdGlvbkxpc3RlbmVyKEpTT2JqZWN0UmVmIGZ1bmN0aW9uQ2FsbGJhY2spCiB7Ci0gICAg
Ly8gRklYTUU6IGltcGxlbWVudAotICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWZ1bmN0aW9u
Q2FsbGJhY2spCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHNoYXJlZEZyYW1lTG9hZERl
bGVnYXRlLT5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcigpLT5hZGROb3RpZmljYXRpb25MaXN0ZW5l
cihtX2VsZW1lbnQsIGZ1bmN0aW9uQ2FsbGJhY2spOworICAgIHJldHVybiB0cnVlOwogfQogCiBi
b29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzU2VsZWN0YWJsZSgpIGNvbnN0CmRpZmYgLS1n
aXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWVXaW4uaCBi
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZVdpbi5oCmluZGV4
IDU0ZWM4N2IuLjQ5OWM1N2IgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L3dpbi9EdW1wUmVuZGVyVHJlZVdpbi5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L3dpbi9EdW1wUmVuZGVyVHJlZVdpbi5oCkBAIC0zMiw2ICszMiw3IEBACiBzdHJ1Y3QgSVdlYkZy
YW1lOwogc3RydWN0IElXZWJTY3JpcHRXb3JsZDsKIHN0cnVjdCBJV2ViVmlldzsKK3N0cnVjdCBG
cmFtZUxvYWREZWxlZ2F0ZTsKIHN0cnVjdCBQb2xpY3lEZWxlZ2F0ZTsKIHR5cGVkZWYgY29uc3Qg
c3RydWN0IF9fQ0ZTdHJpbmcqIENGU3RyaW5nUmVmOwogdHlwZWRlZiBzdHJ1Y3QgSFdORF9fKiBI
V05EOwpAQCAtNjAsNCArNjEsNiBAQCB1bnNpZ25lZCB3b3JsZElERm9yV29ybGQoSVdlYlNjcmlw
dFdvcmxkKik7CiAKIGV4dGVybiBVSU5UX1BUUiB3YWl0VG9EdW1wV2F0Y2hkb2c7CiAKK2V4dGVy
biBDT01QdHI8RnJhbWVMb2FkRGVsZWdhdGU+IHNoYXJlZEZyYW1lTG9hZERlbGVnYXRlOworCiAj
ZW5kaWYgLy8gRHVtcFJlbmRlclRyZWVXaW5faApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvd2luL0ZyYW1lTG9hZERlbGVnYXRlLmggYi9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS93aW4vRnJhbWVMb2FkRGVsZWdhdGUuaAppbmRleCBjYzY2NTNiLi4zMjljMTdmIDEw
MDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRnJhbWVMb2FkRGVsZWdh
dGUuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRnJhbWVMb2FkRGVsZWdh
dGUuaApAQCAtNDQsNiArNDQsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHJlc2V0VG9Db25zaXN0
ZW50U3RhdGUoKTsKIAorICAgIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyKiBhY2Nlc3NpYmlsaXR5
Q29udHJvbGxlcigpIGNvbnN0IHsgcmV0dXJuIG1fYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZ2V0
KCk7IH0KKwogICAgIC8vIElVbmtub3duCiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENB
TExUWVBFIFF1ZXJ5SW50ZXJmYWNlKFJFRklJRCByaWlkLCB2b2lkKiogcHB2T2JqZWN0KTsKICAg
ICB2aXJ0dWFsIFVMT05HIFNURE1FVEhPRENBTExUWVBFIEFkZFJlZih2b2lkKTsKLS0gCjEuNi41
LjIuMTQzLmc4Y2M2MgoK
</data>
<flag name="review"
          id="30200"
          type_id="1"
          status="+"
          setter="darin"
    />
    <flag name="commit-queue"
          id="30201"
          type_id="3"
          status="-"
          setter="jhoneycutt"
    />
          </attachment>
      

    </bug>

</bugzilla>