<?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>195740</bug_id>
          
          <creation_ts>2019-03-14 03:17:25 -0700</creation_ts>
          <short_desc>[Win][MinBrowser][WK2] Implement createNewPage of WKPageUIClient to open a new window</short_desc>
          <delta_ts>2019-03-14 19:17:22 -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>Tools / Tests</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="Fujii Hironori">fujii</reporter>
          <assigned_to name="Fujii Hironori">fujii</assigned_to>
          <cc>don.olmstead</cc>
    
    <cc>lforschler</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1516475</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-03-14 03:17:25 -0700</bug_when>
    <thetext>[Win][MinBrowser][WK2] Implement createNewPage of WKPageUIClient to open a new window</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516476</commentid>
    <comment_count>1</comment_count>
      <attachid>364652</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-03-14 03:31:48 -0700</bug_when>
    <thetext>Created attachment 364652
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516546</commentid>
    <comment_count>2</comment_count>
      <attachid>364652</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-03-14 11:27:39 -0700</bug_when>
    <thetext>Comment on attachment 364652
Patch

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

Seems fine overall from my perspective.

&gt; Tools/MiniBrowser/win/MainWindow.h:36
&gt; +    using BrowserWindowFactory = std::function&lt;Ref&lt;BrowserWindow&gt;(HWND mainWnd, HWND urlBarWnd, bool usesLayeredWebView, bool pageLoadTesting)&gt;;

Shouldn&apos;t this be WTF::Function?

&gt; Tools/MiniBrowser/win/WebKitBrowserWindow.cpp:304
&gt; +    auto&amp; thisWindow = toWebKitBrowserWindow(clientInfo);

Doesn&apos;t look like you&apos;re using this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516821</commentid>
    <comment_count>3</comment_count>
      <attachid>364652</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-03-14 18:39:37 -0700</bug_when>
    <thetext>Comment on attachment 364652
Patch

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

&gt;&gt; Tools/MiniBrowser/win/MainWindow.h:36
&gt;&gt; +    using BrowserWindowFactory = std::function&lt;Ref&lt;BrowserWindow&gt;(HWND mainWnd, HWND urlBarWnd, bool usesLayeredWebView, bool pageLoadTesting)&gt;;
&gt; 
&gt; Shouldn&apos;t this be WTF::Function?

I prefer std::function to WTF::Function in MiniBrowser for the same reason I prefer std::vector to WTF::Vector.
Bug 189846 Comment 12
Bug 191101 Comment 3

&gt;&gt; Tools/MiniBrowser/win/WebKitBrowserWindow.cpp:304
&gt;&gt; +    auto&amp; thisWindow = toWebKitBrowserWindow(clientInfo);
&gt; 
&gt; Doesn&apos;t look like you&apos;re using this one.

Will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516827</commentid>
    <comment_count>4</comment_count>
      <attachid>364750</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-03-14 18:53:17 -0700</bug_when>
    <thetext>Created attachment 364750
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516841</commentid>
    <comment_count>5</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-03-14 19:16:13 -0700</bug_when>
    <thetext>Committed r242984: &lt;https://trac.webkit.org/changeset/242984&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516842</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-03-14 19:17:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/48912595&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364652</attachid>
            <date>2019-03-14 03:31:48 -0700</date>
            <delta_ts>2019-03-14 18:52:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195740-20190314193147.patch</filename>
            <type>text/plain</type>
            <size>15256</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyOTMxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMmFjZmZkYmIxODlhZTVmMzE2NDg5MDcxODYyNGE2MTE2
