<?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>174282</bug_id>
          
          <creation_ts>2017-07-07 16:08:28 -0700</creation_ts>
          <short_desc>REGRESSION(r213590): UI process updates the visible content rects more often than it did in iOS 10</short_desc>
          <delta_ts>2017-07-10 09:17:05 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>jonlee</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1326677</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-07-07 16:08:28 -0700</bug_when>
    <thetext>REGRESSION(r213590): UI process updates the visible content rects more often than it did in iOS 10</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1326679</commentid>
    <comment_count>1</comment_count>
      <attachid>314890</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-07-07 16:11:51 -0700</bug_when>
    <thetext>Created attachment 314890
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1326680</commentid>
    <comment_count>2</comment_count>
      <attachid>314891</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-07-07 16:12:13 -0700</bug_when>
    <thetext>Created attachment 314891
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1326681</commentid>
    <comment_count>3</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-07-07 16:12:49 -0700</bug_when>
    <thetext>&lt;rdar://problem/33144344&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1327028</commentid>
    <comment_count>4</comment_count>
      <attachid>314891</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-07-10 09:17:04 -0700</bug_when>
    <thetext>Comment on attachment 314891
Patch

Clearing flags on attachment: 314891

Committed r219293: &lt;http://trac.webkit.org/changeset/219293&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1327029</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-07-10 09:17:05 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>314890</attachid>
            <date>2017-07-07 16:11:51 -0700</date>
            <delta_ts>2017-07-07 16:12:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174282-20170707161150.patch</filename>
            <type>text/plain</type>
            <size>14712</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE5MjIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDJkN2U5NTk0N2I2M2M1
