<?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>184402</bug_id>
          
          <creation_ts>2018-04-08 13:54:17 -0700</creation_ts>
          <short_desc>[iOS] WKContentView and WKLegacyPDFView should share application state tracking logic</short_desc>
          <delta_ts>2018-04-08 18:49:20 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>mitz</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1412750</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-04-08 13:54:17 -0700</bug_when>
    <thetext>[iOS] WKContentView and WKLegacyPDFView should share application state tracking logic</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1412754</commentid>
    <comment_count>1</comment_count>
      <attachid>337464</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-04-08 14:00:59 -0700</bug_when>
    <thetext>Created attachment 337464
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1412764</commentid>
    <comment_count>2</comment_count>
      <attachid>337464</attachid>
    <who name="">mitz</who>
    <bug_when>2018-04-08 15:26:03 -0700</bug_when>
    <thetext>Comment on attachment 337464
Patch

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

&gt; Source/WebKit/UIProcess/ios/WKApplicationStateTrackingView.mm:38
&gt; +using namespace WebCore;
&gt; +using namespace WebKit;

I thought we were moving away from doing this in modern WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1412772</commentid>
    <comment_count>3</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-04-08 16:01:47 -0700</bug_when>
    <thetext>(In reply to mitz from comment #2)
&gt; Comment on attachment 337464 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=337464&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/ios/WKApplicationStateTrackingView.mm:38
&gt; &gt; +using namespace WebCore;
&gt; &gt; +using namespace WebKit;
&gt; 
&gt; I thought we were moving away from doing this in modern WebKit.

Oh, ok. Maybe it makes unifying sources more difficult? I&apos;ll get rid of them.

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1412776</commentid>
    <comment_count>4</comment_count>
      <attachid>337471</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-04-08 17:53:14 -0700</bug_when>
    <thetext>Created attachment 337471
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1412783</commentid>
    <comment_count>5</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-04-08 18:48:36 -0700</bug_when>
    <thetext>Committed r230383: &lt;https://trac.webkit.org/changeset/230383&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1412784</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-04-08 18:49:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/39269308&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>337464</attachid>
            <date>2018-04-08 14:00:59 -0700</date>
            <delta_ts>2018-04-08 17:53:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184402-20180408140058.patch</filename>
            <type>text/plain</type>
            <size>23181</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwMzU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGZlYjVjNmZmYzNkNWY3ZDFj
ZjJiNDViMjY0ODAyMDllZjQ0NDQxMDAuLjlhM2IwYzJmOTFhNzEyN2NlNDAxMWNmODY0MDBmMzcx
Yzc2ZjFmMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTYgQEAKKzIwMTgtMDQtMDggIEFuZHkgRXN0
ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFdLQ29udGVudFZpZXcgYW5k
IFdLTGVnYWN5UERGVmlldyBzaG91bGQgc2hhcmUgYXBwbGljYXRpb24gc3RhdGUgdHJhY2tpbmcg
bG9naWMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4
NDQwMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdL
Q29udGVudFZpZXcgYW5kIFdLTGVnYWN5UERGVmlldyBoYXZlIG5lYXJseSBpZGVudGljYWwgbG9n
aWMgZm9yIHRyYWNraW5nCisgICAgICAgIGFwcGxpY2F0aW9uIGZvcmVncm91bmQgc3RhdGUuIExl
dCdzIHNoYXJlIGl0IHNvIHdlIGNhbiBtb3JlIGVhc2lseSBjcmVhdGUgbmV3CisgICAgICAgIGNv
bnRlbnQgdmlld3Mgd2l0aCBwcm9wZXIgYXBwbGljYXRpb24gc3RhdGUgdHJhY2tpbmcuCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmlldy5oOiBB
ZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5n
Vmlldy5tbTogQWRkZWQuCisgICAgICAgICgtW1dLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmll
dyBpbml0V2l0aEZyYW1lOndlYlZpZXc6XSk6CisgICAgICAgICgtW1dLQXBwbGljYXRpb25TdGF0
ZVRyYWNraW5nVmlldyB3aWxsTW92ZVRvV2luZG93Ol0pOgorICAgICAgICAoLVtXS0FwcGxpY2F0
aW9uU3RhdGVUcmFja2luZ1ZpZXcgZGlkTW92ZVRvV2luZG93XSk6CisgICAgICAgICgtW1dLQXBw
bGljYXRpb25TdGF0ZVRyYWNraW5nVmlldyBfYXBwbGljYXRpb25EaWRFbnRlckJhY2tncm91bmRd
KToKKyAgICAgICAgKC1bV0tBcHBsaWNhdGlvblN0YXRlVHJhY2tpbmdWaWV3IF9hcHBsaWNhdGlv
bkRpZENyZWF0ZVdpbmRvd0NvbnRleHRdKToKKyAgICAgICAgKC1bV0tBcHBsaWNhdGlvblN0YXRl
VHJhY2tpbmdWaWV3IF9hcHBsaWNhdGlvbkRpZEZpbmlzaFNuYXBzaG90dGluZ0FmdGVyRW50ZXJp
bmdCYWNrZ3JvdW5kXSk6CisgICAgICAgICgtW1dLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmll
dyBfYXBwbGljYXRpb25XaWxsRW50ZXJGb3JlZ3JvdW5kXSk6CisgICAgICAgICgtW1dLQXBwbGlj
YXRpb25TdGF0ZVRyYWNraW5nVmlldyBpc0JhY2tncm91bmRdKToKKworICAgICAgICBNb3ZlZCBj
b21tb24gbG9naWMgZnJvbSBXS0NvbnRlbnRWaWV3IGFuZCBXS0xlZ2FjeVBERlZpZXcgaW50bwor
ICAgICAgICBXS0FwcGxpY2F0aW9uU3RhdGVUcmFja2luZ1ZpZXcuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvaW9zL1dLQ29udGVudFZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29u
dGVudFZpZXcubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgaW5pdFdpdGhGcmFtZTpwcm9j
ZXNzUG9vbDpjb25maWd1cmF0aW9uOndlYlZpZXc6XSk6CisgICAgICAgICgtW1dLQ29udGVudFZp
ZXcgd2lsbE1vdmVUb1dpbmRvdzpdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfYXBwbGlj
YXRpb25EaWRDcmVhdGVXaW5kb3dDb250ZXh0XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcg
ZGlkTW92ZVRvV2luZG93XSk6IERlbGV0ZWQuCisgICAgICAgICgtW1dLQ29udGVudFZpZXcgaXNC
YWNrZ3JvdW5kXSk6IERlbGV0ZWQuCisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2FwcGxpY2F0
aW9uRGlkRW50ZXJCYWNrZ3JvdW5kXSk6IERlbGV0ZWQuCisgICAgICAgICgtW1dLQ29udGVudFZp
ZXcgX2FwcGxpY2F0aW9uRGlkRmluaXNoU25hcHNob3R0aW5nQWZ0ZXJFbnRlcmluZ0JhY2tncm91
bmRdKTogRGVsZXRlZC4KKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfYXBwbGljYXRpb25XaWxs
RW50ZXJGb3JlZ3JvdW5kXSk6IERlbGV0ZWQuCisKKyAgICAgICAgTWFkZSBXS0NvbnRlbnRWaWV3
IGEgc3ViY2xhc3Mgb2YgV0tBcHBsaWNhdGlvblN0YXRlVHJhY2tpbmdWaWV3LgorCisgICAgICAg
ICogVUlQcm9jZXNzL2lvcy9XS0xlZ2FjeVBERlZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
aW9zL1dLTGVnYWN5UERGVmlldy5tbToKKyAgICAgICAgKC1bV0tMZWdhY3lQREZWaWV3IHdlYl9p
bml0V2l0aEZyYW1lOndlYlZpZXc6XSk6CisgICAgICAgICgtW1dLTGVnYWN5UERGVmlldyB3ZWJf
aXNCYWNrZ3JvdW5kXSk6CisgICAgICAgICgtW1dLTGVnYWN5UERGVmlldyBfYXBwbGljYXRpb25X
aWxsRW50ZXJGb3JlZ3JvdW5kXSk6CisgICAgICAgICgtW1dLTGVnYWN5UERGVmlldyB3aWxsTW92
ZVRvV2luZG93Ol0pOiBEZWxldGVkLgorICAgICAgICAoLVtXS0xlZ2FjeVBERlZpZXcgZGlkTW92
ZVRvV2luZG93XSk6IERlbGV0ZWQuCisgICAgICAgICgtW1dLTGVnYWN5UERGVmlldyBfYXBwbGlj
YXRpb25EaWRFbnRlckJhY2tncm91bmRdKTogRGVsZXRlZC4KKyAgICAgICAgKC1bV0tMZWdhY3lQ
REZWaWV3IF9hcHBsaWNhdGlvbkRpZENyZWF0ZVdpbmRvd0NvbnRleHRdKTogRGVsZXRlZC4KKyAg
ICAgICAgKC1bV0tMZWdhY3lQREZWaWV3IF9hcHBsaWNhdGlvbkRpZEZpbmlzaFNuYXBzaG90dGlu
Z0FmdGVyRW50ZXJpbmdCYWNrZ3JvdW5kXSk6IERlbGV0ZWQuCisKKyAgICAgICAgTWFkZSBXS0xl
Z2FjeVBERlZpZXcgYSBzdWJjbGFzcyBvZiBXS0FwcGxpY2F0aW9uU3RhdGVUcmFja2luZ1ZpZXcu
CisKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxOC0w
NC0wNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVT
U0lPTiAocjIzMDIyMyk6IExheW91dFRlc3QgaHR0cC90ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy9j
c3MtZGlzcGxheS1ub25lLW92ZXJmbG93cy1ydWxlLWRhdGEtMS5odG1sIGlzIGNyYXNoaW5nCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tBcHBsaWNhdGlvblN0YXRl
VHJhY2tpbmdWaWV3LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tBcHBsaWNhdGlv
blN0YXRlVHJhY2tpbmdWaWV3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODY0MTE4YjRlMWE3ODYwY2FlOTA5YjZl
MzA4Y2QwZDRiMjQ1MzBkMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS0FwcGxpY2F0aW9uU3RhdGVUcmFja2luZ1ZpZXcuaApAQCAtMCwwICsxLDQxIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2lmIFBMQVRGT1JNKElPUykKKworI2ltcG9ydCA8VUlLaXQvVUlLaXQu
aD4KKworQGNsYXNzIFdLV2ViVmlldzsKKworQGludGVyZmFjZSBXS0FwcGxpY2F0aW9uU3RhdGVU
cmFja2luZ1ZpZXcgOiBVSVZpZXcKKworLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoRnJhbWU6KENH
UmVjdClmcmFtZSB3ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3OworLSAodm9pZClfYXBwbGlj
YXRpb25EaWRDcmVhdGVXaW5kb3dDb250ZXh0OworLSAodm9pZClfYXBwbGljYXRpb25XaWxsRW50
ZXJGb3JlZ3JvdW5kOworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBCT09MIGlzQmFj
a2dyb3VuZDsKKworQGVuZAorCisjZW5kaWYgLy8gUExBVEZPUk0oSU9TKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmll
dy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0FwcGxpY2F0aW9uU3RhdGVUcmFj
a2luZ1ZpZXcubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDllZmExY2NiYTgxY2Q3ZTZiOThkNWY0Zjk5YWY4OThm
NDEwNTJlZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9X
S0FwcGxpY2F0aW9uU3RhdGVUcmFja2luZ1ZpZXcubW0KQEAgLTAsMCArMSwxMDkgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIldLQXBwbGljYXRpb25TdGF0ZVRy
YWNraW5nVmlldy5oIgorCisjaWYgUExBVEZPUk0oSU9TKQorCisjaW1wb3J0ICJBcHBsaWNhdGlv
blN0YXRlVHJhY2tlci5oIgorI2ltcG9ydCAiV0tXZWJWaWV3SW50ZXJuYWwuaCIKKyNpbXBvcnQg
IldlYWtPYmpDUHRyLmgiCisjaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKKyNpbXBvcnQgPHd0Zi9S
ZXRhaW5QdHIuaD4KKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Cit1c2luZyBuYW1lc3BhY2Ug
V2ViS2l0OworCitAaW1wbGVtZW50YXRpb24gV0tBcHBsaWNhdGlvblN0YXRlVHJhY2tpbmdWaWV3
IHsKKyAgICBXZWFrT2JqQ1B0cjxXS1dlYlZpZXc+IF93ZWJWaWV3OworICAgIHN0ZDo6dW5pcXVl
X3B0cjxBcHBsaWNhdGlvblN0YXRlVHJhY2tlcj4gX2FwcGxpY2F0aW9uU3RhdGVUcmFja2VyOwor
fQorCistIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhGcmFtZTooQ0dSZWN0KWZyYW1lIHdlYlZpZXc6
KFdLV2ViVmlldyAqKXdlYlZpZXcKK3sKKyAgICBpZiAoIShzZWxmID0gW3N1cGVyIGluaXRXaXRo
RnJhbWU6ZnJhbWVdKSkKKyAgICAgICAgcmV0dXJuIG5pbDsKKworICAgIF93ZWJWaWV3ID0gd2Vi
VmlldzsKKyAgICByZXR1cm4gc2VsZjsKK30KKworLSAodm9pZCl3aWxsTW92ZVRvV2luZG93OihV
SVdpbmRvdyAqKW5ld1dpbmRvdworeworICAgIGlmICghc2VsZi53aW5kb3cgfHwgbmV3V2luZG93
KQorICAgICAgICByZXR1cm47CisKKyAgICBBU1NFUlQoX2FwcGxpY2F0aW9uU3RhdGVUcmFja2Vy
KTsKKyAgICBfYXBwbGljYXRpb25TdGF0ZVRyYWNrZXIgPSBudWxscHRyOworfQorCistICh2b2lk
KWRpZE1vdmVUb1dpbmRvdworeworICAgIGlmICghc2VsZi53aW5kb3cpCisgICAgICAgIHJldHVy
bjsKKworICAgIEFTU0VSVCghX2FwcGxpY2F0aW9uU3RhdGVUcmFja2VyKTsKKyAgICBfYXBwbGlj
YXRpb25TdGF0ZVRyYWNrZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPEFwcGxpY2F0aW9uU3RhdGVUcmFj
a2VyPihzZWxmLCBAc2VsZWN0b3IoX2FwcGxpY2F0aW9uRGlkRW50ZXJCYWNrZ3JvdW5kKSwgQHNl
bGVjdG9yKF9hcHBsaWNhdGlvbkRpZENyZWF0ZVdpbmRvd0NvbnRleHQpLCBAc2VsZWN0b3IoX2Fw
cGxpY2F0aW9uRGlkRmluaXNoU25hcHNob3R0aW5nQWZ0ZXJFbnRlcmluZ0JhY2tncm91bmQpLCBA
c2VsZWN0b3IoX2FwcGxpY2F0aW9uV2lsbEVudGVyRm9yZWdyb3VuZCkpOworfQorCistICh2b2lk
KV9hcHBsaWNhdGlvbkRpZEVudGVyQmFja2dyb3VuZAoreworICAgIGF1dG8gcGFnZSA9IFtfd2Vi
VmlldyBfcGFnZV07CisgICAgaWYgKCFwYWdlKQorICAgICAgICByZXR1cm47CisKKyAgICBwYWdl
LT5hcHBsaWNhdGlvbkRpZEVudGVyQmFja2dyb3VuZCgpOworICAgIHBhZ2UtPmFjdGl2aXR5U3Rh
dGVEaWRDaGFuZ2UoQWN0aXZpdHlTdGF0ZTo6QWxsRmxhZ3MgJiB+QWN0aXZpdHlTdGF0ZTo6SXNJ
bldpbmRvdyk7Cit9CisKKy0gKHZvaWQpX2FwcGxpY2F0aW9uRGlkQ3JlYXRlV2luZG93Q29udGV4
dAoreworfQorCistICh2b2lkKV9hcHBsaWNhdGlvbkRpZEZpbmlzaFNuYXBzaG90dGluZ0FmdGVy
RW50ZXJpbmdCYWNrZ3JvdW5kCit7CisgICAgaWYgKGF1dG8gcGFnZSA9IFtfd2ViVmlldyBfcGFn
ZV0pCisgICAgICAgIHBhZ2UtPmFwcGxpY2F0aW9uRGlkRmluaXNoU25hcHNob3R0aW5nQWZ0ZXJF
bnRlcmluZ0JhY2tncm91bmQoKTsKK30KKworLSAodm9pZClfYXBwbGljYXRpb25XaWxsRW50ZXJG
b3JlZ3JvdW5kCit7CisgICAgYXV0byBwYWdlID0gW193ZWJWaWV3IF9wYWdlXTsKKyAgICBpZiAo
IXBhZ2UpCisgICAgICAgIHJldHVybjsKKworICAgIHBhZ2UtPmFwcGxpY2F0aW9uV2lsbEVudGVy
Rm9yZWdyb3VuZCgpOworICAgIHBhZ2UtPmFjdGl2aXR5U3RhdGVEaWRDaGFuZ2UoQWN0aXZpdHlT
dGF0ZTo6QWxsRmxhZ3MgJiB+QWN0aXZpdHlTdGF0ZTo6SXNJbldpbmRvdywgdHJ1ZSwgV2ViUGFn
ZVByb3h5OjpBY3Rpdml0eVN0YXRlQ2hhbmdlRGlzcGF0Y2hNb2RlOjpJbW1lZGlhdGUpOworfQor
CistIChCT09MKWlzQmFja2dyb3VuZAoreworICAgIHJldHVybiBfYXBwbGljYXRpb25TdGF0ZVRy
YWNrZXIgPyBfYXBwbGljYXRpb25TdGF0ZVRyYWNrZXItPmlzSW5CYWNrZ3JvdW5kKCkgOiBZRVM7
Cit9CisKK0BlbmQKKworI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3LmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5oCmluZGV4IDdlNjEyNDU1MjdhMGIzZmM4YjJiZjZm
YjE0ODI0NjI2NDA3MjlkZjAuLjRjODA0Y2MwN2YzZDJlYzIxNGE4NzA1OWVhOTRhMmY0OWI1NjVj
YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcuaApAQCAt
MjMsMTEgKzIzLDExIEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8K
IAorI2ltcG9ydCAiV0tBcHBsaWNhdGlvblN0YXRlVHJhY2tpbmdWaWV3LmgiCiAjaW1wb3J0ICJX
S0Jhc2UuaCIKICNpbXBvcnQgIldLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5oIgogI2ltcG9y
dCAiV0tCcm93c2luZ0NvbnRleHRHcm91cC5oIgogI2ltcG9ydCAiV0tQcm9jZXNzR3JvdXAuaCIK
LSNpbXBvcnQgPFVJS2l0L1VJS2l0Lmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKIEBj
bGFzcyBXS0NvbnRlbnRWaWV3OwpAQCAtNDksNyArNDksNyBAQCBjbGFzcyBXZWJQYWdlUHJveHk7
CiBjbGFzcyBXZWJQcm9jZXNzUG9vbDsKIH0KIAotQGludGVyZmFjZSBXS0NvbnRlbnRWaWV3IDog
VUlWaWV3IHsKK0BpbnRlcmZhY2UgV0tDb250ZW50VmlldyA6IFdLQXBwbGljYXRpb25TdGF0ZVRy
YWNraW5nVmlldyB7CiBAcGFja2FnZQogICAgIFJlZlB0cjxXZWJLaXQ6OldlYlBhZ2VQcm94eT4g
X3BhZ2U7CiAgICAgV0tXZWJWaWV3ICpfd2ViVmlldzsKQEAgLTYwLDcgKzYwLDYgQEAgY2xhc3Mg
V2ViUHJvY2Vzc1Bvb2w7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIFdlYktpdDo6
V2ViUGFnZVByb3h5KiBwYWdlOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBCT09M
IGlzQXNzaXN0aW5nTm9kZTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBnZXR0ZXI9aXNTaG93aW5n
SW5zcGVjdG9ySW5kaWNhdGlvbikgQk9PTCBzaG93aW5nSW5zcGVjdG9ySW5kaWNhdGlvbjsKLUBw
cm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgQk9PTCBpc0JhY2tncm91bmQ7CiBAcHJvcGVy
dHkgKG5vbmF0b21pYywgcmVhZG9ubHksIGdldHRlcj1pc1Jlc2lnbmluZ0ZpcnN0UmVzcG9uZGVy
KSBCT09MIHJlc2lnbmluZ0ZpcnN0UmVzcG9uZGVyOwogQHByb3BlcnR5IChub25hdG9taWMpIEJP
T0wgc2l6ZUNoYW5nZWRTaW5jZUxhc3RWaXNpYmxlQ29udGVudFJlY3RVcGRhdGU7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0KaW5kZXggNTZlM2U2NDk2
OWVlMzIxYTFhN2VjOTI3ZTNmNDcyODVkMGMyNmM2MS4uZTkxZWI5YjMwYmZjMmI2NDdkMDg0NmJl
YmRmMzE5MzMzYjU3NjdjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29u
dGVudFZpZXcubW0KQEAgLTMwLDcgKzMwLDYgQEAKIAogI2ltcG9ydCAiQVBJUGFnZUNvbmZpZ3Vy
YXRpb24uaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlJT1MuaCIKLSNpbXBvcnQgIkFwcGxpY2F0
aW9uU3RhdGVUcmFja2VyLmgiCiAjaW1wb3J0ICJGdWxsc2NyZWVuQ2xpZW50LmgiCiAjaW1wb3J0
ICJJbnB1dFZpZXdVcGRhdGVEZWZlcnJlci5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgpAQCAtMTg0
LDggKzE4Myw2IEBAIEBpbXBsZW1lbnRhdGlvbiBXS0NvbnRlbnRWaWV3IHsKIAogICAgIFJldGFp
blB0cjxOU1VuZG9NYW5hZ2VyPiBfdW5kb01hbmFnZXI7CiAKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8
QXBwbGljYXRpb25TdGF0ZVRyYWNrZXI+IF9hcHBsaWNhdGlvblN0YXRlVHJhY2tlcjsKLQogICAg
IEJPT0wgX2lzUHJpbnRpbmdUb1BERjsKICAgICBSZXRhaW5QdHI8Q0dQREZEb2N1bWVudFJlZj4g
X3ByaW50ZWREb2N1bWVudDsKIH0KQEAgLTIzMiw3ICsyMjksNyBAQCAtIChpbnN0YW5jZXR5cGUp
X2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aFByb2Nlc3NQb29sOihXZWJLaXQ6OldlYlByb2Nlc3NQ
b29sJilwcgogCiAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhGcmFtZTooQ0dSZWN0KWZyYW1lIHBy
b2Nlc3NQb29sOihXZWJLaXQ6OldlYlByb2Nlc3NQb29sJilwcm9jZXNzUG9vbCBjb25maWd1cmF0
aW9uOihSZWY8QVBJOjpQYWdlQ29uZmlndXJhdGlvbj4mJiljb25maWd1cmF0aW9uIHdlYlZpZXc6
KFdLV2ViVmlldyAqKXdlYlZpZXcKIHsKLSAgICBpZiAoIShzZWxmID0gW3N1cGVyIGluaXRXaXRo
RnJhbWU6ZnJhbWVdKSkKKyAgICBpZiAoIShzZWxmID0gW3N1cGVyIGluaXRXaXRoRnJhbWU6ZnJh
bWUgd2ViVmlldzp3ZWJWaWV3XSkpCiAgICAgICAgIHJldHVybiBuaWw7CiAKICAgICBJbml0aWFs
aXplV2ViS2l0MigpOwpAQCAtMjYzLDE4ICsyNjAsMTQgQEAgLSAoV2ViUGFnZVByb3h5KilwYWdl
CiAKIC0gKHZvaWQpd2lsbE1vdmVUb1dpbmRvdzooVUlXaW5kb3cgKiluZXdXaW5kb3cKIHsKKyAg
ICBbc3VwZXIgd2lsbE1vdmVUb1dpbmRvdzpuZXdXaW5kb3ddOworCiAgICAgTlNOb3RpZmljYXRp
b25DZW50ZXIgKmRlZmF1bHRDZW50ZXIgPSBbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENl
bnRlcl07CiAgICAgVUlXaW5kb3cgKndpbmRvdyA9IHNlbGYud2luZG93OwogCi0gICAgaWYgKHdp
bmRvdykgeworICAgIGlmICh3aW5kb3cpCiAgICAgICAgIFtkZWZhdWx0Q2VudGVyIHJlbW92ZU9i
c2VydmVyOnNlbGYgbmFtZTpVSVdpbmRvd0RpZE1vdmVUb1NjcmVlbk5vdGlmaWNhdGlvbiBvYmpl
Y3Q6d2luZG93XTsKIAotICAgICAgICBpZiAoIW5ld1dpbmRvdykgewotICAgICAgICAgICAgQVNT
RVJUKF9hcHBsaWNhdGlvblN0YXRlVHJhY2tlcik7Ci0gICAgICAgICAgICBfYXBwbGljYXRpb25T
dGF0ZVRyYWNrZXIgPSBudWxscHRyOwotICAgICAgICB9Ci0gICAgfQotCiAgICAgaWYgKG5ld1dp
bmRvdykgewogICAgICAgICBbZGVmYXVsdENlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9y
OkBzZWxlY3Rvcihfd2luZG93RGlkTW92ZVRvU2NyZWVuTm90aWZpY2F0aW9uOikgbmFtZTpVSVdp
bmRvd0RpZE1vdmVUb1NjcmVlbk5vdGlmaWNhdGlvbiBvYmplY3Q6bmV3V2luZG93XTsKIApAQCAt
MjgyLDE1ICsyNzUsNiBAQCAtICh2b2lkKXdpbGxNb3ZlVG9XaW5kb3c6KFVJV2luZG93ICopbmV3
V2luZG93CiAgICAgfQogfQogCi0tICh2b2lkKWRpZE1vdmVUb1dpbmRvdwotewotICAgIGlmICgh
c2VsZi53aW5kb3cpCi0gICAgICAgIHJldHVybjsKLQotICAgIEFTU0VSVCghX2FwcGxpY2F0aW9u
U3RhdGVUcmFja2VyKTsKLSAgICBfYXBwbGljYXRpb25TdGF0ZVRyYWNrZXIgPSBzdGQ6Om1ha2Vf
dW5pcXVlPEFwcGxpY2F0aW9uU3RhdGVUcmFja2VyPihzZWxmLCBAc2VsZWN0b3IoX2FwcGxpY2F0
aW9uRGlkRW50ZXJCYWNrZ3JvdW5kKSwgQHNlbGVjdG9yKF9hcHBsaWNhdGlvbkRpZENyZWF0ZVdp
bmRvd0NvbnRleHQpLCBAc2VsZWN0b3IoX2FwcGxpY2F0aW9uRGlkRmluaXNoU25hcHNob3R0aW5n
QWZ0ZXJFbnRlcmluZ0JhY2tncm91bmQpLCBAc2VsZWN0b3IoX2FwcGxpY2F0aW9uV2lsbEVudGVy
Rm9yZWdyb3VuZCkpOwotfQotCiAtIChXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIgKilicm93
c2luZ0NvbnRleHRDb250cm9sbGVyCiB7CiAgICAgaWYgKCFfYnJvd3NpbmdDb250ZXh0Q29udHJv
bGxlcikKQEAgLTMwOSwxNCArMjkzLDYgQEAgLSAoQk9PTClpc0Fzc2lzdGluZ05vZGUKICAgICBy
ZXR1cm4gW3NlbGYgaXNFZGl0YWJsZV07CiB9CiAKLS0gKEJPT0wpaXNCYWNrZ3JvdW5kCi17Ci0g
ICAgaWYgKCFfYXBwbGljYXRpb25TdGF0ZVRyYWNrZXIpCi0gICAgICAgIHJldHVybiBZRVM7Ci0K
LSAgICByZXR1cm4gX2FwcGxpY2F0aW9uU3RhdGVUcmFja2VyLT5pc0luQmFja2dyb3VuZCgpOwot
fQotCiAtICh2b2lkKV9zaG93SW5zcGVjdG9ySGlnaGxpZ2h0Oihjb25zdCBXZWJDb3JlOjpIaWdo
bGlnaHQmKWhpZ2hsaWdodAogewogICAgIGlmICghX2luc3BlY3RvckhpZ2hsaWdodFZpZXcpIHsK
QEAgLTY0NCwyOSArNjIwLDEzIEBAIC0gKHZvaWQpX2FwcGxpY2F0aW9uV2lsbFJlc2lnbkFjdGl2
ZTooTlNOb3RpZmljYXRpb24qKW5vdGlmaWNhdGlvbgogICAgIF9wYWdlLT5hcHBsaWNhdGlvbldp
bGxSZXNpZ25BY3RpdmUoKTsKIH0KIAotLSAodm9pZClfYXBwbGljYXRpb25EaWRFbnRlckJhY2tn
cm91bmQKLXsKLSAgICBfcGFnZS0+YXBwbGljYXRpb25EaWRFbnRlckJhY2tncm91bmQoKTsKLSAg
ICBfcGFnZS0+YWN0aXZpdHlTdGF0ZURpZENoYW5nZShBY3Rpdml0eVN0YXRlOjpBbGxGbGFncyAm
IH5BY3Rpdml0eVN0YXRlOjpJc0luV2luZG93KTsKLX0KLQogLSAodm9pZClfYXBwbGljYXRpb25E
aWRDcmVhdGVXaW5kb3dDb250ZXh0CiB7CisgICAgW3N1cGVyIF9hcHBsaWNhdGlvbkRpZENyZWF0
ZVdpbmRvd0NvbnRleHRdOwogICAgIGlmIChhdXRvIGRyYXdpbmdBcmVhID0gX3BhZ2UtPmRyYXdp
bmdBcmVhKCkpCiAgICAgICAgIGRyYXdpbmdBcmVhLT5oaWRlQ29udGVudFVudGlsQW55VXBkYXRl
KCk7CiB9CiAKLS0gKHZvaWQpX2FwcGxpY2F0aW9uRGlkRmluaXNoU25hcHNob3R0aW5nQWZ0ZXJF
bnRlcmluZ0JhY2tncm91bmQKLXsKLSAgICBfcGFnZS0+YXBwbGljYXRpb25EaWRGaW5pc2hTbmFw
c2hvdHRpbmdBZnRlckVudGVyaW5nQmFja2dyb3VuZCgpOwotfQotCi0tICh2b2lkKV9hcHBsaWNh
dGlvbldpbGxFbnRlckZvcmVncm91bmQKLXsKLSAgICBfcGFnZS0+YXBwbGljYXRpb25XaWxsRW50
ZXJGb3JlZ3JvdW5kKCk7Ci0gICAgX3BhZ2UtPmFjdGl2aXR5U3RhdGVEaWRDaGFuZ2UoQWN0aXZp
dHlTdGF0ZTo6QWxsRmxhZ3MgJiB+QWN0aXZpdHlTdGF0ZTo6SXNJbldpbmRvdywgdHJ1ZSwgV2Vi
UGFnZVByb3h5OjpBY3Rpdml0eVN0YXRlQ2hhbmdlRGlzcGF0Y2hNb2RlOjpJbW1lZGlhdGUpOwot
fQotCiAtICh2b2lkKV9hcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZTooTlNOb3RpZmljYXRpb24q
KW5vdGlmaWNhdGlvbgogewogICAgIF9wYWdlLT5hcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZSgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLTGVnYWN5UERGVmll
dy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLTGVnYWN5UERGVmlldy5oCmluZGV4
IGRiMjM5ZjJiOTk0NGJmMmViMWI3YjIxOTc3ZGNiM2VhMzQ5ZDhlZTQuLjM3YWEwMjU5NmZiNGJm
MTA3MDE1NjdjYjVlNzNhZGZiZDk4MzlhZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9XS0xlZ2FjeVBERlZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9pb3MvV0tMZWdhY3lQREZWaWV3LmgKQEAgLTI3LDkgKzI3LDEwIEBACiAKICNpbXBvcnQgIkNv
cmVQREZTUEkuaCIKICNpbXBvcnQgIldLQWN0aW9uU2hlZXRBc3Npc3RhbnQuaCIKKyNpbXBvcnQg
IldLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmlldy5oIgogI2ltcG9ydCAiV0tXZWJWaWV3Q29u
dGVudFByb3ZpZGVyLmgiCiAKLUBpbnRlcmZhY2UgV0tMZWdhY3lQREZWaWV3IDogVUlWaWV3IDxX
S1dlYlZpZXdDb250ZW50UHJvdmlkZXIsIFVJUERGUGFnZVZpZXdEZWxlZ2F0ZSwgVUlQREZBbm5v
dGF0aW9uQ29udHJvbGxlckRlbGVnYXRlLCBXS0FjdGlvblNoZWV0QXNzaXN0YW50RGVsZWdhdGU+
CitAaW50ZXJmYWNlIFdLTGVnYWN5UERGVmlldyA6IFdLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5n
VmlldyA8V0tXZWJWaWV3Q29udGVudFByb3ZpZGVyLCBVSVBERlBhZ2VWaWV3RGVsZWdhdGUsIFVJ
UERGQW5ub3RhdGlvbkNvbnRyb2xsZXJEZWxlZ2F0ZSwgV0tBY3Rpb25TaGVldEFzc2lzdGFudERl
bGVnYXRlPgogQGVuZAogCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TKSAmJiBFTkFCTEUoV0tQREZW
SUVXKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLTGVnYWN5UERG
Vmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0xlZ2FjeVBERlZpZXcubW0K
aW5kZXggNjk2OTI5NGJiMTkzNDQ4MGY3ZDQwY2M2MmI2M2I0YTliMGE3ODMwYy4uZGI2NTljMjE3
ZmRkNWY5MTEyMWU1ZDAxMjk2ZTM0NjVjZGMyOGFlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLTGVnYWN5UERGVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvV0tMZWdhY3lQREZWaWV3Lm1tCkBAIC0zMCw3ICszMCw2IEBACiAKICNpbXBv
cnQgIkFQSUZpbmRDbGllbnQuaCIKICNpbXBvcnQgIkFQSVVJQ2xpZW50LmgiCi0jaW1wb3J0ICJB
cHBsaWNhdGlvblN0YXRlVHJhY2tlci5oIgogI2ltcG9ydCAiQ29yZVBERlNQSS5oIgogI2ltcG9y
dCAiRHJhd2luZ0FyZWFQcm94eS5oIgogI2ltcG9ydCAiU2Vzc2lvblN0YXRlLmgiCkBAIC0xMTYs
MTUgKzExNSwxMyBAQCBAaW1wbGVtZW50YXRpb24gV0tMZWdhY3lQREZWaWV3IHsKIAogICAgIFJl
dGFpblB0cjxVSVdLU2VsZWN0aW9uQXNzaXN0YW50PiBfd2ViU2VsZWN0aW9uQXNzaXN0YW50Owog
Ci0gICAgc3RkOjp1bmlxdWVfcHRyPEFwcGxpY2F0aW9uU3RhdGVUcmFja2VyPiBfYXBwbGljYXRp
b25TdGF0ZVRyYWNrZXI7Ci0KICAgICBVSUVkZ2VJbnNldHMgX2xhc3RVbm9ic2N1cmVkU2FmZUFy
ZWFJbnNldDsKICAgICBDR0Zsb2F0IF9sYXN0TGF5b3V0V2lkdGg7CiB9CiAKIC0gKGluc3RhbmNl
dHlwZSl3ZWJfaW5pdFdpdGhGcmFtZTooQ0dSZWN0KWZyYW1lIHdlYlZpZXc6KFdLV2ViVmlldyAq
KXdlYlZpZXcKIHsKLSAgICBpZiAoIShzZWxmID0gW3N1cGVyIGluaXRXaXRoRnJhbWU6ZnJhbWVd
KSkKKyAgICBpZiAoIShzZWxmID0gW3N1cGVyIGluaXRXaXRoRnJhbWU6ZnJhbWUgd2ViVmlldzp3
ZWJWaWV3XSkpCiAgICAgICAgIHJldHVybiBuaWw7CiAKICAgICBzZWxmLmJhY2tncm91bmRDb2xv
ciA9IFtVSUNvbG9yIGdyYXlDb2xvcl07CkBAIC04MTIsNTQgKzgwOSwxNyBAQCAtICh2b2lkKV9z
aG93UGFzc3dvcmRFbnRyeUZpZWxkCiAgICAgfV07CiB9CiAKLS0gKHZvaWQpd2lsbE1vdmVUb1dp
bmRvdzooVUlXaW5kb3cgKiluZXdXaW5kb3cKLXsKLSAgICBpZiAobmV3V2luZG93KQotICAgICAg
ICByZXR1cm47Ci0gICAgCi0gICAgQVNTRVJUKHNlbGYud2luZG93KTsKLSAgICBBU1NFUlQoX2Fw
cGxpY2F0aW9uU3RhdGVUcmFja2VyKTsKLSAgICBfYXBwbGljYXRpb25TdGF0ZVRyYWNrZXIgPSBu
dWxscHRyOwotfQotCi0tICh2b2lkKWRpZE1vdmVUb1dpbmRvdwotewotICAgIGlmICghc2VsZi53
aW5kb3cpCi0gICAgICAgIHJldHVybjsKLQotICAgIEFTU0VSVCghX2FwcGxpY2F0aW9uU3RhdGVU
cmFja2VyKTsKLSAgICBfYXBwbGljYXRpb25TdGF0ZVRyYWNrZXIgPSBzdGQ6Om1ha2VfdW5pcXVl
PEFwcGxpY2F0aW9uU3RhdGVUcmFja2VyPihzZWxmLCBAc2VsZWN0b3IoX2FwcGxpY2F0aW9uRGlk
RW50ZXJCYWNrZ3JvdW5kKSwgQHNlbGVjdG9yKF9hcHBsaWNhdGlvbkRpZENyZWF0ZVdpbmRvd0Nv
bnRleHQpLCBAc2VsZWN0b3IoX2FwcGxpY2F0aW9uRGlkRmluaXNoU25hcHNob3R0aW5nQWZ0ZXJF
bnRlcmluZ0JhY2tncm91bmQpLCBAc2VsZWN0b3IoX2FwcGxpY2F0aW9uV2lsbEVudGVyRm9yZWdy
b3VuZCkpOwotfQotCiAtIChCT09MKXdlYl9pc0JhY2tncm91bmQKIHsKLSAgICBpZiAoIV9hcHBs
aWNhdGlvblN0YXRlVHJhY2tlcikKLSAgICAgICAgcmV0dXJuIFlFUzsKLQotICAgIHJldHVybiBf
YXBwbGljYXRpb25TdGF0ZVRyYWNrZXItPmlzSW5CYWNrZ3JvdW5kKCk7Ci19Ci0KLS0gKHZvaWQp
X2FwcGxpY2F0aW9uRGlkRW50ZXJCYWNrZ3JvdW5kCi17Ci0gICAgX3dlYlZpZXctPl9wYWdlLT5h
cHBsaWNhdGlvbkRpZEVudGVyQmFja2dyb3VuZCgpOwotICAgIF93ZWJWaWV3LT5fcGFnZS0+YWN0
aXZpdHlTdGF0ZURpZENoYW5nZShBY3Rpdml0eVN0YXRlOjpBbGxGbGFncyAmIH5BY3Rpdml0eVN0
YXRlOjpJc0luV2luZG93KTsKLX0KLQotLSAodm9pZClfYXBwbGljYXRpb25EaWRDcmVhdGVXaW5k
b3dDb250ZXh0Ci17Ci19Ci0KLS0gKHZvaWQpX2FwcGxpY2F0aW9uRGlkRmluaXNoU25hcHNob3R0
aW5nQWZ0ZXJFbnRlcmluZ0JhY2tncm91bmQKLXsKLSAgICBfd2ViVmlldy0+X3BhZ2UtPmFwcGxp
Y2F0aW9uRGlkRmluaXNoU25hcHNob3R0aW5nQWZ0ZXJFbnRlcmluZ0JhY2tncm91bmQoKTsKKyAg
ICByZXR1cm4gW3NlbGYgaXNCYWNrZ3JvdW5kXTsKIH0KIAogLSAodm9pZClfYXBwbGljYXRpb25X
aWxsRW50ZXJGb3JlZ3JvdW5kCiB7Ci0gICAgX3dlYlZpZXctPl9wYWdlLT5hcHBsaWNhdGlvbldp
bGxFbnRlckZvcmVncm91bmQoKTsKKyAgICBbc3VwZXIgX2FwcGxpY2F0aW9uV2lsbEVudGVyRm9y
ZWdyb3VuZF07CisgICAgLy8gRklYTUU6IElzIGl0IHJlYWxseSBuZWNlc3NhcnkgdG8gaGlkZSB0
aGUgd2ViIGNvbnRlbnQgZHJhd2luZyBhcmVhIHdoZW4gYSBQREYgaXMgZGlzcGxheWVkPwogICAg
IGlmIChhdXRvIGRyYXdpbmdBcmVhID0gX3dlYlZpZXctPl9wYWdlLT5kcmF3aW5nQXJlYSgpKQog
ICAgICAgICBkcmF3aW5nQXJlYS0+aGlkZUNvbnRlbnRVbnRpbEFueVVwZGF0ZSgpOwotICAgIF93
ZWJWaWV3LT5fcGFnZS0+YWN0aXZpdHlTdGF0ZURpZENoYW5nZShBY3Rpdml0eVN0YXRlOjpBbGxG
bGFncyAmIH5BY3Rpdml0eVN0YXRlOjpJc0luV2luZG93LCB0cnVlLCBXZWJQYWdlUHJveHk6OkFj
dGl2aXR5U3RhdGVDaGFuZ2VEaXNwYXRjaE1vZGU6OkltbWVkaWF0ZSk7CiB9CiAKIEBlbmQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDg0
MDhjYmU0NGU2OGQ0MTZhYzY0YmYzOWVjZjg1NzllZGFjNGMxYjcuLmFjYWE0ZTlhMDVjYWZkMzY0
YTgxYjI2OTAzNjE2ZTQyNDEzZWVkNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTU1Nyw2ICsxNTU3LDggQEAKIAkJQTExOEE5RUYx
OTA3QUQ2RjAwRjdDOTJCIC8qIFF1aWNrTG9va0RvY3VtZW50RGF0YS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTExOEE5RUQxOTA3QUQ2RjAwRjdDOTJC
IC8qIFF1aWNrTG9va0RvY3VtZW50RGF0YS5oICovOyB9OwogCQlBMTE4QTlGMjE5MDhCOEVBMDBG
N0M5MkIgLyogX1dLTlNGaWxlTWFuYWdlckV4dHJhcy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExMThBOUYwMTkwOEI4RUEwMEY3QzkyQiAvKiBfV0tO
U0ZpbGVNYW5hZ2VyRXh0cmFzLm1tICovOyB9OwogCQlBMTE4QTlGMzE5MDhCOEVBMDBGN0M5MkIg
LyogX1dLTlNGaWxlTWFuYWdlckV4dHJhcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTExOEE5RjExOTA4QjhFQTAwRjdDOTJCIC8qIF9XS05TRmlsZU1h
bmFnZXJFeHRyYXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQlBMTNEQzY4MjIwN0FBNkIyMDA2NkVGNzIgLyogV0tBcHBsaWNhdGlvblN0YXRlVHJh
Y2tpbmdWaWV3LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBMTNEQzY4MDIwN0FBNkIyMDA2NkVGNzIgLyogV0tBcHBsaWNhdGlvblN0YXRlVHJhY2tpbmdW
aWV3LmggKi87IH07CisJCUExM0RDNjgzMjA3QUE2QjIwMDY2RUY3MiAvKiBXS0FwcGxpY2F0aW9u
U3RhdGVUcmFja2luZ1ZpZXcubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBMTNEQzY4MTIwN0FBNkIyMDA2NkVGNzIgLyogV0tBcHBsaWNhdGlvblN0YXRl
VHJhY2tpbmdWaWV3Lm1tICovOyB9OwogCQlBMTVFRURFNTFFMzAxQ0VFMDAwMDY5QjAgLyogV0tQ
YXNzd29yZFZpZXcubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBMTVFRURFMzFFMzAxQ0VFMDAwMDY5QjAgLyogV0tQYXNzd29yZFZpZXcubW0gKi87IH07
CiAJCUExNUVFREU2MUUzMDFDRUUwMDAwNjlCMCAvKiBXS1Bhc3N3b3JkVmlldy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE1RUVERTQxRTMwMUNFRTAw
MDA2OUIwIC8qIFdLUGFzc3dvcmRWaWV3LmggKi87IH07CiAJCUExODJENUI0MUJFNkJEMjUwMDg3
QTdDQyAvKiBBY2Nlc3NpYmlsaXR5SU9TLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTE4MkQ1QjIxQkU2QkQyNTAwODdBN0NDIC8qIEFjY2Vzc2liaWxp
dHlJT1MubW0gKi87IH07CkBAIC00MDQyLDYgKzQwNDQsOCBAQAogCQlBMTE4QTlFRDE5MDdBRDZG
MDBGN0M5MkIgLyogUXVpY2tMb29rRG9jdW1lbnREYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IFF1aWNrTG9va0RvY3VtZW50RGF0YS5oOyBwYXRoID0gaW9zL1F1aWNrTG9v
a0RvY3VtZW50RGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTE4QTlGMDE5
MDhCOEVBMDBGN0M5MkIgLyogX1dLTlNGaWxlTWFuYWdlckV4dHJhcy5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IF9XS05TRmlsZU1hbmFnZXJFeHRyYXMubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExMThBOUYxMTkwOEI4RUEwMEY3QzkyQiAvKiBf
V0tOU0ZpbGVNYW5hZ2VyRXh0cmFzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IF9XS05TRmlsZU1hbmFnZXJFeHRyYXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QTEzREM2ODAyMDdBQTZCMjAwNjZFRjcyIC8qIFdLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmll
dy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IG5hbWUgPSBXS0FwcGxpY2F0aW9uU3RhdGVUcmFja2luZ1ZpZXcuaDsgcGF0
aCA9IGlvcy9XS0FwcGxpY2F0aW9uU3RhdGVUcmFja2luZ1ZpZXcuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQTEzREM2ODEyMDdBQTZCMjAwNjZFRjcyIC8qIFdLQXBwbGljYXRpb25T
dGF0ZVRyYWNraW5nVmlldy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFdLQXBwbGljYXRpb25T
dGF0ZVRyYWNraW5nVmlldy5tbTsgcGF0aCA9IGlvcy9XS0FwcGxpY2F0aW9uU3RhdGVUcmFja2lu
Z1ZpZXcubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExNUVFREUzMUUzMDFDRUUw
MDAwNjlCMCAvKiBXS1Bhc3N3b3JkVmlldy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgbmFtZSA9IFdLUGFzc3dvcmRWaWV3Lm1tOyBwYXRoID0gaW9zL1dLUGFzc3dvcmRWaWV3
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTVFRURFNDFFMzAxQ0VFMDAwMDY5
QjAgLyogV0tQYXNzd29yZFZpZXcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
V0tQYXNzd29yZFZpZXcuaDsgcGF0aCA9IGlvcy9XS1Bhc3N3b3JkVmlldy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlBMTgyRDVCMjFCRTZCRDI1MDA4N0E3Q0MgLyogQWNjZXNzaWJp
bGl0eUlPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFjY2Vz
c2liaWxpdHlJT1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01ODEzLDYgKzU4
MTcsOCBAQAogCQkJCTBGQ0I0RTM5MThCQkUwNDQwMDBGQ0ZDOSAvKiBXS0FjdGlvblNoZWV0Lm1t
ICovLAogCQkJCTBGQ0I0RTNBMThCQkUwNDQwMDBGQ0ZDOSAvKiBXS0FjdGlvblNoZWV0QXNzaXN0
YW50LmggKi8sCiAJCQkJMEZDQjRFM0IxOEJCRTA0NDAwMEZDRkM5IC8qIFdLQWN0aW9uU2hlZXRB
c3Npc3RhbnQubW0gKi8sCisJCQkJQTEzREM2ODAyMDdBQTZCMjAwNjZFRjcyIC8qIFdLQXBwbGlj
YXRpb25TdGF0ZVRyYWNraW5nVmlldy5oICovLAorCQkJCUExM0RDNjgxMjA3QUE2QjIwMDY2RUY3
MiAvKiBXS0FwcGxpY2F0aW9uU3RhdGVUcmFja2luZ1ZpZXcubW0gKi8sCiAJCQkJMEZDQjRFM0Mx
OEJCRTA0NDAwMEZDRkM5IC8qIFdLQ29udGVudFZpZXcuaCAqLywKIAkJCQkwRkNCNEUzRDE4QkJF
MDQ0MDAwRkNGQzkgLyogV0tDb250ZW50Vmlldy5tbSAqLywKIAkJCQkwRkNCNEU2QTE4QkJGMjZB
MDAwRkNGQzkgLyogV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmggKi8sCkBAIC05NDEyLDYgKzk0
MTgsNyBAQAogCQkJCTJEMTJEQUI1MjA2NjJDNzMwMDZGMDBGQiAvKiBXS0FuaW1hdGlvbkRlbGVn
YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0REQjMyRDEyNEVDMkUxMDA0OEQxM0MgLyogV0tB
UElDYXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTJFMzRFNTEzMEI0RDA1MDBBQkQxOUEgLyog
V0tBcHBsaWNhdGlvbkNhY2hlTWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTEzREM2ODIy
MDdBQTZCMjAwNjZFRjcyIC8qIFdLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmlldy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQkM0MDc1RjQxMjRGRjAyNzAwNjhGMjBBIC8qIFdLQXJyYXkuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTUxMkY1OEY2MTJBODhBNTQwMDYyOTUzMCAvKiBXS0F1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTJGNThGODEyQTg4QTU0MDA2Mjk1
MzAgLyogV0tBdXRoZW50aWNhdGlvbkRlY2lzaW9uTGlzdGVuZXIuaCBpbiBIZWFkZXJzICovLApA
QCAtMTExODgsNiArMTExOTUsNyBAQAogCQkJCTBGQ0I0RTRCMThCQkUwNDQwMDBGQ0ZDOSAvKiBX
S0FjdGlvblNoZWV0QXNzaXN0YW50Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQzVGQTFFRDQxOEUx
MDYyMjAwQjNGNDAyIC8qIFdLQWlyUGxheVJvdXRlUGlja2VyLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNTEyRTM0RTQxMzBCNEQwNTAwQUJEMTlBIC8qIFdLQXBwbGljYXRpb25DYWNoZU1hbmFnZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTEzREM2ODMyMDdBQTZCMjAwNjZFRjcyIC8qIFdLQXBw
bGljYXRpb25TdGF0ZVRyYWNraW5nVmlldy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDNDA3NUYz
MTI0RkYwMjcwMDY4RjIwQSAvKiBXS0FycmF5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxMkY1
OEY1MTJBODhBNTQwMDYyOTUzMCAvKiBXS0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTUxMkY1OEY3MTJBODhBNTQwMDYyOTUzMCAvKiBXS0F1dGhlbnRpY2F0
aW9uRGVjaXNpb25MaXN0ZW5lci5jcHAgaW4gU291cmNlcyAqLywK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>337471</attachid>
            <date>2018-04-08 17:53:14 -0700</date>
            <delta_ts>2018-04-08 18:45:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184402-20180408175313.patch</filename>
            <type>text/plain</type>
            <size>23195</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwMzU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGZlYjVjNmZmYzNkNWY3ZDFj
ZjJiNDViMjY0ODAyMDllZjQ0NDQxMDAuLjNlN2UzY2FkZjU1NmFmNzExNTgyOGJhOTE4MWFjYTU0
M2M0YWRjOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTYgQEAKKzIwMTgtMDQtMDggIEFuZHkgRXN0
ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFdLQ29udGVudFZpZXcgYW5k
IFdLTGVnYWN5UERGVmlldyBzaG91bGQgc2hhcmUgYXBwbGljYXRpb24gc3RhdGUgdHJhY2tpbmcg
bG9naWMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4
NDQwMgorCisgICAgICAgIFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCisKKyAgICAgICAgV0tD
b250ZW50VmlldyBhbmQgV0tMZWdhY3lQREZWaWV3IGhhdmUgbmVhcmx5IGlkZW50aWNhbCBsb2dp
YyBmb3IgdHJhY2tpbmcKKyAgICAgICAgYXBwbGljYXRpb24gZm9yZWdyb3VuZCBzdGF0ZS4gTGV0
J3Mgc2hhcmUgaXQgc28gd2UgY2FuIG1vcmUgZWFzaWx5IGNyZWF0ZSBuZXcKKyAgICAgICAgY29u
dGVudCB2aWV3cyB3aXRoIHByb3BlciBhcHBsaWNhdGlvbiBzdGF0ZSB0cmFja2luZy4KKworICAg
ICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tBcHBsaWNhdGlvblN0YXRlVHJhY2tpbmdWaWV3Lmg6IEFk
ZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tBcHBsaWNhdGlvblN0YXRlVHJhY2tpbmdW
aWV3Lm1tOiBBZGRlZC4KKyAgICAgICAgKC1bV0tBcHBsaWNhdGlvblN0YXRlVHJhY2tpbmdWaWV3
IGluaXRXaXRoRnJhbWU6d2ViVmlldzpdKToKKyAgICAgICAgKC1bV0tBcHBsaWNhdGlvblN0YXRl
VHJhY2tpbmdWaWV3IHdpbGxNb3ZlVG9XaW5kb3c6XSk6CisgICAgICAgICgtW1dLQXBwbGljYXRp
b25TdGF0ZVRyYWNraW5nVmlldyBkaWRNb3ZlVG9XaW5kb3ddKToKKyAgICAgICAgKC1bV0tBcHBs
aWNhdGlvblN0YXRlVHJhY2tpbmdWaWV3IF9hcHBsaWNhdGlvbkRpZEVudGVyQmFja2dyb3VuZF0p
OgorICAgICAgICAoLVtXS0FwcGxpY2F0aW9uU3RhdGVUcmFja2luZ1ZpZXcgX2FwcGxpY2F0aW9u
RGlkQ3JlYXRlV2luZG93Q29udGV4dF0pOgorICAgICAgICAoLVtXS0FwcGxpY2F0aW9uU3RhdGVU
cmFja2luZ1ZpZXcgX2FwcGxpY2F0aW9uRGlkRmluaXNoU25hcHNob3R0aW5nQWZ0ZXJFbnRlcmlu
Z0JhY2tncm91bmRdKToKKyAgICAgICAgKC1bV0tBcHBsaWNhdGlvblN0YXRlVHJhY2tpbmdWaWV3
IF9hcHBsaWNhdGlvbldpbGxFbnRlckZvcmVncm91bmRdKToKKyAgICAgICAgKC1bV0tBcHBsaWNh
dGlvblN0YXRlVHJhY2tpbmdWaWV3IGlzQmFja2dyb3VuZF0pOgorCisgICAgICAgIE1vdmVkIGNv
bW1vbiBsb2dpYyBmcm9tIFdLQ29udGVudFZpZXcgYW5kIFdLTGVnYWN5UERGVmlldyBpbnRvCisg
ICAgICAgIFdLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmlldy4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9pb3MvV0tDb250ZW50Vmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250
ZW50Vmlldy5tbToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBpbml0V2l0aEZyYW1lOnByb2Nl
c3NQb29sOmNvbmZpZ3VyYXRpb246d2ViVmlldzpdKToKKyAgICAgICAgKC1bV0tDb250ZW50Vmll
dyB3aWxsTW92ZVRvV2luZG93Ol0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9hcHBsaWNh
dGlvbkRpZENyZWF0ZVdpbmRvd0NvbnRleHRdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBk
aWRNb3ZlVG9XaW5kb3ddKTogRGVsZXRlZC4KKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBpc0Jh
Y2tncm91bmRdKTogRGVsZXRlZC4KKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfYXBwbGljYXRp
b25EaWRFbnRlckJhY2tncm91bmRdKTogRGVsZXRlZC4KKyAgICAgICAgKC1bV0tDb250ZW50Vmll
dyBfYXBwbGljYXRpb25EaWRGaW5pc2hTbmFwc2hvdHRpbmdBZnRlckVudGVyaW5nQmFja2dyb3Vu
ZF0pOiBEZWxldGVkLgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9hcHBsaWNhdGlvbldpbGxF
bnRlckZvcmVncm91bmRdKTogRGVsZXRlZC4KKworICAgICAgICBNYWRlIFdLQ29udGVudFZpZXcg
YSBzdWJjbGFzcyBvZiBXS0FwcGxpY2F0aW9uU3RhdGVUcmFja2luZ1ZpZXcuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvaW9zL1dLTGVnYWN5UERGVmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9p
b3MvV0tMZWdhY3lQREZWaWV3Lm1tOgorICAgICAgICAoLVtXS0xlZ2FjeVBERlZpZXcgd2ViX2lu
aXRXaXRoRnJhbWU6d2ViVmlldzpdKToKKyAgICAgICAgKC1bV0tMZWdhY3lQREZWaWV3IHdlYl9p
c0JhY2tncm91bmRdKToKKyAgICAgICAgKC1bV0tMZWdhY3lQREZWaWV3IF9hcHBsaWNhdGlvbldp
bGxFbnRlckZvcmVncm91bmRdKToKKyAgICAgICAgKC1bV0tMZWdhY3lQREZWaWV3IHdpbGxNb3Zl
VG9XaW5kb3c6XSk6IERlbGV0ZWQuCisgICAgICAgICgtW1dLTGVnYWN5UERGVmlldyBkaWRNb3Zl
VG9XaW5kb3ddKTogRGVsZXRlZC4KKyAgICAgICAgKC1bV0tMZWdhY3lQREZWaWV3IF9hcHBsaWNh
dGlvbkRpZEVudGVyQmFja2dyb3VuZF0pOiBEZWxldGVkLgorICAgICAgICAoLVtXS0xlZ2FjeVBE
RlZpZXcgX2FwcGxpY2F0aW9uRGlkQ3JlYXRlV2luZG93Q29udGV4dF0pOiBEZWxldGVkLgorICAg
ICAgICAoLVtXS0xlZ2FjeVBERlZpZXcgX2FwcGxpY2F0aW9uRGlkRmluaXNoU25hcHNob3R0aW5n
QWZ0ZXJFbnRlcmluZ0JhY2tncm91bmRdKTogRGVsZXRlZC4KKworICAgICAgICBNYWRlIFdLTGVn
YWN5UERGVmlldyBhIHN1YmNsYXNzIG9mIFdLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmlldy4K
KworICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDE4LTA0
LTA1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNT
SU9OIChyMjMwMjIzKTogTGF5b3V0VGVzdCBodHRwL3Rlc3RzL2NvbnRlbnRleHRlbnNpb25zL2Nz
cy1kaXNwbGF5LW5vbmUtb3ZlcmZsb3dzLXJ1bGUtZGF0YS0xLmh0bWwgaXMgY3Jhc2hpbmcKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0FwcGxpY2F0aW9uU3RhdGVU
cmFja2luZ1ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0FwcGxpY2F0aW9u
U3RhdGVUcmFja2luZ1ZpZXcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NjQxMThiNGUxYTc4NjBjYWU5MDliNmUz
MDhjZDBkNGIyNDUzMGQwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1dLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmlldy5oCkBAIC0wLDAgKzEsNDEgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWYgUExBVEZPUk0oSU9TKQorCisjaW1wb3J0IDxVSUtpdC9VSUtpdC5o
PgorCitAY2xhc3MgV0tXZWJWaWV3OworCitAaW50ZXJmYWNlIFdLQXBwbGljYXRpb25TdGF0ZVRy
YWNraW5nVmlldyA6IFVJVmlldworCistIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhGcmFtZTooQ0dS
ZWN0KWZyYW1lIHdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXc7CistICh2b2lkKV9hcHBsaWNh
dGlvbkRpZENyZWF0ZVdpbmRvd0NvbnRleHQ7CistICh2b2lkKV9hcHBsaWNhdGlvbldpbGxFbnRl
ckZvcmVncm91bmQ7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIEJPT0wgaXNCYWNr
Z3JvdW5kOworCitAZW5kCisKKyNlbmRpZiAvLyBQTEFURk9STShJT1MpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tBcHBsaWNhdGlvblN0YXRlVHJhY2tpbmdWaWV3
Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQXBwbGljYXRpb25TdGF0ZVRyYWNr
aW5nVmlldy5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMDRiMjU4ZDI4YWVkZGNlNmU5MzBmM2VkYzQ4MDc1NTMx
ZGNlODg3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dL
QXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmlldy5tbQpAQCAtMCwwICsxLDEwNiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiV0tBcHBsaWNhdGlvblN0YXRlVHJh
Y2tpbmdWaWV3LmgiCisKKyNpZiBQTEFURk9STShJT1MpCisKKyNpbXBvcnQgIkFwcGxpY2F0aW9u
U3RhdGVUcmFja2VyLmgiCisjaW1wb3J0ICJXS1dlYlZpZXdJbnRlcm5hbC5oIgorI2ltcG9ydCAi
V2Vha09iakNQdHIuaCIKKyNpbXBvcnQgIldlYlBhZ2VQcm94eS5oIgorI2ltcG9ydCA8d3RmL1Jl
dGFpblB0ci5oPgorCitAaW1wbGVtZW50YXRpb24gV0tBcHBsaWNhdGlvblN0YXRlVHJhY2tpbmdW
aWV3IHsKKyAgICBXZWJLaXQ6OldlYWtPYmpDUHRyPFdLV2ViVmlldz4gX3dlYlZpZXc7CisgICAg
c3RkOjp1bmlxdWVfcHRyPFdlYktpdDo6QXBwbGljYXRpb25TdGF0ZVRyYWNrZXI+IF9hcHBsaWNh
dGlvblN0YXRlVHJhY2tlcjsKK30KKworLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoRnJhbWU6KENH
UmVjdClmcmFtZSB3ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3Cit7CisgICAgaWYgKCEoc2Vs
ZiA9IFtzdXBlciBpbml0V2l0aEZyYW1lOmZyYW1lXSkpCisgICAgICAgIHJldHVybiBuaWw7CisK
KyAgICBfd2ViVmlldyA9IHdlYlZpZXc7CisgICAgcmV0dXJuIHNlbGY7Cit9CisKKy0gKHZvaWQp
d2lsbE1vdmVUb1dpbmRvdzooVUlXaW5kb3cgKiluZXdXaW5kb3cKK3sKKyAgICBpZiAoIXNlbGYu
d2luZG93IHx8IG5ld1dpbmRvdykKKyAgICAgICAgcmV0dXJuOworCisgICAgQVNTRVJUKF9hcHBs
aWNhdGlvblN0YXRlVHJhY2tlcik7CisgICAgX2FwcGxpY2F0aW9uU3RhdGVUcmFja2VyID0gbnVs
bHB0cjsKK30KKworLSAodm9pZClkaWRNb3ZlVG9XaW5kb3cKK3sKKyAgICBpZiAoIXNlbGYud2lu
ZG93KQorICAgICAgICByZXR1cm47CisKKyAgICBBU1NFUlQoIV9hcHBsaWNhdGlvblN0YXRlVHJh
Y2tlcik7CisgICAgX2FwcGxpY2F0aW9uU3RhdGVUcmFja2VyID0gc3RkOjptYWtlX3VuaXF1ZTxX
ZWJLaXQ6OkFwcGxpY2F0aW9uU3RhdGVUcmFja2VyPihzZWxmLCBAc2VsZWN0b3IoX2FwcGxpY2F0
aW9uRGlkRW50ZXJCYWNrZ3JvdW5kKSwgQHNlbGVjdG9yKF9hcHBsaWNhdGlvbkRpZENyZWF0ZVdp
bmRvd0NvbnRleHQpLCBAc2VsZWN0b3IoX2FwcGxpY2F0aW9uRGlkRmluaXNoU25hcHNob3R0aW5n
QWZ0ZXJFbnRlcmluZ0JhY2tncm91bmQpLCBAc2VsZWN0b3IoX2FwcGxpY2F0aW9uV2lsbEVudGVy
Rm9yZWdyb3VuZCkpOworfQorCistICh2b2lkKV9hcHBsaWNhdGlvbkRpZEVudGVyQmFja2dyb3Vu
ZAoreworICAgIGF1dG8gcGFnZSA9IFtfd2ViVmlldyBfcGFnZV07CisgICAgaWYgKCFwYWdlKQor
ICAgICAgICByZXR1cm47CisKKyAgICBwYWdlLT5hcHBsaWNhdGlvbkRpZEVudGVyQmFja2dyb3Vu
ZCgpOworICAgIHBhZ2UtPmFjdGl2aXR5U3RhdGVEaWRDaGFuZ2UoV2ViQ29yZTo6QWN0aXZpdHlT
dGF0ZTo6QWxsRmxhZ3MgJiB+V2ViQ29yZTo6QWN0aXZpdHlTdGF0ZTo6SXNJbldpbmRvdyk7Cit9
CisKKy0gKHZvaWQpX2FwcGxpY2F0aW9uRGlkQ3JlYXRlV2luZG93Q29udGV4dAoreworfQorCist
ICh2b2lkKV9hcHBsaWNhdGlvbkRpZEZpbmlzaFNuYXBzaG90dGluZ0FmdGVyRW50ZXJpbmdCYWNr
Z3JvdW5kCit7CisgICAgaWYgKGF1dG8gcGFnZSA9IFtfd2ViVmlldyBfcGFnZV0pCisgICAgICAg
IHBhZ2UtPmFwcGxpY2F0aW9uRGlkRmluaXNoU25hcHNob3R0aW5nQWZ0ZXJFbnRlcmluZ0JhY2tn
cm91bmQoKTsKK30KKworLSAodm9pZClfYXBwbGljYXRpb25XaWxsRW50ZXJGb3JlZ3JvdW5kCit7
CisgICAgYXV0byBwYWdlID0gW193ZWJWaWV3IF9wYWdlXTsKKyAgICBpZiAoIXBhZ2UpCisgICAg
ICAgIHJldHVybjsKKworICAgIHBhZ2UtPmFwcGxpY2F0aW9uV2lsbEVudGVyRm9yZWdyb3VuZCgp
OworICAgIHBhZ2UtPmFjdGl2aXR5U3RhdGVEaWRDaGFuZ2UoV2ViQ29yZTo6QWN0aXZpdHlTdGF0
ZTo6QWxsRmxhZ3MgJiB+V2ViQ29yZTo6QWN0aXZpdHlTdGF0ZTo6SXNJbldpbmRvdywgdHJ1ZSwg
V2ViS2l0OjpXZWJQYWdlUHJveHk6OkFjdGl2aXR5U3RhdGVDaGFuZ2VEaXNwYXRjaE1vZGU6Oklt
bWVkaWF0ZSk7Cit9CisKKy0gKEJPT0wpaXNCYWNrZ3JvdW5kCit7CisgICAgcmV0dXJuIF9hcHBs
aWNhdGlvblN0YXRlVHJhY2tlciA/IF9hcHBsaWNhdGlvblN0YXRlVHJhY2tlci0+aXNJbkJhY2tn
cm91bmQoKSA6IFlFUzsKK30KKworQGVuZAorCisjZW5kaWYgLy8gUExBVEZPUk0oSU9TKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3LmgKaW5kZXggN2U2MTI0NTUy
N2EwYjNmYzhiMmJmNmZiMTQ4MjQ2MjY0MDcyOWRmMC4uNGM4MDRjYzA3ZjNkMmVjMjE0YTg3MDU5
ZWE5NGEyZjQ5YjU2NWNhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250
ZW50Vmlldy5oCkBAIC0yMywxMSArMjMsMTEgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KICAqLwogCisjaW1wb3J0ICJXS0FwcGxpY2F0aW9uU3RhdGVUcmFja2luZ1ZpZXcu
aCIKICNpbXBvcnQgIldLQmFzZS5oIgogI2ltcG9ydCAiV0tCcm93c2luZ0NvbnRleHRDb250cm9s
bGVyLmgiCiAjaW1wb3J0ICJXS0Jyb3dzaW5nQ29udGV4dEdyb3VwLmgiCiAjaW1wb3J0ICJXS1By
b2Nlc3NHcm91cC5oIgotI2ltcG9ydCA8VUlLaXQvVUlLaXQuaD4KICNpbXBvcnQgPHd0Zi9SZXRh
aW5QdHIuaD4KIAogQGNsYXNzIFdLQ29udGVudFZpZXc7CkBAIC00OSw3ICs0OSw3IEBAIGNsYXNz
IFdlYlBhZ2VQcm94eTsKIGNsYXNzIFdlYlByb2Nlc3NQb29sOwogfQogCi1AaW50ZXJmYWNlIFdL
Q29udGVudFZpZXcgOiBVSVZpZXcgeworQGludGVyZmFjZSBXS0NvbnRlbnRWaWV3IDogV0tBcHBs
aWNhdGlvblN0YXRlVHJhY2tpbmdWaWV3IHsKIEBwYWNrYWdlCiAgICAgUmVmUHRyPFdlYktpdDo6
V2ViUGFnZVByb3h5PiBfcGFnZTsKICAgICBXS1dlYlZpZXcgKl93ZWJWaWV3OwpAQCAtNjAsNyAr
NjAsNiBAQCBjbGFzcyBXZWJQcm9jZXNzUG9vbDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFk
b25seSkgV2ViS2l0OjpXZWJQYWdlUHJveHkqIHBhZ2U7CiBAcHJvcGVydHkgKG5vbmF0b21pYywg
cmVhZG9ubHkpIEJPT0wgaXNBc3Npc3RpbmdOb2RlOwogQHByb3BlcnR5IChub25hdG9taWMsIGdl
dHRlcj1pc1Nob3dpbmdJbnNwZWN0b3JJbmRpY2F0aW9uKSBCT09MIHNob3dpbmdJbnNwZWN0b3JJ
bmRpY2F0aW9uOwotQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBCT09MIGlzQmFja2dy
b3VuZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSwgZ2V0dGVyPWlzUmVzaWduaW5n
Rmlyc3RSZXNwb25kZXIpIEJPT0wgcmVzaWduaW5nRmlyc3RSZXNwb25kZXI7CiBAcHJvcGVydHkg
KG5vbmF0b21pYykgQk9PTCBzaXplQ2hhbmdlZFNpbmNlTGFzdFZpc2libGVDb250ZW50UmVjdFVw
ZGF0ZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbQpp
bmRleCA1NmUzZTY0OTY5ZWUzMjFhMWE3ZWM5MjdlM2Y0NzI4NWQwYzI2YzYxLi5lOTFlYjliMzBi
ZmMyYjY0N2QwODQ2YmViZGYzMTkzMzNiNTc2N2MwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbQpAQCAtMzAsNyArMzAsNiBAQAogCiAjaW1wb3J0ICJB
UElQYWdlQ29uZmlndXJhdGlvbi5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eUlPUy5oIgotI2lt
cG9ydCAiQXBwbGljYXRpb25TdGF0ZVRyYWNrZXIuaCIKICNpbXBvcnQgIkZ1bGxzY3JlZW5DbGll
bnQuaCIKICNpbXBvcnQgIklucHV0Vmlld1VwZGF0ZURlZmVycmVyLmgiCiAjaW1wb3J0ICJMb2dn
aW5nLmgiCkBAIC0xODQsOCArMTgzLDYgQEAgQGltcGxlbWVudGF0aW9uIFdLQ29udGVudFZpZXcg
ewogCiAgICAgUmV0YWluUHRyPE5TVW5kb01hbmFnZXI+IF91bmRvTWFuYWdlcjsKIAotICAgIHN0
ZDo6dW5pcXVlX3B0cjxBcHBsaWNhdGlvblN0YXRlVHJhY2tlcj4gX2FwcGxpY2F0aW9uU3RhdGVU
cmFja2VyOwotCiAgICAgQk9PTCBfaXNQcmludGluZ1RvUERGOwogICAgIFJldGFpblB0cjxDR1BE
RkRvY3VtZW50UmVmPiBfcHJpbnRlZERvY3VtZW50OwogfQpAQCAtMjMyLDcgKzIyOSw3IEBAIC0g
KGluc3RhbmNldHlwZSlfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoUHJvY2Vzc1Bvb2w6KFdlYktp
dDo6V2ViUHJvY2Vzc1Bvb2wmKXByCiAKIC0gKGluc3RhbmNldHlwZSlpbml0V2l0aEZyYW1lOihD
R1JlY3QpZnJhbWUgcHJvY2Vzc1Bvb2w6KFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2wmKXByb2Nlc3NQ
b29sIGNvbmZpZ3VyYXRpb246KFJlZjxBUEk6OlBhZ2VDb25maWd1cmF0aW9uPiYmKWNvbmZpZ3Vy
YXRpb24gd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldwogewotICAgIGlmICghKHNlbGYgPSBb
c3VwZXIgaW5pdFdpdGhGcmFtZTpmcmFtZV0pKQorICAgIGlmICghKHNlbGYgPSBbc3VwZXIgaW5p
dFdpdGhGcmFtZTpmcmFtZSB3ZWJWaWV3OndlYlZpZXddKSkKICAgICAgICAgcmV0dXJuIG5pbDsK
IAogICAgIEluaXRpYWxpemVXZWJLaXQyKCk7CkBAIC0yNjMsMTggKzI2MCwxNCBAQCAtIChXZWJQ
YWdlUHJveHkqKXBhZ2UKIAogLSAodm9pZCl3aWxsTW92ZVRvV2luZG93OihVSVdpbmRvdyAqKW5l
d1dpbmRvdwogeworICAgIFtzdXBlciB3aWxsTW92ZVRvV2luZG93Om5ld1dpbmRvd107CisKICAg
ICBOU05vdGlmaWNhdGlvbkNlbnRlciAqZGVmYXVsdENlbnRlciA9IFtOU05vdGlmaWNhdGlvbkNl
bnRlciBkZWZhdWx0Q2VudGVyXTsKICAgICBVSVdpbmRvdyAqd2luZG93ID0gc2VsZi53aW5kb3c7
CiAKLSAgICBpZiAod2luZG93KSB7CisgICAgaWYgKHdpbmRvdykKICAgICAgICAgW2RlZmF1bHRD
ZW50ZXIgcmVtb3ZlT2JzZXJ2ZXI6c2VsZiBuYW1lOlVJV2luZG93RGlkTW92ZVRvU2NyZWVuTm90
aWZpY2F0aW9uIG9iamVjdDp3aW5kb3ddOwogCi0gICAgICAgIGlmICghbmV3V2luZG93KSB7Ci0g
ICAgICAgICAgICBBU1NFUlQoX2FwcGxpY2F0aW9uU3RhdGVUcmFja2VyKTsKLSAgICAgICAgICAg
IF9hcHBsaWNhdGlvblN0YXRlVHJhY2tlciA9IG51bGxwdHI7Ci0gICAgICAgIH0KLSAgICB9Ci0K
ICAgICBpZiAobmV3V2luZG93KSB7CiAgICAgICAgIFtkZWZhdWx0Q2VudGVyIGFkZE9ic2VydmVy
OnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF93aW5kb3dEaWRNb3ZlVG9TY3JlZW5Ob3RpZmljYXRp
b246KSBuYW1lOlVJV2luZG93RGlkTW92ZVRvU2NyZWVuTm90aWZpY2F0aW9uIG9iamVjdDpuZXdX
aW5kb3ddOwogCkBAIC0yODIsMTUgKzI3NSw2IEBAIC0gKHZvaWQpd2lsbE1vdmVUb1dpbmRvdzoo
VUlXaW5kb3cgKiluZXdXaW5kb3cKICAgICB9CiB9CiAKLS0gKHZvaWQpZGlkTW92ZVRvV2luZG93
Ci17Ci0gICAgaWYgKCFzZWxmLndpbmRvdykKLSAgICAgICAgcmV0dXJuOwotCi0gICAgQVNTRVJU
KCFfYXBwbGljYXRpb25TdGF0ZVRyYWNrZXIpOwotICAgIF9hcHBsaWNhdGlvblN0YXRlVHJhY2tl
ciA9IHN0ZDo6bWFrZV91bmlxdWU8QXBwbGljYXRpb25TdGF0ZVRyYWNrZXI+KHNlbGYsIEBzZWxl
Y3RvcihfYXBwbGljYXRpb25EaWRFbnRlckJhY2tncm91bmQpLCBAc2VsZWN0b3IoX2FwcGxpY2F0
aW9uRGlkQ3JlYXRlV2luZG93Q29udGV4dCksIEBzZWxlY3RvcihfYXBwbGljYXRpb25EaWRGaW5p
c2hTbmFwc2hvdHRpbmdBZnRlckVudGVyaW5nQmFja2dyb3VuZCksIEBzZWxlY3RvcihfYXBwbGlj
YXRpb25XaWxsRW50ZXJGb3JlZ3JvdW5kKSk7Ci19Ci0KIC0gKFdLQnJvd3NpbmdDb250ZXh0Q29u
dHJvbGxlciAqKWJyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIKIHsKICAgICBpZiAoIV9icm93c2lu
Z0NvbnRleHRDb250cm9sbGVyKQpAQCAtMzA5LDE0ICsyOTMsNiBAQCAtIChCT09MKWlzQXNzaXN0
aW5nTm9kZQogICAgIHJldHVybiBbc2VsZiBpc0VkaXRhYmxlXTsKIH0KIAotLSAoQk9PTClpc0Jh
Y2tncm91bmQKLXsKLSAgICBpZiAoIV9hcHBsaWNhdGlvblN0YXRlVHJhY2tlcikKLSAgICAgICAg
cmV0dXJuIFlFUzsKLQotICAgIHJldHVybiBfYXBwbGljYXRpb25TdGF0ZVRyYWNrZXItPmlzSW5C
YWNrZ3JvdW5kKCk7Ci19Ci0KIC0gKHZvaWQpX3Nob3dJbnNwZWN0b3JIaWdobGlnaHQ6KGNvbnN0
IFdlYkNvcmU6OkhpZ2hsaWdodCYpaGlnaGxpZ2h0CiB7CiAgICAgaWYgKCFfaW5zcGVjdG9ySGln
aGxpZ2h0VmlldykgewpAQCAtNjQ0LDI5ICs2MjAsMTMgQEAgLSAodm9pZClfYXBwbGljYXRpb25X
aWxsUmVzaWduQWN0aXZlOihOU05vdGlmaWNhdGlvbiopbm90aWZpY2F0aW9uCiAgICAgX3BhZ2Ut
PmFwcGxpY2F0aW9uV2lsbFJlc2lnbkFjdGl2ZSgpOwogfQogCi0tICh2b2lkKV9hcHBsaWNhdGlv
bkRpZEVudGVyQmFja2dyb3VuZAotewotICAgIF9wYWdlLT5hcHBsaWNhdGlvbkRpZEVudGVyQmFj
a2dyb3VuZCgpOwotICAgIF9wYWdlLT5hY3Rpdml0eVN0YXRlRGlkQ2hhbmdlKEFjdGl2aXR5U3Rh
dGU6OkFsbEZsYWdzICYgfkFjdGl2aXR5U3RhdGU6OklzSW5XaW5kb3cpOwotfQotCiAtICh2b2lk
KV9hcHBsaWNhdGlvbkRpZENyZWF0ZVdpbmRvd0NvbnRleHQKIHsKKyAgICBbc3VwZXIgX2FwcGxp
Y2F0aW9uRGlkQ3JlYXRlV2luZG93Q29udGV4dF07CiAgICAgaWYgKGF1dG8gZHJhd2luZ0FyZWEg
PSBfcGFnZS0+ZHJhd2luZ0FyZWEoKSkKICAgICAgICAgZHJhd2luZ0FyZWEtPmhpZGVDb250ZW50
VW50aWxBbnlVcGRhdGUoKTsKIH0KIAotLSAodm9pZClfYXBwbGljYXRpb25EaWRGaW5pc2hTbmFw
c2hvdHRpbmdBZnRlckVudGVyaW5nQmFja2dyb3VuZAotewotICAgIF9wYWdlLT5hcHBsaWNhdGlv
bkRpZEZpbmlzaFNuYXBzaG90dGluZ0FmdGVyRW50ZXJpbmdCYWNrZ3JvdW5kKCk7Ci19Ci0KLS0g
KHZvaWQpX2FwcGxpY2F0aW9uV2lsbEVudGVyRm9yZWdyb3VuZAotewotICAgIF9wYWdlLT5hcHBs
aWNhdGlvbldpbGxFbnRlckZvcmVncm91bmQoKTsKLSAgICBfcGFnZS0+YWN0aXZpdHlTdGF0ZURp
ZENoYW5nZShBY3Rpdml0eVN0YXRlOjpBbGxGbGFncyAmIH5BY3Rpdml0eVN0YXRlOjpJc0luV2lu
ZG93LCB0cnVlLCBXZWJQYWdlUHJveHk6OkFjdGl2aXR5U3RhdGVDaGFuZ2VEaXNwYXRjaE1vZGU6
OkltbWVkaWF0ZSk7Ci19Ci0KIC0gKHZvaWQpX2FwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZlOihO
U05vdGlmaWNhdGlvbiopbm90aWZpY2F0aW9uCiB7CiAgICAgX3BhZ2UtPmFwcGxpY2F0aW9uRGlk
QmVjb21lQWN0aXZlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
V0tMZWdhY3lQREZWaWV3LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tMZWdhY3lQ
REZWaWV3LmgKaW5kZXggZGIyMzlmMmI5OTQ0YmYyZWIxYjdiMjE5NzdkY2IzZWEzNDlkOGVlNC4u
MzdhYTAyNTk2ZmI0YmYxMDcwMTU2N2NiNWU3M2FkZmJkOTgzOWFlYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLTGVnYWN5UERGVmlldy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0xlZ2FjeVBERlZpZXcuaApAQCAtMjcsOSArMjcsMTAgQEAK
IAogI2ltcG9ydCAiQ29yZVBERlNQSS5oIgogI2ltcG9ydCAiV0tBY3Rpb25TaGVldEFzc2lzdGFu
dC5oIgorI2ltcG9ydCAiV0tBcHBsaWNhdGlvblN0YXRlVHJhY2tpbmdWaWV3LmgiCiAjaW1wb3J0
ICJXS1dlYlZpZXdDb250ZW50UHJvdmlkZXIuaCIKIAotQGludGVyZmFjZSBXS0xlZ2FjeVBERlZp
ZXcgOiBVSVZpZXcgPFdLV2ViVmlld0NvbnRlbnRQcm92aWRlciwgVUlQREZQYWdlVmlld0RlbGVn
YXRlLCBVSVBERkFubm90YXRpb25Db250cm9sbGVyRGVsZWdhdGUsIFdLQWN0aW9uU2hlZXRBc3Np
c3RhbnREZWxlZ2F0ZT4KK0BpbnRlcmZhY2UgV0tMZWdhY3lQREZWaWV3IDogV0tBcHBsaWNhdGlv
blN0YXRlVHJhY2tpbmdWaWV3IDxXS1dlYlZpZXdDb250ZW50UHJvdmlkZXIsIFVJUERGUGFnZVZp
ZXdEZWxlZ2F0ZSwgVUlQREZBbm5vdGF0aW9uQ29udHJvbGxlckRlbGVnYXRlLCBXS0FjdGlvblNo
ZWV0QXNzaXN0YW50RGVsZWdhdGU+CiBAZW5kCiAKICNlbmRpZiAvLyBQTEFURk9STShJT1MpICYm
IEVOQUJMRShXS1BERlZJRVcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV0tMZWdhY3lQREZWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLTGVn
YWN5UERGVmlldy5tbQppbmRleCA2OTY5Mjk0YmIxOTM0NDgwZjdkNDBjYzYyYjYzYjRhOWIwYTc4
MzBjLi5kYjY1OWMyMTdmZGQ1ZjkxMTIxZTVkMDEyOTZlMzQ2NWNkYzI4YWU0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tMZWdhY3lQREZWaWV3Lm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0xlZ2FjeVBERlZpZXcubW0KQEAgLTMwLDcgKzMw
LDYgQEAKIAogI2ltcG9ydCAiQVBJRmluZENsaWVudC5oIgogI2ltcG9ydCAiQVBJVUlDbGllbnQu
aCIKLSNpbXBvcnQgIkFwcGxpY2F0aW9uU3RhdGVUcmFja2VyLmgiCiAjaW1wb3J0ICJDb3JlUERG
U1BJLmgiCiAjaW1wb3J0ICJEcmF3aW5nQXJlYVByb3h5LmgiCiAjaW1wb3J0ICJTZXNzaW9uU3Rh
dGUuaCIKQEAgLTExNiwxNSArMTE1LDEzIEBAIEBpbXBsZW1lbnRhdGlvbiBXS0xlZ2FjeVBERlZp
ZXcgewogCiAgICAgUmV0YWluUHRyPFVJV0tTZWxlY3Rpb25Bc3Npc3RhbnQ+IF93ZWJTZWxlY3Rp
b25Bc3Npc3RhbnQ7CiAKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8QXBwbGljYXRpb25TdGF0ZVRyYWNr
ZXI+IF9hcHBsaWNhdGlvblN0YXRlVHJhY2tlcjsKLQogICAgIFVJRWRnZUluc2V0cyBfbGFzdFVu
b2JzY3VyZWRTYWZlQXJlYUluc2V0OwogICAgIENHRmxvYXQgX2xhc3RMYXlvdXRXaWR0aDsKIH0K
IAogLSAoaW5zdGFuY2V0eXBlKXdlYl9pbml0V2l0aEZyYW1lOihDR1JlY3QpZnJhbWUgd2ViVmll
dzooV0tXZWJWaWV3ICopd2ViVmlldwogewotICAgIGlmICghKHNlbGYgPSBbc3VwZXIgaW5pdFdp
dGhGcmFtZTpmcmFtZV0pKQorICAgIGlmICghKHNlbGYgPSBbc3VwZXIgaW5pdFdpdGhGcmFtZTpm
cmFtZSB3ZWJWaWV3OndlYlZpZXddKSkKICAgICAgICAgcmV0dXJuIG5pbDsKIAogICAgIHNlbGYu
YmFja2dyb3VuZENvbG9yID0gW1VJQ29sb3IgZ3JheUNvbG9yXTsKQEAgLTgxMiw1NCArODA5LDE3
IEBAIC0gKHZvaWQpX3Nob3dQYXNzd29yZEVudHJ5RmllbGQKICAgICB9XTsKIH0KIAotLSAodm9p
ZCl3aWxsTW92ZVRvV2luZG93OihVSVdpbmRvdyAqKW5ld1dpbmRvdwotewotICAgIGlmIChuZXdX
aW5kb3cpCi0gICAgICAgIHJldHVybjsKLSAgICAKLSAgICBBU1NFUlQoc2VsZi53aW5kb3cpOwot
ICAgIEFTU0VSVChfYXBwbGljYXRpb25TdGF0ZVRyYWNrZXIpOwotICAgIF9hcHBsaWNhdGlvblN0
YXRlVHJhY2tlciA9IG51bGxwdHI7Ci19Ci0KLS0gKHZvaWQpZGlkTW92ZVRvV2luZG93Ci17Ci0g
ICAgaWYgKCFzZWxmLndpbmRvdykKLSAgICAgICAgcmV0dXJuOwotCi0gICAgQVNTRVJUKCFfYXBw
bGljYXRpb25TdGF0ZVRyYWNrZXIpOwotICAgIF9hcHBsaWNhdGlvblN0YXRlVHJhY2tlciA9IHN0
ZDo6bWFrZV91bmlxdWU8QXBwbGljYXRpb25TdGF0ZVRyYWNrZXI+KHNlbGYsIEBzZWxlY3Rvcihf
YXBwbGljYXRpb25EaWRFbnRlckJhY2tncm91bmQpLCBAc2VsZWN0b3IoX2FwcGxpY2F0aW9uRGlk
Q3JlYXRlV2luZG93Q29udGV4dCksIEBzZWxlY3RvcihfYXBwbGljYXRpb25EaWRGaW5pc2hTbmFw
c2hvdHRpbmdBZnRlckVudGVyaW5nQmFja2dyb3VuZCksIEBzZWxlY3RvcihfYXBwbGljYXRpb25X
aWxsRW50ZXJGb3JlZ3JvdW5kKSk7Ci19Ci0KIC0gKEJPT0wpd2ViX2lzQmFja2dyb3VuZAogewot
ICAgIGlmICghX2FwcGxpY2F0aW9uU3RhdGVUcmFja2VyKQotICAgICAgICByZXR1cm4gWUVTOwot
Ci0gICAgcmV0dXJuIF9hcHBsaWNhdGlvblN0YXRlVHJhY2tlci0+aXNJbkJhY2tncm91bmQoKTsK
LX0KLQotLSAodm9pZClfYXBwbGljYXRpb25EaWRFbnRlckJhY2tncm91bmQKLXsKLSAgICBfd2Vi
Vmlldy0+X3BhZ2UtPmFwcGxpY2F0aW9uRGlkRW50ZXJCYWNrZ3JvdW5kKCk7Ci0gICAgX3dlYlZp
ZXctPl9wYWdlLT5hY3Rpdml0eVN0YXRlRGlkQ2hhbmdlKEFjdGl2aXR5U3RhdGU6OkFsbEZsYWdz
ICYgfkFjdGl2aXR5U3RhdGU6OklzSW5XaW5kb3cpOwotfQotCi0tICh2b2lkKV9hcHBsaWNhdGlv
bkRpZENyZWF0ZVdpbmRvd0NvbnRleHQKLXsKLX0KLQotLSAodm9pZClfYXBwbGljYXRpb25EaWRG
aW5pc2hTbmFwc2hvdHRpbmdBZnRlckVudGVyaW5nQmFja2dyb3VuZAotewotICAgIF93ZWJWaWV3
LT5fcGFnZS0+YXBwbGljYXRpb25EaWRGaW5pc2hTbmFwc2hvdHRpbmdBZnRlckVudGVyaW5nQmFj
a2dyb3VuZCgpOworICAgIHJldHVybiBbc2VsZiBpc0JhY2tncm91bmRdOwogfQogCiAtICh2b2lk
KV9hcHBsaWNhdGlvbldpbGxFbnRlckZvcmVncm91bmQKIHsKLSAgICBfd2ViVmlldy0+X3BhZ2Ut
PmFwcGxpY2F0aW9uV2lsbEVudGVyRm9yZWdyb3VuZCgpOworICAgIFtzdXBlciBfYXBwbGljYXRp
b25XaWxsRW50ZXJGb3JlZ3JvdW5kXTsKKyAgICAvLyBGSVhNRTogSXMgaXQgcmVhbGx5IG5lY2Vz
c2FyeSB0byBoaWRlIHRoZSB3ZWIgY29udGVudCBkcmF3aW5nIGFyZWEgd2hlbiBhIFBERiBpcyBk
aXNwbGF5ZWQ/CiAgICAgaWYgKGF1dG8gZHJhd2luZ0FyZWEgPSBfd2ViVmlldy0+X3BhZ2UtPmRy
YXdpbmdBcmVhKCkpCiAgICAgICAgIGRyYXdpbmdBcmVhLT5oaWRlQ29udGVudFVudGlsQW55VXBk
YXRlKCk7Ci0gICAgX3dlYlZpZXctPl9wYWdlLT5hY3Rpdml0eVN0YXRlRGlkQ2hhbmdlKEFjdGl2
aXR5U3RhdGU6OkFsbEZsYWdzICYgfkFjdGl2aXR5U3RhdGU6OklzSW5XaW5kb3csIHRydWUsIFdl
YlBhZ2VQcm94eTo6QWN0aXZpdHlTdGF0ZUNoYW5nZURpc3BhdGNoTW9kZTo6SW1tZWRpYXRlKTsK
IH0KIAogQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggODQwOGNiZTQ0ZTY4ZDQxNmFjNjRiZjM5ZWNmODU3OWVkYWM0YzFiNy4uYWNh
YTRlOWEwNWNhZmQzNjRhODFiMjY5MDM2MTZlNDI0MTNlZWQ0NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNTU3LDYgKzE1NTcsOCBA
QAogCQlBMTE4QTlFRjE5MDdBRDZGMDBGN0M5MkIgLyogUXVpY2tMb29rRG9jdW1lbnREYXRhLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTE4QTlFRDE5
MDdBRDZGMDBGN0M5MkIgLyogUXVpY2tMb29rRG9jdW1lbnREYXRhLmggKi87IH07CiAJCUExMThB
OUYyMTkwOEI4RUEwMEY3QzkyQiAvKiBfV0tOU0ZpbGVNYW5hZ2VyRXh0cmFzLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTExOEE5RjAxOTA4QjhFQTAw
RjdDOTJCIC8qIF9XS05TRmlsZU1hbmFnZXJFeHRyYXMubW0gKi87IH07CiAJCUExMThBOUYzMTkw
OEI4RUEwMEY3QzkyQiAvKiBfV0tOU0ZpbGVNYW5hZ2VyRXh0cmFzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTE4QTlGMTE5MDhCOEVBMDBGN0M5MkIg
LyogX1dLTlNGaWxlTWFuYWdlckV4dHJhcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCUExM0RDNjgyMjA3QUE2QjIwMDY2RUY3MiAvKiBXS0FwcGxp
Y2F0aW9uU3RhdGVUcmFja2luZ1ZpZXcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEExM0RDNjgwMjA3QUE2QjIwMDY2RUY3MiAvKiBXS0FwcGxpY2F0aW9u
U3RhdGVUcmFja2luZ1ZpZXcuaCAqLzsgfTsKKwkJQTEzREM2ODMyMDdBQTZCMjAwNjZFRjcyIC8q
IFdLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmlldy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExM0RDNjgxMjA3QUE2QjIwMDY2RUY3MiAvKiBXS0Fw
cGxpY2F0aW9uU3RhdGVUcmFja2luZ1ZpZXcubW0gKi87IH07CiAJCUExNUVFREU1MUUzMDFDRUUw
MDAwNjlCMCAvKiBXS1Bhc3N3b3JkVmlldy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEExNUVFREUzMUUzMDFDRUUwMDAwNjlCMCAvKiBXS1Bhc3N3b3Jk
Vmlldy5tbSAqLzsgfTsKIAkJQTE1RUVERTYxRTMwMUNFRTAwMDA2OUIwIC8qIFdLUGFzc3dvcmRW
aWV3LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTVF
RURFNDFFMzAxQ0VFMDAwMDY5QjAgLyogV0tQYXNzd29yZFZpZXcuaCAqLzsgfTsKIAkJQTE4MkQ1
QjQxQkU2QkQyNTAwODdBN0NDIC8qIEFjY2Vzc2liaWxpdHlJT1MubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTgyRDVCMjFCRTZCRDI1MDA4N0E3Q0Mg
LyogQWNjZXNzaWJpbGl0eUlPUy5tbSAqLzsgfTsKQEAgLTQwNDIsNiArNDA0NCw4IEBACiAJCUEx
MThBOUVEMTkwN0FENkYwMEY3QzkyQiAvKiBRdWlja0xvb2tEb2N1bWVudERhdGEuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUXVpY2tMb29rRG9jdW1lbnREYXRhLmg7IHBhdGgg
PSBpb3MvUXVpY2tMb29rRG9jdW1lbnREYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUExMThBOUYwMTkwOEI4RUEwMEY3QzkyQiAvKiBfV0tOU0ZpbGVNYW5hZ2VyRXh0cmFzLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gX1dLTlNGaWxlTWFuYWdl
ckV4dHJhcy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTExOEE5RjExOTA4QjhF
QTAwRjdDOTJCIC8qIF9XS05TRmlsZU1hbmFnZXJFeHRyYXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gX1dLTlNGaWxlTWFuYWdlckV4dHJhcy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlBMTNEQzY4MDIwN0FBNkIyMDA2NkVGNzIgLyogV0tBcHBsaWNhdGlvblN0
YXRlVHJhY2tpbmdWaWV3LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdLQXBwbGljYXRpb25TdGF0ZVRyYWNr
aW5nVmlldy5oOyBwYXRoID0gaW9zL1dLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmlldy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMTNEQzY4MTIwN0FBNkIyMDA2NkVGNzIgLyog
V0tBcHBsaWNhdGlvblN0YXRlVHJhY2tpbmdWaWV3Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0g
V0tBcHBsaWNhdGlvblN0YXRlVHJhY2tpbmdWaWV3Lm1tOyBwYXRoID0gaW9zL1dLQXBwbGljYXRp
b25TdGF0ZVRyYWNraW5nVmlldy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTE1
RUVERTMxRTMwMUNFRTAwMDA2OUIwIC8qIFdLUGFzc3dvcmRWaWV3Lm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gV0tQYXNzd29yZFZpZXcubW07IHBhdGggPSBpb3Mv
V0tQYXNzd29yZFZpZXcubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExNUVFREU0
MUUzMDFDRUUwMDAwNjlCMCAvKiBXS1Bhc3N3b3JkVmlldy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBXS1Bhc3N3b3JkVmlldy5oOyBwYXRoID0gaW9zL1dLUGFzc3dvcmRWaWV3
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExODJENUIyMUJFNkJEMjUwMDg3QTdD
QyAvKiBBY2Nlc3NpYmlsaXR5SU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gQWNjZXNzaWJpbGl0eUlPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTU4MTMsNiArNTgxNyw4IEBACiAJCQkJMEZDQjRFMzkxOEJCRTA0NDAwMEZDRkM5IC8qIFdL
QWN0aW9uU2hlZXQubW0gKi8sCiAJCQkJMEZDQjRFM0ExOEJCRTA0NDAwMEZDRkM5IC8qIFdLQWN0
aW9uU2hlZXRBc3Npc3RhbnQuaCAqLywKIAkJCQkwRkNCNEUzQjE4QkJFMDQ0MDAwRkNGQzkgLyog
V0tBY3Rpb25TaGVldEFzc2lzdGFudC5tbSAqLywKKwkJCQlBMTNEQzY4MDIwN0FBNkIyMDA2NkVG
NzIgLyogV0tBcHBsaWNhdGlvblN0YXRlVHJhY2tpbmdWaWV3LmggKi8sCisJCQkJQTEzREM2ODEy
MDdBQTZCMjAwNjZFRjcyIC8qIFdLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmlldy5tbSAqLywK
IAkJCQkwRkNCNEUzQzE4QkJFMDQ0MDAwRkNGQzkgLyogV0tDb250ZW50Vmlldy5oICovLAogCQkJ
CTBGQ0I0RTNEMThCQkUwNDQwMDBGQ0ZDOSAvKiBXS0NvbnRlbnRWaWV3Lm1tICovLAogCQkJCTBG
Q0I0RTZBMThCQkYyNkEwMDBGQ0ZDOSAvKiBXS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaCAqLywK
QEAgLTk0MTIsNiArOTQxOCw3IEBACiAJCQkJMkQxMkRBQjUyMDY2MkM3MzAwNkYwMEZCIC8qIFdL
QW5pbWF0aW9uRGVsZWdhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRERCMzJEMTI0RUMyRTEw
MDQ4RDEzQyAvKiBXS0FQSUNhc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMkUzNEU1MTMwQjRE
MDUwMEFCRDE5QSAvKiBXS0FwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywK
KwkJCQlBMTNEQzY4MjIwN0FBNkIyMDA2NkVGNzIgLyogV0tBcHBsaWNhdGlvblN0YXRlVHJhY2tp
bmdWaWV3LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzQwNzVGNDEyNEZGMDI3MDA2OEYyMEEgLyog
V0tBcnJheS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEyRjU4RjYxMkE4OEE1NDAwNjI5NTMwIC8q
IFdLQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMkY1OEY4
MTJBODhBNTQwMDYyOTUzMCAvKiBXS0F1dGhlbnRpY2F0aW9uRGVjaXNpb25MaXN0ZW5lci5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0xMTE4OCw2ICsxMTE5NSw3IEBACiAJCQkJMEZDQjRFNEIxOEJCRTA0
NDAwMEZDRkM5IC8qIFdLQWN0aW9uU2hlZXRBc3Npc3RhbnQubW0gaW4gU291cmNlcyAqLywKIAkJ
CQlDNUZBMUVENDE4RTEwNjIyMDBCM0Y0MDIgLyogV0tBaXJQbGF5Um91dGVQaWNrZXIubW0gaW4g
U291cmNlcyAqLywKIAkJCQk1MTJFMzRFNDEzMEI0RDA1MDBBQkQxOUEgLyogV0tBcHBsaWNhdGlv
bkNhY2hlTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBMTNEQzY4MzIwN0FBNkIyMDA2
NkVGNzIgLyogV0tBcHBsaWNhdGlvblN0YXRlVHJhY2tpbmdWaWV3Lm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJQkM0MDc1RjMxMjRGRjAyNzAwNjhGMjBBIC8qIFdLQXJyYXkuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNTEyRjU4RjUxMkE4OEE1NDAwNjI5NTMwIC8qIFdLQXV0aGVudGljYXRpb25DaGFs
bGVuZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTEyRjU4RjcxMkE4OEE1NDAwNjI5NTMwIC8q
IFdLQXV0aGVudGljYXRpb25EZWNpc2lvbkxpc3RlbmVyLmNwcCBpbiBTb3VyY2VzICovLAo=
</data>
<flag name="commit-queue"
          id="355870"
          type_id="3"
          status="-"
          setter="aestes"
    />
          </attachment>
      

    </bug>

</bugzilla>