ZmI4NDQwNS4uYjdmNDBjM2E0NzMwZDFhZDg4MDU3MTdkOTc2MWIxYWFjMzczOTUyNCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQx
IEBACisyMDE5LTAzLTE0ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29t
PgorCisgICAgICAgIFtXaW5dW01pbkJyb3dzZXJdW1dLMl0gSW1wbGVtZW50IGNyZWF0ZU5ld1Bh
Z2Ugb2YgV0tQYWdlVUlDbGllbnQgdG8gb3BlbiBhIG5ldyB3aW5kb3cKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTc0MAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHdpbmRvdy5vcGVuIGRvZXNuJ3Qgd29y
ayBmb3IgV2ViS2l0QnJvd3NlcldpbmRvdyBiZWNhdXNlIGl0IGlzIG5vdAorICAgICAgICBpbXBs
ZW1lbnRlZCB5ZXQuCisKKyAgICAgICAgMS4gSW1wbGVtZW50ZWQgY3JlYXRlTmV3UGFnZSBjYWxs
YmFjayBvZiBXS1BhZ2VVSUNsaWVudC4KKyAgICAgICAgMi4gQ2hhbmdlZCBNYWluV2luZG93IHRv
IHRha2UgYSBCcm93c2VyV2luZG93IGZhY3RvcnkgZnVuY3Rpb24KKyAgICAgICAgICBpbnN0ZWFk
IG9mIEJyb3dzZXJXaW5kb3dUeXBlIHRvIGJlIGZsZXhpYmxlIHRvIGNyZWF0ZQorICAgICAgICAg
IEJyb3dzZXJXaW5kb3cgd2l0aCBleHRyYSBzZXR0aW5ncy4KKyAgICAgICAgMy4gUmVuYW1lZCBN
YWluV2luZG93OjpCcm93c2VyV2luZG93VHlwZSB0byBCcm93c2VyV2luZG93VHlwZQorICAgICAg
ICAgIGJlY2F1c2UgaXQgaXMgbm90IHJlbGV2YW50IHdpdGggTWFpbldpbmRvdyBhbnltb3JlLgor
CisgICAgICAgICogTWluaUJyb3dzZXIvd2luL0NvbW1vbi5jcHA6CisgICAgICAgIChwYXJzZUNv
bW1hbmRMaW5lKToKKyAgICAgICAgKiBNaW5pQnJvd3Nlci93aW4vQ29tbW9uLmg6CisgICAgICAg
IChDb21tYW5kTGluZU9wdGlvbnM6OkNvbW1hbmRMaW5lT3B0aW9ucyk6CisgICAgICAgICogTWlu
aUJyb3dzZXIvd2luL01haW5XaW5kb3cuY3BwOgorICAgICAgICAoTWFpbldpbmRvdzo6TWFpbldp
bmRvdyk6CisgICAgICAgIChNYWluV2luZG93OjpjcmVhdGUpOgorICAgICAgICAoTWFpbldpbmRv
dzo6aW5pdCk6CisgICAgICAgIChNYWluV2luZG93OjpXbmRQcm9jKToKKyAgICAgICAgKiBNaW5p
QnJvd3Nlci93aW4vTWFpbldpbmRvdy5oOgorICAgICAgICAqIE1pbmlCcm93c2VyL3dpbi9Qcmlu
dFdlYlVJRGVsZWdhdGUuY3BwOgorICAgICAgICAoUHJpbnRXZWJVSURlbGVnYXRlOjpjcmVhdGVX
ZWJWaWV3V2l0aFJlcXVlc3QpOgorICAgICAgICAqIE1pbmlCcm93c2VyL3dpbi9XZWJLaXRCcm93
c2VyV2luZG93LmNwcDoKKyAgICAgICAgKFdlYktpdEJyb3dzZXJXaW5kb3c6OmNyZWF0ZSk6IE1v
dmVkIFdLUGFnZUNvbmZpZ3VyYXRpb25SZWYgcmVsYXRlZCBjb2RlIGZyb20gV2ViS2l0QnJvd3Nl
cldpbmRvdzo6V2ViS2l0QnJvd3NlcldpbmRvdy4KKyAgICAgICAgKFdlYktpdEJyb3dzZXJXaW5k
b3c6OldlYktpdEJyb3dzZXJXaW5kb3cpOiBBZGRlZCBhIFdLUGFnZUNvbmZpZ3VyYXRpb25SZWYg
cGFyYW1ldGVyLgorICAgICAgICAoV2ViS2l0QnJvd3NlcldpbmRvdzo6dXBkYXRlUHJveHlTZXR0
aW5ncyk6CisgICAgICAgIChXZWJLaXRCcm93c2VyV2luZG93OjpjcmVhdGVOZXdQYWdlKToKKyAg
ICAgICAgKiBNaW5pQnJvd3Nlci93aW4vV2ViS2l0QnJvd3NlcldpbmRvdy5oOgorICAgICAgICAq
IE1pbmlCcm93c2VyL3dpbi9XaW5NYWluLmNwcDoKKyAgICAgICAgKHdXaW5NYWluKToKKwogMjAx
OS0wMy0xMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBh
IFNlcnZpY2VXb3JrZXIgcHJvY2VzcyBwZXIgcmVnaXN0cmFibGUgZG9tYWluCmRpZmYgLS1naXQg
YS9Ub29scy9NaW5pQnJvd3Nlci93aW4vQ29tbW9uLmNwcCBiL1Rvb2xzL01pbmlCcm93c2VyL3dp
bi9Db21tb24uY3BwCmluZGV4IGVkNDlkYzRhNjc4YzlmZjcyZGM4MmRhZTYwNDExYWFhM2RjNTEz
ZTcuLjBlMGY0NjQ2YzdjNDJhYTMyODlmNDJmMzc0ZTI0MjI1MDg4MmZlNTAgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL01pbmlCcm93c2VyL3dpbi9Db21tb24uY3BwCisrKyBiL1Rvb2xzL01pbmlCcm93c2Vy
L3dpbi9Db21tb24uY3BwCkBAIC0yNDUsMTAgKzI0NSwxMCBAQCBDb21tYW5kTGluZU9wdGlvbnMg
cGFyc2VDb21tYW5kTGluZSgpCiAgICAgICAgIGVsc2UgaWYgKCF3Y3NpY21wKGFyZ3ZbaV0sIEwi
LS1wZXJmb3JtYW5jZSIpKQogICAgICAgICAgICAgb3B0aW9ucy5wYWdlTG9hZFRlc3RpbmcgPSB0
cnVlOwogICAgICAgICBlbHNlIGlmICghd2NzaWNtcChhcmd2W2ldLCBMIi0td2sxIikgfHwgIXdj
c2ljbXAoYXJndltpXSwgTCItLWxlZ2FjeSIpKQotICAgICAgICAgICAgb3B0aW9ucy53aW5kb3dU
eXBlID0gTWFpbldpbmRvdzo6QnJvd3NlcldpbmRvd1R5cGU6OldlYktpdExlZ2FjeTsKKyAgICAg
ICAgICAgIG9wdGlvbnMud2luZG93VHlwZSA9IEJyb3dzZXJXaW5kb3dUeXBlOjpXZWJLaXRMZWdh
Y3k7CiAjaWYgRU5BQkxFKFdFQktJVCkKICAgICAgICAgZWxzZSBpZiAoIXdjc2ljbXAoYXJndltp
XSwgTCItLXdrMiIpIHx8ICF3Y3NpY21wKGFyZ3ZbaV0sIEwiLS13ZWJraXQiKSkKLSAgICAgICAg
ICAgIG9wdGlvbnMud2luZG93VHlwZSA9IE1haW5XaW5kb3c6OkJyb3dzZXJXaW5kb3dUeXBlOjpX
ZWJLaXQ7CisgICAgICAgICAgICBvcHRpb25zLndpbmRvd1R5cGUgPSBCcm93c2VyV2luZG93VHlw
ZTo6V2ViS2l0OwogI2VuZGlmCiAgICAgICAgIGVsc2UgaWYgKCFvcHRpb25zLnJlcXVlc3RlZFVS
TCkKICAgICAgICAgICAgIG9wdGlvbnMucmVxdWVzdGVkVVJMID0gYXJndltpXTsKZGlmZiAtLWdp
dCBhL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9Db21tb24uaCBiL1Rvb2xzL01pbmlCcm93c2VyL3dp
bi9Db21tb24uaAppbmRleCBkOGNjYjI4Y2U4MzRkODA3ZjAxYWQyMTJjOGE4ZjQ3Yjc1Yjg4ZTg2
Li5iZWJhZTMyYzc2YzQxYjU2M2I0MDAyODc4M2IzMjk5MjQ5YTI2ZWUzIDEwMDY0NAotLS0gYS9U
b29scy9NaW5pQnJvd3Nlci93aW4vQ29tbW9uLmgKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvd2lu
L0NvbW1vbi5oCkBAIC0yOSwxOCArMjksMjMgQEAKICNpbmNsdWRlICJNYWluV2luZG93LmgiCiAj
aW5jbHVkZSAiV2ViS2l0TGVnYWN5QnJvd3NlcldpbmRvdy5oIgogCitlbnVtIGNsYXNzIEJyb3dz
ZXJXaW5kb3dUeXBlIHsKKyAgICBXZWJLaXQsCisgICAgV2ViS2l0TGVnYWN5Cit9OworCiBzdHJ1
Y3QgQ29tbWFuZExpbmVPcHRpb25zIHsKICAgICBib29sIHVzZXNMYXllcmVkV2ViVmlldyB7IH07
CiAgICAgYm9vbCB1c2VGdWxsRGVza3RvcCB7IH07CiAgICAgYm9vbCBwYWdlTG9hZFRlc3Rpbmcg
eyB9OwotICAgIE1haW5XaW5kb3c6OkJyb3dzZXJXaW5kb3dUeXBlIHdpbmRvd1R5cGU7CisgICAg
QnJvd3NlcldpbmRvd1R5cGUgd2luZG93VHlwZTsKICAgICBfYnN0cl90IHJlcXVlc3RlZFVSTDsK
IAogICAgIENvbW1hbmRMaW5lT3B0aW9ucygpCiAjaWYgRU5BQkxFKFdFQktJVCkKLSAgICAgICAg
OiB3aW5kb3dUeXBlKE1haW5XaW5kb3c6OkJyb3dzZXJXaW5kb3dUeXBlOjpXZWJLaXQpCisgICAg
ICAgIDogd2luZG93VHlwZShCcm93c2VyV2luZG93VHlwZTo6V2ViS2l0KQogI2Vsc2UKLSAgICAg
ICAgOiB3aW5kb3dUeXBlKE1haW5XaW5kb3c6OkJyb3dzZXJXaW5kb3dUeXBlOjpXZWJLaXRMZWdh
Y3kpCisgICAgICAgIDogd2luZG93VHlwZShCcm93c2VyV2luZG93VHlwZTo6V2ViS2l0TGVnYWN5
KQogI2VuZGlmCiAgICAgewogICAgIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL3dp
bi9NYWluV2luZG93LmNwcCBiL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9NYWluV2luZG93LmNwcApp
bmRleCA3ZjRiZGI0MjdlZmMwN2FkMGVhNDg4MzJmNDllMmZhNzk3NDQ3ZTM1Li5mYmQ2ZTMyZGZm
OTg1NWY2ZWFlNGY2ZThlM2I4Mjc5N2E4Nzc2OTM5IDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJv
d3Nlci93aW4vTWFpbldpbmRvdy5jcHAKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvd2luL01haW5X
aW5kb3cuY3BwCkBAIC04Myw4ICs4Myw3IEBAIHZvaWQgTWFpbldpbmRvdzo6cmVnaXN0ZXJDbGFz
cyhISU5TVEFOQ0UgaEluc3RhbmNlKQogICAgIFJlZ2lzdGVyQ2xhc3NFeCgmd2NleCk7CiB9CiAK
LU1haW5XaW5kb3c6Ok1haW5XaW5kb3coQnJvd3NlcldpbmRvd1R5cGUgdHlwZSkKLSAgICA6IG1f
YnJvd3NlcldpbmRvd1R5cGUodHlwZSkKK01haW5XaW5kb3c6Ok1haW5XaW5kb3coKQogewogICAg
IHNfbnVtSW5zdGFuY2VzKys7CiB9CkBAIC05NCwxMiArOTMsMTIgQEAgTWFpbldpbmRvdzo6fk1h
aW5XaW5kb3coKQogICAgIHNfbnVtSW5zdGFuY2VzLS07CiB9CiAKLVJlZjxNYWluV2luZG93PiBN
YWluV2luZG93OjpjcmVhdGUoQnJvd3NlcldpbmRvd1R5cGUgdHlwZSkKK1JlZjxNYWluV2luZG93
PiBNYWluV2luZG93OjpjcmVhdGUoKQogewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1haW5X
aW5kb3codHlwZSkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1haW5XaW5kb3coKSk7CiB9
CiAKLWJvb2wgTWFpbldpbmRvdzo6aW5pdChISU5TVEFOQ0UgaEluc3RhbmNlLCBib29sIHVzZXNM
YXllcmVkV2ViVmlldywgYm9vbCBwYWdlTG9hZFRlc3RpbmcpCitib29sIE1haW5XaW5kb3c6Omlu
aXQoQnJvd3NlcldpbmRvd0ZhY3RvcnkgZmFjdG9yeSwgSElOU1RBTkNFIGhJbnN0YW5jZSwgYm9v
bCB1c2VzTGF5ZXJlZFdlYlZpZXcsIGJvb2wgcGFnZUxvYWRUZXN0aW5nKQogewogICAgIHJlZ2lz
dGVyQ2xhc3MoaEluc3RhbmNlKTsKIApAQCAtMTIzLDExICsxMjIsNiBAQCBib29sIE1haW5XaW5k
b3c6OmluaXQoSElOU1RBTkNFIGhJbnN0YW5jZSwgYm9vbCB1c2VzTGF5ZXJlZFdlYlZpZXcsIGJv
b2wgcGFnZUxvYQogICAgIERlZkVkaXRQcm9jID0gcmVpbnRlcnByZXRfY2FzdDxXTkRQUk9DPihH
ZXRXaW5kb3dMb25nUHRyKG1faFVSTEJhclduZCwgR1dMUF9XTkRQUk9DKSk7CiAgICAgU2V0V2lu
ZG93TG9uZ1B0cihtX2hVUkxCYXJXbmQsIEdXTFBfV05EUFJPQywgcmVpbnRlcnByZXRfY2FzdDxM
T05HX1BUUj4oRWRpdFByb2MpKTsKIAotICAgIGF1dG8gZmFjdG9yeSA9IFdlYktpdExlZ2FjeUJy
b3dzZXJXaW5kb3c6OmNyZWF0ZTsKLSNpZiBFTkFCTEUoV0VCS0lUKQotICAgIGlmIChtX2Jyb3dz
ZXJXaW5kb3dUeXBlID09IEJyb3dzZXJXaW5kb3dUeXBlOjpXZWJLaXQpCi0gICAgICAgIGZhY3Rv
cnkgPSBXZWJLaXRCcm93c2VyV2luZG93OjpjcmVhdGU7Ci0jZW5kaWYKICAgICBtX2Jyb3dzZXJX
aW5kb3cgPSBmYWN0b3J5KG1faE1haW5XbmQsIG1faFVSTEJhclduZCwgdXNlc0xheWVyZWRXZWJW
aWV3LCBwYWdlTG9hZFRlc3RpbmcpOwogICAgIGlmICghbV9icm93c2VyV2luZG93KQogICAgICAg
ICByZXR1cm4gZmFsc2U7CkBAIC0xODYsMTUgKzE4MCwxNyBAQCBMUkVTVUxUIENBTExCQUNLIE1h
aW5XaW5kb3c6OlduZFByb2MoSFdORCBoV25kLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFyYW0s
IExQQQogICAgICAgICBjYXNlIElEQ19VUkxfQkFSOgogICAgICAgICAgICAgdGhpc1dpbmRvdy0+
b25VUkxCYXJFbnRlcigpOwogICAgICAgICAgICAgYnJlYWs7CisjaWYgRU5BQkxFKFdFQktJVCkK
ICAgICAgICAgY2FzZSBJRE1fTkVXX1dFQktJVF9XSU5ET1c6IHsKLSAgICAgICAgICAgIGF1dG8m
IG5ld1dpbmRvdyA9IE1haW5XaW5kb3c6OmNyZWF0ZShCcm93c2VyV2luZG93VHlwZTo6V2ViS2l0
KS5sZWFrUmVmKCk7Ci0gICAgICAgICAgICBuZXdXaW5kb3cuaW5pdChoSW5zdCk7CisgICAgICAg
ICAgICBhdXRvJiBuZXdXaW5kb3cgPSBNYWluV2luZG93OjpjcmVhdGUoKS5sZWFrUmVmKCk7Cisg
ICAgICAgICAgICBuZXdXaW5kb3cuaW5pdChXZWJLaXRCcm93c2VyV2luZG93OjpjcmVhdGUsIGhJ
bnN0KTsKICAgICAgICAgICAgIFNob3dXaW5kb3cobmV3V2luZG93Lmh3bmQoKSwgU1dfU0hPVyk7
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIGNhc2UgSURN
X05FV19XRUJLSVRMRUdBQ1lfV0lORE9XOiB7Ci0gICAgICAgICAgICBhdXRvJiBuZXdXaW5kb3cg
PSBNYWluV2luZG93OjpjcmVhdGUoQnJvd3NlcldpbmRvd1R5cGU6OldlYktpdExlZ2FjeSkubGVh
a1JlZigpOwotICAgICAgICAgICAgbmV3V2luZG93LmluaXQoaEluc3QpOworICAgICAgICAgICAg
YXV0byYgbmV3V2luZG93ID0gTWFpbldpbmRvdzo6Y3JlYXRlKCkubGVha1JlZigpOworICAgICAg
ICAgICAgbmV3V2luZG93LmluaXQoV2ViS2l0TGVnYWN5QnJvd3NlcldpbmRvdzo6Y3JlYXRlLCBo
SW5zdCk7CiAgICAgICAgICAgICBTaG93V2luZG93KG5ld1dpbmRvdy5od25kKCksIFNXX1NIT1cp
OwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlC
cm93c2VyL3dpbi9NYWluV2luZG93LmggYi9Ub29scy9NaW5pQnJvd3Nlci93aW4vTWFpbldpbmRv
dy5oCmluZGV4IDk3MDIxYjZkZjg0YTQxMzg1NTY5MjI4MmI4ZjNjYzRlMDRjNTUyMzEuLmI5OWQ5
NjQ3ZWY3YzgzNzdmZDBmZjdkZDViM2IzZjJiOWRkMThlOWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01p
bmlCcm93c2VyL3dpbi9NYWluV2luZG93LmgKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvd2luL01h
aW5XaW5kb3cuaApAQCAtMjYsMjAgKzI2LDE5IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUg
IkJyb3dzZXJXaW5kb3cuaCIKKyNpbmNsdWRlIDxmdW5jdGlvbmFsPgogI2luY2x1ZGUgPG1lbW9y
eT4KICNpbmNsdWRlIDxzdHJpbmc+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBjbGFzcyBN
YWluV2luZG93IDogcHVibGljIFJlZkNvdW50ZWQ8TWFpbldpbmRvdz4gewogcHVibGljOgotICAg
IGVudW0gY2xhc3MgQnJvd3NlcldpbmRvd1R5cGUgewotICAgICAgICBXZWJLaXQsCi0gICAgICAg
IFdlYktpdExlZ2FjeQotICAgIH07Ci0gICAgc3RhdGljIFJlZjxNYWluV2luZG93PiBjcmVhdGUo
QnJvd3NlcldpbmRvd1R5cGUpOworICAgIHVzaW5nIEJyb3dzZXJXaW5kb3dGYWN0b3J5ID0gc3Rk
OjpmdW5jdGlvbjxSZWY8QnJvd3NlcldpbmRvdz4oSFdORCBtYWluV25kLCBIV05EIHVybEJhcldu
ZCwgYm9vbCB1c2VzTGF5ZXJlZFdlYlZpZXcsIGJvb2wgcGFnZUxvYWRUZXN0aW5nKT47CisKKyAg
ICBzdGF0aWMgUmVmPE1haW5XaW5kb3c+IGNyZWF0ZSgpOwogCiAgICAgfk1haW5XaW5kb3coKTsK
LSAgICBib29sIGluaXQoSElOU1RBTkNFIGhJbnN0YW5jZSwgYm9vbCB1c2VzTGF5ZXJlZFdlYlZp
ZXcgPSBmYWxzZSwgYm9vbCBwYWdlTG9hZFRlc3RpbmcgPSBmYWxzZSk7CisgICAgYm9vbCBpbml0
KEJyb3dzZXJXaW5kb3dGYWN0b3J5LCBISU5TVEFOQ0UgaEluc3RhbmNlLCBib29sIHVzZXNMYXll
cmVkV2ViVmlldyA9IGZhbHNlLCBib29sIHBhZ2VMb2FkVGVzdGluZyA9IGZhbHNlKTsKIAogICAg
IHZvaWQgcmVzaXplU3ViVmlld3MoKTsKICAgICBIV05EIGh3bmQoKSBjb25zdCB7IHJldHVybiBt
X2hNYWluV25kOyB9CkBAIC01NSw3ICs1NCw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHN0ZDo6
d3N0cmluZyBzX3dpbmRvd0NsYXNzOwogICAgIHN0YXRpYyBzaXplX3Qgc19udW1JbnN0YW5jZXM7
CiAKLSAgICBNYWluV2luZG93KEJyb3dzZXJXaW5kb3dUeXBlKTsKKyAgICBNYWluV2luZG93KCk7
CiAgICAgYm9vbCB0b2dnbGVNZW51SXRlbShVSU5UIG1lbnVJRCk7CiAgICAgdm9pZCBvblVSTEJh
ckVudGVyKCk7CiAgICAgdm9pZCB1cGRhdGVEZXZpY2VTY2FsZUZhY3RvcigpOwpAQCAtNjYsNiAr
NjUsNSBAQCBwcml2YXRlOgogICAgIEhXTkQgbV9oRm9yd2FyZEJ1dHRvblduZCB7IG51bGxwdHIg
fTsKICAgICBIV05EIG1faENhY2hlV25kIHsgbnVsbHB0ciB9OwogICAgIEhHRElPQkogbV9oVVJM
QmFyRm9udCB7IG51bGxwdHIgfTsKLSAgICBCcm93c2VyV2luZG93VHlwZSBtX2Jyb3dzZXJXaW5k
b3dUeXBlOwogICAgIFJlZlB0cjxCcm93c2VyV2luZG93PiBtX2Jyb3dzZXJXaW5kb3c7CiB9Owpk
aWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvd2luL1ByaW50V2ViVUlEZWxlZ2F0ZS5jcHAg
Yi9Ub29scy9NaW5pQnJvd3Nlci93aW4vUHJpbnRXZWJVSURlbGVnYXRlLmNwcAppbmRleCBjNDI5
Mjc1MGVkYWExMzA2Mjk1MTMyNzFhYjU2YzZlNmY1ODM2OTZmLi5jZWQyNTE0OTdiOGQ4NDAzNzYx
NWRmOThhYzZhMTNhMGFkNmYxNTQ5IDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci93aW4v
UHJpbnRXZWJVSURlbGVnYXRlLmNwcAorKysgYi9Ub29scy9NaW5pQnJvd3Nlci93aW4vUHJpbnRX
ZWJVSURlbGVnYXRlLmNwcApAQCAtNjUsOCArNjUsOCBAQCBIUkVTVUxUIFByaW50V2ViVUlEZWxl
Z2F0ZTo6Y3JlYXRlV2ViVmlld1dpdGhSZXF1ZXN0KF9Jbl9vcHRfIElXZWJWaWV3KiwgX0luX29w
dAogICAgIGlmICghcmVxdWVzdCkKICAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKIAotICAgIGF1
dG8mIG5ld1dpbmRvdyA9IE1haW5XaW5kb3c6OmNyZWF0ZShNYWluV2luZG93OjpCcm93c2VyV2lu
ZG93VHlwZTo6V2ViS2l0TGVnYWN5KS5sZWFrUmVmKCk7Ci0gICAgYm9vbCBvayA9IG5ld1dpbmRv
dy5pbml0KGhJbnN0KTsKKyAgICBhdXRvJiBuZXdXaW5kb3cgPSBNYWluV2luZG93OjpjcmVhdGUo
KS5sZWFrUmVmKCk7CisgICAgYm9vbCBvayA9IG5ld1dpbmRvdy5pbml0KFdlYktpdExlZ2FjeUJy
b3dzZXJXaW5kb3c6OmNyZWF0ZSwgaEluc3QpOwogICAgIGlmICghb2spCiAgICAgICAgIHJldHVy
biBFX0ZBSUw7CiAgICAgU2hvd1dpbmRvdyhuZXdXaW5kb3cuaHduZCgpLCBTV19TSE9XKTsKZGlm
ZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9XZWJLaXRCcm93c2VyV2luZG93LmNwcCBi
L1Rvb2xzL01pbmlCcm93c2VyL3dpbi9XZWJLaXRCcm93c2VyV2luZG93LmNwcAppbmRleCBkYTVh
OWE1ZmE2MDNmYjQ1YTZiM2ZkYjAyMGM4YzIwODViYjZkYTJjLi5jODc1Mjg2Njc5YzBlNDE0NmFm
OGM4NWU1MzkyN2ZlZWU4MzRlM2YzIDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci93aW4v
V2ViS2l0QnJvd3NlcldpbmRvdy5jcHAKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvd2luL1dlYktp
dEJyb3dzZXJXaW5kb3cuY3BwCkBAIC04NCwyNCArODQsMjQgQEAgV0tSZXRhaW5QdHI8V0tVUkxS
ZWY+IGNyZWF0ZVdLVVJMKGNvbnN0IHN0ZDo6d3N0cmluZyYgc3RyKQogCiBSZWY8QnJvd3Nlcldp
bmRvdz4gV2ViS2l0QnJvd3NlcldpbmRvdzo6Y3JlYXRlKEhXTkQgbWFpblduZCwgSFdORCB1cmxC
YXJXbmQsIGJvb2wsIGJvb2wpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViS2l0QnJv
d3NlcldpbmRvdyhtYWluV25kLCB1cmxCYXJXbmQpKTsKKyAgICBhdXRvIGNvbmYgPSBXS1BhZ2VD
b25maWd1cmF0aW9uQ3JlYXRlKCk7CisKKyAgICBhdXRvIHByZWZzID0gV0tQcmVmZXJlbmNlc0Ny
ZWF0ZSgpOworICAgIFdLUHJlZmVyZW5jZXNTZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKHByZWZz
LCB0cnVlKTsKKyAgICBXS1BhZ2VDb25maWd1cmF0aW9uU2V0UHJlZmVyZW5jZXMoY29uZiwgcHJl
ZnMpOworCisgICAgYXV0byBjb250ZXh0ID0gV0tDb250ZXh0Q3JlYXRlV2l0aENvbmZpZ3VyYXRp
b24obnVsbHB0cik7CisgICAgV0tQYWdlQ29uZmlndXJhdGlvblNldENvbnRleHQoY29uZiwgY29u
dGV4dCk7CisKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJLaXRCcm93c2VyV2luZG93KGNv
bmYsIG1haW5XbmQsIHVybEJhclduZCkpOwogfQogCi1XZWJLaXRCcm93c2VyV2luZG93OjpXZWJL
aXRCcm93c2VyV2luZG93KEhXTkQgbWFpblduZCwgSFdORCB1cmxCYXJXbmQpCitXZWJLaXRCcm93
c2VyV2luZG93OjpXZWJLaXRCcm93c2VyV2luZG93KFdLUGFnZUNvbmZpZ3VyYXRpb25SZWYgY29u
ZiwgSFdORCBtYWluV25kLCBIV05EIHVybEJhclduZCkKICAgICA6IG1faE1haW5XbmQobWFpbldu
ZCkKICAgICAsIG1fdXJsQmFyV25kKHVybEJhclduZCkKIHsKICAgICBSRUNUIHJlY3QgPSB7IH07
Ci0gICAgYXV0byBjb25mID0gYWRvcHRXSyhXS1BhZ2VDb25maWd1cmF0aW9uQ3JlYXRlKCkpOwot
Ci0gICAgYXV0byBwcmVmcyA9IFdLUHJlZmVyZW5jZXNDcmVhdGUoKTsKLSAgICBXS1ByZWZlcmVu
Y2VzU2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZChwcmVmcywgdHJ1ZSk7Ci0gICAgV0tQYWdlQ29u
ZmlndXJhdGlvblNldFByZWZlcmVuY2VzKGNvbmYuZ2V0KCksIHByZWZzKTsKLQotICAgIG1fY29u
dGV4dCA9IGFkb3B0V0soV0tDb250ZXh0Q3JlYXRlV2l0aENvbmZpZ3VyYXRpb24obnVsbHB0cikp
OwotICAgIFdLUGFnZUNvbmZpZ3VyYXRpb25TZXRDb250ZXh0KGNvbmYuZ2V0KCksIG1fY29udGV4
dC5nZXQoKSk7Ci0KLSAgICBtX3ZpZXcgPSBhZG9wdFdLKFdLVmlld0NyZWF0ZShyZWN0LCBjb25m
LmdldCgpLCBtYWluV25kKSk7CisgICAgbV92aWV3ID0gYWRvcHRXSyhXS1ZpZXdDcmVhdGUocmVj
dCwgY29uZiwgbWFpblduZCkpOwogICAgIGF1dG8gcGFnZSA9IFdLVmlld0dldFBhZ2UobV92aWV3
LmdldCgpKTsKIAogICAgIFdLUGFnZU5hdmlnYXRpb25DbGllbnRWMCBuYXZpZ2F0aW9uQ2xpZW50
ID0geyB9OwpAQCAtMTEyLDEyICsxMTIsMTkgQEAgV2ViS2l0QnJvd3NlcldpbmRvdzo6V2ViS2l0
QnJvd3NlcldpbmRvdyhIV05EIG1haW5XbmQsIEhXTkQgdXJsQmFyV25kKQogICAgIG5hdmlnYXRp
b25DbGllbnQuZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlID0gZGlkUmVjZWl2ZUF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOwogICAgIFdLUGFnZVNldFBhZ2VOYXZpZ2F0aW9uQ2xpZW50
KHBhZ2UsICZuYXZpZ2F0aW9uQ2xpZW50LmJhc2UpOwogCisgICAgV0tQYWdlVUlDbGllbnRWMTMg
dWlDbGllbnQgPSB7IH07CisgICAgdWlDbGllbnQuYmFzZS52ZXJzaW9uID0gMTM7CisgICAgdWlD
bGllbnQuYmFzZS5jbGllbnRJbmZvID0gdGhpczsKKyAgICB1aUNsaWVudC5jcmVhdGVOZXdQYWdl
ID0gY3JlYXRlTmV3UGFnZTsKKyAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQocGFnZSwgJnVpQ2xp
ZW50LmJhc2UpOworCiAgICAgdXBkYXRlUHJveHlTZXR0aW5ncygpOwogfQogCiB2b2lkIFdlYktp
dEJyb3dzZXJXaW5kb3c6OnVwZGF0ZVByb3h5U2V0dGluZ3MoKQogewotICAgIGF1dG8gc3RvcmUg
PSBXS0NvbnRleHRHZXRXZWJzaXRlRGF0YVN0b3JlKG1fY29udGV4dC5nZXQoKSk7CisgICAgYXV0
byBjb250ZXh0ID0gV0tQYWdlR2V0Q29udGV4dChXS1ZpZXdHZXRQYWdlKG1fdmlldy5nZXQoKSkp
OworICAgIGF1dG8gc3RvcmUgPSBXS0NvbnRleHRHZXRXZWJzaXRlRGF0YVN0b3JlKGNvbnRleHQp
OwogCiAgICAgaWYgKCFtX3Byb3h5LmVuYWJsZSkgewogICAgICAgICBXS1dlYnNpdGVEYXRhU3Rv
cmVEaXNhYmxlTmV0d29ya1Byb3h5U2V0dGluZ3Moc3RvcmUpOwpAQCAtMjkxLDMgKzI5OCwxOSBA
QCB2b2lkIFdlYktpdEJyb3dzZXJXaW5kb3c6OmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZShXS1BhZ2VSZWYgcGFnZSwgV0tBdQogCiAgICAgV0tBdXRoZW50aWNhdGlvbkRlY2lzaW9u
TGlzdGVuZXJVc2VDcmVkZW50aWFsKGRlY2lzaW9uTGlzdGVuZXIsIG51bGxwdHIpOwogfQorCitX
S1BhZ2VSZWYgV2ViS2l0QnJvd3NlcldpbmRvdzo6Y3JlYXRlTmV3UGFnZShXS1BhZ2VSZWYgcGFn
ZSwgV0tQYWdlQ29uZmlndXJhdGlvblJlZiBjb25maWd1cmF0aW9uLCBXS05hdmlnYXRpb25BY3Rp
b25SZWYgbmF2aWdhdGlvbkFjdGlvbiwgV0tXaW5kb3dGZWF0dXJlc1JlZiB3aW5kb3dGZWF0dXJl
cywgY29uc3Qgdm9pZCAqY2xpZW50SW5mbykKK3sKKyAgICBhdXRvJiB0aGlzV2luZG93ID0gdG9X
ZWJLaXRCcm93c2VyV2luZG93KGNsaWVudEluZm8pOworICAgIGF1dG8mIG5ld1dpbmRvdyA9IE1h
aW5XaW5kb3c6OmNyZWF0ZSgpLmxlYWtSZWYoKTsKKyAgICBhdXRvIGZhY3RvcnkgPSBbY29uZmln
dXJhdGlvbl0oSFdORCBtYWluV25kLCBIV05EIHVybEJhclduZCwgYm9vbCwgYm9vbCkgLT4gYXV0
byB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYktpdEJyb3dzZXJXaW5kb3coY29u
ZmlndXJhdGlvbiwgbWFpblduZCwgdXJsQmFyV25kKSk7CisgICAgfTsKKyAgICBib29sIG9rID0g
bmV3V2luZG93LmluaXQoZmFjdG9yeSwgaEluc3QpOworICAgIGlmICghb2spCisgICAgICAgIHJl
dHVybiBudWxscHRyOworICAgIFNob3dXaW5kb3cobmV3V2luZG93Lmh3bmQoKSwgU1dfU0hPVyk7
CisgICAgYXV0byYgbmV3QnJvd3NlcldpbmRvdyA9ICpzdGF0aWNfY2FzdDxXZWJLaXRCcm93c2Vy
V2luZG93Kj4obmV3V2luZG93LmJyb3dzZXJXaW5kb3coKSk7CisgICAgV0tSZXRhaW5QdHI8V0tQ
YWdlUmVmPiBuZXdQYWdlID0gV0tWaWV3R2V0UGFnZShuZXdCcm93c2VyV2luZG93Lm1fdmlldy5n
ZXQoKSk7CisgICAgcmV0dXJuIG5ld1BhZ2UubGVha1JlZigpOworfQpkaWZmIC0tZ2l0IGEvVG9v
bHMvTWluaUJyb3dzZXIvd2luL1dlYktpdEJyb3dzZXJXaW5kb3cuaCBiL1Rvb2xzL01pbmlCcm93
c2VyL3dpbi9XZWJLaXRCcm93c2VyV2luZG93LmgKaW5kZXggMDAzYjM1Y2E5ZDYzYjEzZjcxYzU4
M2FiNTU5ZDI1ZTgwYzg4ODMwMi4uNDIzYzI3ZTdhMGI1YmNlOWEwNjkwN2E3NzAzMGNlNzZkMzQ0
NTA2NSAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvd2luL1dlYktpdEJyb3dzZXJXaW5k
b3cuaAorKysgYi9Ub29scy9NaW5pQnJvd3Nlci93aW4vV2ViS2l0QnJvd3NlcldpbmRvdy5oCkBA
IC0zNCw3ICszNCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPEJyb3dzZXJXaW5kb3c+IGNy
ZWF0ZShIV05EIG1haW5XbmQsIEhXTkQgdXJsQmFyV25kLCBib29sIHVzZUxheWVyZWRXZWJWaWV3
ID0gZmFsc2UsIGJvb2wgcGFnZUxvYWRUZXN0aW5nID0gZmFsc2UpOwogCiBwcml2YXRlOgotICAg
IFdlYktpdEJyb3dzZXJXaW5kb3coSFdORCBtYWluV25kLCBIV05EIHVybEJhclduZCk7CisgICAg
V2ViS2l0QnJvd3NlcldpbmRvdyhXS1BhZ2VDb25maWd1cmF0aW9uUmVmLCBIV05EIG1haW5XbmQs
IEhXTkQgdXJsQmFyV25kKTsKIAogICAgIEhSRVNVTFQgaW5pdCgpIG92ZXJyaWRlOwogICAgIEhX
TkQgaHduZCgpIG92ZXJyaWRlOwpAQCAtNjQsOCArNjQsOCBAQCBwcml2YXRlOgogICAgIHN0YXRp
YyB2b2lkIGRpZEZpbmlzaE5hdmlnYXRpb24oV0tQYWdlUmVmLCBXS05hdmlnYXRpb25SZWYsIFdL
VHlwZVJlZiwgY29uc3Qgdm9pZCopOwogICAgIHN0YXRpYyB2b2lkIGRpZENvbW1pdE5hdmlnYXRp
b24oV0tQYWdlUmVmLCBXS05hdmlnYXRpb25SZWYsIFdLVHlwZVJlZiwgY29uc3Qgdm9pZCopOwog
ICAgIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShXS1BhZ2VS
ZWYsIFdLQXV0aGVudGljYXRpb25DaGFsbGVuZ2VSZWYsIGNvbnN0IHZvaWQqKTsKKyAgICBzdGF0
aWMgV0tQYWdlUmVmIGNyZWF0ZU5ld1BhZ2UoV0tQYWdlUmVmLCBXS1BhZ2VDb25maWd1cmF0aW9u
UmVmLCBXS05hdmlnYXRpb25BY3Rpb25SZWYsIFdLV2luZG93RmVhdHVyZXNSZWYsIGNvbnN0IHZv
aWQgKik7CiAKLSAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IG1fY29udGV4dDsKICAgICBX
S1JldGFpblB0cjxXS1ZpZXdSZWY+IG1fdmlldzsKICAgICBIV05EIG1faE1haW5XbmQgeyBudWxs
cHRyIH07CiAgICAgSFdORCBtX3VybEJhclduZCB7IG51bGxwdHIgfTsKZGlmZiAtLWdpdCBhL1Rv
b2xzL01pbmlCcm93c2VyL3dpbi9XaW5NYWluLmNwcCBiL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9X
aW5NYWluLmNwcAppbmRleCBlOTJjYjQ5YzQ4NDRmMWE2YmZlYTNjZGZiNjExMTczZTM5ZjI3OTJj
Li45M2YwMDU4NDJmZTQ5MzkzNmJmYWQ3NjllMDUwODExMDAzMDk1ZGI2IDEwMDY0NAotLS0gYS9U
b29scy9NaW5pQnJvd3Nlci93aW4vV2luTWFpbi5jcHAKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIv
d2luL1dpbk1haW4uY3BwCkBAIC0zMiw4ICszMiwxMyBAQAogI2luY2x1ZGUgIkNvbW1vbi5oIgog
I2luY2x1ZGUgIk1pbmlCcm93c2VyTGliUmVzb3VyY2UuaCIKICNpbmNsdWRlICJNaW5pQnJvd3Nl
clJlcGxhY2UuaCIKKyNpbmNsdWRlICJXZWJLaXRMZWdhY3lCcm93c2VyV2luZG93LmgiCiAjaW5j
bHVkZSA8V2ViS2l0TGVnYWN5L1dlYktpdENPTUFQSS5oPgogCisjaWYgRU5BQkxFKFdFQktJVCkK
KyNpbmNsdWRlICJXZWJLaXRCcm93c2VyV2luZG93LmgiCisjZW5kaWYKKwogaW50IFdJTkFQSSB3
V2luTWFpbihfSW5fIEhJTlNUQU5DRSBoSW5zdGFuY2UsIF9Jbl9vcHRfIEhJTlNUQU5DRSBoUHJl
dkluc3RhbmNlLCBfSW5fIExQV1NUUiBscHN0ckNtZExpbmUsIF9Jbl8gaW50IG5DbWRTaG93KQog
ewogI2lmZGVmIF9DUlREQkdfTUFQX0FMTE9DCkBAIC02MCw4ICs2NSwxMyBAQCBpbnQgV0lOQVBJ
IHdXaW5NYWluKF9Jbl8gSElOU1RBTkNFIGhJbnN0YW5jZSwgX0luX29wdF8gSElOU1RBTkNFIGhQ
cmV2SW5zdGFuY2UsCiAKICAgICA6OlNldFByb2Nlc3NEUElBd2FyZSgpOwogCi0gICAgYXV0byYg
bWFpbldpbmRvdyA9IE1haW5XaW5kb3c6OmNyZWF0ZShvcHRpb25zLndpbmRvd1R5cGUpLmxlYWtS
ZWYoKTsKLSAgICBIUkVTVUxUIGhyID0gbWFpbldpbmRvdy5pbml0KGhJbnN0LCBvcHRpb25zLnVz
ZXNMYXllcmVkV2ViVmlldywgb3B0aW9ucy5wYWdlTG9hZFRlc3RpbmcpOworICAgIGF1dG8gZmFj
dG9yeSA9IFdlYktpdExlZ2FjeUJyb3dzZXJXaW5kb3c6OmNyZWF0ZTsKKyNpZiBFTkFCTEUoV0VC
S0lUKQorICAgIGlmIChvcHRpb25zLndpbmRvd1R5cGUgPT0gQnJvd3NlcldpbmRvd1R5cGU6Oldl
YktpdCkKKyAgICAgICAgZmFjdG9yeSA9IFdlYktpdEJyb3dzZXJXaW5kb3c6OmNyZWF0ZTsKKyNl
bmRpZgorICAgIGF1dG8mIG1haW5XaW5kb3cgPSBNYWluV2luZG93OjpjcmVhdGUoKS5sZWFrUmVm
KCk7CisgICAgSFJFU1VMVCBociA9IG1haW5XaW5kb3cuaW5pdChmYWN0b3J5LCBoSW5zdCwgb3B0
aW9ucy51c2VzTGF5ZXJlZFdlYlZpZXcsIG9wdGlvbnMucGFnZUxvYWRUZXN0aW5nKTsKICAgICBp
ZiAoRkFJTEVEKGhyKSkKICAgICAgICAgZ290byBleGl0OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364750</attachid>
            <date>2019-03-14 18:53:17 -0700</date>
            <delta_ts>2019-03-14 18:53:17 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-195740-20190315105315.patch</filename>
            <type>text/plain</type>
            <size>15223</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyOTgyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYmVmNDRiNGE4MjVjMzUzM2Y4OTdjOGIyYTJlOGJmMjY3