NjZjYWQ4YjNlOWVmMDU0NTA3ZTBhNDhiMy4uMTExODg5ZGFmZWM1MGRjNjQ5MzY5ZTU4MTNmZjY4
ZjIxMTVkZjg2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE3LTA3LTA3ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lP
TihyMjEzNTkwKTogVUkgcHJvY2VzcyB1cGRhdGVzIHRoZSB2aXNpYmxlIGNvbnRlbnQgcmVjdHMg
bW9yZSBvZnRlbiB0aGFuIGl0IGRpZCBpbiBpT1MgMTAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NDI4MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIHIyMTM1OTAsIHdlIGFjY2lkZW50YWxseSByZWZh
Y3RvcmVkIC1bV0tXZWJWaWV3IF9kaWRDb21taXRMYXllclRyZWU6XSB0byBjYWxsIF9zY2hlZHVs
ZVZpc2libGVDb250ZW50UmVjdFVwZGF0ZQorICAgICAgICBtb3JlIG9mdGVuLiBJbnN0ZWFkLCB0
aGlzIHNob3VsZCBiZSB0cmlnZ2VyZWQgZnJvbSBpbnNpZGUgdGhlICJpZiIgc3RhdGVtZW50cy4g
CisKKyAgICAgICAgTm8gdGVzdHMgYmVjYXVzZSB0aGVyZSBpcyBubyBiZWhhdmlvciBjaGFuZ2Uu
IFBlcmZvcm1hbmNlIGNoYW5nZSBpcyB0ZXN0ZWQgaW4gTW90aW9uTWFyay4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcg
X2lzU2hvd2luZ1ZpZGVvUGljdHVyZUluUGljdHVyZV0pOgorICAgICAgICAoLVtXS1dlYlZpZXcg
X2luaXRpYWxpemVXaXRoQ29uZmlndXJhdGlvbjpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IGdv
QmFja10pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX2RpZENvbW1pdExheWVyVHJlZTpdKToKKyAg
ICAgICAgKC1bV0tXZWJWaWV3IF9yZXN0b3JlUGFnZVN0YXRlVG9Vbm9ic2N1cmVkQ2VudGVyOnNj
YWxlOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX3pvb21Ub1JlY3Q6d2l0aE9yaWdpbjpmaXRF
bnRpcmVSZWN0Om1pbmltdW1TY2FsZTptYXhpbXVtU2NhbGU6bWluaW11bVNjcm9sbERpc3RhbmNl
Ol0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgc2Nyb2xsVmlld1dpbGxFbmREcmFnZ2luZzp3aXRo
VmVsb2NpdHk6dGFyZ2V0Q29udGVudE9mZnNldDpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IHNj
cm9sbFZpZXdEaWRTY3JvbGw6XSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfdmlzaWJsZUNvbnRl
bnRSZWN0XSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfZnJhbWVPckJvdW5kc0NoYW5nZWRdKToK
KyAgICAgICAgKC1bV0tXZWJWaWV3IF9zY2hlZHVsZVZpc2libGVDb250ZW50UmVjdFVwZGF0ZUFm
dGVyU2Nyb2xsSW5WaWV3Ol0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX3VwZGF0ZVZpc2libGVD
b250ZW50UmVjdHNdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9uYXZpZ2F0aW9uR2VzdHVyZURp
ZEJlZ2luXSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfcmVsb2FkV2l0aG91dENvbnRlbnRCbG9j
a2Vyc10pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX3JlbG9hZEV4cGlyZWRPbmx5XSk6CisgICAg
ICAgICgtW1dLV2ViVmlldyBfc2V0T2JzY3VyZWRJbnNldHM6XSk6CisgICAgICAgICgtW1dLV2Vi
VmlldyBfc2V0VW5vYnNjdXJlZFNhZmVBcmVhSW5zZXRzOl0pOgorICAgICAgICAoLVtXS1dlYlZp
ZXcgX2VuZEFuaW1hdGVkUmVzaXplXSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfc25hcHNob3RS
ZWN0OmludG9JbWFnZU9mV2lkdGg6Y29tcGxldGlvbkhhbmRsZXI6XSk6CisgICAgICAgICgtW1dL
V2ViVmlldyBfY2xlYXJPdmVycmlkZUxheW91dFBhcmFtZXRlcnNdKToKKyAgICAgICAgKC1bV0tX
ZWJWaWV3IF9yZXF1ZXN0QWN0aXZhdGVkRWxlbWVudEF0UG9zaXRpb246Y29tcGxldGlvbkJsb2Nr
Ol0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX3Byb3BlcnRpZXNPZkxheWVyV2l0aElEOl0pOgor
CiAyMDE3LTA3LTA2ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAg
ICAgIFtXSzJdIFJlc291cmNlTG9hZFN0YXRpc3RpY3Mgc2hvdWxkIGJhdGNoIGl0cyB3cml0ZXMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5k
ZXggYzlhY2FmOTY4ZDM2MmMwYjQ2NGQ5YTZmNDY0YTYzYmYzMDVlYTM3Ni4uYWNmNjFhZDE1MGQ0
ZDVmMzE2MWQzNTJiNWI3ZDU5ZjgxM2ZjNzI5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTI1MSw3ICsyNTEsNyBAQCBAaW1wbGVt
ZW50YXRpb24gV0tXZWJWaWV3IHsKIAogICAgIFVJSW50ZXJmYWNlT3JpZW50YXRpb24gX2ludGVy
ZmFjZU9yaWVudGF0aW9uT3ZlcnJpZGU7CiAgICAgQk9PTCBfb3ZlcnJpZGVzSW50ZXJmYWNlT3Jp
ZW50YXRpb247Ci0gICAgCisKICAgICBCT09MIF9hbGxvd3NWaWV3cG9ydFNocmlua1RvRml0Owog
CiAgICAgQk9PTCBfaGFzQ29tbWl0dGVkTG9hZEZvck1haW5GcmFtZTsKQEAgLTI5Miw3ICsyOTIs
NyBAQCBAaW1wbGVtZW50YXRpb24gV0tXZWJWaWV3IHsKIAogICAgIEJPT0wgX2RlbGF5VXBkYXRl
VmlzaWJsZUNvbnRlbnRSZWN0czsKICAgICBCT09MIF9oYWREZWxheWVkVXBkYXRlVmlzaWJsZUNv
bnRlbnRSZWN0czsKLSAgICAKKwogICAgIGludCBfYWN0aXZlQW5pbWF0ZWRSZXNpemVDb3VudDsK
IAogICAgIFZlY3RvcjxXVEY6OkZ1bmN0aW9uPHZvaWQgKCk+PiBfc25hcHNob3RzRGVmZXJyZWRE
dXJpbmdSZXNpemU7CkBAIC0zNDgsNyArMzQ4LDcgQEAgLSAoQk9PTClfaXNTaG93aW5nVmlkZW9Q
aWN0dXJlSW5QaWN0dXJlCiAjZWxzZQogICAgIGlmICghX3BhZ2UgfHwgIV9wYWdlLT52aWRlb0Z1
bGxzY3JlZW5NYW5hZ2VyKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAKKwogICAgIHJl
dHVybiBfcGFnZS0+dmlkZW9GdWxsc2NyZWVuTWFuYWdlcigpLT5oYXNNb2RlKFdlYkNvcmU6OkhU
TUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZVBpY3R1cmVJblBpY3R1cmUp
OwogI2VuZGlmCiB9CkBAIC00MjcsNyArNDI3LDcgQEAgLSAodm9pZClfaW5pdGlhbGl6ZVdpdGhD
b25maWd1cmF0aW9uOihXS1dlYlZpZXdDb25maWd1cmF0aW9uICopY29uZmlndXJhdGlvbgogCiAg
ICAgV2ViS2l0OjpXZWJQcm9jZXNzUG9vbCYgcHJvY2Vzc1Bvb2wgPSAqW19jb25maWd1cmF0aW9u
IHByb2Nlc3NQb29sXS0+X3Byb2Nlc3NQb29sOwogICAgIHByb2Nlc3NQb29sLnNldFJlc291cmNl
TG9hZFN0YXRpc3RpY3NFbmFibGVkKGNvbmZpZ3VyYXRpb24ud2Vic2l0ZURhdGFTdG9yZS5fcmVz
b3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQpOwotICAgIAorCiAgICAgYXV0byBwYWdlQ29uZmln
dXJhdGlvbiA9IEFQSTo6UGFnZUNvbmZpZ3VyYXRpb246OmNyZWF0ZSgpOwogCiAgICAgcGFnZUNv
bmZpZ3VyYXRpb24tPnNldFByb2Nlc3NQb29sKCZwcm9jZXNzUG9vbCk7CkBAIC01MjAsNyArNTIw
LDcgQEAgLSAodm9pZClfaW5pdGlhbGl6ZVdpdGhDb25maWd1cmF0aW9uOihXS1dlYlZpZXdDb25m
aWd1cmF0aW9uICopY29uZmlndXJhdGlvbgogICAgIFtfc2Nyb2xsVmlldyBzZXRCb3VuY2VzWm9v
bTpZRVNdOwogCiAgICAgW3NlbGYgX3VwZGF0ZVNjcm9sbFZpZXdJbnNldEFkanVzdG1lbnRCZWhh
dmlvcl07Ci0gICAgCisKICAgICBbc2VsZiBhZGRTdWJ2aWV3Ol9zY3JvbGxWaWV3LmdldCgpXTsK
IAogICAgIHN0YXRpYyB1aW50MzJfdCBwcm9ncmFtU0RLVmVyc2lvbiA9IGR5bGRfZ2V0X3Byb2dy
YW1fc2RrX3ZlcnNpb24oKTsKQEAgLTgzOSw3ICs4MzksNyBAQCAtIChXS05hdmlnYXRpb24gKiln
b0JhY2sKICAgICBhdXRvIG5hdmlnYXRpb24gPSBfcGFnZS0+Z29CYWNrKCk7CiAgICAgaWYgKCFu
YXZpZ2F0aW9uKQogICAgICAgICByZXR1cm4gbmlsOwotIAorCiAgICAgcmV0dXJuIFt3cmFwcGVy
KCpuYXZpZ2F0aW9uLmxlYWtSZWYoKSkgYXV0b3JlbGVhc2VdOwogfQogCkBAIC0xNDg2LDcgKzE0
ODYsNyBAQCAtICh2b2lkKV9kaWRDb21taXRMYXllclRyZWU6KGNvbnN0IFdlYktpdDo6UmVtb3Rl
TGF5ZXJUcmVlVHJhbnNhY3Rpb24mKWxheWVyVHJlZQogCiAgICAgTE9HX1dJVEhfU1RSRUFNKFZp
c2libGVSZWN0cywgc3RyZWFtIDw8ICItW1dLV2ViVmlldyBfZGlkQ29tbWl0TGF5ZXJUcmVlOl0g
dHJhbnNhY3Rpb25JRCAiIDw8ICBsYXllclRyZWVUcmFuc2FjdGlvbi50cmFuc2FjdGlvbklEKCkg
PDwgIiBfZHluYW1pY1ZpZXdwb3J0VXBkYXRlTW9kZSAiIDw8IChpbnQpX2R5bmFtaWNWaWV3cG9y
dFVwZGF0ZU1vZGUpOwogCi0gICAgQk9PTCBuZWVkVXBkYXRlVmlzYmxlQ29udGVudFJlY3RzID0g
X3BhZ2UtPnVwZGF0ZUxheW91dFZpZXdwb3J0UGFyYW1ldGVycyhsYXllclRyZWVUcmFuc2FjdGlv
bik7CisgICAgYm9vbCBuZWVkVXBkYXRlVmlzaWJsZUNvbnRlbnRSZWN0cyA9IF9wYWdlLT51cGRh
dGVMYXlvdXRWaWV3cG9ydFBhcmFtZXRlcnMobGF5ZXJUcmVlVHJhbnNhY3Rpb24pOwogCiAgICAg
aWYgKF9keW5hbWljVmlld3BvcnRVcGRhdGVNb2RlICE9IER5bmFtaWNWaWV3cG9ydFVwZGF0ZU1v
ZGU6Ok5vdFJlc2l6aW5nKSB7CiAgICAgICAgIGlmIChfcmVzaXplQW5pbWF0aW9uVHJhbnNmb3Jt
VHJhbnNhY3Rpb25JRCAmJiBsYXllclRyZWVUcmFuc2FjdGlvbi50cmFuc2FjdGlvbklEKCkgPj0g
X3Jlc2l6ZUFuaW1hdGlvblRyYW5zZm9ybVRyYW5zYWN0aW9uSUQudmFsdWUoKSkgewpAQCAtMTUz
OCwxMCArMTUzOCwxMSBAQCAtICh2b2lkKV9kaWRDb21taXRMYXllclRyZWU6KGNvbnN0IFdlYktp
dDo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24mKWxheWVyVHJlZQogICAgICAgICBpZiAoX29i
c2VydmVkUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudHMgJiBfV0tSZW5kZXJpbmdQcm9ncmVzc0V2ZW50
Rmlyc3RQYWludCkKICAgICAgICAgICAgIF9uYXZpZ2F0aW9uU3RhdGUtPmRpZEZpcnN0UGFpbnQo
KTsKIAotICAgICAgICBuZWVkVXBkYXRlVmlzYmxlQ29udGVudFJlY3RzID0gWUVTOworICAgICAg
ICBuZWVkVXBkYXRlVmlzaWJsZUNvbnRlbnRSZWN0cyA9IHRydWU7CiAgICAgfQogCiAgICAgaWYg
KGxheWVyVHJlZVRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSUQoKSA+PSBfZmlyc3RUcmFuc2FjdGlv
bklEQWZ0ZXJQYWdlUmVzdG9yZSkgeworICAgICAgICBib29sIHNob3VsZFJlc3RvcmVTY3JvbGxQ
b3NpdGlvbiA9IGZhbHNlOwogICAgICAgICBpZiAoX3Njcm9sbE9mZnNldFRvUmVzdG9yZSkgewog
ICAgICAgICAgICAgV2ViQ29yZTo6RmxvYXRQb2ludCBzY2FsZWRTY3JvbGxPZmZzZXQgPSBfc2Ny
b2xsT2Zmc2V0VG9SZXN0b3JlLnZhbHVlKCk7CiAgICAgICAgICAgICBfc2Nyb2xsT2Zmc2V0VG9S
ZXN0b3JlID0gc3RkOjpudWxsb3B0OwpAQCAtMTU1Miw3ICsxNTUzLDExIEBAIC0gKHZvaWQpX2Rp
ZENvbW1pdExheWVyVHJlZTooY29uc3QgV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlv
biYpbGF5ZXJUcmVlCiAKICAgICAgICAgICAgICAgICBjaGFuZ2VDb250ZW50T2Zmc2V0Qm91bmRl
ZEluVmFsaWRSYW5nZShfc2Nyb2xsVmlldy5nZXQoKSwgY29udGVudE9mZnNldEluU2Nyb2xsVmll
d0Nvb3JkaW5hdGVzKTsKICAgICAgICAgICAgICAgICBfY29tbWl0RGlkUmVzdG9yZVNjcm9sbFBv
c2l0aW9uID0gWUVTOworCisgICAgICAgICAgICAgICAgc2hvdWxkUmVzdG9yZVNjcm9sbFBvc2l0
aW9uID0gdHJ1ZTsKICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgbmVlZFVwZGF0ZVZpc2li
bGVDb250ZW50UmVjdHMgPSB0cnVlOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKF91bm9ic2N1
cmVkQ2VudGVyVG9SZXN0b3JlKSB7CkBAIC0xNTY4LDE2ICsxNTczLDE4IEBAIC0gKHZvaWQpX2Rp
ZENvbW1pdExheWVyVHJlZTooY29uc3QgV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlv
biYpbGF5ZXJUcmVlCiAgICAgICAgICAgICAgICAgdG9wTGVmdEluRG9jdW1lbnRDb29yZGluYXRl
cy5tb3ZlQnkoV2ViQ29yZTo6RmxvYXRQb2ludCgtX29ic2N1cmVkSW5zZXRzLmxlZnQsIC1fb2Jz
Y3VyZWRJbnNldHMudG9wKSk7CiAKICAgICAgICAgICAgICAgICBjaGFuZ2VDb250ZW50T2Zmc2V0
Qm91bmRlZEluVmFsaWRSYW5nZShfc2Nyb2xsVmlldy5nZXQoKSwgdG9wTGVmdEluRG9jdW1lbnRD
b29yZGluYXRlcyk7CisKKyAgICAgICAgICAgICAgICBzaG91bGRSZXN0b3JlU2Nyb2xsUG9zaXRp
b24gPSB0cnVlOwogICAgICAgICAgICAgfQotICAgICAgICB9CiAKLSAgICAgICAgbmVlZFVwZGF0
ZVZpc2JsZUNvbnRlbnRSZWN0cyA9IFlFUzsKKyAgICAgICAgICAgIG5lZWRVcGRhdGVWaXNpYmxl
Q29udGVudFJlY3RzID0gdHJ1ZTsKKyAgICAgICAgfQogCi0gICAgICAgIGlmIChfZ2VzdHVyZUNv
bnRyb2xsZXIpCisgICAgICAgIGlmIChzaG91bGRSZXN0b3JlU2Nyb2xsUG9zaXRpb24gJiYgX2dl
c3R1cmVDb250cm9sbGVyKQogICAgICAgICAgICAgX2dlc3R1cmVDb250cm9sbGVyLT5kaWRSZXN0
b3JlU2Nyb2xsUG9zaXRpb24oKTsKICAgICB9CiAKLSAgICBpZiAobmVlZFVwZGF0ZVZpc2JsZUNv
bnRlbnRSZWN0cykKKyAgICBpZiAobmVlZFVwZGF0ZVZpc2libGVDb250ZW50UmVjdHMpCiAgICAg
ICAgIFtzZWxmIF9zY2hlZHVsZVZpc2libGVDb250ZW50UmVjdFVwZGF0ZV07CiAKICAgICBpZiAo
V2ViS2l0OjpSZW1vdGVMYXllclRyZWVTY3JvbGxpbmdQZXJmb3JtYW5jZURhdGEqIHNjcm9sbFBl
cmZEYXRhID0gX3BhZ2UtPnNjcm9sbGluZ1BlcmZvcm1hbmNlRGF0YSgpKQpAQCAtMTY0NCw3ICsx
NjUxLDcgQEAgLSAodm9pZClfcmVzdG9yZVBhZ2VTdGF0ZVRvVW5vYnNjdXJlZENlbnRlcjooc3Rk
OjpvcHRpb25hbDxXZWJDb3JlOjpGbG9hdFBvaW50PikKIAogICAgIF9maXJzdFRyYW5zYWN0aW9u
SURBZnRlclBhZ2VSZXN0b3JlID0gZG93bmNhc3Q8V2ViS2l0OjpSZW1vdGVMYXllclRyZWVEcmF3
aW5nQXJlYVByb3h5PigqX3BhZ2UtPmRyYXdpbmdBcmVhKCkpLm5leHRMYXllclRyZWVUcmFuc2Fj
dGlvbklEKCk7CiAgICAgX3Vub2JzY3VyZWRDZW50ZXJUb1Jlc3RvcmUgPSBjZW50ZXIudmFsdWUo
KTsKLSAgICAKKwogICAgIF9zY2FsZVRvUmVzdG9yZSA9IHNjYWxlOwogfQogCkBAIC0xOTkxLDcg
KzE5OTgsNyBAQCAtIChCT09MKV96b29tVG9SZWN0OihXZWJDb3JlOjpGbG9hdFJlY3QpdGFyZ2V0
UmVjdCB3aXRoT3JpZ2luOihXZWJDb3JlOjpGbG9hdFBvaQogICAgICAgICBbc2VsZiBfem9vbVRv
UmVjdDp0YXJnZXRSZWN0IGF0U2NhbGU6dGFyZ2V0U2NhbGUgb3JpZ2luOm9yaWdpbiBhbmltYXRl
ZDpZRVNdOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9Ci0gICAgCisKICAgICByZXR1cm4g
ZmFsc2U7CiB9CiAKQEAgLTIxMjAsNyArMjEyNyw3IEBAIC0gKHZvaWQpc2Nyb2xsVmlld1dpbGxF
bmREcmFnZ2luZzooVUlTY3JvbGxWaWV3ICopc2Nyb2xsVmlldyB3aXRoVmVsb2NpdHk6KENHUG9p
CiAgICAgaWYgKFdlYktpdDo6UmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eSogY29vcmRp
bmF0b3IgPSBfcGFnZS0+c2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eSgpKSB7CiAgICAgICAgIC8v
IEZJWE1FOiBIZXJlLCBJJ20gZmluZGluZyB0aGUgbWF4aW11bSBob3Jpem9udGFsL3ZlcnRpY2Fs
IHNjcm9sbCBvZmZzZXRzLiBUaGVyZSdzIHByb2JhYmx5IGEgYmV0dGVyIHdheSB0byBkbyB0aGlz
LgogICAgICAgICBDR1NpemUgbWF4U2Nyb2xsT2Zmc2V0cyA9IENHU2l6ZU1ha2Uoc2Nyb2xsVmll
dy5jb250ZW50U2l6ZS53aWR0aCAtIHNjcm9sbFZpZXcuYm91bmRzLnNpemUud2lkdGgsIHNjcm9s
bFZpZXcuY29udGVudFNpemUuaGVpZ2h0IC0gc2Nyb2xsVmlldy5ib3VuZHMuc2l6ZS5oZWlnaHQp
OwotICAgICAgICAKKwogICAgICAgICBDR1JlY3QgZnVsbFZpZXdSZWN0ID0gc2VsZi5ib3VuZHM7
CiAKICAgICAgICAgVUlFZGdlSW5zZXRzIGNvbnRlbnRJbnNldDsKQEAgLTIxMzIsNyArMjEzOSw3
IEBAIC0gKHZvaWQpc2Nyb2xsVmlld1dpbGxFbmREcmFnZ2luZzooVUlTY3JvbGxWaWV3ICopc2Ny
b2xsVmlldyB3aXRoVmVsb2NpdHk6KENHUG9pCiAgICAgICAgICAgICBjb250ZW50SW5zZXQgPSBb
c2VsZiBfY29tcHV0ZWRDb250ZW50SW5zZXRdOwogCiAgICAgICAgIENHUmVjdCB1bm9ic2N1cmVk
UmVjdCA9IFVJRWRnZUluc2V0c0luc2V0UmVjdChmdWxsVmlld1JlY3QsIGNvbnRlbnRJbnNldCk7
Ci0gICAgICAgIAorCiAgICAgICAgIGNvb3JkaW5hdG9yLT5hZGp1c3RUYXJnZXRDb250ZW50T2Zm
c2V0Rm9yU25hcHBpbmcobWF4U2Nyb2xsT2Zmc2V0cywgdmVsb2NpdHksIHVub2JzY3VyZWRSZWN0
Lm9yaWdpbi55LCB0YXJnZXRDb250ZW50T2Zmc2V0KTsKICAgICB9CiAjZW5kaWYKQEAgLTIxNjEs
NyArMjE2OCw3IEBAIC0gKHZvaWQpc2Nyb2xsVmlld0RpZFNjcm9sbDooVUlTY3JvbGxWaWV3ICop
c2Nyb2xsVmlldwogICAgICAgICBbX2N1c3RvbUNvbnRlbnRWaWV3IHNjcm9sbFZpZXdEaWRTY3Jv
bGw6KFVJU2Nyb2xsVmlldyAqKXNjcm9sbFZpZXddOwogCiAgICAgW3NlbGYgX3NjaGVkdWxlVmlz
aWJsZUNvbnRlbnRSZWN0VXBkYXRlQWZ0ZXJTY3JvbGxJblZpZXc6c2Nyb2xsVmlld107Ci0gICAg
CisKICAgICBpZiAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVTY3JvbGxpbmdQZXJmb3JtYW5jZURh
dGEqIHNjcm9sbFBlcmZEYXRhID0gX3BhZ2UtPnNjcm9sbGluZ1BlcmZvcm1hbmNlRGF0YSgpKQog
ICAgICAgICBzY3JvbGxQZXJmRGF0YS0+ZGlkU2Nyb2xsKFtzZWxmIHZpc2libGVSZWN0SW5WaWV3
Q29vcmRpbmF0ZXNdKTsKIH0KQEAgLTIyMTMsNyArMjIyMCw3IEBAIC0gKENHUmVjdClfdmlzaWJs
ZUNvbnRlbnRSZWN0CiAgICAgICAgIHJldHVybiBfZnJvemVuVmlzaWJsZUNvbnRlbnRSZWN0LnZh
bHVlKCk7CiAKICAgICBDR1JlY3QgdmlzaWJsZVJlY3RJbkNvbnRlbnRDb29yZGluYXRlcyA9IFtz
ZWxmIGNvbnZlcnRSZWN0OnNlbGYuYm91bmRzIHRvVmlldzpfY29udGVudFZpZXcuZ2V0KCldOwot
ICAgIAorCiAgICAgaWYgKFVJVmlldyAqZW5jbG9zaW5nVmlldyA9IFtzZWxmIF9lbmNsb3NpbmdW
aWV3Rm9yRXhwb3NlZFJlY3RDb21wdXRhdGlvbl0pIHsKICAgICAgICAgQ0dSZWN0IHZpZXdWaXNp
YmxlUmVjdCA9IFtzZWxmIF92aXNpYmxlUmVjdEluRW5jbG9zaW5nVmlldzplbmNsb3NpbmdWaWV3
XTsKICAgICAgICAgQ0dSZWN0IHZpZXdWaXNpYmxlQ29udGVudFJlY3QgPSBbc2VsZiBjb252ZXJ0
UmVjdDp2aWV3VmlzaWJsZVJlY3QgdG9WaWV3Ol9jb250ZW50Vmlldy5nZXQoKV07CkBAIC0yMjcy
LDExICsyMjc5LDExIEBAIC0gKHZvaWQpX2ZyYW1lT3JCb3VuZHNDaGFuZ2VkCiAgICAgICAgICAg
ICBfcGFnZS0+c2V0Vmlld3BvcnRDb25maWd1cmF0aW9uTWluaW11bUxheW91dFNpemUoYWN0aXZl
TWluaW11bUxheW91dFNpemUoc2VsZiwgc2VsZi5ib3VuZHMpKTsKICAgICAgICAgaWYgKCFfb3Zl
cnJpZGVzTWF4aW11bVVub2JzY3VyZWRTaXplKQogICAgICAgICAgICAgX3BhZ2UtPnNldE1heGlt
dW1Vbm9ic2N1cmVkU2l6ZShXZWJDb3JlOjpGbG9hdFNpemUoYm91bmRzLnNpemUpKTsKLSAgICAg
ICAgCisKICAgICAgICAgQk9PTCBzaXplQ2hhbmdlZCA9IE5POwogICAgICAgICBpZiAoYXV0byBk
cmF3aW5nQXJlYSA9IF9wYWdlLT5kcmF3aW5nQXJlYSgpKQogICAgICAgICAgICAgc2l6ZUNoYW5n
ZWQgPSBkcmF3aW5nQXJlYS0+c2V0U2l6ZShXZWJDb3JlOjpJbnRTaXplKGJvdW5kcy5zaXplKSwg
V2ViQ29yZTo6SW50U2l6ZSgpLCBXZWJDb3JlOjpJbnRTaXplKCkpOwotICAgICAgICAKKwogICAg
ICAgICBpZiAoc2l6ZUNoYW5nZWQgJiBbc2VsZiB1c2VzU3RhbmRhcmRDb250ZW50Vmlld10pCiAg
ICAgICAgICAgICBbX2NvbnRlbnRWaWV3IHNldFNpemVDaGFuZ2VkU2luY2VMYXN0VmlzaWJsZUNv
bnRlbnRSZWN0VXBkYXRlOllFU107CiAgICAgfQpAQCAtMjM1OSw3ICsyMzY2LDcgQEAgLSAodm9p
ZClfc2NoZWR1bGVWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVBZnRlclNjcm9sbEluVmlldzooVUlT
Y3JvbGxWaWV3ICopc2Nyb2wKICAgICAgICAgcmV0dXJuOwogCiAgICAgX2hhc1NjaGVkdWxlZFZp
c2libGVSZWN0VXBkYXRlID0gWUVTOwotICAgIAorCiAjaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTEwMDAwCiAgICAgQ0FUcmFuc2FjdGlvblBoYXNlIHRyYW5zYWN0aW9u
UGhhc2UgPSBbQ0FUcmFuc2FjdGlvbiBjdXJyZW50UGhhc2VdOwogICAgIGlmICh0cmFuc2FjdGlv
blBoYXNlID09IGtDQVRyYW5zYWN0aW9uUGhhc2VOdWxsIHx8IHRyYW5zYWN0aW9uUGhhc2UgPT0g
a0NBVHJhbnNhY3Rpb25QaGFzZVByZUxheW91dCkgewpAQCAtMjQ1Myw3ICsyNDYwLDcgQEAgLSAo
dm9pZClfdXBkYXRlVmlzaWJsZUNvbnRlbnRSZWN0cwogICAgICAgICBXZWJLaXQ6OlJlbW90ZVNj
cm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkqIGNvb3JkaW5hdG9yID0gX3BhZ2UtPnNjcm9sbGluZ0Nv
b3JkaW5hdG9yUHJveHkoKTsKICAgICAgICAgaWYgKGNvb3JkaW5hdG9yICYmIGNvb3JkaW5hdG9y
LT5oYXNBY3RpdmVTbmFwUG9pbnQoKSkgewogICAgICAgICAgICAgQ0dSZWN0IHVub2JzY3VyZWRS
ZWN0ID0gVUlFZGdlSW5zZXRzSW5zZXRSZWN0KGZ1bGxWaWV3UmVjdCwgY29tcHV0ZWRDb250ZW50
SW5zZXRVbmFkanVzdGVkRm9yS2V5Ym9hcmQpOwotICAgICAgICAgICAgCisKICAgICAgICAgICAg
IENHUG9pbnQgY3VycmVudFBvaW50ID0gW19zY3JvbGxWaWV3IGNvbnRlbnRPZmZzZXRdOwogICAg
ICAgICAgICAgQ0dQb2ludCBhY3RpdmVQb2ludCA9IGNvb3JkaW5hdG9yLT5uZWFyZXN0QWN0aXZl
Q29udGVudEluc2V0QWRqdXN0ZWRTbmFwUG9pbnQodW5vYnNjdXJlZFJlY3Qub3JpZ2luLnksIGN1
cnJlbnRQb2ludCk7CiAKQEAgLTI2MzcsNyArMjY0NCw3IEBAIC0gKHZvaWQpX25hdmlnYXRpb25H
ZXN0dXJlRGlkQmVnaW4KIAogICAgIF9mcm96ZW5WaXNpYmxlQ29udGVudFJlY3QgPSBbc2VsZiBj
b252ZXJ0UmVjdDpmdWxsVmlld1JlY3QgdG9WaWV3Ol9jb250ZW50Vmlldy5nZXQoKV07CiAgICAg
X2Zyb3plblVub2JzY3VyZWRDb250ZW50UmVjdCA9IFtzZWxmIGNvbnZlcnRSZWN0OnVub2JzY3Vy
ZWRSZWN0IHRvVmlldzpfY29udGVudFZpZXcuZ2V0KCldOwotICAgIAorCiAgICAgTE9HX1dJVEhf
U1RSRUFNKFZpc2libGVSZWN0cywgc3RyZWFtIDw8ICJfbmF2aWdhdGlvbkdlc3R1cmVEaWRCZWdp
bjogZnJlZXppbmcgdmlzaWJsZUNvbnRlbnRSZWN0ICIgPDwgX2Zyb3plblZpc2libGVDb250ZW50
UmVjdC52YWx1ZSgpIDw8ICIgVW5vYnNjdXJlZENvbnRlbnRSZWN0ICIgPDwgX2Zyb3plblVub2Jz
Y3VyZWRDb250ZW50UmVjdC52YWx1ZSgpKTsKIH0KIApAQCAtMzgwMiw3ICszODA5LDcgQEAgLSAo
V0tOYXZpZ2F0aW9uICopX3JlbG9hZFdpdGhvdXRDb250ZW50QmxvY2tlcnMKICAgICBhdXRvIG5h
dmlnYXRpb24gPSBfcGFnZS0+cmVsb2FkKFdlYkNvcmU6OlJlbG9hZE9wdGlvbjo6RGlzYWJsZUNv
bnRlbnRCbG9ja2Vycyk7CiAgICAgaWYgKCFuYXZpZ2F0aW9uKQogICAgICAgICByZXR1cm4gbmls
OwotICAgIAorCiAgICAgcmV0dXJuIFt3cmFwcGVyKCpuYXZpZ2F0aW9uLmxlYWtSZWYoKSkgYXV0
b3JlbGVhc2VdOwogfQogCkBAIC0zODExLDcgKzM4MTgsNyBAQCAtIChXS05hdmlnYXRpb24gKilf
cmVsb2FkRXhwaXJlZE9ubHkKICAgICBhdXRvIG5hdmlnYXRpb24gPSBfcGFnZS0+cmVsb2FkKFdl
YkNvcmU6OlJlbG9hZE9wdGlvbjo6RXhwaXJlZE9ubHkpOwogICAgIGlmICghbmF2aWdhdGlvbikK
ICAgICAgICAgcmV0dXJuIG5pbDsKLSAgICAKKwogICAgIHJldHVybiBbd3JhcHBlcigqbmF2aWdh
dGlvbi5sZWFrUmVmKCkpIGF1dG9yZWxlYXNlXTsKIH0KIApAQCAtNDU4OSw3ICs0NTk2LDcgQEAg
LSAodm9pZClfc2V0T2JzY3VyZWRJbnNldHM6KFVJRWRnZUluc2V0cylvYnNjdXJlZEluc2V0cwog
ICAgIEFTU0VSVChvYnNjdXJlZEluc2V0cy5sZWZ0ID49IDApOwogICAgIEFTU0VSVChvYnNjdXJl
ZEluc2V0cy5ib3R0b20gPj0gMCk7CiAgICAgQVNTRVJUKG9ic2N1cmVkSW5zZXRzLnJpZ2h0ID49
IDApOwotICAgIAorCiAgICAgX2hhdmVTZXRPYnNjdXJlZEluc2V0cyA9IFlFUzsKIAogICAgIGlm
IChVSUVkZ2VJbnNldHNFcXVhbFRvRWRnZUluc2V0cyhfb2JzY3VyZWRJbnNldHMsIG9ic2N1cmVk
SW5zZXRzKSkKQEAgLTQ2MjYsNyArNDYzMyw3IEBAIC0gKHZvaWQpX3NldFVub2JzY3VyZWRTYWZl
QXJlYUluc2V0czooVUlFZGdlSW5zZXRzKXVub2JzY3VyZWRTYWZlQXJlYUluc2V0cwogICAgIEFT
U0VSVCh1bm9ic2N1cmVkU2FmZUFyZWFJbnNldHMubGVmdCA+PSAwKTsKICAgICBBU1NFUlQodW5v
YnNjdXJlZFNhZmVBcmVhSW5zZXRzLmJvdHRvbSA+PSAwKTsKICAgICBBU1NFUlQodW5vYnNjdXJl
ZFNhZmVBcmVhSW5zZXRzLnJpZ2h0ID49IDApOwotICAgIAorCiAgICAgX2hhdmVTZXRVbm9ic2N1
cmVkU2FmZUFyZWFJbnNldHMgPSBZRVM7CiAKICAgICBpZiAoVUlFZGdlSW5zZXRzRXF1YWxUb0Vk
Z2VJbnNldHMoX3Vub2JzY3VyZWRTYWZlQXJlYUluc2V0cywgdW5vYnNjdXJlZFNhZmVBcmVhSW5z
ZXRzKSkKQEAgLTQ4NDgsNyArNDg1NSw3IEBAIC0gKHZvaWQpX2VuZEFuaW1hdGVkUmVzaXplCiAg
ICAgICAgIFtfY29udGVudFZpZXcgc2V0SGlkZGVuOk5PXTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KLSAgICAKKwogICAgIC0tX2FjdGl2ZUFuaW1hdGVkUmVzaXplQ291bnQ7CiAgICAgTlNVSW50
ZWdlciBpbmRleE9mUmVzaXplQW5pbWF0aW9uVmlldyA9IFtbX3Njcm9sbFZpZXcgc3Vidmlld3Nd
IGluZGV4T2ZPYmplY3Q6X3Jlc2l6ZUFuaW1hdGlvblZpZXcuZ2V0KCldOwogICAgIFtfc2Nyb2xs
VmlldyBpbnNlcnRTdWJ2aWV3Ol9jb250ZW50Vmlldy5nZXQoKSBhdEluZGV4OmluZGV4T2ZSZXNp
emVBbmltYXRpb25WaWV3XTsKQEAgLTQ5NDIsNyArNDk0OSw3IEBAIC0gKHZvaWQpX3NuYXBzaG90
UmVjdDooQ0dSZWN0KXJlY3RJblZpZXdDb29yZGluYXRlcyBpbnRvSW1hZ2VPZldpZHRoOihDR0Zs
b2F0KWltCiAgICAgICAgIHJldHVybjsKICAgICB9CiAjZW5kaWYKLSAgICAKKwogICAgIGlmIChf
Y3VzdG9tQ29udGVudFZpZXcpIHsKICAgICAgICAgVUlHcmFwaGljc0JlZ2luSW1hZ2VDb250ZXh0
V2l0aE9wdGlvbnMoaW1hZ2VTaXplLCBZRVMsIDEpOwogCkBAIC01MDAwLDcgKzUwMDcsNyBAQCAt
ICh2b2lkKV9jbGVhck92ZXJyaWRlTGF5b3V0UGFyYW1ldGVycwogewogICAgIF9vdmVycmlkZXNN
aW5pbXVtTGF5b3V0U2l6ZSA9IE5POwogICAgIF9taW5pbXVtTGF5b3V0U2l6ZU92ZXJyaWRlID0g
Q0dTaXplWmVybzsKLSAgICAKKwogICAgIF9vdmVycmlkZXNNYXhpbXVtVW5vYnNjdXJlZFNpemUg
PSBOTzsKICAgICBfbWF4aW11bVVub2JzY3VyZWRTaXplT3ZlcnJpZGUgPSBDR1NpemVaZXJvOwog
fQpAQCAtNTI3NSw3ICs1MjgyLDcgQEAgLSAodm9pZClfcmVxdWVzdEFjdGl2YXRlZEVsZW1lbnRB
dFBvc2l0aW9uOihDR1BvaW50KXBvc2l0aW9uIGNvbXBsZXRpb25CbG9jazoodm8KIHsKICAgICBh
dXRvIGluZm9SZXF1ZXN0ID0gV2ViS2l0OjpJbnRlcmFjdGlvbkluZm9ybWF0aW9uUmVxdWVzdChX
ZWJDb3JlOjpyb3VuZGVkSW50UG9pbnQocG9zaXRpb24pKTsKICAgICBpbmZvUmVxdWVzdC5pbmNs
dWRlU25hcHNob3QgPSB0cnVlOwotICAgIAorCiAgICAgW19jb250ZW50VmlldyBkb0FmdGVyUG9z
aXRpb25JbmZvcm1hdGlvblVwZGF0ZTpbY2FwdHVyZWRCbG9jayA9IG1ha2VCbG9ja1B0cihibG9j
ayldIChXZWJLaXQ6OkludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uIGluZm9ybWF0aW9u
KSB7CiAgICAgICAgIGNhcHR1cmVkQmxvY2soW19XS0FjdGl2YXRlZEVsZW1lbnRJbmZvIGFjdGl2
YXRlZEVsZW1lbnRJbmZvV2l0aEludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uOmluZm9y
bWF0aW9uXSk7CiAgICAgfSBmb3JSZXF1ZXN0OmluZm9SZXF1ZXN0XTsKQEAgLTU0NzMsNyArNTQ4
MCw3IEBAIC0gKE5TRGljdGlvbmFyeSAqKV9wcm9wZXJ0aWVzT2ZMYXllcldpdGhJRDoodW5zaWdu
ZWQgbG9uZyBsb25nKWxheWVySUQKICAgICAgICAgICAgIEAibTQzIiA6IEAobGF5ZXIuc3VibGF5
ZXJUcmFuc2Zvcm0ubTQzKSwKICAgICAgICAgICAgIEAibTQ0IiA6IEAobGF5ZXIuc3VibGF5ZXJU
cmFuc2Zvcm0ubTQ0KSwKICAgICAgICAgfSwKLSAgICAgICAgCisKICAgICAgICAgQCJoaWRkZW4i
IDogQChsYXllci5oaWRkZW4pLAogICAgICAgICBAImRvdWJsZVNpZGVkIiA6IEAobGF5ZXIuZG91
YmxlU2lkZWQpLAogICAgICAgICBAIm1hc2tzVG9Cb3VuZHMiIDogQChsYXllci5tYXNrc1RvQm91
bmRzKSwK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>314891</attachid>
            <date>2017-07-07 16:12:13 -0700</date>
            <delta_ts>2017-07-10 09:17:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174282-20170707161212.patch</filename>
            <type>text/plain</type>
            <size>14747</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE5MjIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDJkN2U5NTk0N2I2M2M1
