<?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>184861</bug_id>
          
          <creation_ts>2018-04-21 11:29:49 -0700</creation_ts>
          <short_desc>Web Inspector: opt out of process swap on navigation if a Web Inspector frontend is connected</short_desc>
          <delta_ts>2018-05-07 10:10:41 -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>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Blaze Burg">bburg</reporter>
          <assigned_to name="Blaze Burg">bburg</assigned_to>
          <cc>bburg</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>rniwa</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>thorton</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1416664</commentid>
    <comment_count>0</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2018-04-21 11:29:49 -0700</bug_when>
    <thetext>&lt;rdar://problem/39153768&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416669</commentid>
    <comment_count>1</comment_count>
      <attachid>338528</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2018-04-21 11:39:10 -0700</bug_when>
    <thetext>Created attachment 338528
Patch

For some reason this always crashes under WKInpectorClose() when we send -_apiObject inside unwrap(). But when I pause in the debugger in Safari, the wrapper is always allocated and valid. I&apos;m not quite sure what&apos;s going on with the API test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416670</commentid>
    <comment_count>2</comment_count>
      <attachid>338528</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2018-04-21 11:39:58 -0700</bug_when>
    <thetext>Comment on attachment 338528
Patch

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

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:1060
&gt; +    WKInspectorClose(inspector.get());