ZmNhMmQ5MS4uZDk1NWY0MGFlZjc4YzQ3Mjg5NzA1ZGUzODE0YjE4ZDA3ZDZhNTA0ZiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQx
IEBACisyMDE5LTAzLTE0ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29t
PgorCisgICAgICAgIFtXaW5dW01pbkJyb3dzZXJdW1dLMl0gSW1wbGVtZW50IGNyZWF0ZU5ld1Bh
Z2Ugb2YgV0tQYWdlVUlDbGllbnQgdG8gb3BlbiBhIG5ldyB3aW5kb3cKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTc0MAorCisgICAgICAgIFJldmll
d2VkIGJ5IFJvc3MgS2lyc2xpbmcuCisKKyAgICAgICAgd2luZG93Lm9wZW4gZG9lc24ndCB3b3Jr
IGZvciBXZWJLaXRCcm93c2VyV2luZG93IGJlY2F1c2UgaXQgaXMgbm90CisgICAgICAgIGltcGxl
bWVudGVkIHlldC4KKworICAgICAgICAxLiBJbXBsZW1lbnRlZCBjcmVhdGVOZXdQYWdlIGNhbGxi
YWNrIG9mIFdLUGFnZVVJQ2xpZW50LgorICAgICAgICAyLiBDaGFuZ2VkIE1haW5XaW5kb3cgdG8g
dGFrZSBhIEJyb3dzZXJXaW5kb3cgZmFjdG9yeSBmdW5jdGlvbgorICAgICAgICAgIGluc3RlYWQg
b2YgQnJvd3NlcldpbmRvd1R5cGUgdG8gYmUgZmxleGlibGUgdG8gY3JlYXRlCisgICAgICAgICAg
QnJvd3NlcldpbmRvdyB3aXRoIGV4dHJhIHNldHRpbmdzLgorICAgICAgICAzLiBSZW5hbWVkIE1h
aW5XaW5kb3c6OkJyb3dzZXJXaW5kb3dUeXBlIHRvIEJyb3dzZXJXaW5kb3dUeXBlCisgICAgICAg
ICAgYmVjYXVzZSBpdCBpcyBub3QgcmVsZXZhbnQgd2l0aCBNYWluV2luZG93IGFueW1vcmUuCisK
KyAgICAgICAgKiBNaW5pQnJvd3Nlci93aW4vQ29tbW9uLmNwcDoKKyAgICAgICAgKHBhcnNlQ29t
bWFuZExpbmUpOgorICAgICAgICAqIE1pbmlCcm93c2VyL3dpbi9Db21tb24uaDoKKyAgICAgICAg
KENvbW1hbmRMaW5lT3B0aW9uczo6Q29tbWFuZExpbmVPcHRpb25zKToKKyAgICAgICAgKiBNaW5p
QnJvd3Nlci93aW4vTWFpbldpbmRvdy5jcHA6CisgICAgICAgIChNYWluV2luZG93OjpNYWluV2lu
ZG93KToKKyAgICAgICAgKE1haW5XaW5kb3c6OmNyZWF0ZSk6CisgICAgICAgIChNYWluV2luZG93
Ojppbml0KToKKyAgICAgICAgKE1haW5XaW5kb3c6OlduZFByb2MpOgorICAgICAgICAqIE1pbmlC
cm93c2VyL3dpbi9NYWluV2luZG93Lmg6CisgICAgICAgICogTWluaUJyb3dzZXIvd2luL1ByaW50
V2ViVUlEZWxlZ2F0ZS5jcHA6CisgICAgICAgIChQcmludFdlYlVJRGVsZWdhdGU6OmNyZWF0ZVdl
YlZpZXdXaXRoUmVxdWVzdCk6CisgICAgICAgICogTWluaUJyb3dzZXIvd2luL1dlYktpdEJyb3dz
ZXJXaW5kb3cuY3BwOgorICAgICAgICAoV2ViS2l0QnJvd3NlcldpbmRvdzo6Y3JlYXRlKTogTW92
ZWQgV0tQYWdlQ29uZmlndXJhdGlvblJlZiByZWxhdGVkIGNvZGUgZnJvbSBXZWJLaXRCcm93c2Vy
V2luZG93OjpXZWJLaXRCcm93c2VyV2luZG93LgorICAgICAgICAoV2ViS2l0QnJvd3NlcldpbmRv
dzo6V2ViS2l0QnJvd3NlcldpbmRvdyk6IEFkZGVkIGEgV0tQYWdlQ29uZmlndXJhdGlvblJlZiBw
YXJhbWV0ZXIuCisgICAgICAgIChXZWJLaXRCcm93c2VyV2luZG93Ojp1cGRhdGVQcm94eVNldHRp
bmdzKToKKyAgICAgICAgKFdlYktpdEJyb3dzZXJXaW5kb3c6OmNyZWF0ZU5ld1BhZ2UpOgorICAg
ICAgICAqIE1pbmlCcm93c2VyL3dpbi9XZWJLaXRCcm93c2VyV2luZG93Lmg6CisgICAgICAgICog
TWluaUJyb3dzZXIvd2luL1dpbk1haW4uY3BwOgorICAgICAgICAod1dpbk1haW4pOgorCiAyMDE5
LTAzLTE0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAg
IE1ha2UgaXQgcG9zc2libGUgdG8gdGVzdCBzY3JvbGxpbmcgdHJlZSBsYXllciBtYW5pcHVsYXRp
b24gbW9yZSBlYXNpbHkKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9Db21tb24u
Y3BwIGIvVG9vbHMvTWluaUJyb3dzZXIvd2luL0NvbW1vbi5jcHAKaW5kZXggZWQ0OWRjNGE2Nzhj
OWZmNzJkYzgyZGFlNjA0MTFhYWEzZGM1MTNlNy4uMGUwZjQ2NDZjN2M0MmFhMzI4OWY0MmYzNzRl
MjQyMjUwODgyZmU1MCAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvd2luL0NvbW1vbi5j
cHAKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvd2luL0NvbW1vbi5jcHAKQEAgLTI0NSwxMCArMjQ1
LDEwIEBAIENvbW1hbmRMaW5lT3B0aW9ucyBwYXJzZUNvbW1hbmRMaW5lKCkKICAgICAgICAgZWxz
ZSBpZiAoIXdjc2ljbXAoYXJndltpXSwgTCItLXBlcmZvcm1hbmNlIikpCiAgICAgICAgICAgICBv
cHRpb25zLnBhZ2VMb2FkVGVzdGluZyA9IHRydWU7CiAgICAgICAgIGVsc2UgaWYgKCF3Y3NpY21w
KGFyZ3ZbaV0sIEwiLS13azEiKSB8fCAhd2NzaWNtcChhcmd2W2ldLCBMIi0tbGVnYWN5IikpCi0g
ICAgICAgICAgICBvcHRpb25zLndpbmRvd1R5cGUgPSBNYWluV2luZG93OjpCcm93c2VyV2luZG93
VHlwZTo6V2ViS2l0TGVnYWN5OworICAgICAgICAgICAgb3B0aW9ucy53aW5kb3dUeXBlID0gQnJv
d3NlcldpbmRvd1R5cGU6OldlYktpdExlZ2FjeTsKICNpZiBFTkFCTEUoV0VCS0lUKQogICAgICAg
ICBlbHNlIGlmICghd2NzaWNtcChhcmd2W2ldLCBMIi0td2syIikgfHwgIXdjc2ljbXAoYXJndltp
XSwgTCItLXdlYmtpdCIpKQotICAgICAgICAgICAgb3B0aW9ucy53aW5kb3dUeXBlID0gTWFpbldp
bmRvdzo6QnJvd3NlcldpbmRvd1R5cGU6OldlYktpdDsKKyAgICAgICAgICAgIG9wdGlvbnMud2lu
ZG93VHlwZSA9IEJyb3dzZXJXaW5kb3dUeXBlOjpXZWJLaXQ7CiAjZW5kaWYKICAgICAgICAgZWxz
ZSBpZiAoIW9wdGlvbnMucmVxdWVzdGVkVVJMKQogICAgICAgICAgICAgb3B0aW9ucy5yZXF1ZXN0
ZWRVUkwgPSBhcmd2W2ldOwpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvd2luL0NvbW1v
bi5oIGIvVG9vbHMvTWluaUJyb3dzZXIvd2luL0NvbW1vbi5oCmluZGV4IGQ4Y2NiMjhjZTgzNGQ4
MDdmMDFhZDIxMmM4YThmNDdiNzViODhlODYuLmJlYmFlMzJjNzZjNDFiNTYzYjQwMDI4NzgzYjMy
OTkyNDlhMjZlZTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9Db21tb24uaAor
KysgYi9Ub29scy9NaW5pQnJvd3Nlci93aW4vQ29tbW9uLmgKQEAgLTI5LDE4ICsyOSwyMyBAQAog
I2luY2x1ZGUgIk1haW5XaW5kb3cuaCIKICNpbmNsdWRlICJXZWJLaXRMZWdhY3lCcm93c2VyV2lu
ZG93LmgiCiAKK2VudW0gY2xhc3MgQnJvd3NlcldpbmRvd1R5cGUgeworICAgIFdlYktpdCwKKyAg
ICBXZWJLaXRMZWdhY3kKK307CisKIHN0cnVjdCBDb21tYW5kTGluZU9wdGlvbnMgewogICAgIGJv
b2wgdXNlc0xheWVyZWRXZWJWaWV3IHsgfTsKICAgICBib29sIHVzZUZ1bGxEZXNrdG9wIHsgfTsK
ICAgICBib29sIHBhZ2VMb2FkVGVzdGluZyB7IH07Ci0gICAgTWFpbldpbmRvdzo6QnJvd3Nlcldp
bmRvd1R5cGUgd2luZG93VHlwZTsKKyAgICBCcm93c2VyV2luZG93VHlwZSB3aW5kb3dUeXBlOwog
ICAgIF9ic3RyX3QgcmVxdWVzdGVkVVJMOwogCiAgICAgQ29tbWFuZExpbmVPcHRpb25zKCkKICNp
ZiBFTkFCTEUoV0VCS0lUKQotICAgICAgICA6IHdpbmRvd1R5cGUoTWFpbldpbmRvdzo6QnJvd3Nl
cldpbmRvd1R5cGU6OldlYktpdCkKKyAgICAgICAgOiB3aW5kb3dUeXBlKEJyb3dzZXJXaW5kb3dU
eXBlOjpXZWJLaXQpCiAjZWxzZQotICAgICAgICA6IHdpbmRvd1R5cGUoTWFpbldpbmRvdzo6QnJv
d3NlcldpbmRvd1R5cGU6OldlYktpdExlZ2FjeSkKKyAgICAgICAgOiB3aW5kb3dUeXBlKEJyb3dz
ZXJXaW5kb3dUeXBlOjpXZWJLaXRMZWdhY3kpCiAjZW5kaWYKICAgICB7CiAgICAgfQpkaWZmIC0t
Z2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvd2luL01haW5XaW5kb3cuY3BwIGIvVG9vbHMvTWluaUJy
b3dzZXIvd2luL01haW5XaW5kb3cuY3BwCmluZGV4IDdmNGJkYjQyN2VmYzA3YWQwZWE0ODgzMmY0
OWUyZmE3OTc0NDdlMzUuLmZiZDZlMzJkZmY5ODU1ZjZlYWU0ZjZlOGUzYjgyNzk3YTg3NzY5Mzkg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9NYWluV2luZG93LmNwcAorKysgYi9U
b29scy9NaW5pQnJvd3Nlci93aW4vTWFpbldpbmRvdy5jcHAKQEAgLTgzLDggKzgzLDcgQEAgdm9p
ZCBNYWluV2luZG93OjpyZWdpc3RlckNsYXNzKEhJTlNUQU5DRSBoSW5zdGFuY2UpCiAgICAgUmVn
aXN0ZXJDbGFzc0V4KCZ3Y2V4KTsKIH0KIAotTWFpbldpbmRvdzo6TWFpbldpbmRvdyhCcm93c2Vy
V2luZG93VHlwZSB0eXBlKQotICAgIDogbV9icm93c2VyV2luZG93VHlwZSh0eXBlKQorTWFpbldp
bmRvdzo6TWFpbldpbmRvdygpCiB7CiAgICAgc19udW1JbnN0YW5jZXMrKzsKIH0KQEAgLTk0LDEy
ICs5MywxMiBAQCBNYWluV2luZG93Ojp+TWFpbldpbmRvdygpCiAgICAgc19udW1JbnN0YW5jZXMt
LTsKIH0KIAotUmVmPE1haW5XaW5kb3c+IE1haW5XaW5kb3c6OmNyZWF0ZShCcm93c2VyV2luZG93
VHlwZSB0eXBlKQorUmVmPE1haW5XaW5kb3c+IE1haW5XaW5kb3c6OmNyZWF0ZSgpCiB7Ci0gICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgTWFpbldpbmRvdyh0eXBlKSk7CisgICAgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgTWFpbldpbmRvdygpKTsKIH0KIAotYm9vbCBNYWluV2luZG93Ojppbml0KEhJTlNU
QU5DRSBoSW5zdGFuY2UsIGJvb2wgdXNlc0xheWVyZWRXZWJWaWV3LCBib29sIHBhZ2VMb2FkVGVz
dGluZykKK2Jvb2wgTWFpbldpbmRvdzo6aW5pdChCcm93c2VyV2luZG93RmFjdG9yeSBmYWN0b3J5
LCBISU5TVEFOQ0UgaEluc3RhbmNlLCBib29sIHVzZXNMYXllcmVkV2ViVmlldywgYm9vbCBwYWdl
TG9hZFRlc3RpbmcpCiB7CiAgICAgcmVnaXN0ZXJDbGFzcyhoSW5zdGFuY2UpOwogCkBAIC0xMjMs
MTEgKzEyMiw2IEBAIGJvb2wgTWFpbldpbmRvdzo6aW5pdChISU5TVEFOQ0UgaEluc3RhbmNlLCBi
b29sIHVzZXNMYXllcmVkV2ViVmlldywgYm9vbCBwYWdlTG9hCiAgICAgRGVmRWRpdFByb2MgPSBy
ZWludGVycHJldF9jYXN0PFdORFBST0M+KEdldFdpbmRvd0xvbmdQdHIobV9oVVJMQmFyV25kLCBH
V0xQX1dORFBST0MpKTsKICAgICBTZXRXaW5kb3dMb25nUHRyKG1faFVSTEJhclduZCwgR1dMUF9X
TkRQUk9DLCByZWludGVycHJldF9jYXN0PExPTkdfUFRSPihFZGl0UHJvYykpOwogCi0gICAgYXV0
byBmYWN0b3J5ID0gV2ViS2l0TGVnYWN5QnJvd3NlcldpbmRvdzo6Y3JlYXRlOwotI2lmIEVOQUJM
RShXRUJLSVQpCi0gICAgaWYgKG1fYnJvd3NlcldpbmRvd1R5cGUgPT0gQnJvd3NlcldpbmRvd1R5
cGU6OldlYktpdCkKLSAgICAgICAgZmFjdG9yeSA9IFdlYktpdEJyb3dzZXJXaW5kb3c6OmNyZWF0
ZTsKLSNlbmRpZgogICAgIG1fYnJvd3NlcldpbmRvdyA9IGZhY3RvcnkobV9oTWFpblduZCwgbV9o
VVJMQmFyV25kLCB1c2VzTGF5ZXJlZFdlYlZpZXcsIHBhZ2VMb2FkVGVzdGluZyk7CiAgICAgaWYg
KCFtX2Jyb3dzZXJXaW5kb3cpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTE4NiwxNSArMTgw
LDE3IEBAIExSRVNVTFQgQ0FMTEJBQ0sgTWFpbldpbmRvdzo6V25kUHJvYyhIV05EIGhXbmQsIFVJ
TlQgbWVzc2FnZSwgV1BBUkFNIHdQYXJhbSwgTFBBCiAgICAgICAgIGNhc2UgSURDX1VSTF9CQVI6
CiAgICAgICAgICAgICB0aGlzV2luZG93LT5vblVSTEJhckVudGVyKCk7CiAgICAgICAgICAgICBi
cmVhazsKKyNpZiBFTkFCTEUoV0VCS0lUKQogICAgICAgICBjYXNlIElETV9ORVdfV0VCS0lUX1dJ
TkRPVzogewotICAgICAgICAgICAgYXV0byYgbmV3V2luZG93ID0gTWFpbldpbmRvdzo6Y3JlYXRl
KEJyb3dzZXJXaW5kb3dUeXBlOjpXZWJLaXQpLmxlYWtSZWYoKTsKLSAgICAgICAgICAgIG5ld1dp
bmRvdy5pbml0KGhJbnN0KTsKKyAgICAgICAgICAgIGF1dG8mIG5ld1dpbmRvdyA9IE1haW5XaW5k
b3c6OmNyZWF0ZSgpLmxlYWtSZWYoKTsKKyAgICAgICAgICAgIG5ld1dpbmRvdy5pbml0KFdlYktp
dEJyb3dzZXJXaW5kb3c6OmNyZWF0ZSwgaEluc3QpOwogICAgICAgICAgICAgU2hvd1dpbmRvdyhu
ZXdXaW5kb3cuaHduZCgpLCBTV19TSE9XKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9
CisjZW5kaWYKICAgICAgICAgY2FzZSBJRE1fTkVXX1dFQktJVExFR0FDWV9XSU5ET1c6IHsKLSAg
ICAgICAgICAgIGF1dG8mIG5ld1dpbmRvdyA9IE1haW5XaW5kb3c6OmNyZWF0ZShCcm93c2VyV2lu
ZG93VHlwZTo6V2ViS2l0TGVnYWN5KS5sZWFrUmVmKCk7Ci0gICAgICAgICAgICBuZXdXaW5kb3cu
aW5pdChoSW5zdCk7CisgICAgICAgICAgICBhdXRvJiBuZXdXaW5kb3cgPSBNYWluV2luZG93Ojpj
cmVhdGUoKS5sZWFrUmVmKCk7CisgICAgICAgICAgICBuZXdXaW5kb3cuaW5pdChXZWJLaXRMZWdh
Y3lCcm93c2VyV2luZG93OjpjcmVhdGUsIGhJbnN0KTsKICAgICAgICAgICAgIFNob3dXaW5kb3co
bmV3V2luZG93Lmh3bmQoKSwgU1dfU0hPVyk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvd2luL01haW5XaW5kb3cuaCBiL1Rvb2xz
L01pbmlCcm93c2VyL3dpbi9NYWluV2luZG93LmgKaW5kZXggOTcwMjFiNmRmODRhNDEzODU1Njky
MjgyYjhmM2NjNGUwNGM1NTIzMS4uYjk5ZDk2NDdlZjdjODM3N2ZkMGZmN2RkNWIzYjNmMmI5ZGQx
OGU5ZiAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvd2luL01haW5XaW5kb3cuaAorKysg
Yi9Ub29scy9NaW5pQnJvd3Nlci93aW4vTWFpbldpbmRvdy5oCkBAIC0yNiwyMCArMjYsMTkgQEAK
ICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiQnJvd3NlcldpbmRvdy5oIgorI2luY2x1ZGUgPGZ1
bmN0aW9uYWw+CiAjaW5jbHVkZSA8bWVtb3J5PgogI2luY2x1ZGUgPHN0cmluZz4KICNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CiAKIGNsYXNzIE1haW5XaW5kb3cgOiBwdWJsaWMgUmVmQ291bnRlZDxN
YWluV2luZG93PiB7CiBwdWJsaWM6Ci0gICAgZW51bSBjbGFzcyBCcm93c2VyV2luZG93VHlwZSB7
Ci0gICAgICAgIFdlYktpdCwKLSAgICAgICAgV2ViS2l0TGVnYWN5Ci0gICAgfTsKLSAgICBzdGF0
aWMgUmVmPE1haW5XaW5kb3c+IGNyZWF0ZShCcm93c2VyV2luZG93VHlwZSk7CisgICAgdXNpbmcg
QnJvd3NlcldpbmRvd0ZhY3RvcnkgPSBzdGQ6OmZ1bmN0aW9uPFJlZjxCcm93c2VyV2luZG93PihI
V05EIG1haW5XbmQsIEhXTkQgdXJsQmFyV25kLCBib29sIHVzZXNMYXllcmVkV2ViVmlldywgYm9v
bCBwYWdlTG9hZFRlc3RpbmcpPjsKKworICAgIHN0YXRpYyBSZWY8TWFpbldpbmRvdz4gY3JlYXRl
KCk7CiAKICAgICB+TWFpbldpbmRvdygpOwotICAgIGJvb2wgaW5pdChISU5TVEFOQ0UgaEluc3Rh
bmNlLCBib29sIHVzZXNMYXllcmVkV2ViVmlldyA9IGZhbHNlLCBib29sIHBhZ2VMb2FkVGVzdGlu
ZyA9IGZhbHNlKTsKKyAgICBib29sIGluaXQoQnJvd3NlcldpbmRvd0ZhY3RvcnksIEhJTlNUQU5D
RSBoSW5zdGFuY2UsIGJvb2wgdXNlc0xheWVyZWRXZWJWaWV3ID0gZmFsc2UsIGJvb2wgcGFnZUxv
YWRUZXN0aW5nID0gZmFsc2UpOwogCiAgICAgdm9pZCByZXNpemVTdWJWaWV3cygpOwogICAgIEhX
TkQgaHduZCgpIGNvbnN0IHsgcmV0dXJuIG1faE1haW5XbmQ7IH0KQEAgLTU1LDcgKzU0LDcgQEAg
cHJpdmF0ZToKICAgICBzdGF0aWMgc3RkOjp3c3RyaW5nIHNfd2luZG93Q2xhc3M7CiAgICAgc3Rh
dGljIHNpemVfdCBzX251bUluc3RhbmNlczsKIAotICAgIE1haW5XaW5kb3coQnJvd3NlcldpbmRv
d1R5cGUpOworICAgIE1haW5XaW5kb3coKTsKICAgICBib29sIHRvZ2dsZU1lbnVJdGVtKFVJTlQg
bWVudUlEKTsKICAgICB2b2lkIG9uVVJMQmFyRW50ZXIoKTsKICAgICB2b2lkIHVwZGF0ZURldmlj
ZVNjYWxlRmFjdG9yKCk7CkBAIC02Niw2ICs2NSw1IEBAIHByaXZhdGU6CiAgICAgSFdORCBtX2hG
b3J3YXJkQnV0dG9uV25kIHsgbnVsbHB0ciB9OwogICAgIEhXTkQgbV9oQ2FjaGVXbmQgeyBudWxs
cHRyIH07CiAgICAgSEdESU9CSiBtX2hVUkxCYXJGb250IHsgbnVsbHB0ciB9OwotICAgIEJyb3dz
ZXJXaW5kb3dUeXBlIG1fYnJvd3NlcldpbmRvd1R5cGU7CiAgICAgUmVmUHRyPEJyb3dzZXJXaW5k
b3c+IG1fYnJvd3NlcldpbmRvdzsKIH07CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci93
aW4vUHJpbnRXZWJVSURlbGVnYXRlLmNwcCBiL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9QcmludFdl
YlVJRGVsZWdhdGUuY3BwCmluZGV4IGM0MjkyNzUwZWRhYTEzMDYyOTUxMzI3MWFiNTZjNmU2ZjU4
MzY5NmYuLmNlZDI1MTQ5N2I4ZDg0MDM3NjE1ZGY5OGFjNmExM2EwYWQ2ZjE1NDkgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9QcmludFdlYlVJRGVsZWdhdGUuY3BwCisrKyBiL1Rv
b2xzL01pbmlCcm93c2VyL3dpbi9QcmludFdlYlVJRGVsZWdhdGUuY3BwCkBAIC02NSw4ICs2NSw4
IEBAIEhSRVNVTFQgUHJpbnRXZWJVSURlbGVnYXRlOjpjcmVhdGVXZWJWaWV3V2l0aFJlcXVlc3Qo
X0luX29wdF8gSVdlYlZpZXcqLCBfSW5fb3B0CiAgICAgaWYgKCFyZXF1ZXN0KQogICAgICAgICBy
ZXR1cm4gRV9QT0lOVEVSOwogCi0gICAgYXV0byYgbmV3V2luZG93ID0gTWFpbldpbmRvdzo6Y3Jl
YXRlKE1haW5XaW5kb3c6OkJyb3dzZXJXaW5kb3dUeXBlOjpXZWJLaXRMZWdhY3kpLmxlYWtSZWYo
KTsKLSAgICBib29sIG9rID0gbmV3V2luZG93LmluaXQoaEluc3QpOworICAgIGF1dG8mIG5ld1dp
bmRvdyA9IE1haW5XaW5kb3c6OmNyZWF0ZSgpLmxlYWtSZWYoKTsKKyAgICBib29sIG9rID0gbmV3
V2luZG93LmluaXQoV2ViS2l0TGVnYWN5QnJvd3NlcldpbmRvdzo6Y3JlYXRlLCBoSW5zdCk7CiAg
ICAgaWYgKCFvaykKICAgICAgICAgcmV0dXJuIEVfRkFJTDsKICAgICBTaG93V2luZG93KG5ld1dp
bmRvdy5od25kKCksIFNXX1NIT1cpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvd2lu
L1dlYktpdEJyb3dzZXJXaW5kb3cuY3BwIGIvVG9vbHMvTWluaUJyb3dzZXIvd2luL1dlYktpdEJy
b3dzZXJXaW5kb3cuY3BwCmluZGV4IGRhNWE5YTVmYTYwM2ZiNDVhNmIzZmRiMDIwYzhjMjA4NWJi
NmRhMmMuLmFhNTJhZTNmZjc4NTQwNTkxYzMwNTAwMjI5ZTJiZWEyNGEwNTM3NmQgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9XZWJLaXRCcm93c2VyV2luZG93LmNwcAorKysgYi9U
b29scy9NaW5pQnJvd3Nlci93aW4vV2ViS2l0QnJvd3NlcldpbmRvdy5jcHAKQEAgLTg0LDI0ICs4
NCwyNCBAQCBXS1JldGFpblB0cjxXS1VSTFJlZj4gY3JlYXRlV0tVUkwoY29uc3Qgc3RkOjp3c3Ry
aW5nJiBzdHIpCiAKIFJlZjxCcm93c2VyV2luZG93PiBXZWJLaXRCcm93c2VyV2luZG93OjpjcmVh
dGUoSFdORCBtYWluV25kLCBIV05EIHVybEJhclduZCwgYm9vbCwgYm9vbCkKIHsKLSAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBXZWJLaXRCcm93c2VyV2luZG93KG1haW5XbmQsIHVybEJhclduZCkp
OworICAgIGF1dG8gY29uZiA9IFdLUGFnZUNvbmZpZ3VyYXRpb25DcmVhdGUoKTsKKworICAgIGF1
dG8gcHJlZnMgPSBXS1ByZWZlcmVuY2VzQ3JlYXRlKCk7CisgICAgV0tQcmVmZXJlbmNlc1NldERl
dmVsb3BlckV4dHJhc0VuYWJsZWQocHJlZnMsIHRydWUpOworICAgIFdLUGFnZUNvbmZpZ3VyYXRp
b25TZXRQcmVmZXJlbmNlcyhjb25mLCBwcmVmcyk7CisKKyAgICBhdXRvIGNvbnRleHQgPSBXS0Nv
bnRleHRDcmVhdGVXaXRoQ29uZmlndXJhdGlvbihudWxscHRyKTsKKyAgICBXS1BhZ2VDb25maWd1
cmF0aW9uU2V0Q29udGV4dChjb25mLCBjb250ZXh0KTsKKworICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IFdlYktpdEJyb3dzZXJXaW5kb3coY29uZiwgbWFpblduZCwgdXJsQmFyV25kKSk7CiB9CiAK
LVdlYktpdEJyb3dzZXJXaW5kb3c6OldlYktpdEJyb3dzZXJXaW5kb3coSFdORCBtYWluV25kLCBI
V05EIHVybEJhclduZCkKK1dlYktpdEJyb3dzZXJXaW5kb3c6OldlYktpdEJyb3dzZXJXaW5kb3co
V0tQYWdlQ29uZmlndXJhdGlvblJlZiBjb25mLCBIV05EIG1haW5XbmQsIEhXTkQgdXJsQmFyV25k
KQogICAgIDogbV9oTWFpblduZChtYWluV25kKQogICAgICwgbV91cmxCYXJXbmQodXJsQmFyV25k
KQogewogICAgIFJFQ1QgcmVjdCA9IHsgfTsKLSAgICBhdXRvIGNvbmYgPSBhZG9wdFdLKFdLUGFn
ZUNvbmZpZ3VyYXRpb25DcmVhdGUoKSk7Ci0KLSAgICBhdXRvIHByZWZzID0gV0tQcmVmZXJlbmNl
c0NyZWF0ZSgpOwotICAgIFdLUHJlZmVyZW5jZXNTZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkKHBy
ZWZzLCB0cnVlKTsKLSAgICBXS1BhZ2VDb25maWd1cmF0aW9uU2V0UHJlZmVyZW5jZXMoY29uZi5n
ZXQoKSwgcHJlZnMpOwotCi0gICAgbV9jb250ZXh0ID0gYWRvcHRXSyhXS0NvbnRleHRDcmVhdGVX
aXRoQ29uZmlndXJhdGlvbihudWxscHRyKSk7Ci0gICAgV0tQYWdlQ29uZmlndXJhdGlvblNldENv
bnRleHQoY29uZi5nZXQoKSwgbV9jb250ZXh0LmdldCgpKTsKLQotICAgIG1fdmlldyA9IGFkb3B0
V0soV0tWaWV3Q3JlYXRlKHJlY3QsIGNvbmYuZ2V0KCksIG1haW5XbmQpKTsKKyAgICBtX3ZpZXcg
PSBhZG9wdFdLKFdLVmlld0NyZWF0ZShyZWN0LCBjb25mLCBtYWluV25kKSk7CiAgICAgYXV0byBw
YWdlID0gV0tWaWV3R2V0UGFnZShtX3ZpZXcuZ2V0KCkpOwogCiAgICAgV0tQYWdlTmF2aWdhdGlv
bkNsaWVudFYwIG5hdmlnYXRpb25DbGllbnQgPSB7IH07CkBAIC0xMTIsMTIgKzExMiwxOSBAQCBX
ZWJLaXRCcm93c2VyV2luZG93OjpXZWJLaXRCcm93c2VyV2luZG93KEhXTkQgbWFpblduZCwgSFdO
RCB1cmxCYXJXbmQpCiAgICAgbmF2aWdhdGlvbkNsaWVudC5kaWRSZWNlaXZlQXV0aGVudGljYXRp
b25DaGFsbGVuZ2UgPSBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2U7CiAgICAgV0tQ
YWdlU2V0UGFnZU5hdmlnYXRpb25DbGllbnQocGFnZSwgJm5hdmlnYXRpb25DbGllbnQuYmFzZSk7
CiAKKyAgICBXS1BhZ2VVSUNsaWVudFYxMyB1aUNsaWVudCA9IHsgfTsKKyAgICB1aUNsaWVudC5i
YXNlLnZlcnNpb24gPSAxMzsKKyAgICB1aUNsaWVudC5iYXNlLmNsaWVudEluZm8gPSB0aGlzOwor
ICAgIHVpQ2xpZW50LmNyZWF0ZU5ld1BhZ2UgPSBjcmVhdGVOZXdQYWdlOworICAgIFdLUGFnZVNl
dFBhZ2VVSUNsaWVudChwYWdlLCAmdWlDbGllbnQuYmFzZSk7CisKICAgICB1cGRhdGVQcm94eVNl
dHRpbmdzKCk7CiB9CiAKIHZvaWQgV2ViS2l0QnJvd3NlcldpbmRvdzo6dXBkYXRlUHJveHlTZXR0
aW5ncygpCiB7Ci0gICAgYXV0byBzdG9yZSA9IFdLQ29udGV4dEdldFdlYnNpdGVEYXRhU3RvcmUo
bV9jb250ZXh0LmdldCgpKTsKKyAgICBhdXRvIGNvbnRleHQgPSBXS1BhZ2VHZXRDb250ZXh0KFdL
Vmlld0dldFBhZ2UobV92aWV3LmdldCgpKSk7CisgICAgYXV0byBzdG9yZSA9IFdLQ29udGV4dEdl
dFdlYnNpdGVEYXRhU3RvcmUoY29udGV4dCk7CiAKICAgICBpZiAoIW1fcHJveHkuZW5hYmxlKSB7
CiAgICAgICAgIFdLV2Vic2l0ZURhdGFTdG9yZURpc2FibGVOZXR3b3JrUHJveHlTZXR0aW5ncyhz
dG9yZSk7CkBAIC0yOTEsMyArMjk4LDE4IEBAIHZvaWQgV2ViS2l0QnJvd3NlcldpbmRvdzo6ZGlk
UmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKFdLUGFnZVJlZiBwYWdlLCBXS0F1CiAKICAg
ICBXS0F1dGhlbnRpY2F0aW9uRGVjaXNpb25MaXN0ZW5lclVzZUNyZWRlbnRpYWwoZGVjaXNpb25M
aXN0ZW5lciwgbnVsbHB0cik7CiB9CisKK1dLUGFnZVJlZiBXZWJLaXRCcm93c2VyV2luZG93Ojpj
cmVhdGVOZXdQYWdlKFdLUGFnZVJlZiBwYWdlLCBXS1BhZ2VDb25maWd1cmF0aW9uUmVmIGNvbmZp
Z3VyYXRpb24sIFdLTmF2aWdhdGlvbkFjdGlvblJlZiBuYXZpZ2F0aW9uQWN0aW9uLCBXS1dpbmRv
d0ZlYXR1cmVzUmVmIHdpbmRvd0ZlYXR1cmVzLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKQorewor
ICAgIGF1dG8mIG5ld1dpbmRvdyA9IE1haW5XaW5kb3c6OmNyZWF0ZSgpLmxlYWtSZWYoKTsKKyAg
ICBhdXRvIGZhY3RvcnkgPSBbY29uZmlndXJhdGlvbl0oSFdORCBtYWluV25kLCBIV05EIHVybEJh
clduZCwgYm9vbCwgYm9vbCkgLT4gYXV0byB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IFdlYktpdEJyb3dzZXJXaW5kb3coY29uZmlndXJhdGlvbiwgbWFpblduZCwgdXJsQmFyV25kKSk7
CisgICAgfTsKKyAgICBib29sIG9rID0gbmV3V2luZG93LmluaXQoZmFjdG9yeSwgaEluc3QpOwor
ICAgIGlmICghb2spCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIFNob3dXaW5kb3cobmV3
V2luZG93Lmh3bmQoKSwgU1dfU0hPVyk7CisgICAgYXV0byYgbmV3QnJvd3NlcldpbmRvdyA9ICpz
dGF0aWNfY2FzdDxXZWJLaXRCcm93c2VyV2luZG93Kj4obmV3V2luZG93LmJyb3dzZXJXaW5kb3co
KSk7CisgICAgV0tSZXRhaW5QdHI8V0tQYWdlUmVmPiBuZXdQYWdlID0gV0tWaWV3R2V0UGFnZShu
ZXdCcm93c2VyV2luZG93Lm1fdmlldy5nZXQoKSk7CisgICAgcmV0dXJuIG5ld1BhZ2UubGVha1Jl
ZigpOworfQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvd2luL1dlYktpdEJyb3dzZXJX
aW5kb3cuaCBiL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9XZWJLaXRCcm93c2VyV2luZG93LmgKaW5k
ZXggMDAzYjM1Y2E5ZDYzYjEzZjcxYzU4M2FiNTU5ZDI1ZTgwYzg4ODMwMi4uNDIzYzI3ZTdhMGI1
YmNlOWEwNjkwN2E3NzAzMGNlNzZkMzQ0NTA2NSAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dz
ZXIvd2luL1dlYktpdEJyb3dzZXJXaW5kb3cuaAorKysgYi9Ub29scy9NaW5pQnJvd3Nlci93aW4v
V2ViS2l0QnJvd3NlcldpbmRvdy5oCkBAIC0zNCw3ICszNCw3IEBAIHB1YmxpYzoKICAgICBzdGF0
aWMgUmVmPEJyb3dzZXJXaW5kb3c+IGNyZWF0ZShIV05EIG1haW5XbmQsIEhXTkQgdXJsQmFyV25k
LCBib29sIHVzZUxheWVyZWRXZWJWaWV3ID0gZmFsc2UsIGJvb2wgcGFnZUxvYWRUZXN0aW5nID0g
ZmFsc2UpOwogCiBwcml2YXRlOgotICAgIFdlYktpdEJyb3dzZXJXaW5kb3coSFdORCBtYWluV25k
LCBIV05EIHVybEJhclduZCk7CisgICAgV2ViS2l0QnJvd3NlcldpbmRvdyhXS1BhZ2VDb25maWd1
cmF0aW9uUmVmLCBIV05EIG1haW5XbmQsIEhXTkQgdXJsQmFyV25kKTsKIAogICAgIEhSRVNVTFQg
aW5pdCgpIG92ZXJyaWRlOwogICAgIEhXTkQgaHduZCgpIG92ZXJyaWRlOwpAQCAtNjQsOCArNjQs
OCBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIGRpZEZpbmlzaE5hdmlnYXRpb24oV0tQYWdl
UmVmLCBXS05hdmlnYXRpb25SZWYsIFdLVHlwZVJlZiwgY29uc3Qgdm9pZCopOwogICAgIHN0YXRp
YyB2b2lkIGRpZENvbW1pdE5hdmlnYXRpb24oV0tQYWdlUmVmLCBXS05hdmlnYXRpb25SZWYsIFdL
VHlwZVJlZiwgY29uc3Qgdm9pZCopOwogICAgIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZShXS1BhZ2VSZWYsIFdLQXV0aGVudGljYXRpb25DaGFsbGVuZ2VSZWYs
IGNvbnN0IHZvaWQqKTsKKyAgICBzdGF0aWMgV0tQYWdlUmVmIGNyZWF0ZU5ld1BhZ2UoV0tQYWdl
UmVmLCBXS1BhZ2VDb25maWd1cmF0aW9uUmVmLCBXS05hdmlnYXRpb25BY3Rpb25SZWYsIFdLV2lu
ZG93RmVhdHVyZXNSZWYsIGNvbnN0IHZvaWQgKik7CiAKLSAgICBXS1JldGFpblB0cjxXS0NvbnRl
eHRSZWY+IG1fY29udGV4dDsKICAgICBXS1JldGFpblB0cjxXS1ZpZXdSZWY+IG1fdmlldzsKICAg
ICBIV05EIG1faE1haW5XbmQgeyBudWxscHRyIH07CiAgICAgSFdORCBtX3VybEJhclduZCB7IG51
bGxwdHIgfTsKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9XaW5NYWluLmNwcCBi
L1Rvb2xzL01pbmlCcm93c2VyL3dpbi9XaW5NYWluLmNwcAppbmRleCBlOTJjYjQ5YzQ4NDRmMWE2
YmZlYTNjZGZiNjExMTczZTM5ZjI3OTJjLi45M2YwMDU4NDJmZTQ5MzkzNmJmYWQ3NjllMDUwODEx
MDAzMDk1ZGI2IDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci93aW4vV2luTWFpbi5jcHAK
KysrIGIvVG9vbHMvTWluaUJyb3dzZXIvd2luL1dpbk1haW4uY3BwCkBAIC0zMiw4ICszMiwxMyBA
QAogI2luY2x1ZGUgIkNvbW1vbi5oIgogI2luY2x1ZGUgIk1pbmlCcm93c2VyTGliUmVzb3VyY2Uu
aCIKICNpbmNsdWRlICJNaW5pQnJvd3NlclJlcGxhY2UuaCIKKyNpbmNsdWRlICJXZWJLaXRMZWdh
Y3lCcm93c2VyV2luZG93LmgiCiAjaW5jbHVkZSA8V2ViS2l0TGVnYWN5L1dlYktpdENPTUFQSS5o
PgogCisjaWYgRU5BQkxFKFdFQktJVCkKKyNpbmNsdWRlICJXZWJLaXRCcm93c2VyV2luZG93Lmgi
CisjZW5kaWYKKwogaW50IFdJTkFQSSB3V2luTWFpbihfSW5fIEhJTlNUQU5DRSBoSW5zdGFuY2Us
IF9Jbl9vcHRfIEhJTlNUQU5DRSBoUHJldkluc3RhbmNlLCBfSW5fIExQV1NUUiBscHN0ckNtZExp
bmUsIF9Jbl8gaW50IG5DbWRTaG93KQogewogI2lmZGVmIF9DUlREQkdfTUFQX0FMTE9DCkBAIC02
MCw4ICs2NSwxMyBAQCBpbnQgV0lOQVBJIHdXaW5NYWluKF9Jbl8gSElOU1RBTkNFIGhJbnN0YW5j
ZSwgX0luX29wdF8gSElOU1RBTkNFIGhQcmV2SW5zdGFuY2UsCiAKICAgICA6OlNldFByb2Nlc3NE
UElBd2FyZSgpOwogCi0gICAgYXV0byYgbWFpbldpbmRvdyA9IE1haW5XaW5kb3c6OmNyZWF0ZShv
cHRpb25zLndpbmRvd1R5cGUpLmxlYWtSZWYoKTsKLSAgICBIUkVTVUxUIGhyID0gbWFpbldpbmRv
dy5pbml0KGhJbnN0LCBvcHRpb25zLnVzZXNMYXllcmVkV2ViVmlldywgb3B0aW9ucy5wYWdlTG9h
ZFRlc3RpbmcpOworICAgIGF1dG8gZmFjdG9yeSA9IFdlYktpdExlZ2FjeUJyb3dzZXJXaW5kb3c6
OmNyZWF0ZTsKKyNpZiBFTkFCTEUoV0VCS0lUKQorICAgIGlmIChvcHRpb25zLndpbmRvd1R5cGUg
PT0gQnJvd3NlcldpbmRvd1R5cGU6OldlYktpdCkKKyAgICAgICAgZmFjdG9yeSA9IFdlYktpdEJy
b3dzZXJXaW5kb3c6OmNyZWF0ZTsKKyNlbmRpZgorICAgIGF1dG8mIG1haW5XaW5kb3cgPSBNYWlu
V2luZG93OjpjcmVhdGUoKS5sZWFrUmVmKCk7CisgICAgSFJFU1VMVCBociA9IG1haW5XaW5kb3cu
aW5pdChmYWN0b3J5LCBoSW5zdCwgb3B0aW9ucy51c2VzTGF5ZXJlZFdlYlZpZXcsIG9wdGlvbnMu
cGFnZUxvYWRUZXN0aW5nKTsKICAgICBpZiAoRkFJTEVEKGhyKSkKICAgICAgICAgZ290byBleGl0
OwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>