<?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>129378</bug_id>
          
          <creation_ts>2014-02-26 10:33:55 -0800</creation_ts>
          <short_desc>Get rid of WKViewIOS.mm</short_desc>
          <delta_ts>2014-02-26 12:09:27 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>REOPENED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>129382</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>984800</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-02-26 10:33:55 -0800</bug_when>
    <thetext>Get rid of WKViewIOS.mm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984801</commentid>
    <comment_count>1</comment_count>
      <attachid>225267</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-02-26 10:34:20 -0800</bug_when>
    <thetext>Created attachment 225267
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984806</commentid>
    <comment_count>2</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-02-26 10:54:31 -0800</bug_when>
    <thetext>Committed r164725: &lt;http://trac.webkit.org/changeset/164725&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984818</commentid>
    <comment_count>3</comment_count>
      <attachid>225267</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-02-26 11:27:54 -0800</bug_when>
    <thetext>Comment on attachment 225267
Patch

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

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKView.h:-46
&gt; -#else
&gt; -WK_EXPORT
&gt;  @interface WKView : NSView &lt;NSTextInputClient&gt; {
&gt; -#endif

This removed a WK_EXPORT. Was that intended?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984834</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-26 12:09:27 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 129382</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>225267</attachid>
            <date>2014-02-26 10:34:20 -0800</date>
            <delta_ts>2014-02-26 11:27:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-129378-20140226103419.patch</filename>
            <type>text/plain</type>
            <size>22297</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY0NzIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNjQzMTMxODQzM2RlN2Ex
ZmYzYmI4NTZmYTRjMWQwZTFlZWMxYjRkYS4uYzc4ZTllOGRmOGEwYjBkMzNkODJkZDIxNjBjNjI3
ZDUwZjQxOTA2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE0LTAyLTI2ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgR2V0IHJpZCBvZiBX
S1ZpZXdJT1MubW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEyOTM3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL2lvcy9XS1ZpZXdJT1MubW06IFJlbW92ZWQuCisgICAgICAgICogV2ViS2l0Mi54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDE0LTAyLTI2ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8
YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIFJlbW92ZSBzb21lIGVycm9uZW91c2x5IGNh
cHR1cmVkIGJsb2NrcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tWaWV3
LmgKaW5kZXggMzA5YzQwYzA0YTQxNzgzZDg4ODM1Zjk5N2U1NjYxMzNmOTU5ZTI2OS4uY2FmMWE3
MTM1MzM1NzJkODFjZmQzZmM3NDE4YmRlMjdiMWM3ZTI1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLVmlldy5oCkBAIC0yNSwxMSArMjUsNyBAQAogCiAjaW1wb3J0
IDxXZWJLaXQyL1dLRm91bmRhdGlvbi5oPgogCi0jaWYgVEFSR0VUX09TX0lQSE9ORQotI2ltcG9y
dCA8VUlLaXQvVUlLaXQuaD4KLSNlbHNlCiAjaW1wb3J0IDxDb2NvYS9Db2NvYS5oPgotI2VuZGlm
CiAjaW1wb3J0IDxXZWJLaXQyL1dLRGVjbGFyYXRpb25TcGVjaWZpZXJzLmg+CiAKIEBjbGFzcyBX
S0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXI7CkBAIC0zNywxMyArMzMsNyBAQAogQGNsYXNzIFdL
UHJvY2Vzc0dyb3VwOwogQGNsYXNzIFdLVmlld0RhdGE7CiAKLSNpZiBUQVJHRVRfT1NfSVBIT05F
Ci1XS19FWFBPUlQKLUBpbnRlcmZhY2UgV0tWaWV3IDogVUlWaWV3IHsKLSNlbHNlCi1XS19FWFBP
UlQKIEBpbnRlcmZhY2UgV0tWaWV3IDogTlNWaWV3IDxOU1RleHRJbnB1dENsaWVudD4gewotI2Vu
ZGlmCiBAcHJpdmF0ZQogICAgIFdLVmlld0RhdGEgKl9kYXRhOwogICAgIHVuc2lnbmVkIF91bnVz
ZWQ7CkBAIC01MSwxMyArNDEsOCBAQCBXS19FWFBPUlQKIAogI2lmIFdLX0FQSV9FTkFCTEVECiAK
LSNpZiBUQVJHRVRfT1NfSVBIT05FCi0tIChpZClpbml0V2l0aEZyYW1lOihDR1JlY3QpZnJhbWUg
cHJvY2Vzc0dyb3VwOihXS1Byb2Nlc3NHcm91cCAqKXByb2Nlc3NHcm91cCBicm93c2luZ0NvbnRl
eHRHcm91cDooV0tCcm93c2luZ0NvbnRleHRHcm91cCAqKWJyb3dzaW5nQ29udGV4dEdyb3VwOwot
LSAoaWQpaW5pdFdpdGhGcmFtZTooQ0dSZWN0KWZyYW1lIHByb2Nlc3NHcm91cDooV0tQcm9jZXNz
R3JvdXAgKilwcm9jZXNzR3JvdXAgYnJvd3NpbmdDb250ZXh0R3JvdXA6KFdLQnJvd3NpbmdDb250
ZXh0R3JvdXAgKilicm93c2luZ0NvbnRleHRHcm91cCByZWxhdGVkVG9WaWV3OihXS1ZpZXcgKily
ZWxhdGVkVmlldzsKLSNlbHNlCiAtIChpZClpbml0V2l0aEZyYW1lOihOU1JlY3QpZnJhbWUgcHJv
Y2Vzc0dyb3VwOihXS1Byb2Nlc3NHcm91cCAqKXByb2Nlc3NHcm91cCBicm93c2luZ0NvbnRleHRH
cm91cDooV0tCcm93c2luZ0NvbnRleHRHcm91cCAqKWJyb3dzaW5nQ29udGV4dEdyb3VwOwogLSAo
aWQpaW5pdFdpdGhGcmFtZTooTlNSZWN0KWZyYW1lIHByb2Nlc3NHcm91cDooV0tQcm9jZXNzR3Jv
dXAgKilwcm9jZXNzR3JvdXAgYnJvd3NpbmdDb250ZXh0R3JvdXA6KFdLQnJvd3NpbmdDb250ZXh0
R3JvdXAgKilicm93c2luZ0NvbnRleHRHcm91cCByZWxhdGVkVG9WaWV3OihXS1ZpZXcgKilyZWxh
dGVkVmlldzsKLSNlbmRpZgogCiBAcHJvcGVydHkocmVhZG9ubHkpIFdLQnJvd3NpbmdDb250ZXh0
Q29udHJvbGxlciAqYnJvd3NpbmdDb250ZXh0Q29udHJvbGxlcjsKIApAQCAtNjYsOCArNTEsNCBA
QCBXS19FWFBPUlQKIEBwcm9wZXJ0eSBCT09MIGRyYXdzQmFja2dyb3VuZDsKIEBwcm9wZXJ0eSBC
T09MIGRyYXdzVHJhbnNwYXJlbnRCYWNrZ3JvdW5kOwogCi0jaWYgVEFSR0VUX09TX0lQSE9ORQot
QHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBVSVNjcm9sbFZpZXcgKnNjcm9sbFZpZXc7
Ci0jZW5kaWYKLQogQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9pb3MvV0tWaWV3SU9TLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9pb3MvV0tW
aWV3SU9TLm1tCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NGEzMjE1NDg2YzM3N2Iy
ZmFhYTAxNzMwNzU5OTM3OWFjOGE4OWM0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvaW9zL1dLVmlld0lP
Uy5tbQorKysgL2Rldi9udWxsCkBAIC0xLDM4NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDEzLCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I2ltcG9ydCAiY29uZmlnLmgiCi0jaW1wb3J0ICJXS1ZpZXdQcml2YXRlLmgiCi0KLSNpbXBvcnQg
IlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmgiCi0jaW1wb3J0ICJWaWV3R2VzdHVyZUNvbnRy
b2xsZXIuaCIKLSNpbXBvcnQgIldlYlBhZ2VQcm94eS5oIgotI2ltcG9ydCAiV0tCcm93c2luZ0Nv
bnRleHRHcm91cFByaXZhdGUuaCIKLSNpbXBvcnQgIldLQ29udGVudFZpZXcuaCIKLSNpbXBvcnQg
IldLUHJvY2Vzc0dyb3VwUHJpdmF0ZS5oIgotI2ltcG9ydCAiV0tTY3JvbGxWaWV3LmgiCi0jaW1w
b3J0ICJXS0FQSUNhc3QuaCIKLSNpbXBvcnQgPFVJS2l0L1VJSW1hZ2VfUHJpdmF0ZS5oPgotI2lt
cG9ydCA8VUlLaXQvVUlQZXJpcGhlcmFsSG9zdF9Qcml2YXRlLmg+Ci0jaW1wb3J0IDxVSUtpdC9V
SVNjcmVlbi5oPgotI2ltcG9ydCA8VUlLaXQvVUlTY3JvbGxWaWV3X1ByaXZhdGUuaD4KLSNpbXBv
cnQgPFVJS2l0L1VJV2luZG93X1ByaXZhdGUuaD4KLSNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4K
LQotdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKLQotQGludGVyZmFjZSBXS1ZpZXcgKCkgPFVJU2Ny
b2xsVmlld0RlbGVnYXRlPgotQGVuZAotCi1AaW50ZXJmYWNlIFVJU2Nyb2xsVmlldyAoVUlTY3Jv
bGxWaWV3SW50ZXJuYWwpCi0tICh2b2lkKV9hZGp1c3RGb3JBdXRvbWF0aWNLZXlib2FyZEluZm86
KE5TRGljdGlvbmFyeSopaW5mbyBhbmltYXRlZDooQk9PTClhbmltYXRlZCBsYXN0QWRqdXN0bWVu
dDooQ0dGbG9hdCopbGFzdEFkanVzdG1lbnQ7Ci1AZW5kCi0KLUBpbXBsZW1lbnRhdGlvbiBXS1Zp
ZXcgewotICAgIFJldGFpblB0cjxXS1Njcm9sbFZpZXc+IF9zY3JvbGxWaWV3OwotICAgIFJldGFp
blB0cjxXS0NvbnRlbnRWaWV3PiBfY29udGVudFZpZXc7Ci0KLSAgICBCT09MIF9pc1dhaXRpbmdG
b3JOZXdMYXllclRyZWVBZnRlckRpZENvbW1pdExvYWQ7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPFZp
ZXdHZXN0dXJlQ29udHJvbGxlcj4gX2dlc3R1cmVDb250cm9sbGVyOwotICAgIAotICAgIEJPT0wg
X2FsbG93c0JhY2tGb3J3YXJkTmF2aWdhdGlvbkdlc3R1cmVzOwotCi0gICAgQk9PTCBfaGFzU3Rh
dGljTWluaW11bUxheW91dFNpemU7Ci0gICAgQ0dTaXplIF9taW5pbXVtTGF5b3V0U2l6ZU92ZXJy
aWRlOwotCi0gICAgVUlFZGdlSW5zZXRzIF9vYnNjdXJlZEluc2V0czsKLSAgICBib29sIF9pc0No
YW5naW5nT2JzY3VyZWRJbnNldHNJbnRlcmFjdGl2ZWx5OwotICAgIENHRmxvYXQgX2xhc3RBZGp1
c3RtZW50Rm9yU2Nyb2xsZXI7Ci19Ci0KLS0gKGlkKWluaXRXaXRoQ29kZXI6KE5TQ29kZXIgKilj
b2RlcgotewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCi0gICAgW3NlbGYgcmVsZWFzZV07Ci0g
ICAgcmV0dXJuIG5pbDsKLX0KLQotLSAoaWQpaW5pdFdpdGhGcmFtZTooQ0dSZWN0KWZyYW1lIHBy
b2Nlc3NHcm91cDooV0tQcm9jZXNzR3JvdXAgKilwcm9jZXNzR3JvdXAgYnJvd3NpbmdDb250ZXh0
R3JvdXA6KFdLQnJvd3NpbmdDb250ZXh0R3JvdXAgKilicm93c2luZ0NvbnRleHRHcm91cAotewot
ICAgIHJldHVybiBbc2VsZiBpbml0V2l0aEZyYW1lOmZyYW1lIHByb2Nlc3NHcm91cDpwcm9jZXNz
R3JvdXAgYnJvd3NpbmdDb250ZXh0R3JvdXA6YnJvd3NpbmdDb250ZXh0R3JvdXAgcmVsYXRlZFRv
VmlldzpuaWxdOwotfQotCi0tIChpZClpbml0V2l0aEZyYW1lOihDR1JlY3QpZnJhbWUgcHJvY2Vz
c0dyb3VwOihXS1Byb2Nlc3NHcm91cCAqKXByb2Nlc3NHcm91cCBicm93c2luZ0NvbnRleHRHcm91
cDooV0tCcm93c2luZ0NvbnRleHRHcm91cCAqKWJyb3dzaW5nQ29udGV4dEdyb3VwIHJlbGF0ZWRU
b1ZpZXc6KFdLVmlldyAqKXJlbGF0ZWRWaWV3Ci17Ci0gICAgaWYgKCEoc2VsZiA9IFtzdXBlciBp
bml0V2l0aEZyYW1lOmZyYW1lXSkpCi0gICAgICAgIHJldHVybiBuaWw7Ci0KLSAgICBbc2VsZiBf
Y29tbW9uSW5pdGlhbGl6YXRpb25XaXRoQ29udGV4dFJlZjpwcm9jZXNzR3JvdXAuX2NvbnRleHRS
ZWYgcGFnZUdyb3VwUmVmOmJyb3dzaW5nQ29udGV4dEdyb3VwLl9wYWdlR3JvdXBSZWYgcmVsYXRl
ZFRvUGFnZTpyZWxhdGVkVmlldyA/IFtyZWxhdGVkVmlldyBwYWdlUmVmXSA6IG51bGxwdHJdOwot
ICAgIHJldHVybiBzZWxmOwotfQotCi0tICh2b2lkKWRlYWxsb2MKLXsKLSAgICBbW05TTm90aWZp
Y2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92ZU9ic2VydmVyOnNlbGZdOwotICAgIFtz
dXBlciBkZWFsbG9jXTsKLX0KLQotLSAodm9pZClzZXRGcmFtZTooQ0dSZWN0KWZyYW1lCi17Ci0g
ICAgQ0dSZWN0IG9sZEZyYW1lID0gW3NlbGYgZnJhbWVdOwotICAgIFtzdXBlciBzZXRGcmFtZTpm
cmFtZV07Ci0KLSAgICBpZiAoIUNHU2l6ZUVxdWFsVG9TaXplKG9sZEZyYW1lLnNpemUsIGZyYW1l
LnNpemUpKQotICAgICAgICBbc2VsZiBfZnJhbWVPckJvdW5kc0NoYW5nZWRdOwotfQotCi0tICh2
b2lkKXNldEJvdW5kczooQ0dSZWN0KWJvdW5kcwotewotICAgIENHUmVjdCBvbGRCb3VuZHMgPSBb
c2VsZiBib3VuZHNdOwotICAgIFtzdXBlciBzZXRCb3VuZHM6Ym91bmRzXTsKLSAgICAKLSAgICBp
ZiAoIUNHU2l6ZUVxdWFsVG9TaXplKG9sZEJvdW5kcy5zaXplLCBib3VuZHMuc2l6ZSkpCi0gICAg
ICAgIFtzZWxmIF9mcmFtZU9yQm91bmRzQ2hhbmdlZF07Ci19Ci0KLS0gKFVJU2Nyb2xsVmlldyAq
KXNjcm9sbFZpZXcKLXsKLSAgICByZXR1cm4gX3Njcm9sbFZpZXcuZ2V0KCk7Ci19Ci0KLS0gKFdL
QnJvd3NpbmdDb250ZXh0Q29udHJvbGxlciAqKWJyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIKLXsK
LSAgICByZXR1cm4gW19jb250ZW50VmlldyBicm93c2luZ0NvbnRleHRDb250cm9sbGVyXTsKLX0K
LQotLSAodm9pZClzZXRBbGxvd3NCYWNrRm9yd2FyZE5hdmlnYXRpb25HZXN0dXJlczooQk9PTClh
bGxvd3NCYWNrRm9yd2FyZE5hdmlnYXRpb25HZXN0dXJlcwotewotICAgIGlmIChfYWxsb3dzQmFj
a0ZvcndhcmROYXZpZ2F0aW9uR2VzdHVyZXMgPT0gYWxsb3dzQmFja0ZvcndhcmROYXZpZ2F0aW9u
R2VzdHVyZXMpCi0gICAgICAgIHJldHVybjsKLQotICAgIF9hbGxvd3NCYWNrRm9yd2FyZE5hdmln
YXRpb25HZXN0dXJlcyA9IGFsbG93c0JhY2tGb3J3YXJkTmF2aWdhdGlvbkdlc3R1cmVzOwotICAg
IAotICAgIFdlYlBhZ2VQcm94eSAqd2ViUGFnZVByb3h5ID0gW19jb250ZW50VmlldyBwYWdlXTsK
LSAgICAKLSAgICBpZiAoYWxsb3dzQmFja0ZvcndhcmROYXZpZ2F0aW9uR2VzdHVyZXMpIHsKLSAg
ICAgICAgaWYgKCFfZ2VzdHVyZUNvbnRyb2xsZXIpIHsKLSAgICAgICAgICAgIF9nZXN0dXJlQ29u
dHJvbGxlciA9IHN0ZDo6bWFrZV91bmlxdWU8Vmlld0dlc3R1cmVDb250cm9sbGVyPigqd2ViUGFn
ZVByb3h5KTsKLSAgICAgICAgICAgIF9nZXN0dXJlQ29udHJvbGxlci0+aW5zdGFsbFN3aXBlSGFu
ZGxlcihzZWxmLCBbc2VsZiBzY3JvbGxWaWV3XSk7Ci0gICAgICAgIH0KLSAgICB9IGVsc2UKLSAg
ICAgICAgX2dlc3R1cmVDb250cm9sbGVyID0gbnVsbHB0cjsKLSAgICAKLSAgICB3ZWJQYWdlUHJv
eHktPnNldFNob3VsZFJlY29yZE5hdmlnYXRpb25TbmFwc2hvdHMoYWxsb3dzQmFja0ZvcndhcmRO
YXZpZ2F0aW9uR2VzdHVyZXMpOwotfQotCi0tIChCT09MKWFsbG93c0JhY2tGb3J3YXJkTmF2aWdh
dGlvbkdlc3R1cmVzCi17Ci0gICAgcmV0dXJuIF9hbGxvd3NCYWNrRm9yd2FyZE5hdmlnYXRpb25H
ZXN0dXJlczsKLX0KLQotI3ByYWdtYSBtYXJrIC0gVUlTY3JvbGxWaWV3RGVsZWdhdGUKLQotLSAo
VUlWaWV3ICopdmlld0Zvclpvb21pbmdJblNjcm9sbFZpZXc6KFVJU2Nyb2xsVmlldyAqKXNjcm9s
bFZpZXcKLXsKLSAgICBBU1NFUlQoX3Njcm9sbFZpZXcgPT0gc2Nyb2xsVmlldyk7Ci0gICAgcmV0
dXJuIF9jb250ZW50Vmlldy5nZXQoKTsKLX0KLQotLSAodm9pZClzY3JvbGxWaWV3V2lsbEJlZ2lu
Wm9vbWluZzooVUlTY3JvbGxWaWV3ICopc2Nyb2xsVmlldyB3aXRoVmlldzooVUlWaWV3ICopdmll
dwotewotICAgIGlmIChzY3JvbGxWaWV3LnBpbmNoR2VzdHVyZVJlY29nbml6ZXIuc3RhdGUgPT0g
VUlHZXN0dXJlUmVjb2duaXplclN0YXRlQmVnYW4pCi0gICAgICAgIFtfY29udGVudFZpZXcgd2ls
bFN0YXJ0VXNlclRyaWdnZXJlZFpvb21dOwotICAgIFtfY29udGVudFZpZXcgd2lsbFN0YXJ0Wm9v
bU9yU2Nyb2xsXTsKLX0KLQotLSAodm9pZClzY3JvbGxWaWV3V2lsbEJlZ2luRHJhZ2dpbmc6KFVJ
U2Nyb2xsVmlldyAqKXNjcm9sbFZpZXcKLXsKLSAgICBpZiAoc2Nyb2xsVmlldy5wYW5HZXN0dXJl
UmVjb2duaXplci5zdGF0ZSA9PSBVSUdlc3R1cmVSZWNvZ25pemVyU3RhdGVCZWdhbikKLSAgICAg
ICAgW19jb250ZW50VmlldyB3aWxsU3RhcnRVc2VyVHJpZ2dlcmVkU2Nyb2xsXTsKLSAgICBbX2Nv
bnRlbnRWaWV3IHdpbGxTdGFydFpvb21PclNjcm9sbF07Ci19Ci0KLS0gKHZvaWQpX2RpZEZpbmlz
aFNjcm9sbGluZwotewotICAgIFtzZWxmIF91cGRhdGVWaXNpYmxlQ29udGVudFJlY3RzXTsKLSAg
ICBbX2NvbnRlbnRWaWV3IGRpZEZpbmlzaFNjcm9sbGluZ107Ci19Ci0KLS0gKHZvaWQpc2Nyb2xs
Vmlld0RpZEVuZERyYWdnaW5nOihVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3IHdpbGxEZWNlbGVy
YXRlOihCT09MKWRlY2VsZXJhdGUKLXsKLSAgICAvLyBJZiB3ZSdyZSBkZWNlbGVyYXRpbmcsIHNj
cm9sbCBvZmZzZXQgd2lsbCBiZSB1cGRhdGVkIHdoZW4gc2Nyb2xsVmlld0RpZEZpbmlzaERlY2Vs
ZXJhdGluZzogaXMgY2FsbGVkLgotICAgIGlmICghZGVjZWxlcmF0ZSkKLSAgICAgICAgW3NlbGYg
X2RpZEZpbmlzaFNjcm9sbGluZ107Ci19Ci0KLS0gKHZvaWQpc2Nyb2xsVmlld0RpZEVuZERlY2Vs
ZXJhdGluZzooVUlTY3JvbGxWaWV3ICopc2Nyb2xsVmlldwotewotICAgIFtzZWxmIF9kaWRGaW5p
c2hTY3JvbGxpbmddOwotfQotCi0tICh2b2lkKXNjcm9sbFZpZXdEaWRTY3JvbGxUb1RvcDooVUlT
Y3JvbGxWaWV3ICopc2Nyb2xsVmlldwotewotICAgIFtzZWxmIF9kaWRGaW5pc2hTY3JvbGxpbmdd
OwotfQotCi0tICh2b2lkKXNjcm9sbFZpZXdEaWRTY3JvbGw6KFVJU2Nyb2xsVmlldyAqKXNjcm9s
bFZpZXcKLXsKLSAgICBbc2VsZiBfdXBkYXRlVmlzaWJsZUNvbnRlbnRSZWN0c107Ci19Ci0KLS0g
KHZvaWQpc2Nyb2xsVmlld0RpZFpvb206KFVJU2Nyb2xsVmlldyAqKXNjcm9sbFZpZXcKLXsKLSAg
ICBbc2VsZiBfdXBkYXRlVmlzaWJsZUNvbnRlbnRSZWN0c107Ci19Ci0KLS0gKHZvaWQpc2Nyb2xs
Vmlld0RpZEVuZFpvb21pbmc6KFVJU2Nyb2xsVmlldyAqKXNjcm9sbFZpZXcgd2l0aFZpZXc6KFVJ
VmlldyAqKXZpZXcgYXRTY2FsZTooQ0dGbG9hdClzY2FsZQotewotICAgIEFTU0VSVChzY3JvbGxW
aWV3ID09IF9zY3JvbGxWaWV3KTsKLSAgICBbc2VsZiBfdXBkYXRlVmlzaWJsZUNvbnRlbnRSZWN0
c107Ci0gICAgW19jb250ZW50VmlldyBkaWRab29tVG9TY2FsZTpzY2FsZV07Ci19Ci0KLSNwcmFn
bWEgbWFyayBJbnRlcm5hbAotCi0tICh2b2lkKV9jb21tb25Jbml0aWFsaXphdGlvbldpdGhDb250
ZXh0UmVmOihXS0NvbnRleHRSZWYpY29udGV4dFJlZiBwYWdlR3JvdXBSZWY6KFdLUGFnZUdyb3Vw
UmVmKXBhZ2VHcm91cFJlZiByZWxhdGVkVG9QYWdlOihXS1BhZ2VSZWYpcmVsYXRlZFBhZ2UKLXsK
LSAgICBBU1NFUlQoIV9zY3JvbGxWaWV3KTsKLSAgICBBU1NFUlQoIV9jb250ZW50Vmlldyk7Ci0K
LSAgICBDR1JlY3QgYm91bmRzID0gc2VsZi5ib3VuZHM7Ci0KLSAgICBfc2Nyb2xsVmlldyA9IGFk
b3B0TlMoW1tXS1Njcm9sbFZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Ym91bmRzXSk7Ci0gICAg
W19zY3JvbGxWaWV3IHNldEludGVybmFsRGVsZWdhdGU6c2VsZl07Ci0gICAgW19zY3JvbGxWaWV3
IHNldEJvdW5jZXNab29tOllFU107Ci0KLSAgICBbc2VsZiBhZGRTdWJ2aWV3Ol9zY3JvbGxWaWV3
LmdldCgpXTsKLQotICAgIFdlYktpdDo6V2ViUGFnZUNvbmZpZ3VyYXRpb24gd2ViUGFnZUNvbmZp
Z3VyYXRpb247Ci0gICAgd2ViUGFnZUNvbmZpZ3VyYXRpb24ucGFnZUdyb3VwID0gdG9JbXBsKHBh
Z2VHcm91cFJlZik7Ci0gICAgd2ViUGFnZUNvbmZpZ3VyYXRpb24ucmVsYXRlZFBhZ2UgPSB0b0lt
cGwocmVsYXRlZFBhZ2UpOwotCi0gICAgX2NvbnRlbnRWaWV3ID0gYWRvcHROUyhbW1dLQ29udGVu
dFZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Ym91bmRzIGNvbnRleHQ6KnRvSW1wbChjb250ZXh0
UmVmKSBjb25maWd1cmF0aW9uOnN0ZDo6bW92ZSh3ZWJQYWdlQ29uZmlndXJhdGlvbildKTsKLQot
ICAgIFtbX2NvbnRlbnRWaWV3IGxheWVyXSBzZXRBbmNob3JQb2ludDpDR1BvaW50WmVyb107Ci0g
ICAgW19jb250ZW50VmlldyBzZXRGcmFtZTpib3VuZHNdOwotICAgIFtfc2Nyb2xsVmlldyBhZGRT
dWJ2aWV3Ol9jb250ZW50Vmlldy5nZXQoKV07Ci0KLSAgICBbc2VsZiBfZnJhbWVPckJvdW5kc0No
YW5nZWRdOwotCi0gICAgTlNOb3RpZmljYXRpb25DZW50ZXIgKmNlbnRlciA9IFtOU05vdGlmaWNh
dGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXTsKLSAgICBbY2VudGVyIGFkZE9ic2VydmVyOnNlbGYg
c2VsZWN0b3I6QHNlbGVjdG9yKF9rZXlib2FyZFdpbGxDaGFuZ2VGcmFtZTopIG5hbWU6VUlLZXli
b2FyZFdpbGxDaGFuZ2VGcmFtZU5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsXTsKLSAgICBbY2VudGVy
IGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF9rZXlib2FyZERpZENoYW5nZUZy
YW1lOikgbmFtZTpVSUtleWJvYXJkRGlkQ2hhbmdlRnJhbWVOb3RpZmljYXRpb24gb2JqZWN0Om5p
bF07Ci0gICAgW2NlbnRlciBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcihfa2V5
Ym9hcmRXaWxsU2hvdzopIG5hbWU6VUlLZXlib2FyZFdpbGxTaG93Tm90aWZpY2F0aW9uIG9iamVj
dDpuaWxdOwotICAgIFtjZW50ZXIgYWRkT2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3Io
X2tleWJvYXJkV2lsbEhpZGU6KSBuYW1lOlVJS2V5Ym9hcmRXaWxsSGlkZU5vdGlmaWNhdGlvbiBv
YmplY3Q6bmlsXTsKLX0KLQotLSAodm9pZClfZnJhbWVPckJvdW5kc0NoYW5nZWQKLXsKLSAgICBD
R1JlY3QgYm91bmRzID0gW3NlbGYgYm91bmRzXTsKLSAgICBpZiAoIV9oYXNTdGF0aWNNaW5pbXVt
TGF5b3V0U2l6ZSkKLSAgICAgICAgW19jb250ZW50VmlldyBzZXRNaW5pbXVtTGF5b3V0U2l6ZTpi
b3VuZHMuc2l6ZV07Ci0gICAgW19zY3JvbGxWaWV3IHNldEZyYW1lOmJvdW5kc107Ci0gICAgW19j
b250ZW50VmlldyBzZXRNaW5pbXVtU2l6ZTpib3VuZHMuc2l6ZV07Ci0gICAgW3NlbGYgX3VwZGF0
ZVZpc2libGVDb250ZW50UmVjdHNdOwotfQotCi0tICh2b2lkKV91cGRhdGVWaXNpYmxlQ29udGVu
dFJlY3RzCi17Ci0gICAgQ0dSZWN0IGZ1bGxWaWV3UmVjdCA9IHNlbGYuYm91bmRzOwotICAgIENH
UmVjdCB2aXNpYmxlUmVjdEluQ29udGVudENvb3JkaW5hdGVzID0gW3NlbGYgY29udmVydFJlY3Q6
ZnVsbFZpZXdSZWN0IHRvVmlldzpfY29udGVudFZpZXcuZ2V0KCldOwotCi0gICAgQ0dSZWN0IHVu
b2JzY3VyZWRSZWN0ID0gVUlFZGdlSW5zZXRzSW5zZXRSZWN0KGZ1bGxWaWV3UmVjdCwgX29ic2N1
cmVkSW5zZXRzKTsKLSAgICBDR1JlY3QgdW5vYnNjdXJlZFJlY3RJbkNvbnRlbnRDb29yZGluYXRl
cyA9IFtzZWxmIGNvbnZlcnRSZWN0OnVub2JzY3VyZWRSZWN0IHRvVmlldzpfY29udGVudFZpZXcu
Z2V0KCldOwotCi0gICAgQ0dGbG9hdCBzY2FsZUZhY3RvciA9IFtfc2Nyb2xsVmlldyB6b29tU2Nh
bGVdOwotCi0gICAgW19jb250ZW50VmlldyBkaWRVcGRhdGVWaXNpYmxlUmVjdDp2aXNpYmxlUmVj
dEluQ29udGVudENvb3JkaW5hdGVzIHVub2JzY3VyZWRSZWN0OnVub2JzY3VyZWRSZWN0SW5Db250
ZW50Q29vcmRpbmF0ZXMgc2NhbGU6c2NhbGVGYWN0b3IgaW5TdGFibGVTdGF0ZTpZRVNdOwotfQot
Ci0tICh2b2lkKV9rZXlib2FyZENoYW5nZWRXaXRoSW5mbzooTlNEaWN0aW9uYXJ5ICopa2V5Ym9h
cmRJbmZvIGFkanVzdFNjcm9sbFZpZXc6KEJPT0wpYWRqdXN0U2Nyb2xsVmlldwotewotICAgIC8v
IEZJWE1FOiBXZSB3aWxsIGFsc28gbmVlZCB0byBhZGp1c3QgdGhlIHVub2JzY3VyZWQgcmVjdCBi
eSB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBrZXlib2FyZCByZWN0IGFuZCB0aGUgb2JzY3VyZWQg
aW5zZXRzLgotICAgIGlmIChhZGp1c3RTY3JvbGxWaWV3KQotICAgICAgICBbX3Njcm9sbFZpZXcg
X2FkanVzdEZvckF1dG9tYXRpY0tleWJvYXJkSW5mbzprZXlib2FyZEluZm8gYW5pbWF0ZWQ6WUVT
IGxhc3RBZGp1c3RtZW50OiZfbGFzdEFkanVzdG1lbnRGb3JTY3JvbGxlcl07Ci19Ci0KLS0gKHZv
aWQpX2tleWJvYXJkV2lsbENoYW5nZUZyYW1lOihOU05vdGlmaWNhdGlvbiAqKW5vdGlmaWNhdGlv
bgotewotICAgIGlmIChbX2NvbnRlbnRWaWV3IGlzQXNzaXN0aW5nTm9kZV0pCi0gICAgICAgIFtz
ZWxmIF9rZXlib2FyZENoYW5nZWRXaXRoSW5mbzpub3RpZmljYXRpb24udXNlckluZm8gYWRqdXN0
U2Nyb2xsVmlldzpZRVNdOwotfQotCi0tICh2b2lkKV9rZXlib2FyZERpZENoYW5nZUZyYW1lOihO
U05vdGlmaWNhdGlvbiAqKW5vdGlmaWNhdGlvbgotewotICAgIFtzZWxmIF9rZXlib2FyZENoYW5n
ZWRXaXRoSW5mbzpub3RpZmljYXRpb24udXNlckluZm8gYWRqdXN0U2Nyb2xsVmlldzpOT107Ci19
Ci0KLS0gKHZvaWQpX2tleWJvYXJkV2lsbFNob3c6KE5TTm90aWZpY2F0aW9uICopbm90aWZpY2F0
aW9uCi17Ci0gICAgaWYgKFtfY29udGVudFZpZXcgaXNBc3Npc3RpbmdOb2RlXSkKLSAgICAgICAg
W3NlbGYgX2tleWJvYXJkQ2hhbmdlZFdpdGhJbmZvOm5vdGlmaWNhdGlvbi51c2VySW5mbyBhZGp1
c3RTY3JvbGxWaWV3OllFU107Ci19Ci0KLS0gKHZvaWQpX2tleWJvYXJkV2lsbEhpZGU6KE5TTm90
aWZpY2F0aW9uICopbm90aWZpY2F0aW9uCi17Ci0gICAgLy8gSWdub3JlIGtleWJvYXJkIHdpbGwg
aGlkZSBub3RpZmljYXRpb25zIHNlbnQgZHVyaW5nIHJvdGF0aW9uLiBUaGV5J3JlIGp1c3QgdGhl
cmUgZm9yCi0gICAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgcmVhc29ucyBhbmQgcHJvY2Vz
c2luZyB0aGUgd2lsbCBoaWRlIG5vdGlmaWNhdGlvbiB3b3VsZAotICAgIC8vIHRlbXBvcmFyaWx5
IHNjcmV3IHVwIHRoZSB0aGUgdW5vYnNjdXJlZCB2aWV3IGFyZWEuCi0gICAgaWYgKFtbVUlQZXJp
cGhlcmFsSG9zdCBzaGFyZWRJbnN0YW5jZV0gcm90YXRpb25TdGF0ZV0pCi0gICAgICAgIHJldHVy
bjsKLQotICAgIFtzZWxmIF9rZXlib2FyZENoYW5nZWRXaXRoSW5mbzpub3RpZmljYXRpb24udXNl
ckluZm8gYWRqdXN0U2Nyb2xsVmlldzpZRVNdOwotfQotCi1AZW5kCi0KLUBpbXBsZW1lbnRhdGlv
biBXS1ZpZXcgKFByaXZhdGUpCi0KLS0gKFdLUGFnZVJlZilwYWdlUmVmCi17Ci0gICAgcmV0dXJu
IHRvQVBJKFtfY29udGVudFZpZXcgcGFnZV0pOwotfQotCi0tIChpZClpbml0V2l0aEZyYW1lOihD
R1JlY3QpZnJhbWUgY29udGV4dFJlZjooV0tDb250ZXh0UmVmKWNvbnRleHRSZWYgcGFnZUdyb3Vw
UmVmOihXS1BhZ2VHcm91cFJlZilwYWdlR3JvdXBSZWYKLXsKLSAgICByZXR1cm4gW3NlbGYgaW5p
dFdpdGhGcmFtZTpmcmFtZSBjb250ZXh0UmVmOmNvbnRleHRSZWYgcGFnZUdyb3VwUmVmOnBhZ2VH
cm91cFJlZiByZWxhdGVkVG9QYWdlOm5pbF07Ci19Ci0KLS0gKGlkKWluaXRXaXRoRnJhbWU6KENH
UmVjdClmcmFtZSBjb250ZXh0UmVmOihXS0NvbnRleHRSZWYpY29udGV4dFJlZiBwYWdlR3JvdXBS
ZWY6KFdLUGFnZUdyb3VwUmVmKXBhZ2VHcm91cFJlZiByZWxhdGVkVG9QYWdlOihXS1BhZ2VSZWYp
cmVsYXRlZFBhZ2UKLXsKLSAgICBpZiAoIShzZWxmID0gW3N1cGVyIGluaXRXaXRoRnJhbWU6ZnJh
bWVdKSkKLSAgICAgICAgcmV0dXJuIG5pbDsKLQotICAgIFtzZWxmIF9jb21tb25Jbml0aWFsaXph
dGlvbldpdGhDb250ZXh0UmVmOmNvbnRleHRSZWYgcGFnZUdyb3VwUmVmOnBhZ2VHcm91cFJlZiBy
ZWxhdGVkVG9QYWdlOnJlbGF0ZWRQYWdlXTsKLSAgICByZXR1cm4gc2VsZjsKLX0KLQotLSAoQ0dT
aXplKW1pbmltdW1MYXlvdXRTaXplT3ZlcnJpZGUKLXsKLSAgICBBU1NFUlQoX2hhc1N0YXRpY01p
bmltdW1MYXlvdXRTaXplKTsKLSAgICByZXR1cm4gX21pbmltdW1MYXlvdXRTaXplT3ZlcnJpZGU7
Ci19Ci0KLS0gKHZvaWQpc2V0TWluaW11bUxheW91dFNpemVPdmVycmlkZTooQ0dTaXplKW1pbmlt
dW1MYXlvdXRTaXplT3ZlcnJpZGUKLXsKLSAgICBfaGFzU3RhdGljTWluaW11bUxheW91dFNpemUg
PSBZRVM7Ci0gICAgX21pbmltdW1MYXlvdXRTaXplT3ZlcnJpZGUgPSBtaW5pbXVtTGF5b3V0U2l6
ZU92ZXJyaWRlOwotICAgIFtfY29udGVudFZpZXcgc2V0TWluaW11bUxheW91dFNpemU6bWluaW11
bUxheW91dFNpemVPdmVycmlkZV07Ci19Ci0KLS0gKFVJRWRnZUluc2V0cylfb2JzY3VyZWRJbnNl
dHMKLXsKLSAgICByZXR1cm4gX29ic2N1cmVkSW5zZXRzOwotfQotCi0tICh2b2lkKV9zZXRPYnNj
dXJlZEluc2V0czooVUlFZGdlSW5zZXRzKW9ic2N1cmVkSW5zZXRzCi17Ci0gICAgQVNTRVJUKG9i
c2N1cmVkSW5zZXRzLnRvcCA+PSAwKTsKLSAgICBBU1NFUlQob2JzY3VyZWRJbnNldHMubGVmdCA+
PSAwKTsKLSAgICBBU1NFUlQob2JzY3VyZWRJbnNldHMuYm90dG9tID49IDApOwotICAgIEFTU0VS
VChvYnNjdXJlZEluc2V0cy5yaWdodCA+PSAwKTsKLSAgICBfb2JzY3VyZWRJbnNldHMgPSBvYnNj
dXJlZEluc2V0czsKLSAgICBbc2VsZiBfdXBkYXRlVmlzaWJsZUNvbnRlbnRSZWN0c107Ci19Ci0K
LS0gKHZvaWQpX2JlZ2luSW50ZXJhY3RpdmVPYnNjdXJlZEluc2V0c0NoYW5nZQotewotICAgIEFT
U0VSVCghX2lzQ2hhbmdpbmdPYnNjdXJlZEluc2V0c0ludGVyYWN0aXZlbHkpOwotICAgIF9pc0No
YW5naW5nT2JzY3VyZWRJbnNldHNJbnRlcmFjdGl2ZWx5ID0gWUVTOwotfQotCi0tICh2b2lkKV9l
bmRJbnRlcmFjdGl2ZU9ic2N1cmVkSW5zZXRzQ2hhbmdlCi17Ci0gICAgQVNTRVJUKF9pc0NoYW5n
aW5nT2JzY3VyZWRJbnNldHNJbnRlcmFjdGl2ZWx5KTsKLSAgICBfaXNDaGFuZ2luZ09ic2N1cmVk
SW5zZXRzSW50ZXJhY3RpdmVseSA9IE5POwotfQotCi0tIChVSUNvbG9yICopX3BhZ2VFeHRlbmRl
ZEJhY2tncm91bmRDb2xvcgotewotICAgIFdlYkNvcmU6OkNvbG9yIGNvbG9yID0gW19jb250ZW50
VmlldyBwYWdlXS0+cGFnZUV4dGVuZGVkQmFja2dyb3VuZENvbG9yKCk7Ci0gICAgaWYgKCFjb2xv
ci5pc1ZhbGlkKCkpCi0gICAgICAgIHJldHVybiBuaWw7Ci0KLSAgICByZXR1cm4gW1VJQ29sb3Ig
Y29sb3JXaXRoUmVkOihjb2xvci5yZWQoKSAvIDI1NS4wKSBncmVlbjooY29sb3IuZ3JlZW4oKSAv
IDI1NS4wKSBibHVlOihjb2xvci5ibHVlKCkgLyAyNTUuMCkgYWxwaGE6KGNvbG9yLmFscGhhKCkg
LyAyNTUuMCldOwotfQotCi0tICh2b2lkKV9zZXRCYWNrZ3JvdW5kRXh0ZW5kc0JleW9uZFBhZ2U6
KEJPT0wpYmFja2dyb3VuZEV4dGVuZHMKLXsKLSAgICBbX2NvbnRlbnRWaWV3IHBhZ2VdLT5zZXRC
YWNrZ3JvdW5kRXh0ZW5kc0JleW9uZFBhZ2UoYmFja2dyb3VuZEV4dGVuZHMpOwotfQotCi0tIChC
T09MKV9iYWNrZ3JvdW5kRXh0ZW5kc0JleW9uZFBhZ2UKLXsKLSAgICByZXR1cm4gW19jb250ZW50
VmlldyBwYWdlXS0+YmFja2dyb3VuZEV4dGVuZHNCZXlvbmRQYWdlKCk7Ci19Ci0KLUBlbmQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCBjZjhlMTk2MTYwMWFlMWFlMmJlMDc0ZTI4ZTA0ODRhY2M4MWM3YjUyLi43YTQwYWE0NjViZTlj
MjRjN2M0MzZlNWFkZDg5NTE2MmQwNWFlMDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
S2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01MDMsNyArNTAzLDYgQEAKIAkJMkRB
MDQ5QjQxODBDQ0NEMzAwQUFGQTlFIC8qIFBsYXRmb3JtQ0FMYXllclJlbW90ZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkRBMDQ5QjIxODBDQ0NEMzAw
QUFGQTlFIC8qIFBsYXRmb3JtQ0FMYXllclJlbW90ZS5oICovOyB9OwogCQkyREEwNDlCNzE4MEND
RDBBMDBBQUZBOUUgLyogR3JhcGhpY3NMYXllckNBUmVtb3RlLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEQTA0OUI1MTgwQ0NEMEEwMEFBRkE5RSAv
KiBHcmFwaGljc0xheWVyQ0FSZW1vdGUuY3BwICovOyB9OwogCQkyREEwNDlCODE4MENDRDBBMDBB
QUZBOUUgLyogR3JhcGhpY3NMYXllckNBUmVtb3RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyREEwNDlCNjE4MENDRDBBMDBBQUZBOUUgLyogR3JhcGhp
Y3NMYXllckNBUmVtb3RlLmggKi87IH07Ci0JCTJEQTk0NDk1MTg4NEUzQjUwMEVEODZEQiAvKiBX
S1ZpZXdJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAyREE5NDQ4NjE4ODRFM0I1MDBFRDg2REIgLyogV0tWaWV3SU9TLm1tICovOyB9OwogCQkyREE5
NDQ5RTE4ODRFNEYwMDBFRDg2REIgLyogTmF0aXZlV2ViS2V5Ym9hcmRFdmVudElPUy5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEQTk0NDk3MTg4NEU0
RjAwMEVEODZEQiAvKiBOYXRpdmVXZWJLZXlib2FyZEV2ZW50SU9TLm1tICovOyB9OwogCQkyREE5
NDQ5RjE4ODRFNEYwMDBFRDg2REIgLyogTmF0aXZlV2ViVG91Y2hFdmVudElPUy5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEQTk0NDk4MTg4NEU0RjAw
MEVEODZEQiAvKiBOYXRpdmVXZWJUb3VjaEV2ZW50SU9TLm1tICovOyB9OwogCQkyREE5NDRBMDE4
ODRFNEYwMDBFRDg2REIgLyogV2ViSU9TRXZlbnRGYWN0b3J5LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyREE5NDQ5OTE4ODRFNEYwMDBFRDg2REIgLyog
V2ViSU9TRXZlbnRGYWN0b3J5LmggKi87IH07CkBAIC0yMTgxLDggKzIxODAsOCBAQAogCQkyNjg0
MDU0NjE4Qjg1RTdFMDAyMkMzOEIgLyogVmlld1VwZGF0ZURpc3BhdGNoZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVmlld1VwZGF0ZURpc3BhdGNoZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjY4NDA1NDgxOEI4NUZGNzAwMjJDMzhCIC8qIFZpZXdVcGRh
dGVEaXNwYXRjaGVyLm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFZpZXdVcGRh
dGVEaXNwYXRjaGVyLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQky
Njg0MDU0QTE4Qjg2NkZGMDAyMkMzOEIgLyogVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mby5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBWaXNpYmxlQ29udGVudFJl
Y3RVcGRhdGVJbmZvLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMjY4NDA1NTAx
OEI4NkVENjAwMjJDMzhCIC8qIFZpZXdVcGRhdGVEaXNwYXRjaGVyTWVzc2FnZVJlY2VpdmVyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFZpZXdVcGRhdGVEaXNwYXRj
aGVyTWVzc2FnZVJlY2VpdmVyLmNwcDsgcGF0aCA9ICJWaWV3VXBkYXRlRGlzcGF0Y2hlck1lc3Nh
Z2VSZWNlaXZlci5jcHAiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkyNjg0MDU1MTE4
Qjg2RUQ2MDAyMkMzOEIgLyogVmlld1VwZGF0ZURpc3BhdGNoZXJNZXNzYWdlcy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBWaWV3VXBkYXRlRGlzcGF0Y2hlck1lc3NhZ2VzLmg7
IHBhdGggPSAiVmlld1VwZGF0ZURpc3BhdGNoZXJNZXNzYWdlcy5oIjsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMjY4NDA1NTAxOEI4NkVENjAwMjJDMzhCIC8qIFZpZXdVcGRhdGVEaXNw
YXRjaGVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFZpZXdVcGRhdGVEaXNwYXRjaGVyTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjY4NDA1NTExOEI4NkVENjAwMjJDMzhCIC8qIFZpZXdVcGRh
dGVEaXNwYXRjaGVyTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
Vmlld1VwZGF0ZURpc3BhdGNoZXJNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkyNkY5QTgzQTE4QTM0NjNGMDBBRUI4OEEgLyogV0tXZWJWaWV3UHJpdmF0ZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBXS1dlYlZpZXdQcml2YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTI5MEY0MjcxMTcyQTBDNzQwMDkzOUZGMCAvKiBDaGlsZFByb2Nlc3NTdXBwbGVtZW50Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENoaWxkUHJvY2Vzc1N1cHBsZW1lbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjkzRUJFQTkxNjI3RDlDOTAwNUY4OUYx
IC8qIFdLRE9NVGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0RPTVRl
eHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIyNDYsNyArMjI0NSw2IEBACiAJ
CTJEQTA0OUIyMTgwQ0NDRDMwMEFBRkE5RSAvKiBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxhdGZvcm1DQUxheWVyUmVtb3RlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEQTA0OUI1MTgwQ0NEMEEwMEFBRkE5RSAvKiBH
cmFwaGljc0xheWVyQ0FSZW1vdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gR3JhcGhpY3NMYXllckNBUmVtb3RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMkRBMDQ5QjYxODBDQ0QwQTAwQUFGQTlFIC8qIEdyYXBoaWNzTGF5ZXJDQVJlbW90ZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHcmFwaGljc0xheWVyQ0FSZW1vdGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMkRBOTQ0ODYxODg0RTNCNTAwRUQ4NkRC
IC8qIFdLVmlld0lPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9
IFdLVmlld0lPUy5tbTsgcGF0aCA9IGlvcy9XS1ZpZXdJT1MubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTJEQTk0NDk3MTg4NEU0RjAwMEVEODZEQiAvKiBOYXRpdmVXZWJLZXlib2Fy
ZEV2ZW50SU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gTmF0
aXZlV2ViS2V5Ym9hcmRFdmVudElPUy5tbTsgcGF0aCA9IGlvcy9OYXRpdmVXZWJLZXlib2FyZEV2
ZW50SU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyREE5NDQ5ODE4ODRFNEYw
MDBFRDg2REIgLyogTmF0aXZlV2ViVG91Y2hFdmVudElPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgbmFtZSA9IE5hdGl2ZVdlYlRvdWNoRXZlbnRJT1MubW07IHBhdGggPSBp
b3MvTmF0aXZlV2ViVG91Y2hFdmVudElPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMkRBOTQ0OTkxODg0RTRGMDAwRUQ4NkRCIC8qIFdlYklPU0V2ZW50RmFjdG9yeS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJJT1NFdmVudEZhY3RvcnkuaDsgcGF0aCA9
IGlvcy9XZWJJT1NFdmVudEZhY3RvcnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTQyNjcsMTQgKzQyNjUsNiBAQAogCQkJbmFtZSA9IGlvczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7CiAJCX07Ci0JCTJEQTk0NDc3MTg4NEUzQUIwMEVEODZEQiAvKiBpb3MgKi8gPSB7Ci0J
CQlpc2EgPSBQQlhHcm91cDsKLQkJCWNoaWxkcmVuID0gKAotCQkJCTJEQTk0NDg2MTg4NEUzQjUw
MEVEODZEQiAvKiBXS1ZpZXdJT1MubW0gKi8sCi0JCQkpOwotCQkJbmFtZSA9IGlvczsKLQkJCXNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7Ci0JCX07CiAJCTJEQTk0NDk2MTg4NEU0REEwMEVEODZEQiAv
KiBpb3MgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtNTI4
OCw3ICs1Mjc4LDYgQEAKIAkJCQlCQzBDMzc2NjEwRjgwNzY2MDA3NkQ3Q0IgLyogQyAqLywKIAkJ
CQkzN0M0QzA4MzE4MTQ5QzJBMDAzNjg4QjkgLyogQ29jb2EgKi8sCiAJCQkJQkM4QTUwMTMxMTc2
NUY0NTAwNzU3NTczIC8qIGNwcCAqLywKLQkJCQkyREE5NDQ3NzE4ODRFM0FCMDBFRDg2REIgLyog
aW9zICovLAogCQkJCUJDMTExQjQ3MTEyRjYxNjkwMDMzN0JBQiAvKiBtYWMgKi8sCiAJCQkJMUE2
NjM3RDYxOEIyODMxRjAwQzBCQ0YzIC8qIEFQSUhpc3RvcnlDbGllbnQuaCAqLywKIAkJCQkxQTI0
NjRGMjE4OTFFNDUxMDAyMzRDNUIgLyogQVBJTG9hZGVyQ2xpZW50LmggKi8sCkBAIC03OTAxLDcg
Kzc4OTAsNiBAQAogCQkJCUJDQThDNkFGMTFFM0MwODcwMDgxMkZCNyAvKiBJbmplY3RlZEJ1bmRs
ZVBhZ2VVSUNsaWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjU5NDdBMzE4N0IzQjdEMDA0
Mzc4NTcgLyogUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JUcmFuc2FjdGlvbi5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlCQzMzRTBEMjEyNDA4RTg2MDAzNjBGM0YgLyogSW5qZWN0ZWRCdW5kbGVS
YW5nZUhhbmRsZS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkyREE5NDQ5NTE4ODRFM0I1MDBFRDg2
REIgLyogV0tWaWV3SU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMxNERGNzgxMjBCNUI3OTAw
ODI2QzBDIC8qIEluamVjdGVkQnVuZGxlU2NyaXB0V29ybGQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMUFFNDlBNEExMUZGQThDRTAwNDhCNDY0IC8qIEpTTlBNZXRob2QuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMUFFNDk4NzkxMUZGN0ZBQTAwNDhCNDY0IC8qIEpTTlBPYmplY3QuY3BwIGluIFNv
dXJjZXMgKi8sCg==
</data>
<flag name="review"
          id="249393"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>