NjZjYWQ4YjNlOWVmMDU0NTA3ZTBhNDhiMy4uNzk5ODg2NDA4NDI0Nzk1MDQ4NGZmMWJkMWQ3ZWNl
MjMwOWE2MjI4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE3LTA3LTA3ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lP
TihyMjEzNTkwKTogVUkgcHJvY2VzcyB1cGRhdGVzIHRoZSB2aXNpYmxlIGNvbnRlbnQgcmVjdHMg
bW9yZSBvZnRlbiB0aGFuIGl0IGRpZCBpbiBpT1MgMTAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NDI4MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
MzMxNDQzNDQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgSW4gcjIxMzU5MCwgd2UgYWNjaWRlbnRhbGx5IHJlZmFjdG9yZWQgLVtXS1dlYlZpZXcgX2Rp
ZENvbW1pdExheWVyVHJlZTpdIHRvIGNhbGwgX3NjaGVkdWxlVmlzaWJsZUNvbnRlbnRSZWN0VXBk
YXRlCisgICAgICAgIG1vcmUgb2Z0ZW4uIEluc3RlYWQsIHRoaXMgc2hvdWxkIGJlIHRyaWdnZXJl
ZCBmcm9tIGluc2lkZSB0aGUgImlmIiBzdGF0ZW1lbnRzLiAKKworICAgICAgICBObyB0ZXN0cyBi
ZWNhdXNlIHRoZXJlIGlzIG5vIGJlaGF2aW9yIGNoYW5nZS4gUGVyZm9ybWFuY2UgY2hhbmdlIGlz
IHRlc3RlZCBpbiBNb3Rpb25NYXJrLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfaXNTaG93aW5nVmlkZW9QaWN0dXJl
SW5QaWN0dXJlXSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfaW5pdGlhbGl6ZVdpdGhDb25maWd1
cmF0aW9uOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgZ29CYWNrXSk6CisgICAgICAgICgtW1dL
V2ViVmlldyBfZGlkQ29tbWl0TGF5ZXJUcmVlOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX3Jl
c3RvcmVQYWdlU3RhdGVUb1Vub2JzY3VyZWRDZW50ZXI6c2NhbGU6XSk6CisgICAgICAgICgtW1dL
V2ViVmlldyBfem9vbVRvUmVjdDp3aXRoT3JpZ2luOmZpdEVudGlyZVJlY3Q6bWluaW11bVNjYWxl
Om1heGltdW1TY2FsZTptaW5pbXVtU2Nyb2xsRGlzdGFuY2U6XSk6CisgICAgICAgICgtW1dLV2Vi
VmlldyBzY3JvbGxWaWV3V2lsbEVuZERyYWdnaW5nOndpdGhWZWxvY2l0eTp0YXJnZXRDb250ZW50
T2Zmc2V0Ol0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgc2Nyb2xsVmlld0RpZFNjcm9sbDpdKToK
KyAgICAgICAgKC1bV0tXZWJWaWV3IF92aXNpYmxlQ29udGVudFJlY3RdKToKKyAgICAgICAgKC1b
V0tXZWJWaWV3IF9mcmFtZU9yQm91bmRzQ2hhbmdlZF0pOgorICAgICAgICAoLVtXS1dlYlZpZXcg
X3NjaGVkdWxlVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlQWZ0ZXJTY3JvbGxJblZpZXc6XSk6Cisg
ICAgICAgICgtW1dLV2ViVmlldyBfdXBkYXRlVmlzaWJsZUNvbnRlbnRSZWN0c10pOgorICAgICAg
ICAoLVtXS1dlYlZpZXcgX25hdmlnYXRpb25HZXN0dXJlRGlkQmVnaW5dKToKKyAgICAgICAgKC1b
V0tXZWJWaWV3IF9yZWxvYWRXaXRob3V0Q29udGVudEJsb2NrZXJzXSk6CisgICAgICAgICgtW1dL
V2ViVmlldyBfcmVsb2FkRXhwaXJlZE9ubHldKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9zZXRP
YnNjdXJlZEluc2V0czpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9zZXRVbm9ic2N1cmVkU2Fm
ZUFyZWFJbnNldHM6XSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfZW5kQW5pbWF0ZWRSZXNpemVd
KToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9zbmFwc2hvdFJlY3Q6aW50b0ltYWdlT2ZXaWR0aDpj
b21wbGV0aW9uSGFuZGxlcjpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9jbGVhck92ZXJyaWRl
TGF5b3V0UGFyYW1ldGVyc10pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX3JlcXVlc3RBY3RpdmF0
ZWRFbGVtZW50QXRQb3NpdGlvbjpjb21wbGV0aW9uQmxvY2s6XSk6CisgICAgICAgICgtW1dLV2Vi
VmlldyBfcHJvcGVydGllc09mTGF5ZXJXaXRoSUQ6XSk6CisKIDIwMTctMDctMDYgIEJyZW50IEZ1
bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgW1dLMl0gUmVzb3VyY2VMb2Fk
U3RhdGlzdGljcyBzaG91bGQgYmF0Y2ggaXRzIHdyaXRlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCBjOWFjYWY5NjhkMzYyYzBiNDY0
ZDlhNmY0NjRhNjNiZjMwNWVhMzc2Li5hY2Y2MWFkMTUwZDRkNWYzMTYxZDM1MmI1YjdkNTlmODEz
ZmM3MjkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlldy5tbQpAQCAtMjUxLDcgKzI1MSw3IEBAIEBpbXBsZW1lbnRhdGlvbiBXS1dlYlZpZXcgewog
CiAgICAgVUlJbnRlcmZhY2VPcmllbnRhdGlvbiBfaW50ZXJmYWNlT3JpZW50YXRpb25PdmVycmlk
ZTsKICAgICBCT09MIF9vdmVycmlkZXNJbnRlcmZhY2VPcmllbnRhdGlvbjsKLSAgICAKKwogICAg
IEJPT0wgX2FsbG93c1ZpZXdwb3J0U2hyaW5rVG9GaXQ7CiAKICAgICBCT09MIF9oYXNDb21taXR0
ZWRMb2FkRm9yTWFpbkZyYW1lOwpAQCAtMjkyLDcgKzI5Miw3IEBAIEBpbXBsZW1lbnRhdGlvbiBX
S1dlYlZpZXcgewogCiAgICAgQk9PTCBfZGVsYXlVcGRhdGVWaXNpYmxlQ29udGVudFJlY3RzOwog
ICAgIEJPT0wgX2hhZERlbGF5ZWRVcGRhdGVWaXNpYmxlQ29udGVudFJlY3RzOwotICAgIAorCiAg
ICAgaW50IF9hY3RpdmVBbmltYXRlZFJlc2l6ZUNvdW50OwogCiAgICAgVmVjdG9yPFdURjo6RnVu
Y3Rpb248dm9pZCAoKT4+IF9zbmFwc2hvdHNEZWZlcnJlZER1cmluZ1Jlc2l6ZTsKQEAgLTM0OCw3
ICszNDgsNyBAQCAtIChCT09MKV9pc1Nob3dpbmdWaWRlb1BpY3R1cmVJblBpY3R1cmUKICNlbHNl
CiAgICAgaWYgKCFfcGFnZSB8fCAhX3BhZ2UtPnZpZGVvRnVsbHNjcmVlbk1hbmFnZXIoKSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgIAorCiAgICAgcmV0dXJuIF9wYWdlLT52aWRlb0Z1bGxz
Y3JlZW5NYW5hZ2VyKCktPmhhc01vZGUoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudEVudW1zOjpW
aWRlb0Z1bGxzY3JlZW5Nb2RlUGljdHVyZUluUGljdHVyZSk7CiAjZW5kaWYKIH0KQEAgLTQyNyw3
ICs0MjcsNyBAQCAtICh2b2lkKV9pbml0aWFsaXplV2l0aENvbmZpZ3VyYXRpb246KFdLV2ViVmll
d0NvbmZpZ3VyYXRpb24gKiljb25maWd1cmF0aW9uCiAKICAgICBXZWJLaXQ6OldlYlByb2Nlc3NQ
b29sJiBwcm9jZXNzUG9vbCA9ICpbX2NvbmZpZ3VyYXRpb24gcHJvY2Vzc1Bvb2xdLT5fcHJvY2Vz
c1Bvb2w7CiAgICAgcHJvY2Vzc1Bvb2wuc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0VuYWJsZWQo
Y29uZmlndXJhdGlvbi53ZWJzaXRlRGF0YVN0b3JlLl9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzRW5h
YmxlZCk7Ci0gICAgCisKICAgICBhdXRvIHBhZ2VDb25maWd1cmF0aW9uID0gQVBJOjpQYWdlQ29u
ZmlndXJhdGlvbjo6Y3JlYXRlKCk7CiAKICAgICBwYWdlQ29uZmlndXJhdGlvbi0+c2V0UHJvY2Vz
c1Bvb2woJnByb2Nlc3NQb29sKTsKQEAgLTUyMCw3ICs1MjAsNyBAQCAtICh2b2lkKV9pbml0aWFs
aXplV2l0aENvbmZpZ3VyYXRpb246KFdLV2ViVmlld0NvbmZpZ3VyYXRpb24gKiljb25maWd1cmF0
aW9uCiAgICAgW19zY3JvbGxWaWV3IHNldEJvdW5jZXNab29tOllFU107CiAKICAgICBbc2VsZiBf
dXBkYXRlU2Nyb2xsVmlld0luc2V0QWRqdXN0bWVudEJlaGF2aW9yXTsKLSAgICAKKwogICAgIFtz
ZWxmIGFkZFN1YnZpZXc6X3Njcm9sbFZpZXcuZ2V0KCldOwogCiAgICAgc3RhdGljIHVpbnQzMl90
IHByb2dyYW1TREtWZXJzaW9uID0gZHlsZF9nZXRfcHJvZ3JhbV9zZGtfdmVyc2lvbigpOwpAQCAt
ODM5LDcgKzgzOSw3IEBAIC0gKFdLTmF2aWdhdGlvbiAqKWdvQmFjawogICAgIGF1dG8gbmF2aWdh
dGlvbiA9IF9wYWdlLT5nb0JhY2soKTsKICAgICBpZiAoIW5hdmlnYXRpb24pCiAgICAgICAgIHJl
dHVybiBuaWw7Ci0gCisKICAgICByZXR1cm4gW3dyYXBwZXIoKm5hdmlnYXRpb24ubGVha1JlZigp
KSBhdXRvcmVsZWFzZV07CiB9CiAKQEAgLTE0ODYsNyArMTQ4Niw3IEBAIC0gKHZvaWQpX2RpZENv
bW1pdExheWVyVHJlZTooY29uc3QgV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbiYp
bGF5ZXJUcmVlCiAKICAgICBMT0dfV0lUSF9TVFJFQU0oVmlzaWJsZVJlY3RzLCBzdHJlYW0gPDwg
Ii1bV0tXZWJWaWV3IF9kaWRDb21taXRMYXllclRyZWU6XSB0cmFuc2FjdGlvbklEICIgPDwgIGxh
eWVyVHJlZVRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSUQoKSA8PCAiIF9keW5hbWljVmlld3BvcnRV
cGRhdGVNb2RlICIgPDwgKGludClfZHluYW1pY1ZpZXdwb3J0VXBkYXRlTW9kZSk7CiAKLSAgICBC
T09MIG5lZWRVcGRhdGVWaXNibGVDb250ZW50UmVjdHMgPSBfcGFnZS0+dXBkYXRlTGF5b3V0Vmll
d3BvcnRQYXJhbWV0ZXJzKGxheWVyVHJlZVRyYW5zYWN0aW9uKTsKKyAgICBib29sIG5lZWRVcGRh
dGVWaXNpYmxlQ29udGVudFJlY3RzID0gX3BhZ2UtPnVwZGF0ZUxheW91dFZpZXdwb3J0UGFyYW1l
dGVycyhsYXllclRyZWVUcmFuc2FjdGlvbik7CiAKICAgICBpZiAoX2R5bmFtaWNWaWV3cG9ydFVw
ZGF0ZU1vZGUgIT0gRHluYW1pY1ZpZXdwb3J0VXBkYXRlTW9kZTo6Tm90UmVzaXppbmcpIHsKICAg
ICAgICAgaWYgKF9yZXNpemVBbmltYXRpb25UcmFuc2Zvcm1UcmFuc2FjdGlvbklEICYmIGxheWVy
VHJlZVRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSUQoKSA+PSBfcmVzaXplQW5pbWF0aW9uVHJhbnNm
b3JtVHJhbnNhY3Rpb25JRC52YWx1ZSgpKSB7CkBAIC0xNTM4LDEwICsxNTM4LDExIEBAIC0gKHZv
aWQpX2RpZENvbW1pdExheWVyVHJlZTooY29uc3QgV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFu
c2FjdGlvbiYpbGF5ZXJUcmVlCiAgICAgICAgIGlmIChfb2JzZXJ2ZWRSZW5kZXJpbmdQcm9ncmVz
c0V2ZW50cyAmIF9XS1JlbmRlcmluZ1Byb2dyZXNzRXZlbnRGaXJzdFBhaW50KQogICAgICAgICAg
ICAgX25hdmlnYXRpb25TdGF0ZS0+ZGlkRmlyc3RQYWludCgpOwogCi0gICAgICAgIG5lZWRVcGRh
dGVWaXNibGVDb250ZW50UmVjdHMgPSBZRVM7CisgICAgICAgIG5lZWRVcGRhdGVWaXNpYmxlQ29u
dGVudFJlY3RzID0gdHJ1ZTsKICAgICB9CiAKICAgICBpZiAobGF5ZXJUcmVlVHJhbnNhY3Rpb24u
dHJhbnNhY3Rpb25JRCgpID49IF9maXJzdFRyYW5zYWN0aW9uSURBZnRlclBhZ2VSZXN0b3JlKSB7
CisgICAgICAgIGJvb2wgc2hvdWxkUmVzdG9yZVNjcm9sbFBvc2l0aW9uID0gZmFsc2U7CiAgICAg
ICAgIGlmIChfc2Nyb2xsT2Zmc2V0VG9SZXN0b3JlKSB7CiAgICAgICAgICAgICBXZWJDb3JlOjpG
bG9hdFBvaW50IHNjYWxlZFNjcm9sbE9mZnNldCA9IF9zY3JvbGxPZmZzZXRUb1Jlc3RvcmUudmFs
dWUoKTsKICAgICAgICAgICAgIF9zY3JvbGxPZmZzZXRUb1Jlc3RvcmUgPSBzdGQ6Om51bGxvcHQ7
CkBAIC0xNTUyLDcgKzE1NTMsMTEgQEAgLSAodm9pZClfZGlkQ29tbWl0TGF5ZXJUcmVlOihjb25z
dCBXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uJilsYXllclRyZWUKIAogICAgICAg
ICAgICAgICAgIGNoYW5nZUNvbnRlbnRPZmZzZXRCb3VuZGVkSW5WYWxpZFJhbmdlKF9zY3JvbGxW
aWV3LmdldCgpLCBjb250ZW50T2Zmc2V0SW5TY3JvbGxWaWV3Q29vcmRpbmF0ZXMpOwogICAgICAg
ICAgICAgICAgIF9jb21taXREaWRSZXN0b3JlU2Nyb2xsUG9zaXRpb24gPSBZRVM7CisKKyAgICAg
ICAgICAgICAgICBzaG91bGRSZXN0b3JlU2Nyb2xsUG9zaXRpb24gPSB0cnVlOwogICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICBuZWVkVXBkYXRlVmlzaWJsZUNvbnRlbnRSZWN0cyA9IHRydWU7
CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoX3Vub2JzY3VyZWRDZW50ZXJUb1Jlc3RvcmUpIHsK
QEAgLTE1NjgsMTYgKzE1NzMsMTggQEAgLSAodm9pZClfZGlkQ29tbWl0TGF5ZXJUcmVlOihjb25z
dCBXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uJilsYXllclRyZWUKICAgICAgICAg
ICAgICAgICB0b3BMZWZ0SW5Eb2N1bWVudENvb3JkaW5hdGVzLm1vdmVCeShXZWJDb3JlOjpGbG9h
dFBvaW50KC1fb2JzY3VyZWRJbnNldHMubGVmdCwgLV9vYnNjdXJlZEluc2V0cy50b3ApKTsKIAog
ICAgICAgICAgICAgICAgIGNoYW5nZUNvbnRlbnRPZmZzZXRCb3VuZGVkSW5WYWxpZFJhbmdlKF9z
Y3JvbGxWaWV3LmdldCgpLCB0b3BMZWZ0SW5Eb2N1bWVudENvb3JkaW5hdGVzKTsKKworICAgICAg
ICAgICAgICAgIHNob3VsZFJlc3RvcmVTY3JvbGxQb3NpdGlvbiA9IHRydWU7CiAgICAgICAgICAg
ICB9Ci0gICAgICAgIH0KIAotICAgICAgICBuZWVkVXBkYXRlVmlzYmxlQ29udGVudFJlY3RzID0g
WUVTOworICAgICAgICAgICAgbmVlZFVwZGF0ZVZpc2libGVDb250ZW50UmVjdHMgPSB0cnVlOwor
ICAgICAgICB9CiAKLSAgICAgICAgaWYgKF9nZXN0dXJlQ29udHJvbGxlcikKKyAgICAgICAgaWYg
KHNob3VsZFJlc3RvcmVTY3JvbGxQb3NpdGlvbiAmJiBfZ2VzdHVyZUNvbnRyb2xsZXIpCiAgICAg
ICAgICAgICBfZ2VzdHVyZUNvbnRyb2xsZXItPmRpZFJlc3RvcmVTY3JvbGxQb3NpdGlvbigpOwog
ICAgIH0KIAotICAgIGlmIChuZWVkVXBkYXRlVmlzYmxlQ29udGVudFJlY3RzKQorICAgIGlmIChu
ZWVkVXBkYXRlVmlzaWJsZUNvbnRlbnRSZWN0cykKICAgICAgICAgW3NlbGYgX3NjaGVkdWxlVmlz
aWJsZUNvbnRlbnRSZWN0VXBkYXRlXTsKIAogICAgIGlmIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJl
ZVNjcm9sbGluZ1BlcmZvcm1hbmNlRGF0YSogc2Nyb2xsUGVyZkRhdGEgPSBfcGFnZS0+c2Nyb2xs
aW5nUGVyZm9ybWFuY2VEYXRhKCkpCkBAIC0xNjQ0LDcgKzE2NTEsNyBAQCAtICh2b2lkKV9yZXN0
b3JlUGFnZVN0YXRlVG9Vbm9ic2N1cmVkQ2VudGVyOihzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkZs
b2F0UG9pbnQ+KQogCiAgICAgX2ZpcnN0VHJhbnNhY3Rpb25JREFmdGVyUGFnZVJlc3RvcmUgPSBk
b3duY2FzdDxXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk+KCpfcGFnZS0+
ZHJhd2luZ0FyZWEoKSkubmV4dExheWVyVHJlZVRyYW5zYWN0aW9uSUQoKTsKICAgICBfdW5vYnNj
dXJlZENlbnRlclRvUmVzdG9yZSA9IGNlbnRlci52YWx1ZSgpOwotICAgIAorCiAgICAgX3NjYWxl
VG9SZXN0b3JlID0gc2NhbGU7CiB9CiAKQEAgLTE5OTEsNyArMTk5OCw3IEBAIC0gKEJPT0wpX3pv
b21Ub1JlY3Q6KFdlYkNvcmU6OkZsb2F0UmVjdCl0YXJnZXRSZWN0IHdpdGhPcmlnaW46KFdlYkNv
cmU6OkZsb2F0UG9pCiAgICAgICAgIFtzZWxmIF96b29tVG9SZWN0OnRhcmdldFJlY3QgYXRTY2Fs
ZTp0YXJnZXRTY2FsZSBvcmlnaW46b3JpZ2luIGFuaW1hdGVkOllFU107CiAgICAgICAgIHJldHVy
biB0cnVlOwogICAgIH0KLSAgICAKKwogICAgIHJldHVybiBmYWxzZTsKIH0KIApAQCAtMjEyMCw3
ICsyMTI3LDcgQEAgLSAodm9pZClzY3JvbGxWaWV3V2lsbEVuZERyYWdnaW5nOihVSVNjcm9sbFZp
ZXcgKilzY3JvbGxWaWV3IHdpdGhWZWxvY2l0eTooQ0dQb2kKICAgICBpZiAoV2ViS2l0OjpSZW1v
dGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5KiBjb29yZGluYXRvciA9IF9wYWdlLT5zY3JvbGxp
bmdDb29yZGluYXRvclByb3h5KCkpIHsKICAgICAgICAgLy8gRklYTUU6IEhlcmUsIEknbSBmaW5k
aW5nIHRoZSBtYXhpbXVtIGhvcml6b250YWwvdmVydGljYWwgc2Nyb2xsIG9mZnNldHMuIFRoZXJl
J3MgcHJvYmFibHkgYSBiZXR0ZXIgd2F5IHRvIGRvIHRoaXMuCiAgICAgICAgIENHU2l6ZSBtYXhT
Y3JvbGxPZmZzZXRzID0gQ0dTaXplTWFrZShzY3JvbGxWaWV3LmNvbnRlbnRTaXplLndpZHRoIC0g
c2Nyb2xsVmlldy5ib3VuZHMuc2l6ZS53aWR0aCwgc2Nyb2xsVmlldy5jb250ZW50U2l6ZS5oZWln
aHQgLSBzY3JvbGxWaWV3LmJvdW5kcy5zaXplLmhlaWdodCk7Ci0gICAgICAgIAorCiAgICAgICAg
IENHUmVjdCBmdWxsVmlld1JlY3QgPSBzZWxmLmJvdW5kczsKIAogICAgICAgICBVSUVkZ2VJbnNl
dHMgY29udGVudEluc2V0OwpAQCAtMjEzMiw3ICsyMTM5LDcgQEAgLSAodm9pZClzY3JvbGxWaWV3
V2lsbEVuZERyYWdnaW5nOihVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3IHdpdGhWZWxvY2l0eToo
Q0dQb2kKICAgICAgICAgICAgIGNvbnRlbnRJbnNldCA9IFtzZWxmIF9jb21wdXRlZENvbnRlbnRJ
bnNldF07CiAKICAgICAgICAgQ0dSZWN0IHVub2JzY3VyZWRSZWN0ID0gVUlFZGdlSW5zZXRzSW5z
ZXRSZWN0KGZ1bGxWaWV3UmVjdCwgY29udGVudEluc2V0KTsKLSAgICAgICAgCisKICAgICAgICAg
Y29vcmRpbmF0b3ItPmFkanVzdFRhcmdldENvbnRlbnRPZmZzZXRGb3JTbmFwcGluZyhtYXhTY3Jv
bGxPZmZzZXRzLCB2ZWxvY2l0eSwgdW5vYnNjdXJlZFJlY3Qub3JpZ2luLnksIHRhcmdldENvbnRl
bnRPZmZzZXQpOwogICAgIH0KICNlbmRpZgpAQCAtMjE2MSw3ICsyMTY4LDcgQEAgLSAodm9pZClz
Y3JvbGxWaWV3RGlkU2Nyb2xsOihVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3CiAgICAgICAgIFtf
Y3VzdG9tQ29udGVudFZpZXcgc2Nyb2xsVmlld0RpZFNjcm9sbDooVUlTY3JvbGxWaWV3ICopc2Ny
b2xsVmlld107CiAKICAgICBbc2VsZiBfc2NoZWR1bGVWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVB
ZnRlclNjcm9sbEluVmlldzpzY3JvbGxWaWV3XTsKLSAgICAKKwogICAgIGlmIChXZWJLaXQ6OlJl
bW90ZUxheWVyVHJlZVNjcm9sbGluZ1BlcmZvcm1hbmNlRGF0YSogc2Nyb2xsUGVyZkRhdGEgPSBf
cGFnZS0+c2Nyb2xsaW5nUGVyZm9ybWFuY2VEYXRhKCkpCiAgICAgICAgIHNjcm9sbFBlcmZEYXRh
LT5kaWRTY3JvbGwoW3NlbGYgdmlzaWJsZVJlY3RJblZpZXdDb29yZGluYXRlc10pOwogfQpAQCAt
MjIxMyw3ICsyMjIwLDcgQEAgLSAoQ0dSZWN0KV92aXNpYmxlQ29udGVudFJlY3QKICAgICAgICAg
cmV0dXJuIF9mcm96ZW5WaXNpYmxlQ29udGVudFJlY3QudmFsdWUoKTsKIAogICAgIENHUmVjdCB2
aXNpYmxlUmVjdEluQ29udGVudENvb3JkaW5hdGVzID0gW3NlbGYgY29udmVydFJlY3Q6c2VsZi5i
b3VuZHMgdG9WaWV3Ol9jb250ZW50Vmlldy5nZXQoKV07Ci0gICAgCisKICAgICBpZiAoVUlWaWV3
ICplbmNsb3NpbmdWaWV3ID0gW3NlbGYgX2VuY2xvc2luZ1ZpZXdGb3JFeHBvc2VkUmVjdENvbXB1
dGF0aW9uXSkgewogICAgICAgICBDR1JlY3Qgdmlld1Zpc2libGVSZWN0ID0gW3NlbGYgX3Zpc2li
bGVSZWN0SW5FbmNsb3NpbmdWaWV3OmVuY2xvc2luZ1ZpZXddOwogICAgICAgICBDR1JlY3Qgdmll
d1Zpc2libGVDb250ZW50UmVjdCA9IFtzZWxmIGNvbnZlcnRSZWN0OnZpZXdWaXNpYmxlUmVjdCB0
b1ZpZXc6X2NvbnRlbnRWaWV3LmdldCgpXTsKQEAgLTIyNzIsMTEgKzIyNzksMTEgQEAgLSAodm9p
ZClfZnJhbWVPckJvdW5kc0NoYW5nZWQKICAgICAgICAgICAgIF9wYWdlLT5zZXRWaWV3cG9ydENv
bmZpZ3VyYXRpb25NaW5pbXVtTGF5b3V0U2l6ZShhY3RpdmVNaW5pbXVtTGF5b3V0U2l6ZShzZWxm
LCBzZWxmLmJvdW5kcykpOwogICAgICAgICBpZiAoIV9vdmVycmlkZXNNYXhpbXVtVW5vYnNjdXJl
ZFNpemUpCiAgICAgICAgICAgICBfcGFnZS0+c2V0TWF4aW11bVVub2JzY3VyZWRTaXplKFdlYkNv
cmU6OkZsb2F0U2l6ZShib3VuZHMuc2l6ZSkpOwotICAgICAgICAKKwogICAgICAgICBCT09MIHNp
emVDaGFuZ2VkID0gTk87CiAgICAgICAgIGlmIChhdXRvIGRyYXdpbmdBcmVhID0gX3BhZ2UtPmRy
YXdpbmdBcmVhKCkpCiAgICAgICAgICAgICBzaXplQ2hhbmdlZCA9IGRyYXdpbmdBcmVhLT5zZXRT
aXplKFdlYkNvcmU6OkludFNpemUoYm91bmRzLnNpemUpLCBXZWJDb3JlOjpJbnRTaXplKCksIFdl
YkNvcmU6OkludFNpemUoKSk7Ci0gICAgICAgIAorCiAgICAgICAgIGlmIChzaXplQ2hhbmdlZCAm
IFtzZWxmIHVzZXNTdGFuZGFyZENvbnRlbnRWaWV3XSkKICAgICAgICAgICAgIFtfY29udGVudFZp
ZXcgc2V0U2l6ZUNoYW5nZWRTaW5jZUxhc3RWaXNpYmxlQ29udGVudFJlY3RVcGRhdGU6WUVTXTsK
ICAgICB9CkBAIC0yMzU5LDcgKzIzNjYsNyBAQCAtICh2b2lkKV9zY2hlZHVsZVZpc2libGVDb250
ZW50UmVjdFVwZGF0ZUFmdGVyU2Nyb2xsSW5WaWV3OihVSVNjcm9sbFZpZXcgKilzY3JvbAogICAg
ICAgICByZXR1cm47CiAKICAgICBfaGFzU2NoZWR1bGVkVmlzaWJsZVJlY3RVcGRhdGUgPSBZRVM7
Ci0gICAgCisKICNpZiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDAK
ICAgICBDQVRyYW5zYWN0aW9uUGhhc2UgdHJhbnNhY3Rpb25QaGFzZSA9IFtDQVRyYW5zYWN0aW9u
IGN1cnJlbnRQaGFzZV07CiAgICAgaWYgKHRyYW5zYWN0aW9uUGhhc2UgPT0ga0NBVHJhbnNhY3Rp
b25QaGFzZU51bGwgfHwgdHJhbnNhY3Rpb25QaGFzZSA9PSBrQ0FUcmFuc2FjdGlvblBoYXNlUHJl
TGF5b3V0KSB7CkBAIC0yNDUzLDcgKzI0NjAsNyBAQCAtICh2b2lkKV91cGRhdGVWaXNpYmxlQ29u
dGVudFJlY3RzCiAgICAgICAgIFdlYktpdDo6UmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94
eSogY29vcmRpbmF0b3IgPSBfcGFnZS0+c2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eSgpOwogICAg
ICAgICBpZiAoY29vcmRpbmF0b3IgJiYgY29vcmRpbmF0b3ItPmhhc0FjdGl2ZVNuYXBQb2ludCgp
KSB7CiAgICAgICAgICAgICBDR1JlY3QgdW5vYnNjdXJlZFJlY3QgPSBVSUVkZ2VJbnNldHNJbnNl
dFJlY3QoZnVsbFZpZXdSZWN0LCBjb21wdXRlZENvbnRlbnRJbnNldFVuYWRqdXN0ZWRGb3JLZXli
b2FyZCk7Ci0gICAgICAgICAgICAKKwogICAgICAgICAgICAgQ0dQb2ludCBjdXJyZW50UG9pbnQg
PSBbX3Njcm9sbFZpZXcgY29udGVudE9mZnNldF07CiAgICAgICAgICAgICBDR1BvaW50IGFjdGl2
ZVBvaW50ID0gY29vcmRpbmF0b3ItPm5lYXJlc3RBY3RpdmVDb250ZW50SW5zZXRBZGp1c3RlZFNu
YXBQb2ludCh1bm9ic2N1cmVkUmVjdC5vcmlnaW4ueSwgY3VycmVudFBvaW50KTsKIApAQCAtMjYz
Nyw3ICsyNjQ0LDcgQEAgLSAodm9pZClfbmF2aWdhdGlvbkdlc3R1cmVEaWRCZWdpbgogCiAgICAg
X2Zyb3plblZpc2libGVDb250ZW50UmVjdCA9IFtzZWxmIGNvbnZlcnRSZWN0OmZ1bGxWaWV3UmVj
dCB0b1ZpZXc6X2NvbnRlbnRWaWV3LmdldCgpXTsKICAgICBfZnJvemVuVW5vYnNjdXJlZENvbnRl
bnRSZWN0ID0gW3NlbGYgY29udmVydFJlY3Q6dW5vYnNjdXJlZFJlY3QgdG9WaWV3Ol9jb250ZW50
Vmlldy5nZXQoKV07Ci0gICAgCisKICAgICBMT0dfV0lUSF9TVFJFQU0oVmlzaWJsZVJlY3RzLCBz
dHJlYW0gPDwgIl9uYXZpZ2F0aW9uR2VzdHVyZURpZEJlZ2luOiBmcmVlemluZyB2aXNpYmxlQ29u
dGVudFJlY3QgIiA8PCBfZnJvemVuVmlzaWJsZUNvbnRlbnRSZWN0LnZhbHVlKCkgPDwgIiBVbm9i
c2N1cmVkQ29udGVudFJlY3QgIiA8PCBfZnJvemVuVW5vYnNjdXJlZENvbnRlbnRSZWN0LnZhbHVl
KCkpOwogfQogCkBAIC0zODAyLDcgKzM4MDksNyBAQCAtIChXS05hdmlnYXRpb24gKilfcmVsb2Fk
V2l0aG91dENvbnRlbnRCbG9ja2VycwogICAgIGF1dG8gbmF2aWdhdGlvbiA9IF9wYWdlLT5yZWxv
YWQoV2ViQ29yZTo6UmVsb2FkT3B0aW9uOjpEaXNhYmxlQ29udGVudEJsb2NrZXJzKTsKICAgICBp
ZiAoIW5hdmlnYXRpb24pCiAgICAgICAgIHJldHVybiBuaWw7Ci0gICAgCisKICAgICByZXR1cm4g
W3dyYXBwZXIoKm5hdmlnYXRpb24ubGVha1JlZigpKSBhdXRvcmVsZWFzZV07CiB9CiAKQEAgLTM4
MTEsNyArMzgxOCw3IEBAIC0gKFdLTmF2aWdhdGlvbiAqKV9yZWxvYWRFeHBpcmVkT25seQogICAg
IGF1dG8gbmF2aWdhdGlvbiA9IF9wYWdlLT5yZWxvYWQoV2ViQ29yZTo6UmVsb2FkT3B0aW9uOjpF
eHBpcmVkT25seSk7CiAgICAgaWYgKCFuYXZpZ2F0aW9uKQogICAgICAgICByZXR1cm4gbmlsOwot
ICAgIAorCiAgICAgcmV0dXJuIFt3cmFwcGVyKCpuYXZpZ2F0aW9uLmxlYWtSZWYoKSkgYXV0b3Jl
bGVhc2VdOwogfQogCkBAIC00NTg5LDcgKzQ1OTYsNyBAQCAtICh2b2lkKV9zZXRPYnNjdXJlZElu
c2V0czooVUlFZGdlSW5zZXRzKW9ic2N1cmVkSW5zZXRzCiAgICAgQVNTRVJUKG9ic2N1cmVkSW5z
ZXRzLmxlZnQgPj0gMCk7CiAgICAgQVNTRVJUKG9ic2N1cmVkSW5zZXRzLmJvdHRvbSA+PSAwKTsK
ICAgICBBU1NFUlQob2JzY3VyZWRJbnNldHMucmlnaHQgPj0gMCk7Ci0gICAgCisKICAgICBfaGF2
ZVNldE9ic2N1cmVkSW5zZXRzID0gWUVTOwogCiAgICAgaWYgKFVJRWRnZUluc2V0c0VxdWFsVG9F
ZGdlSW5zZXRzKF9vYnNjdXJlZEluc2V0cywgb2JzY3VyZWRJbnNldHMpKQpAQCAtNDYyNiw3ICs0
NjMzLDcgQEAgLSAodm9pZClfc2V0VW5vYnNjdXJlZFNhZmVBcmVhSW5zZXRzOihVSUVkZ2VJbnNl
dHMpdW5vYnNjdXJlZFNhZmVBcmVhSW5zZXRzCiAgICAgQVNTRVJUKHVub2JzY3VyZWRTYWZlQXJl
YUluc2V0cy5sZWZ0ID49IDApOwogICAgIEFTU0VSVCh1bm9ic2N1cmVkU2FmZUFyZWFJbnNldHMu
Ym90dG9tID49IDApOwogICAgIEFTU0VSVCh1bm9ic2N1cmVkU2FmZUFyZWFJbnNldHMucmlnaHQg
Pj0gMCk7Ci0gICAgCisKICAgICBfaGF2ZVNldFVub2JzY3VyZWRTYWZlQXJlYUluc2V0cyA9IFlF
UzsKIAogICAgIGlmIChVSUVkZ2VJbnNldHNFcXVhbFRvRWRnZUluc2V0cyhfdW5vYnNjdXJlZFNh
ZmVBcmVhSW5zZXRzLCB1bm9ic2N1cmVkU2FmZUFyZWFJbnNldHMpKQpAQCAtNDg0OCw3ICs0ODU1
LDcgQEAgLSAodm9pZClfZW5kQW5pbWF0ZWRSZXNpemUKICAgICAgICAgW19jb250ZW50VmlldyBz
ZXRIaWRkZW46Tk9dOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIAorCiAgICAgLS1fYWN0
aXZlQW5pbWF0ZWRSZXNpemVDb3VudDsKICAgICBOU1VJbnRlZ2VyIGluZGV4T2ZSZXNpemVBbmlt
YXRpb25WaWV3ID0gW1tfc2Nyb2xsVmlldyBzdWJ2aWV3c10gaW5kZXhPZk9iamVjdDpfcmVzaXpl
QW5pbWF0aW9uVmlldy5nZXQoKV07CiAgICAgW19zY3JvbGxWaWV3IGluc2VydFN1YnZpZXc6X2Nv
bnRlbnRWaWV3LmdldCgpIGF0SW5kZXg6aW5kZXhPZlJlc2l6ZUFuaW1hdGlvblZpZXddOwpAQCAt
NDk0Miw3ICs0OTQ5LDcgQEAgLSAodm9pZClfc25hcHNob3RSZWN0OihDR1JlY3QpcmVjdEluVmll
d0Nvb3JkaW5hdGVzIGludG9JbWFnZU9mV2lkdGg6KENHRmxvYXQpaW0KICAgICAgICAgcmV0dXJu
OwogICAgIH0KICNlbmRpZgotICAgIAorCiAgICAgaWYgKF9jdXN0b21Db250ZW50Vmlldykgewog
ICAgICAgICBVSUdyYXBoaWNzQmVnaW5JbWFnZUNvbnRleHRXaXRoT3B0aW9ucyhpbWFnZVNpemUs
IFlFUywgMSk7CiAKQEAgLTUwMDAsNyArNTAwNyw3IEBAIC0gKHZvaWQpX2NsZWFyT3ZlcnJpZGVM
YXlvdXRQYXJhbWV0ZXJzCiB7CiAgICAgX292ZXJyaWRlc01pbmltdW1MYXlvdXRTaXplID0gTk87
CiAgICAgX21pbmltdW1MYXlvdXRTaXplT3ZlcnJpZGUgPSBDR1NpemVaZXJvOwotICAgIAorCiAg
ICAgX292ZXJyaWRlc01heGltdW1Vbm9ic2N1cmVkU2l6ZSA9IE5POwogICAgIF9tYXhpbXVtVW5v
YnNjdXJlZFNpemVPdmVycmlkZSA9IENHU2l6ZVplcm87CiB9CkBAIC01Mjc1LDcgKzUyODIsNyBA
QCAtICh2b2lkKV9yZXF1ZXN0QWN0aXZhdGVkRWxlbWVudEF0UG9zaXRpb246KENHUG9pbnQpcG9z
aXRpb24gY29tcGxldGlvbkJsb2NrOih2bwogewogICAgIGF1dG8gaW5mb1JlcXVlc3QgPSBXZWJL
aXQ6OkludGVyYWN0aW9uSW5mb3JtYXRpb25SZXF1ZXN0KFdlYkNvcmU6OnJvdW5kZWRJbnRQb2lu
dChwb3NpdGlvbikpOwogICAgIGluZm9SZXF1ZXN0LmluY2x1ZGVTbmFwc2hvdCA9IHRydWU7Ci0g
ICAgCisKICAgICBbX2NvbnRlbnRWaWV3IGRvQWZ0ZXJQb3NpdGlvbkluZm9ybWF0aW9uVXBkYXRl
OltjYXB0dXJlZEJsb2NrID0gbWFrZUJsb2NrUHRyKGJsb2NrKV0gKFdlYktpdDo6SW50ZXJhY3Rp
b25JbmZvcm1hdGlvbkF0UG9zaXRpb24gaW5mb3JtYXRpb24pIHsKICAgICAgICAgY2FwdHVyZWRC
bG9jayhbX1dLQWN0aXZhdGVkRWxlbWVudEluZm8gYWN0aXZhdGVkRWxlbWVudEluZm9XaXRoSW50
ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb246aW5mb3JtYXRpb25dKTsKICAgICB9IGZvclJl
cXVlc3Q6aW5mb1JlcXVlc3RdOwpAQCAtNTQ3Myw3ICs1NDgwLDcgQEAgLSAoTlNEaWN0aW9uYXJ5
ICopX3Byb3BlcnRpZXNPZkxheWVyV2l0aElEOih1bnNpZ25lZCBsb25nIGxvbmcpbGF5ZXJJRAog
ICAgICAgICAgICAgQCJtNDMiIDogQChsYXllci5zdWJsYXllclRyYW5zZm9ybS5tNDMpLAogICAg
ICAgICAgICAgQCJtNDQiIDogQChsYXllci5zdWJsYXllclRyYW5zZm9ybS5tNDQpLAogICAgICAg
ICB9LAotICAgICAgICAKKwogICAgICAgICBAImhpZGRlbiIgOiBAKGxheWVyLmhpZGRlbiksCiAg
ICAgICAgIEAiZG91YmxlU2lkZWQiIDogQChsYXllci5kb3VibGVTaWRlZCksCiAgICAgICAgIEAi
bWFza3NUb0JvdW5kcyIgOiBAKGxheWVyLm1hc2tzVG9Cb3VuZHMpLAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>