(Previous comment should have been for this line.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419775</commentid>
    <comment_count>3</comment_count>
      <attachid>338528</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-02 12:17:54 -0700</bug_when>
    <thetext>Comment on attachment 338528
Patch

Clearing flags on attachment: 338528

Committed r231253: &lt;https://trac.webkit.org/changeset/231253&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419776</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-02 12:17:56 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419908</commentid>
    <comment_count>5</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2018-05-02 15:56:03 -0700</bug_when>
    <thetext>The API test added with this change is crashing on the bots:

13:29:24.633 33618 Crashed
13:29:24.633 33618 
13:29:24.633 33618     TestWebKitAPI.ProcessSwap.DisableForInspector
13:29:24.633 33618         Received data during response processing, queuing it.
13:29:24.633 33618         Received data during response processing, queuing it.
13:29:24.633 33618         2018-05-02 13:26:13.933 TestWebKitAPI[35988:32391770] -[_NSViewLayoutAux _apiObject]: unrecognized selector sent to instance 0x7fc5fd46e8a0
13:29:24.633 33618         2018-05-02 13:26:13.941 TestWebKitAPI[35988:32391770] *** Terminating app due to uncaught exception &apos;NSInvalidArgumentException&apos;, reason: &apos;-[_NSViewLayoutAux _apiObject]: unrecognized selector sent to instance 0x7fc5fd46e8a0&apos;
13:29:24.633 33618         *** First throw call stack:
13:29:24.634 33618         (
13:29:24.634 33618         	0   CoreFoundation                      0x00007fff2ce7c6bb __exceptionPreprocess + 171
13:29:24.634 33618         	1   libobjc.A.dylib                     0x00007fff54585942 objc_exception_throw + 48
13:29:24.634 33618         	2   CoreFoundation                      0x00007fff2cf139e4 -[NSObject(NSObject) doesNotRecognizeSelector:] + 132
13:29:24.634 33618         	3   CoreFoundation                      0x00007fff2cdf4183 ___forwarding___ + 1443
13:29:24.634 33618         	4   CoreFoundation                      0x00007fff2cdf3b58 _CF_forwarding_prep_0 + 120
13:29:24.634 33618         	5   WebKit                              0x000000010411f23e _ZN3API6Object6unwrapEPv + 22
13:29:24.634 33618         	6   WebKit                              0x00000001044c2ff5 WKInspectorClose + 9
13:29:24.634 33618         	7   TestWebKitAPI                       0x000000010244cf3f _ZN36ProcessSwap_DisableForInspector_Test8TestBodyEv + 699
13:29:24.634 33618         	8   TestWebKitAPI                       0x0000000102560688 _ZN7testing4Test3RunEv + 92
13:29:24.634 33618         	9   TestWebKitAPI                       0x0000000102560ee4 _ZN7testing8internal12TestInfoImpl3RunEv + 180
13:29:24.634 33618         	10  TestWebKitAPI                       0x00000001025612cc _ZN7testing8TestCase3RunEv + 196
13:29:24.634 33618         	11  TestWebKitAPI                       0x0000000102564aa6 _ZN7testing8internal12UnitTestImpl11RunAllTestsEv + 614
13:29:24.634 33618         	12  TestWebKitAPI                       0x0000000102491d48 _ZN13TestWebKitAPI15TestsController3runEiPPc + 120
13:29:24.634 33618         	13  TestWebKitAPI                       0x0000000102540527 main + 344
13:29:24.634 33618         	14  libdyld.dylib                       0x00007fff5519c015 start + 1
13:29:24.634 33618         )
13:29:24.634 33618         libc++abi.dylib: terminating with uncaught exception of type NSException
13:29:24.634 33618 

https://build.webkit.org/builders/Apple%20High%20Sierra%20Release%20WK1%20%28Tests%29/builds/5062/steps/run-api-tests/logs/stdio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1420141</commentid>
    <comment_count>6</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2018-05-03 09:01:32 -0700</bug_when>
    <thetext>Reverted r231253 for reason:

The API test added with this change is crashing on the bots.

Committed r231306: &lt;https://trac.webkit.org/changeset/231306&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1420949</commentid>
    <comment_count>7</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2018-05-04 16:33:07 -0700</bug_when>
    <thetext>(In reply to Ryan Haddad from comment #5)
&gt; The API test added with this change is crashing on the bots:
&gt; 
&gt; 13:29:24.633 33618 Crashed
&gt; 13:29:24.633 33618 
&gt; 13:29:24.633 33618     TestWebKitAPI.ProcessSwap.DisableForInspector
&gt; 13:29:24.633 33618         Received data during response processing, queuing
&gt; it.
&gt; 13:29:24.633 33618         Received data during response processing, queuing
&gt; it.
&gt; 13:29:24.633 33618         2018-05-02 13:26:13.933
&gt; TestWebKitAPI[35988:32391770] -[_NSViewLayoutAux _apiObject]: unrecognized
&gt; selector sent to instance 0x7fc5fd46e8a0
&gt; 13:29:24.633 33618         2018-05-02 13:26:13.941
&gt; TestWebKitAPI[35988:32391770] *** Terminating app due to uncaught exception
&gt; &apos;NSInvalidArgumentException&apos;, reason: &apos;-[_NSViewLayoutAux _apiObject]:
&gt; unrecognized selector sent to instance 0x7fc5fd46e8a0&apos;
&gt; 13:29:24.633 33618         *** First throw call stack:
&gt; 13:29:24.634 33618         (
&gt; 13:29:24.634 33618         	0   CoreFoundation                     
&gt; 0x00007fff2ce7c6bb __exceptionPreprocess + 171
&gt; 13:29:24.634 33618         	1   libobjc.A.dylib                    
&gt; 0x00007fff54585942 objc_exception_throw + 48
&gt; 13:29:24.634 33618         	2   CoreFoundation                     
&gt; 0x00007fff2cf139e4 -[NSObject(NSObject) doesNotRecognizeSelector:] + 132
&gt; 13:29:24.634 33618         	3   CoreFoundation                     
&gt; 0x00007fff2cdf4183 ___forwarding___ + 1443
&gt; 13:29:24.634 33618         	4   CoreFoundation                     
&gt; 0x00007fff2cdf3b58 _CF_forwarding_prep_0 + 120
&gt; 13:29:24.634 33618         	5   WebKit                             
&gt; 0x000000010411f23e _ZN3API6Object6unwrapEPv + 22
&gt; 13:29:24.634 33618         	6   WebKit                             
&gt; 0x00000001044c2ff5 WKInspectorClose + 9
&gt; 13:29:24.634 33618         	7   TestWebKitAPI                      
&gt; 0x000000010244cf3f _ZN36ProcessSwap_DisableForInspector_Test8TestBodyEv + 699
&gt; 13:29:24.634 33618         	8   TestWebKitAPI                      
&gt; 0x0000000102560688 _ZN7testing4Test3RunEv + 92
&gt; 13:29:24.634 33618         	9   TestWebKitAPI                      
&gt; 0x0000000102560ee4 _ZN7testing8internal12TestInfoImpl3RunEv + 180
&gt; 13:29:24.634 33618         	10  TestWebKitAPI                      
&gt; 0x00000001025612cc _ZN7testing8TestCase3RunEv + 196
&gt; 13:29:24.634 33618         	11  TestWebKitAPI                      
&gt; 0x0000000102564aa6 _ZN7testing8internal12UnitTestImpl11RunAllTestsEv + 614
&gt; 13:29:24.634 33618         	12  TestWebKitAPI                      
&gt; 0x0000000102491d48 _ZN13TestWebKitAPI15TestsController3runEiPPc + 120
&gt; 13:29:24.634 33618         	13  TestWebKitAPI                      
&gt; 0x0000000102540527 main + 344
&gt; 13:29:24.634 33618         	14  libdyld.dylib                      
&gt; 0x00007fff5519c015 start + 1
&gt; 13:29:24.634 33618         )
&gt; 13:29:24.634 33618         libc++abi.dylib: terminating with uncaught
&gt; exception of type NSException
&gt; 13:29:24.634 33618 
&gt; 
&gt; https://build.webkit.org/builders/
&gt; Apple%20High%20Sierra%20Release%20WK1%20%28Tests%29/builds/5062/steps/run-
&gt; api-tests/logs/stdio

I don&apos;t know why an object with class NSViewLayoutAux is the receiver of -_apiObject. My understanding is that there is a WKObject that wraps the WebInspectorProxy because it lacks a custom ObjC API/wrapper class. So _apiObject would just be casting the extra space in WKObject.

Update: my new explanation is the WebInspectorProxy gets deallocated when the WebPageProxy resets state under WebPageProxy::continueNavigationInNewProcess(). So the cached WKInspectorRef is now garbage. We need a new reference. Now that this doesn&apos;t crash, there are other issues to resolve. I&apos;ll post a patch with an updated test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1420962</commentid>
    <comment_count>8</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2018-05-04 16:55:03 -0700</bug_when>
    <thetext>The last issue is that _developerExtrasEnabled was not set for the WKPreferences used by the webview, so InspectorController::enabled() returns false and WKInspectorShow doesn&apos;t actually show an inspector. Easy enough to fix..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1420972</commentid>
    <comment_count>9</comment_count>
      <attachid>339615</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2018-05-04 17:06:03 -0700</bug_when>
    <thetext>Created attachment 339615
Fix API Test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1421308</commentid>
    <comment_count>10</comment_count>
      <attachid>339615</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-07 10:10:40 -0700</bug_when>
    <thetext>Comment on attachment 339615
Fix API Test

Clearing flags on attachment: 339615

Committed r231439: &lt;https://trac.webkit.org/changeset/231439&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1421309</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-05-07 10:10:41 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>338528</attachid>
            <date>2018-04-21 11:39:10 -0700</date>
            <delta_ts>2018-05-04 17:06:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184861-20180421113909.patch</filename>
            <type>text/plain</type>
            <size>14720</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwODkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTkzZTY3MjlkMjM5ODIz
NTUyZmMwYjMwMzI4YjRjMjJkMzRjZDI5MS4uOTU2NTEzZGU5ODYyNTFhMjJhMjkxNGFkOWU1Zjdi
ZDkyNmMyNWRlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE4LTA0LTIxICBCcmlh
biBCdXJnICA8YmJ1cmdAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IG9wdCBv
dXQgb2YgcHJvY2VzcyBzd2FwIG9uIG5hdmlnYXRpb24gaWYgYSBXZWIgSW5zcGVjdG9yIGZyb250
ZW5kIGlzIGNvbm5lY3RlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTg0ODYxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zOTE1Mzc2OD4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOb3RpZnkgdGhlIGNs
aWVudCBvZiB0aGUgY3VycmVudCBjb25uZWN0aW9uIGNvdW50IHdoZW5ldmVyIGEgZnJvbnRlbmQg
Y29ubmVjdHMgb3IgZGlzY29ubmVjdHMuCisKKyAgICAgICAgQ292ZXJlZCBieSBuZXcgQVBJIHRl
c3QuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ2xpZW50Lmg6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JDbGllbnQ6OmZyb250ZW5kQ291bnRDaGFuZ2VkKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0RnJvbnRlbmQpOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlzY29ubmVjdEZyb250ZW5kKToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmRpc2Nvbm5lY3RBbGxGcm9udGVuZHMpOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmg6CisKIDIwMTgtMDQtMjAgIE5hbiBX
YW5nICA8bl93YW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogQU9NIGRvZXMgbm90IHdvcmsg
d2l0aCBET00gTGV2ZWwgMSBldmVudHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMTQ4ZjdlY2MwNjYyZDYyNWRiYjEz
OTdiZGQ4M2ZmODEyMmM3MjIyOS4uOGJiZGQyZjM3MzdkNzMwMjIwN2M4MWVhMWIzMjVhNjAwOWI2
YzE3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAxOC0wNC0yMSAgQnJpYW4gQnVyZyAg
PGJidXJnQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBvcHQgb3V0IG9mIHBy
b2Nlc3Mgc3dhcCBvbiBuYXZpZ2F0aW9uIGlmIGEgV2ViIEluc3BlY3RvciBmcm9udGVuZCBpcyBj
b25uZWN0ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE4NDg2MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzkxNTM3Njg+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgbmVlZCB0byB0cmFjayBob3cg
bWFueSBmcm9udGVuZHMgYXJlIGF0dGFjaGVkIHRvIHRoZSB3ZWIgcGFnZSAoYm90aCBsb2NhbCBh
bmQgcmVtb3RlKS4KKyAgICAgICAgSW5zcGVjdG9yQ29udHJvbGxlciBwcm9wYWdhdGVzIHRoaXMg
b3V0IHRvIFdlYktpdCB2aWEgSW5zcGVjdG9yQ2xpZW50LiBUaGlzIGlzIHRoZW4KKyAgICAgICAg
a2VwdCBpbiBVSVByb2Nlc3MgYXMgYSBtZW1iZXIgb2YgV2ViUGFnZVByb3h5LiBXaGVuIG1ha2lu
ZyBhIGRlY2lzaW9uIHdoZXRoZXIgdG8gdXNlIGEKKyAgICAgICAgbmV3IHByb2Nlc3MgZm9yIGEg
bmF2aWdhdGlvbiwgcmV0dXJuIGVhcmx5IHdpdGggIm5vIiBpZiBhbnkgZnJvbnRlbmRzIGFyZSBv
cGVuIGZvciB0aGUKKyAgICAgICAgcGFnZSBiZWluZyBuYXZpZ2F0ZWQuCisKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6
ZGlkQ2hhbmdlSW5zcGVjdG9yRnJvbnRlbmRDb3VudCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2VQcm94eTo6aW5zcGVjdG9yRnJvbnRlbmRDb3VudCBjb25zdCk6CisgICAgICAgICogVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6cHJvY2Vzc0Zv
ck5hdmlnYXRpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5z
cGVjdG9yQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yQ2xpZW50Ojpm
cm9udGVuZENvdW50Q2hhbmdlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJJbnNwZWN0b3JDbGllbnQuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6Omluc3BlY3RvckZyb250ZW5kQ291
bnRDaGFuZ2VkKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorCiAy
MDE4LTA0LTIwICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBbU09VUF0gRG8gVExTIGVycm9yIGNoZWNraW5nIG9uIEdUbHNDb25uZWN0aW9uOjph
Y2NlcHQtY2VydGlmaWNhdGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDbGll
bnQuaAppbmRleCBiNWVhNGIyNjQyYTc2Mjc1Mjk1ZjYzZjk2ZGQwODRiNDc4YThkNWMyLi43MzZl
ZGNhZDEyOWE2MWFiN2I1ZTk0NzExMWQ2YWJmNjk5MzA2NWJjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNsaWVudC5oCkBAIC00NCw2ICs0NCw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIH5JbnNwZWN0b3JDbGllbnQoKSA9IGRlZmF1bHQ7CiAKICAgICB2aXJ0dWFsIHZv
aWQgaW5zcGVjdGVkUGFnZURlc3Ryb3llZCgpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZnJvbnRl
bmRDb3VudENoYW5nZWQodW5zaWduZWQpIHsgfQogCiAgICAgdmlydHVhbCBJbnNwZWN0b3I6OkZy
b250ZW5kQ2hhbm5lbCogb3BlbkxvY2FsRnJvbnRlbmQoSW5zcGVjdG9yQ29udHJvbGxlciopID0g
MDsKICAgICB2aXJ0dWFsIHZvaWQgYnJpbmdGcm9udGVuZFRvRnJvbnQoKSA9IDA7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXggZTll
YTFjNWZmY2IyNzM2MzI1MDgyODdkODU3ZTQyZmJhNWI1NDFjMS4uMjBlYjEwZmE1ZGI4YjM3YWU3
MDY4N2YxYWE4NjU3MjM1MmM4ZDQ3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtMjc0LDYgKzI3NCw4IEBAIHZvaWQgSW5zcGVj
dG9yQ29udHJvbGxlcjo6Y29ubmVjdEZyb250ZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVs
KiBmcm9udGVuZENoCiAgICAgICAgIG1fYWdlbnRzLmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2Vu
ZCgmbV9mcm9udGVuZFJvdXRlci5nZXQoKSwgJm1fYmFja2VuZERpc3BhdGNoZXIuZ2V0KCkpOwog
ICAgIH0KIAorICAgIG1faW5zcGVjdG9yQ2xpZW50LT5mcm9udGVuZENvdW50Q2hhbmdlZChtX2Zy
b250ZW5kUm91dGVyLT5mcm9udGVuZENvdW50KCkpOworCiAjaWYgRU5BQkxFKFJFTU9URV9JTlNQ
RUNUT1IpCiAgICAgaWYgKCFtX2Zyb250ZW5kUm91dGVyLT5oYXNSZW1vdGVGcm9udGVuZCgpKQog
ICAgICAgICBtX3BhZ2UucmVtb3RlSW5zcGVjdG9ySW5mb3JtYXRpb25EaWRDaGFuZ2UoKTsKQEAg
LTMwMiw2ICszMDQsOCBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRpc2Nvbm5lY3RGcm9u
dGVuZChGcm9udGVuZENoYW5uZWwqIGZyb250ZW5kQ2hhbm5lbCkKICAgICAgICAgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjp1bnJlZ2lzdGVySW5zdHJ1bWVudGluZ0FnZW50cyhtX2luc3RydW1l
bnRpbmdBZ2VudHMuZ2V0KCkpOwogICAgIH0KIAorICAgIG1faW5zcGVjdG9yQ2xpZW50LT5mcm9u
dGVuZENvdW50Q2hhbmdlZChtX2Zyb250ZW5kUm91dGVyLT5mcm9udGVuZENvdW50KCkpOworCiAj
aWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCiAgICAgaWYgKCFtX2Zyb250ZW5kUm91dGVyLT5o
YXNGcm9udGVuZHMoKSkKICAgICAgICAgbV9wYWdlLnJlbW90ZUluc3BlY3RvckluZm9ybWF0aW9u
RGlkQ2hhbmdlKCk7CkBAIC0zMzgsNiArMzQyLDggQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVy
OjpkaXNjb25uZWN0QWxsRnJvbnRlbmRzKCkKICAgICBtX2lzQXV0b21hdGljSW5zcGVjdGlvbiA9
IGZhbHNlOwogICAgIG1fcGF1c2VBZnRlckluaXRpYWxpemF0aW9uID0gZmFsc2U7CiAKKyAgICBt
X2luc3BlY3RvckNsaWVudC0+ZnJvbnRlbmRDb3VudENoYW5nZWQobV9mcm9udGVuZFJvdXRlci0+
ZnJvbnRlbmRDb3VudCgpKTsKKwogI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQogICAgIG1f
cGFnZS5yZW1vdGVJbnNwZWN0b3JJbmZvcm1hdGlvbkRpZENoYW5nZSgpOwogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAppbmRleCA5YTEy
OWUwZGM5NTAxNGQwMTc4YjZiMjU5OWY5NTFhNWQ3NjRlODI2Li5iNDVkNmEzMDUzNzYwN2QxMjJj
ZmM5NmUyYzkzNWI1ODBmMDdlZWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb250cm9sbGVyLmgKQEAgLTk0LDcgKzk0LDYgQEAgcHVibGljOgogICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgY29ubmVjdEZyb250ZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVs
KiwgYm9vbCBpc0F1dG9tYXRpY0luc3BlY3Rpb24gPSBmYWxzZSwgYm9vbCBpbW1lZGlhdGVseVBh
dXNlID0gZmFsc2UpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZGlzY29ubmVjdEZyb250ZW5k
KEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBk
aXNjb25uZWN0QWxsRnJvbnRlbmRzKCk7Ci0gICAgdm9pZCBzZXRQcm9jZXNzSWQobG9uZyk7CiAK
ICAgICB2b2lkIGluc3BlY3QoTm9kZSopOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZHJhd0hp
Z2hsaWdodChHcmFwaGljc0NvbnRleHQmKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmgKaW5kZXggMTk3NjRkMDdkOGZkMGQ3NDI5NDc5MDMwYjE3M2VkNWM0NDJhZjk5
NS4uMjI2ZDVlODczODZiNTRjMTRhNGY1NzA0YjQ4MGM4Y2U0YTUxZTAzYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTM2Miw2ICszNjIsOSBAQCBwdWJsaWM6CiAK
ICAgICBXZWJJbnNwZWN0b3JQcm94eSogaW5zcGVjdG9yKCkgY29uc3Q7CiAKKyAgICB2b2lkIGRp
ZENoYW5nZUluc3BlY3RvckZyb250ZW5kQ291bnQodW5zaWduZWQgY291bnQpIHsgbV9pbnNwZWN0
b3JGcm9udGVuZENvdW50ID0gY291bnQ7IH0KKyAgICB1bnNpZ25lZCBpbnNwZWN0b3JGcm9udGVu
ZENvdW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JGcm9udGVuZENvdW50OyB9CisKICAg
ICBib29sIGlzQ29udHJvbGxlZEJ5QXV0b21hdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fY29udHJv
bGxlZEJ5QXV0b21hdGlvbjsgfQogICAgIHZvaWQgc2V0Q29udHJvbGxlZEJ5QXV0b21hdGlvbihi
b29sKTsKIApAQCAtMjAwNCw2ICsyMDA3LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fYWxsb3dz
UmVtb3RlSW5zcGVjdGlvbiB7IHRydWUgfTsKICAgICBTdHJpbmcgbV9yZW1vdGVJbnNwZWN0aW9u
TmFtZU92ZXJyaWRlOwogI2VuZGlmCisgICAgdW5zaWduZWQgbV9pbnNwZWN0b3JGcm9udGVuZENv
dW50IHsgMCB9OwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgYm9vbCBtX2lzU21hcnRJbnNl
cnREZWxldGVFbmFibGVkIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCA4Y2IzYzQxM2EwZGEwNjIyODUzZDcyNWU3
YmMxYmNhNmQwNzlmMjkzLi44ZWE3Zjk4ZTQ2MTVlNDY1YmI2MzUxMWY1MGY2OTI3NzRlM2U2Mjk3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2Fn
ZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluCkBAIC00MTAsNiArNDEwLDggQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBE
aXNhYmxlSW5zcGVjdG9yTm9kZVNlYXJjaCgpCiAjZW5kaWYKIAorICAgIERpZENoYW5nZUluc3Bl
Y3RvckZyb250ZW5kQ291bnQodWludDY0X3QgY291bnQpCisKICAgICAjIFNlYXJjaCBwb3B1cCBt
ZW51cwogICAgIFNhdmVSZWNlbnRTZWFyY2hlcyhTdHJpbmcgbmFtZSwgVmVjdG9yPFdlYkNvcmU6
OlJlY2VudFNlYXJjaD4gc2VhcmNoSXRlbXMpCiAgICAgTG9hZFJlY2VudFNlYXJjaGVzKFN0cmlu
ZyBuYW1lKSAtPiAoVmVjdG9yPFdlYkNvcmU6OlJlY2VudFNlYXJjaD4gcmVzdWx0KQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IDIxZGNjM2Y2ZjAwMTI2
ZDgwMDk3MjFiOWNhNTcxZTJjMGE2ZjgyMjQuLjlhM2FmNDE3NzkzOWY1ZTA3Mzc3YTFiMzE5ZmQ4
ZTNiYTQwOTEyNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5j
cHAKQEAgLTE5ODUsNiArMTk4NSw5IEBAIFJlZjxXZWJQcm9jZXNzUHJveHk+IFdlYlByb2Nlc3NQ
b29sOjpwcm9jZXNzRm9yTmF2aWdhdGlvbihXZWJQYWdlUHJveHkmIHBhZ2UsIGNvCiAgICAgaWYg
KCFtX2NvbmZpZ3VyYXRpb24tPnByb2Nlc3NTd2Fwc09uTmF2aWdhdGlvbigpKQogICAgICAgICBy
ZXR1cm4gcGFnZS5wcm9jZXNzKCk7CiAKKyAgICBpZiAocGFnZS5pbnNwZWN0b3JGcm9udGVuZENv
dW50KCkgPiAwKQorICAgICAgICByZXR1cm4gcGFnZS5wcm9jZXNzKCk7CisKICAgICBpZiAoIXBh
Z2UucHJvY2VzcygpLmhhc0NvbW1pdHRlZEFueVByb3Zpc2lvbmFsTG9hZHMoKSkKICAgICAgICAg
cmV0dXJuIHBhZ2UucHJvY2VzcygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwCmluZGV4
IGQ1YzkwZTUzNWM3MTU2YmZkOWIyNDdjODAyNzU3MThiOGEyMDJjMjYuLjBmMWQ1M2M0NDEyYTkz
MWU4OTU3OTllODkwYjFjMzFhMDg2MWNhOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3Bw
CkBAIC04NCw2ICs4NCwxMSBAQCB2b2lkIFdlYkluc3BlY3RvckNsaWVudDo6aW5zcGVjdGVkUGFn
ZURlc3Ryb3llZCgpCiAgICAgZGVsZXRlIHRoaXM7CiB9CiAKK3ZvaWQgV2ViSW5zcGVjdG9yQ2xp
ZW50Ojpmcm9udGVuZENvdW50Q2hhbmdlZCh1bnNpZ25lZCBjb3VudCkKK3sKKyAgICBtX3BhZ2Ut
Pmluc3BlY3RvckZyb250ZW5kQ291bnRDaGFuZ2VkKGNvdW50KTsKK30KKwogSW5zcGVjdG9yOjpG
cm9udGVuZENoYW5uZWwqIFdlYkluc3BlY3RvckNsaWVudDo6b3BlbkxvY2FsRnJvbnRlbmQoSW5z
cGVjdG9yQ29udHJvbGxlciogY29udHJvbGxlcikKIHsKICAgICBtX3BhZ2UtPmluc3BlY3Rvcigp
LT5vcGVuRnJvbnRlbmRDb25uZWN0aW9uKGNvbnRyb2xsZXItPmlzVW5kZXJUZXN0KCkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkluc3Bl
Y3RvckNsaWVudC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
Ykluc3BlY3RvckNsaWVudC5oCmluZGV4IDk2YjlhMjYxMzk2MGMyMzY5MGFmMzY4ZWUwYjVlYmMx
MjYxZTZjZDMuLjljMjE0Y2U1YjgyMjY2ZWE2Y2ZmZWRkZTcyMjQ2M2E5MTJhNTY5YjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0
b3JDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViSW5zcGVjdG9yQ2xpZW50LmgKQEAgLTUwLDYgKzUwLDcgQEAgcHVibGljOgogcHJpdmF0ZToK
ICAgICAvLyBXZWJDb3JlOjpJbnNwZWN0b3JDbGllbnQKICAgICB2b2lkIGluc3BlY3RlZFBhZ2VE
ZXN0cm95ZWQoKSBvdmVycmlkZTsKKyAgICB2b2lkIGZyb250ZW5kQ291bnRDaGFuZ2VkKHVuc2ln
bmVkKSBvdmVycmlkZTsKIAogICAgIEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiBvcGVuTG9j
YWxGcm9udGVuZChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyKikgb3ZlcnJpZGU7CiAgICAg
dm9pZCBicmluZ0Zyb250ZW5kVG9Gcm9udCgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCA1NjFhODNiYWViZjY2ZDFhYzlkOWMx
NjRlN2UzMTNkYTNjMjQ5MDFiLi5lODU0NTk4NDI5YTdjNjFjMWM4YmRjNTgxNmUzNjI3MmY3MmQ3
MGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApA
QCAtMzI4OCw2ICszMjg4LDExIEBAIFJlbW90ZVdlYkluc3BlY3RvclVJKiBXZWJQYWdlOjpyZW1v
dGVJbnNwZWN0b3JVSSgpCiAgICAgcmV0dXJuIG1fcmVtb3RlSW5zcGVjdG9yVUkuZ2V0KCk7CiB9
CiAKK3ZvaWQgV2ViUGFnZTo6aW5zcGVjdG9yRnJvbnRlbmRDb3VudENoYW5nZWQodW5zaWduZWQg
Y291bnQpCit7CisgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRDaGFuZ2VJbnNw
ZWN0b3JGcm9udGVuZENvdW50KGNvdW50KSk7Cit9CisKICNpZiAoUExBVEZPUk0oSU9TKSAmJiBI
QVZFKEFWS0lUKSkgfHwgKFBMQVRGT1JNKE1BQykgJiYgRU5BQkxFKFZJREVPX1BSRVNFTlRBVElP
Tl9NT0RFKSkKIFBsYXliYWNrU2Vzc2lvbk1hbmFnZXImIFdlYlBhZ2U6OnBsYXliYWNrU2Vzc2lv
bk1hbmFnZXIoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5o
CmluZGV4IGQxYTEwMDY3NmY4ZmRmMDllM2RlOTFhZmViNzE0MGE0NzgyMDkxMjkuLmNjZWE0Mjk4
NDFmMDk2ZGQ0ZThkNzY0NTZiOWY5ZjY4MjM1MWYxMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTI5MCw2ICsyOTAsOCBAQCBwdWJsaWM6CiAgICAg
UmVtb3RlV2ViSW5zcGVjdG9yVUkqIHJlbW90ZUluc3BlY3RvclVJKCk7CiAgICAgYm9vbCBpc0lu
c3BlY3RvclBhZ2UoKSB7IHJldHVybiAhIW1faW5zcGVjdG9yVUkgfHwgISFtX3JlbW90ZUluc3Bl
Y3RvclVJOyB9CiAKKyAgICB2b2lkIGluc3BlY3RvckZyb250ZW5kQ291bnRDaGFuZ2VkKHVuc2ln
bmVkKTsKKwogI2lmIFBMQVRGT1JNKElPUykgfHwgKFBMQVRGT1JNKE1BQykgJiYgRU5BQkxFKFZJ
REVPX1BSRVNFTlRBVElPTl9NT0RFKSkKICAgICBQbGF5YmFja1Nlc3Npb25NYW5hZ2VyJiBwbGF5
YmFja1Nlc3Npb25NYW5hZ2VyKCk7CiAgICAgVmlkZW9GdWxsc2NyZWVuTWFuYWdlciYgdmlkZW9G
dWxsc2NyZWVuTWFuYWdlcigpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMv
Q2hhbmdlTG9nCmluZGV4IGUyNzg0NTBjNDZiODU5ZmQ4MjE1NjQwMmQxOGFiNjdlM2QxOWM3OTEu
LjE2Mzk4NDY0ZTY3N2U5OGI4MmI5NDQwYzEzNzMyOWViZWQwMjExNjQgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAx
OC0wNC0yMSAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBvcHQgb3V0IG9mIHByb2Nlc3Mgc3dhcCBvbiBuYXZpZ2F0aW9uIGlmIGEgV2ViIElu
c3BlY3RvciBmcm9udGVuZCBpcyBjb25uZWN0ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDg2MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzkx
NTM3Njg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIGEgbmV3IHRlc3QgdGhhdCBjaGVja3Mgd2hldGhlciBhIG5ldyBwcm9jZXNzIGlzIHVzZWQg
Zm9yIG5hdmlnYXRpb24gd2hlbgorICAgICAgICBhbiBJbnNwZWN0b3IgaXMgc2hvd24uIEFsc28g
Y2hlY2sgdGhhdCB0aGUgYmVoYXZpb3IgcmV2ZXJ0cyB0byBub3JtYWwgYWZ0ZXIKKyAgICAgICAg
dGhlIEluc3BlY3RvciBoYXMgYmVlbiBjbG9zZWQuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tOgorCiAyMDE4LTA0
LTIwICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBbR0xJQl0gRVJST1I6IFRocmVhZCB3YXMgdW5hYmxlIHRvIGJlIGRldGFjaGVkIHdoZW4gcnVu
bmluZyAvanNjL3ZtIHRlc3QgaW4gZGVidWcKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW0gYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1t
CmluZGV4IDIwZTMyNzljMTZhMTljNTUxMTQyZGEzMWQ1OGM4MjUwZjAyMzBiM2MuLmViZmJjYWMx
NDc2MzI1Y2Q2NzU3MGE1NjM2NjAyN2YxZThhNWVjOGEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW0KKysr
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2
aWdhdGlvbi5tbQpAQCAtMjcsNiArMjcsNyBAQAogCiAjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGll
cy5oIgogI2ltcG9ydCAiVGVzdC5oIgorI2ltcG9ydCA8V2ViS2l0L1dLSW5zcGVjdG9yLmg+CiAj
aW1wb3J0IDxXZWJLaXQvV0tOYXZpZ2F0aW9uRGVsZWdhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9X
S05hdmlnYXRpb25Qcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tQcmVmZXJlbmNlc1ByaXZh
dGUuaD4KQEAgLTEwMTgsNiArMTAxOSw1OSBAQCBURVNUKFByb2Nlc3NTd2FwLCBMb2FkVW5sb2Fk
KQogICAgIEVYUEVDVF9UUlVFKFtyZWNlaXZlZE1lc3NhZ2VzLmdldCgpWzVdIGlzRXF1YWxUb1N0
cmluZzpAInBzb24xOi8vaG9zdC9tYWluLmh0bWwgLSB1bmxvYWQiIF0pOwogICAgIEVYUEVDVF9U
UlVFKFtyZWNlaXZlZE1lc3NhZ2VzLmdldCgpWzZdIGlzRXF1YWxUb1N0cmluZzpAInBzb24yOi8v
aG9zdC9tYWluLmh0bWwgLSBsb2FkIiBdKTsKIH0KKworVEVTVChQcm9jZXNzU3dhcCwgRGlzYWJs
ZUZvckluc3BlY3RvcikKK3sKKyAgICBhdXRvIHByb2Nlc3NQb29sQ29uZmlndXJhdGlvbiA9IGFk
b3B0TlMoW1tfV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAgICBw
cm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uZ2V0KCkucHJvY2Vzc1N3YXBzT25OYXZpZ2F0aW9uID0g
WUVTOworICAgIGF1dG8gcHJvY2Vzc1Bvb2wgPSBhZG9wdE5TKFtbV0tQcm9jZXNzUG9vbCBhbGxv
Y10gX2luaXRXaXRoQ29uZmlndXJhdGlvbjpwcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uZ2V0KCld
KTsKKworICAgIGF1dG8gd2ViVmlld0NvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3
Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBz
ZXRQcm9jZXNzUG9vbDpwcm9jZXNzUG9vbC5nZXQoKV07CisgICAgUmV0YWluUHRyPFBTT05TY2hl
bWU+IGhhbmRsZXIgPSBhZG9wdE5TKFtbUFNPTlNjaGVtZSBhbGxvY10gaW5pdF0pOworICAgIFt3
ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRVUkxTY2hlbWVIYW5kbGVyOmhhbmRsZXIuZ2V0KCkgZm9y
VVJMU2NoZW1lOkAiUFNPTjEiXTsKKyAgICBbd2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0VVJMU2No
ZW1lSGFuZGxlcjpoYW5kbGVyLmdldCgpIGZvclVSTFNjaGVtZTpAIlBTT04yIl07CisKKyAgICBh
dXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5T
TWFrZVJlY3QoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246d2ViVmlld0NvbmZpZ3VyYXRp
b24uZ2V0KCldKTsKKyAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhbW1BTT05OYXZpZ2F0aW9u
RGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKKyAgICBbd2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdh
dGU6ZGVsZWdhdGUuZ2V0KCldOworCisgICAgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0ID0gW05TVVJM
UmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAInBzb24xOi8vaG9z
dC9tYWluMS5odG1sIl1dOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOworCisg
ICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKKyAgICBkb25lID0gZmFsc2U7CisK
KyAgICBhdXRvIHBpZDEgPSBbd2ViVmlldyBfd2ViUHJvY2Vzc0lkZW50aWZpZXJdOworCisgICAg
Ly8gRklYTUU6IHVzZSBPYmpDIGVxdWl2YWxlbnQgZm9yIFdLSW5zcGVjdG9yUmVmIHdoZW4gYXZh
aWxhYmxlLgorICAgIFdLUmV0YWluUHRyPFdLUGFnZVJlZj4gcGFnZSA9IGFkb3B0V0soW3dlYlZp
ZXcgX3BhZ2VSZWZGb3JUcmFuc2l0aW9uVG9XS1dlYlZpZXddKTsKKyAgICBXS1JldGFpblB0cjxX
S0luc3BlY3RvclJlZj4gaW5zcGVjdG9yID0gYWRvcHRXSyhXS1BhZ2VHZXRJbnNwZWN0b3IocGFn
ZS5nZXQoKSkpOworICAgIFdLSW5zcGVjdG9yU2hvdyhpbnNwZWN0b3IuZ2V0KCkpOworICAgIAor
ICAgIHJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRo
U3RyaW5nOkAicHNvbjI6Ly9ob3N0L21haW4yLmh0bWwiXV07CisgICAgW3dlYlZpZXcgbG9hZFJl
cXVlc3Q6cmVxdWVzdF07CisKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOwor
ICAgIGRvbmUgPSBmYWxzZTsKKworICAgIGF1dG8gcGlkMiA9IFt3ZWJWaWV3IF93ZWJQcm9jZXNz
SWRlbnRpZmllcl07CisKKyAgICBXS0luc3BlY3RvckNsb3NlKGluc3BlY3Rvci5nZXQoKSk7CisK
KyAgICByZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0
aFN0cmluZzpAInBzb24xOi8vaG9zdC9tYWluMi5odG1sIl1dOworICAgIFt3ZWJWaWV3IGxvYWRS
ZXF1ZXN0OnJlcXVlc3RdOworCisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsK
KyAgICBkb25lID0gZmFsc2U7CisKKyAgICBhdXRvIHBpZDMgPSBbd2ViVmlldyBfd2ViUHJvY2Vz
c0lkZW50aWZpZXJdOworCisgICAgRVhQRUNUX0VRKHBpZDEsIHBpZDIpOworICAgIEVYUEVDVF9G
QUxTRShwaWQyID09IHBpZDMpOworICAgIEVYUEVDVF9FUShudW1iZXJPZkRlY2lkZVBvbGljeUNh
bGxzLCAzKTsKK30KKwogI2VuZGlmIC8vICFUQVJHRVRfT1NfSVBIT05FCiAKICNlbmRpZiAvLyBX
S19BUElfRU5BQkxFRAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>339615</attachid>
            <date>2018-05-04 17:06:03 -0700</date>
            <delta_ts>2018-05-07 10:10:40 -0700</delta_ts>
            <desc>Fix API Test</desc>
            <filename>bug-184861-20180504170602.patch</filename>
            <type>text/plain</type>
            <size>14718</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxMzkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjcwYzU5M2MxMTE5ODZk
M2I3ZTNhOTI1YzAyNWU3YmFiMDdhNTNjMy4uZWM3MTY4ZDQzMWQ3YjBiNGNmMGQ5NDk4Y2RhZDI1
MWMzOTlkYzIxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE4LTA0LTIxICBCcmlh
biBCdXJnICA8YmJ1cmdAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IG9wdCBv
dXQgb2YgcHJvY2VzcyBzd2FwIG9uIG5hdmlnYXRpb24gaWYgYSBXZWIgSW5zcGVjdG9yIGZyb250
ZW5kIGlzIGNvbm5lY3RlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTg0ODYxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zOTE1Mzc2OD4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOb3RpZnkgdGhlIGNs
aWVudCBvZiB0aGUgY3VycmVudCBjb25uZWN0aW9uIGNvdW50IHdoZW5ldmVyIGEgZnJvbnRlbmQg
Y29ubmVjdHMgb3IgZGlzY29ubmVjdHMuCisKKyAgICAgICAgQ292ZXJlZCBieSBuZXcgQVBJIHRl
c3QuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ2xpZW50Lmg6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JDbGllbnQ6OmZyb250ZW5kQ291bnRDaGFuZ2VkKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0RnJvbnRlbmQpOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlzY29ubmVjdEZyb250ZW5kKToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmRpc2Nvbm5lY3RBbGxGcm9udGVuZHMpOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmg6CisKIDIwMTgtMDUtMDQgIFJ5b3N1
a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVuYW1lIERvY3VtZW50T3Jk
ZXJlZE1hcCB0byBUcmVlU2NvcGVPcmRlcmVkTWFwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDhhODA3ZWFiNjkzMmYx
Mzc1Y2JhZWJkNzEzMDBiODlkNzZjNDNlMDcuLmQwZjAwZTgwN2ViNjYxZThjNDkxM2M3NjNiMTAz
ZjQ3OWM2MjQ5YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTgtMDQtMjEgIEJyaWFu
IEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3Rvcjogb3B0IG91
dCBvZiBwcm9jZXNzIHN3YXAgb24gbmF2aWdhdGlvbiBpZiBhIFdlYiBJbnNwZWN0b3IgZnJvbnRl
bmQgaXMgY29ubmVjdGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xODQ4NjEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM5MTUzNzY4PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIG5lZWQgdG8gdHJh
Y2sgaG93IG1hbnkgZnJvbnRlbmRzIGFyZSBhdHRhY2hlZCB0byB0aGUgd2ViIHBhZ2UgKGJvdGgg
bG9jYWwgYW5kIHJlbW90ZSkuCisgICAgICAgIEluc3BlY3RvckNvbnRyb2xsZXIgcHJvcGFnYXRl
cyB0aGlzIG91dCB0byBXZWJLaXQgdmlhIEluc3BlY3RvckNsaWVudC4gVGhpcyBpcyB0aGVuCisg
ICAgICAgIGtlcHQgaW4gVUlQcm9jZXNzIGFzIGEgbWVtYmVyIG9mIFdlYlBhZ2VQcm94eS4gV2hl
biBtYWtpbmcgYSBkZWNpc2lvbiB3aGV0aGVyIHRvIHVzZSBhCisgICAgICAgIG5ldyBwcm9jZXNz
IGZvciBhIG5hdmlnYXRpb24sIHJldHVybiBlYXJseSB3aXRoICJubyIgaWYgYW55IGZyb250ZW5k
cyBhcmUgb3BlbiBmb3IgdGhlCisgICAgICAgIHBhZ2UgYmVpbmcgbmF2aWdhdGVkLgorCisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
UHJveHk6OmRpZENoYW5nZUluc3BlY3RvckZyb250ZW5kQ291bnQpOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlUHJveHk6Omluc3BlY3RvckZyb250ZW5kQ291bnQgY29uc3QpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNz
L1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnBy
b2Nlc3NGb3JOYXZpZ2F0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkluc3BlY3RvckNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvckNs
aWVudDo6ZnJvbnRlbmRDb3VudENoYW5nZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjppbnNwZWN0b3JGcm9u
dGVuZENvdW50Q2hhbmdlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aDoKKwogMjAxOC0wNS0wNCAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgU2h1dGRvd24gV2luZG93U2VydmVyIGNvbm5lY3Rpb25zIGFmdGVyIGNoZWNraW5n
IGluIHdpdGggbGF1bmNoIHNlcnZpY2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQ2xpZW50LmgKaW5kZXggYjVlYTRiMjY0MmE3NjI3NTI5NWY2M2Y5NmRkMDg0YjQ3OGE4ZDVj
Mi4uNzM2ZWRjYWQxMjlhNjFhYjdiNWU5NDcxMTFkNmFiZjY5OTMwNjViYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDbGllbnQuaApAQCAtNDQsNiArNDQsNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yQ2xpZW50KCkgPSBkZWZhdWx0OwogCiAgICAgdmly
dHVhbCB2b2lkIGluc3BlY3RlZFBhZ2VEZXN0cm95ZWQoKSA9IDA7CisgICAgdmlydHVhbCB2b2lk
IGZyb250ZW5kQ291bnRDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KIAogICAgIHZpcnR1YWwgSW5zcGVj
dG9yOjpGcm9udGVuZENoYW5uZWwqIG9wZW5Mb2NhbEZyb250ZW5kKEluc3BlY3RvckNvbnRyb2xs
ZXIqKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGJyaW5nRnJvbnRlbmRUb0Zyb250KCkgPSAwOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCmlu
ZGV4IGU5ZWExYzVmZmNiMjczNjMyNTA4Mjg3ZDg1N2U0MmZiYTViNTQxYzEuLjIwZWIxMGZhNWRi
OGIzN2FlNzA2ODdmMWFhODY1NzIzNTJjOGQ0NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTI3NCw2ICsyNzQsOCBAQCB2b2lk
IEluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9udGVuZChJbnNwZWN0b3I6OkZyb250ZW5k
Q2hhbm5lbCogZnJvbnRlbmRDaAogICAgICAgICBtX2FnZW50cy5kaWRDcmVhdGVGcm9udGVuZEFu
ZEJhY2tlbmQoJm1fZnJvbnRlbmRSb3V0ZXIuZ2V0KCksICZtX2JhY2tlbmREaXNwYXRjaGVyLmdl
dCgpKTsKICAgICB9CiAKKyAgICBtX2luc3BlY3RvckNsaWVudC0+ZnJvbnRlbmRDb3VudENoYW5n
ZWQobV9mcm9udGVuZFJvdXRlci0+ZnJvbnRlbmRDb3VudCgpKTsKKwogI2lmIEVOQUJMRShSRU1P
VEVfSU5TUEVDVE9SKQogICAgIGlmICghbV9mcm9udGVuZFJvdXRlci0+aGFzUmVtb3RlRnJvbnRl
bmQoKSkKICAgICAgICAgbV9wYWdlLnJlbW90ZUluc3BlY3RvckluZm9ybWF0aW9uRGlkQ2hhbmdl
KCk7CkBAIC0zMDIsNiArMzA0LDggQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpkaXNjb25u
ZWN0RnJvbnRlbmQoRnJvbnRlbmRDaGFubmVsKiBmcm9udGVuZENoYW5uZWwpCiAgICAgICAgIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6dW5yZWdpc3Rlckluc3RydW1lbnRpbmdBZ2VudHMobV9p
bnN0cnVtZW50aW5nQWdlbnRzLmdldCgpKTsKICAgICB9CiAKKyAgICBtX2luc3BlY3RvckNsaWVu
dC0+ZnJvbnRlbmRDb3VudENoYW5nZWQobV9mcm9udGVuZFJvdXRlci0+ZnJvbnRlbmRDb3VudCgp
KTsKKwogI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQogICAgIGlmICghbV9mcm9udGVuZFJv
dXRlci0+aGFzRnJvbnRlbmRzKCkpCiAgICAgICAgIG1fcGFnZS5yZW1vdGVJbnNwZWN0b3JJbmZv
cm1hdGlvbkRpZENoYW5nZSgpOwpAQCAtMzM4LDYgKzM0Miw4IEBAIHZvaWQgSW5zcGVjdG9yQ29u
dHJvbGxlcjo6ZGlzY29ubmVjdEFsbEZyb250ZW5kcygpCiAgICAgbV9pc0F1dG9tYXRpY0luc3Bl
Y3Rpb24gPSBmYWxzZTsKICAgICBtX3BhdXNlQWZ0ZXJJbml0aWFsaXphdGlvbiA9IGZhbHNlOwog
CisgICAgbV9pbnNwZWN0b3JDbGllbnQtPmZyb250ZW5kQ291bnRDaGFuZ2VkKG1fZnJvbnRlbmRS
b3V0ZXItPmZyb250ZW5kQ291bnQoKSk7CisKICNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikK
ICAgICBtX3BhZ2UucmVtb3RlSW5zcGVjdG9ySW5mb3JtYXRpb25EaWRDaGFuZ2UoKTsKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xs
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKaW5k
ZXggOWExMjllMGRjOTUwMTRkMDE3OGI2YjI1OTlmOTUxYTVkNzY0ZTgyNi4uYjQ1ZDZhMzA1Mzc2
MDdkMTIyY2ZjOTZlMmM5MzViNTgwZjA3ZWVjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCkBAIC05NCw3ICs5NCw2IEBAIHB1YmxpYzoKICAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIGNvbm5lY3RGcm9udGVuZChJbnNwZWN0b3I6OkZyb250ZW5k
Q2hhbm5lbCosIGJvb2wgaXNBdXRvbWF0aWNJbnNwZWN0aW9uID0gZmFsc2UsIGJvb2wgaW1tZWRp
YXRlbHlQYXVzZSA9IGZhbHNlKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRpc2Nvbm5lY3RG
cm9udGVuZChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCopOwogICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgZGlzY29ubmVjdEFsbEZyb250ZW5kcygpOwotICAgIHZvaWQgc2V0UHJvY2Vzc0lkKGxv
bmcpOwogCiAgICAgdm9pZCBpbnNwZWN0KE5vZGUqKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IGRyYXdIaWdobGlnaHQoR3JhcGhpY3NDb250ZXh0JikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDlkMTM1NWQwY2Q3YzlkYWViYmI4MzcxNzZkNzQ3ZjNk
ZjU3ZWJhZWQuLjU2MWQyYjNmZDA2NDEzMzhiYTlhYjM0ODI5YzI2OThlODEyYWQxNTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0zNjIsNiArMzYyLDkgQEAgcHVi
bGljOgogCiAgICAgV2ViSW5zcGVjdG9yUHJveHkqIGluc3BlY3RvcigpIGNvbnN0OwogCisgICAg
dm9pZCBkaWRDaGFuZ2VJbnNwZWN0b3JGcm9udGVuZENvdW50KHVuc2lnbmVkIGNvdW50KSB7IG1f
aW5zcGVjdG9yRnJvbnRlbmRDb3VudCA9IGNvdW50OyB9CisgICAgdW5zaWduZWQgaW5zcGVjdG9y
RnJvbnRlbmRDb3VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yRnJvbnRlbmRDb3VudDsg
fQorCiAgICAgYm9vbCBpc0NvbnRyb2xsZWRCeUF1dG9tYXRpb24oKSBjb25zdCB7IHJldHVybiBt
X2NvbnRyb2xsZWRCeUF1dG9tYXRpb247IH0KICAgICB2b2lkIHNldENvbnRyb2xsZWRCeUF1dG9t
YXRpb24oYm9vbCk7CiAKQEAgLTIwMDksNiArMjAxMiw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBt
X2FsbG93c1JlbW90ZUluc3BlY3Rpb24geyB0cnVlIH07CiAgICAgU3RyaW5nIG1fcmVtb3RlSW5z
cGVjdGlvbk5hbWVPdmVycmlkZTsKICNlbmRpZgorICAgIHVuc2lnbmVkIG1faW5zcGVjdG9yRnJv
bnRlbmRDb3VudCB7IDAgfTsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIGJvb2wgbV9pc1Nt
YXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZCB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggYWM3YWE3NjA1NTc0OTdkNGI2
ZmYyOThjZThkNGQ0OWQ0ZWU4Yzk5NS4uOTk5Njc4ZDA3ZGYxMmM3YjAwYmVhNGM5OTY1OGM3YzEy
OGQwNGE5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5t
ZXNzYWdlcy5pbgpAQCAtNDEwLDYgKzQxMCw4IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7
CiAgICAgRGlzYWJsZUluc3BlY3Rvck5vZGVTZWFyY2goKQogI2VuZGlmCiAKKyAgICBEaWRDaGFu
Z2VJbnNwZWN0b3JGcm9udGVuZENvdW50KHVpbnQ2NF90IGNvdW50KQorCiAgICAgIyBTZWFyY2gg
cG9wdXAgbWVudXMKICAgICBTYXZlUmVjZW50U2VhcmNoZXMoU3RyaW5nIG5hbWUsIFZlY3RvcjxX
ZWJDb3JlOjpSZWNlbnRTZWFyY2g+IHNlYXJjaEl0ZW1zKQogICAgIExvYWRSZWNlbnRTZWFyY2hl
cyhTdHJpbmcgbmFtZSkgLT4gKFZlY3RvcjxXZWJDb3JlOjpSZWNlbnRTZWFyY2g+IHJlc3VsdCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAppbmRleCBhNjNjNzVi
MDgxMWU3ZDc1N2UzYTc1ZWEzNDk1ZjVmODMwNWZlYzFlLi41YWJjZjk2ZmU3ODlhYjZjOGY5YTUy
Njc2N2M4ZWRlYjczYTdjMGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Bvb2wuY3BwCkBAIC0yMDc0LDYgKzIwNzQsOSBAQCBSZWY8V2ViUHJvY2Vzc1Byb3h5PiBXZWJQ
cm9jZXNzUG9vbDo6cHJvY2Vzc0Zvck5hdmlnYXRpb25JbnRlcm5hbChXZWJQYWdlUHJveHkmCiAg
ICAgaWYgKCFtX2NvbmZpZ3VyYXRpb24tPnByb2Nlc3NTd2Fwc09uTmF2aWdhdGlvbigpKQogICAg
ICAgICByZXR1cm4gcGFnZS5wcm9jZXNzKCk7CiAKKyAgICBpZiAocGFnZS5pbnNwZWN0b3JGcm9u
dGVuZENvdW50KCkgPiAwKQorICAgICAgICByZXR1cm4gcGFnZS5wcm9jZXNzKCk7CisKICAgICBp
ZiAoIXBhZ2UucHJvY2VzcygpLmhhc0NvbW1pdHRlZEFueVByb3Zpc2lvbmFsTG9hZHMoKSkKICAg
ICAgICAgcmV0dXJuIHBhZ2UucHJvY2VzcygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3Bw
CmluZGV4IGQ1YzkwZTUzNWM3MTU2YmZkOWIyNDdjODAyNzU3MThiOGEyMDJjMjYuLjBmMWQ1M2M0
NDEyYTkzMWU4OTU3OTllODkwYjFjMzFhMDg2MWNhOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGll
bnQuY3BwCkBAIC04NCw2ICs4NCwxMSBAQCB2b2lkIFdlYkluc3BlY3RvckNsaWVudDo6aW5zcGVj
dGVkUGFnZURlc3Ryb3llZCgpCiAgICAgZGVsZXRlIHRoaXM7CiB9CiAKK3ZvaWQgV2ViSW5zcGVj
dG9yQ2xpZW50Ojpmcm9udGVuZENvdW50Q2hhbmdlZCh1bnNpZ25lZCBjb3VudCkKK3sKKyAgICBt
X3BhZ2UtPmluc3BlY3RvckZyb250ZW5kQ291bnRDaGFuZ2VkKGNvdW50KTsKK30KKwogSW5zcGVj
dG9yOjpGcm9udGVuZENoYW5uZWwqIFdlYkluc3BlY3RvckNsaWVudDo6b3BlbkxvY2FsRnJvbnRl
bmQoSW5zcGVjdG9yQ29udHJvbGxlciogY29udHJvbGxlcikKIHsKICAgICBtX3BhZ2UtPmluc3Bl
Y3RvcigpLT5vcGVuRnJvbnRlbmRDb25uZWN0aW9uKGNvbnRyb2xsZXItPmlzVW5kZXJUZXN0KCkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
Ykluc3BlY3RvckNsaWVudC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkluc3BlY3RvckNsaWVudC5oCmluZGV4IDk2YjlhMjYxMzk2MGMyMzY5MGFmMzY4ZWUw
YjVlYmMxMjYxZTZjZDMuLjljMjE0Y2U1YjgyMjY2ZWE2Y2ZmZWRkZTcyMjQ2M2E5MTJhNTY5YjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJ
bnNwZWN0b3JDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmgKQEAgLTUwLDYgKzUwLDcgQEAgcHVibGljOgogcHJp
dmF0ZToKICAgICAvLyBXZWJDb3JlOjpJbnNwZWN0b3JDbGllbnQKICAgICB2b2lkIGluc3BlY3Rl
ZFBhZ2VEZXN0cm95ZWQoKSBvdmVycmlkZTsKKyAgICB2b2lkIGZyb250ZW5kQ291bnRDaGFuZ2Vk
KHVuc2lnbmVkKSBvdmVycmlkZTsKIAogICAgIEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiBv
cGVuTG9jYWxGcm9udGVuZChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyKikgb3ZlcnJpZGU7
CiAgICAgdm9pZCBicmluZ0Zyb250ZW5kVG9Gcm9udCgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBhODI4NzFkNTY5MWZiYTU4
OGRkYjY2NTVjNDM1ZmJlNzFhMTYzOGIwLi4yMWU2ZTJmYmRiZDQ1YzQ2MjE3ZWI3YWU2NzA4ODhl
YmI5ODQzYzI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcApAQCAtMzI2NSw2ICszMjY1LDExIEBAIFJlbW90ZVdlYkluc3BlY3RvclVJKiBXZWJQYWdl
OjpyZW1vdGVJbnNwZWN0b3JVSSgpCiAgICAgcmV0dXJuIG1fcmVtb3RlSW5zcGVjdG9yVUkuZ2V0
KCk7CiB9CiAKK3ZvaWQgV2ViUGFnZTo6aW5zcGVjdG9yRnJvbnRlbmRDb3VudENoYW5nZWQodW5z
aWduZWQgY291bnQpCit7CisgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRDaGFu
Z2VJbnNwZWN0b3JGcm9udGVuZENvdW50KGNvdW50KSk7Cit9CisKICNpZiAoUExBVEZPUk0oSU9T
KSAmJiBIQVZFKEFWS0lUKSkgfHwgKFBMQVRGT1JNKE1BQykgJiYgRU5BQkxFKFZJREVPX1BSRVNF
TlRBVElPTl9NT0RFKSkKIFBsYXliYWNrU2Vzc2lvbk1hbmFnZXImIFdlYlBhZ2U6OnBsYXliYWNr
U2Vzc2lvbk1hbmFnZXIoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5oCmluZGV4IDk3ODBjZmM2YzVhZjg0MGNiZGFmYjFkMDkzZWNhOGU0ZTJlZWYyZjEuLjhl
NTNkYTVjZDNkM2RmYmY4NTI3YmQ4ZmM5ZThiMmExNGYxMzQ1NWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTI5MCw2ICsyOTAsOCBAQCBwdWJsaWM6
CiAgICAgUmVtb3RlV2ViSW5zcGVjdG9yVUkqIHJlbW90ZUluc3BlY3RvclVJKCk7CiAgICAgYm9v
bCBpc0luc3BlY3RvclBhZ2UoKSB7IHJldHVybiAhIW1faW5zcGVjdG9yVUkgfHwgISFtX3JlbW90
ZUluc3BlY3RvclVJOyB9CiAKKyAgICB2b2lkIGluc3BlY3RvckZyb250ZW5kQ291bnRDaGFuZ2Vk
KHVuc2lnbmVkKTsKKwogI2lmIFBMQVRGT1JNKElPUykgfHwgKFBMQVRGT1JNKE1BQykgJiYgRU5B
QkxFKFZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSkKICAgICBQbGF5YmFja1Nlc3Npb25NYW5hZ2Vy
JiBwbGF5YmFja1Nlc3Npb25NYW5hZ2VyKCk7CiAgICAgVmlkZW9GdWxsc2NyZWVuTWFuYWdlciYg
dmlkZW9GdWxsc2NyZWVuTWFuYWdlcigpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDUzMTZmNjQ2NWM2YTlkMjI2YTQ4YTFiNGZiNTNhMWRlNzI1
MzEwMGMuLmU4NmU2OWE5NjkxODUyNDAwNjgwMzIwZTQwM2VhMWFjMWFiYWVjZDIgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBA
QAorMjAxOC0wNC0yMSAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KKworICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBvcHQgb3V0IG9mIHByb2Nlc3Mgc3dhcCBvbiBuYXZpZ2F0aW9uIGlmIGEg
V2ViIEluc3BlY3RvciBmcm9udGVuZCBpcyBjb25uZWN0ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDg2MQorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vMzkxNTM3Njg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIGEgbmV3IHRlc3QgdGhhdCBjaGVja3Mgd2hldGhlciBhIG5ldyBwcm9jZXNzIGlz
IHVzZWQgZm9yIG5hdmlnYXRpb24gd2hlbgorICAgICAgICBhbiBJbnNwZWN0b3IgaXMgc2hvd24u
IEFsc28gY2hlY2sgdGhhdCB0aGUgYmVoYXZpb3IgcmV2ZXJ0cyB0byBub3JtYWwgYWZ0ZXIKKyAg
ICAgICAgdGhlIEluc3BlY3RvciBoYXMgYmVlbiBjbG9zZWQuCisKKyAgICAgICAgKiBUZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tOgorCiAy
MDE4LTA1LTA0ICBUaW1vdGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KIAogICAgICAg
ICBEZXByZWNhdGUgbGVnYWN5IFdlYlZpZXcgYW5kIGZyaWVuZHMKZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24u
bW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25O
YXZpZ2F0aW9uLm1tCmluZGV4IGMyZDlkNTIxZWEwNWNjNWE2MmI1N2MyZmUyMGI2OWY0MWQxZTY2
ZjEuLjVkYjZiODU1NjhjZWFkMDVmYWE3OTlhMzQ1Yjk0MGIzMzUwODNmNDQgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmln
YXRpb24ubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Qcm9j
ZXNzU3dhcE9uTmF2aWdhdGlvbi5tbQpAQCAtMjcsNiArMjcsNyBAQAogCiAjaW1wb3J0ICJQbGF0
Zm9ybVV0aWxpdGllcy5oIgogI2ltcG9ydCAiVGVzdC5oIgorI2ltcG9ydCA8V2ViS2l0L1dLSW5z
cGVjdG9yLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tOYXZpZ2F0aW9uRGVsZWdhdGUuaD4KICNpbXBv
cnQgPFdlYktpdC9XS05hdmlnYXRpb25Qcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tQcmVm
ZXJlbmNlc1ByaXZhdGUuaD4KQEAgLTEwNjYsNiArMTA2Nyw1OSBAQCBURVNUKFByb2Nlc3NTd2Fw
LCBMb2FkVW5sb2FkKQogICAgIEVYUEVDVF9UUlVFKFtyZWNlaXZlZE1lc3NhZ2VzLmdldCgpWzVd
IGlzRXF1YWxUb1N0cmluZzpAInBzb24xOi8vaG9zdC9tYWluLmh0bWwgLSB1bmxvYWQiIF0pOwog
ICAgIEVYUEVDVF9UUlVFKFtyZWNlaXZlZE1lc3NhZ2VzLmdldCgpWzZdIGlzRXF1YWxUb1N0cmlu
ZzpAInBzb24yOi8vaG9zdC9tYWluLmh0bWwgLSBsb2FkIiBdKTsKIH0KKworVEVTVChQcm9jZXNz
U3dhcCwgRGlzYWJsZUZvckluc3BlY3RvcikKK3sKKyAgICBhdXRvIHByb2Nlc3NQb29sQ29uZmln
dXJhdGlvbiA9IGFkb3B0TlMoW1tfV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24gYWxsb2NdIGlu
aXRdKTsKKyAgICBwcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uZ2V0KCkucHJvY2Vzc1N3YXBzT25O
YXZpZ2F0aW9uID0gWUVTOworICAgIGF1dG8gcHJvY2Vzc1Bvb2wgPSBhZG9wdE5TKFtbV0tQcm9j
ZXNzUG9vbCBhbGxvY10gX2luaXRXaXRoQ29uZmlndXJhdGlvbjpwcm9jZXNzUG9vbENvbmZpZ3Vy
YXRpb24uZ2V0KCldKTsKKworICAgIGF1dG8gd2ViVmlld0NvbmZpZ3VyYXRpb24gPSBhZG9wdE5T
KFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIFt3ZWJWaWV3Q29u
ZmlndXJhdGlvbiBzZXRQcm9jZXNzUG9vbDpwcm9jZXNzUG9vbC5nZXQoKV07CisgICAgd2ViVmll
d0NvbmZpZ3VyYXRpb24uZ2V0KCkucHJlZmVyZW5jZXMuX2RldmVsb3BlckV4dHJhc0VuYWJsZWQg
PSBZRVM7CisgICAgCisgICAgUmV0YWluUHRyPFBTT05TY2hlbWU+IGhhbmRsZXIgPSBhZG9wdE5T
KFtbUFNPTlNjaGVtZSBhbGxvY10gaW5pdF0pOworICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBz
ZXRVUkxTY2hlbWVIYW5kbGVyOmhhbmRsZXIuZ2V0KCkgZm9yVVJMU2NoZW1lOkAiUFNPTjEiXTsK
KyAgICBbd2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0VVJMU2NoZW1lSGFuZGxlcjpoYW5kbGVyLmdl
dCgpIGZvclVSTFNjaGVtZTpAIlBTT04yIl07CisKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5T
KFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2
MDApIGNvbmZpZ3VyYXRpb246d2ViVmlld0NvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKyAgICBhdXRv
IGRlbGVnYXRlID0gYWRvcHROUyhbW1BTT05OYXZpZ2F0aW9uRGVsZWdhdGUgYWxsb2NdIGluaXRd
KTsKKyAgICBbd2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOwor
CisgICAgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVS
TDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAInBzb24xOi8vaG9zdC9tYWluMS5odG1sIl1dOworICAg
IFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOworCisgICAgVGVzdFdlYktpdEFQSTo6VXRp
bDo6cnVuKCZkb25lKTsKKyAgICBkb25lID0gZmFsc2U7CisKKyAgICBhdXRvIHBpZDEgPSBbd2Vi
VmlldyBfd2ViUHJvY2Vzc0lkZW50aWZpZXJdOworCisgICAgLy8gRklYTUU6IHVzZSBPYmpDIGVx
dWl2YWxlbnQgZm9yIFdLSW5zcGVjdG9yUmVmIHdoZW4gYXZhaWxhYmxlLgorICAgIFdLSW5zcGVj
dG9yU2hvdyhXS1BhZ2VHZXRJbnNwZWN0b3IoW3dlYlZpZXcgX3BhZ2VSZWZGb3JUcmFuc2l0aW9u
VG9XS1dlYlZpZXddKSk7CisKKyAgICByZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0
aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAInBzb24yOi8vaG9zdC9tYWluMi5odG1sIl1dOwor
ICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOworCisgICAgVGVzdFdlYktpdEFQSTo6
VXRpbDo6cnVuKCZkb25lKTsKKyAgICBkb25lID0gZmFsc2U7CisKKyAgICBhdXRvIHBpZDIgPSBb
d2ViVmlldyBfd2ViUHJvY2Vzc0lkZW50aWZpZXJdOworCisgICAgV0tJbnNwZWN0b3JDbG9zZShX
S1BhZ2VHZXRJbnNwZWN0b3IoW3dlYlZpZXcgX3BhZ2VSZWZGb3JUcmFuc2l0aW9uVG9XS1dlYlZp
ZXddKSk7CisKKyAgICByZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNV
UkwgVVJMV2l0aFN0cmluZzpAInBzb24xOi8vaG9zdC9tYWluMi5odG1sIl1dOworICAgIFt3ZWJW
aWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOworCisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVu
KCZkb25lKTsKKyAgICBkb25lID0gZmFsc2U7CisKKyAgICBhdXRvIHBpZDMgPSBbd2ViVmlldyBf
d2ViUHJvY2Vzc0lkZW50aWZpZXJdOworCisgICAgRVhQRUNUX0VRKHBpZDEsIHBpZDIpOworICAg
IEVYUEVDVF9GQUxTRShwaWQyID09IHBpZDMpOworICAgIEVYUEVDVF9FUShudW1iZXJPZkRlY2lk
ZVBvbGljeUNhbGxzLCAzKTsKK30KKwogI2VuZGlmIC8vICFUQVJHRVRfT1NfSVBIT05FCiAKIHN0
YXRpYyBjb25zdCBjaGFyKiBzYW1lT3JpZ2luQmxvYk5hdmlnYXRpb25UZXN0Qnl0ZXMgPSBSIlBT
T05SRVNPVVJDRSgK
</data>

          </attachment>
      

    </bug>

</bugzilla>