<?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>140258</bug_id>
          
          <creation_ts>2015-01-08 11:05:46 -0800</creation_ts>
          <short_desc>[Win] Connect &apos;addUserScriptToGroup&apos; (and related) calls from WebView API to the WebCore implementation</short_desc>
          <delta_ts>2015-08-13 09:33:19 -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>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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>
          <dependson>145908</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Hyungwook Lee">hyungwook.lee</assigned_to>
          <cc>andersca</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>hyungwook.lee</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1059878</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-01-08 11:05:46 -0800</bug_when>
    <thetext>The following layout tests are failing on Windows:

userscripts/document-element-available-at-start.html
userscripts/mixed-case-stylesheet.html
userscripts/script-not-run-for-fragments.html
userscripts/script-run-at-end.html
userscripts/script-run-at-start.html
userscripts/simple-stylesheet.html
userscripts/user-script-all-frames.html
userscripts/user-script-image-document.html
userscripts/user-style-all-frames.html
userscripts/user-stylesheet-invalidate.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1063109</commentid>
    <comment_count>1</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-01-21 11:20:18 -0800</bug_when>
    <thetext>These are falling because none of the &apos;addUserScriptToGroup&apos; or &apos;removeUserScriptFromGroup&apos; API calls for WebView are connected to anything.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1063110</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-01-21 11:21:28 -0800</bug_when>
    <thetext>&lt;rdar://problem/19551137&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1063111</commentid>
    <comment_count>3</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-01-21 11:27:04 -0800</bug_when>
    <thetext>This requires the following:

1. Duplicate WebCoreGroup from mac-&gt;win. (Could almost be shared).
2. Connect the implementations in WebView.

Not sure if anyone needs this functionality yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105364</commentid>
    <comment_count>4</comment_count>
      <attachid>255741</attachid>
    <who name="Hyungwook Lee">hyungwook.lee</who>
    <bug_when>2015-06-29 04:16:06 -0700</bug_when>
    <thetext>Created attachment 255741
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105365</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-29 04:18:47 -0700</bug_when>
    <thetext>Attachment 255741 did not pass style-queue:


ERROR: Source/WebKit/win/WebView.cpp:6460:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit/win/WebView.cpp:6461:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit/win/WebView.cpp:6483:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit/win/WebView.cpp:6484:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit/win/WebView.h:790:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit/win/WebView.h:791:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit/win/WebView.h:794:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit/win/WebView.h:795:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 8 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105366</commentid>
    <comment_count>6</comment_count>
      <attachid>255742</attachid>
    <who name="Hyungwook Lee">hyungwook.lee</who>
    <bug_when>2015-06-29 04:22:28 -0700</bug_when>
    <thetext>Created attachment 255742
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105367</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-29 04:23:44 -0700</bug_when>
    <thetext>Attachment 255742 did not pass style-queue:


ERROR: Source/WebKit/win/WebView.cpp:6460:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit/win/WebView.cpp:6461:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit/win/WebView.cpp:6482:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit/win/WebView.cpp:6483:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit/win/WebView.h:790:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit/win/WebView.h:791:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit/win/WebView.h:794:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit/win/WebView.h:795:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 8 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105368</commentid>
    <comment_count>8</comment_count>
    <who name="Hyungwook Lee">hyungwook.lee</who>
    <bug_when>2015-06-29 04:26:34 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Attachment 255742 [details] did not pass style-queue:
&gt; 
&gt; 
&gt; ERROR: Source/WebKit/win/WebView.cpp:6460:  Weird number of spaces at
&gt; line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
&gt; ERROR: Source/WebKit/win/WebView.cpp:6461:  Weird number of spaces at
&gt; line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
&gt; ERROR: Source/WebKit/win/WebView.cpp:6482:  Weird number of spaces at
&gt; line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
&gt; ERROR: Source/WebKit/win/WebView.cpp:6483:  Weird number of spaces at
&gt; line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
&gt; ERROR: Source/WebKit/win/WebView.h:790:  Weird number of spaces at
&gt; line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
&gt; ERROR: Source/WebKit/win/WebView.h:791:  Weird number of spaces at
&gt; line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
&gt; ERROR: Source/WebKit/win/WebView.h:794:  Weird number of spaces at
&gt; line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
&gt; ERROR: Source/WebKit/win/WebView.h:795:  Weird number of spaces at
&gt; line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
&gt; Total errors found: 8 in 6 files
&gt; 
&gt; 
&gt; If any of these errors are false positives, please file a bug against
&gt; check-webkit-style.

This style errors comes to meet previous parameter&apos;s position that looks not meet current webkit style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105796</commentid>
    <comment_count>9</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-06-30 14:04:09 -0700</bug_when>
    <thetext>I think it&apos;d be better to just skip the tests on Windows than adding more page group level things.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105892</commentid>
    <comment_count>10</comment_count>
      <attachid>255875</attachid>
    <who name="Hyungwook Lee">hyungwook.lee</who>
    <bug_when>2015-06-30 16:45:52 -0700</bug_when>
    <thetext>Created attachment 255875
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105893</commentid>
    <comment_count>11</comment_count>
    <who name="Hyungwook Lee">hyungwook.lee</who>
    <bug_when>2015-06-30 16:46:09 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; I think it&apos;d be better to just skip the tests on Windows than adding more
&gt; page group level things.

Done</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105897</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-30 16:48:20 -0700</bug_when>
    <thetext>Attachment 255875 did not pass style-queue:


ERROR: Source/WebKit/win/WebView.cpp:6460:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit/win/WebView.cpp:6461:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit/win/WebView.cpp:6482:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit/win/WebView.cpp:6483:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit/win/WebView.h:790:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit/win/WebView.h:791:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit/win/WebView.h:794:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit/win/WebView.h:795:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 8 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106047</commentid>
    <comment_count>13</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-07-01 07:41:52 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #9)
&gt; &gt; I think it&apos;d be better to just skip the tests on Windows than adding more
&gt; &gt; page group level things.
&gt; 
&gt; Done

I mean, skip the tests and not implement any WebKit API on Windows :) Unless there&apos;s a legitimate need for this on Windows, adding more unused code just for the sake of adding code is a bad idea.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106292</commentid>
    <comment_count>14</comment_count>
    <who name="Hyungwook Lee">hyungwook.lee</who>
    <bug_when>2015-07-01 20:17:36 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #11)
&gt; &gt; (In reply to comment #9)
&gt; &gt; &gt; I think it&apos;d be better to just skip the tests on Windows than adding more
&gt; &gt; &gt; page group level things.
&gt; &gt; 
&gt; &gt; Done
&gt; 
&gt; I mean, skip the tests and not implement any WebKit API on Windows :) Unless
&gt; there&apos;s a legitimate need for this on Windows, adding more unused code just
&gt; for the sake of adding code is a bad idea.

I agreed with you that adding unused code is not good idea.
I will hold this patch until we have legitimate needs for Windows port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117242</commentid>
    <comment_count>15</comment_count>
      <attachid>255875</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-08-13 09:33:19 -0700</bug_when>
    <thetext>Comment on attachment 255875
Patch

Removing review flag on this patch so it doesn&apos;t show up in the current request queue. Please re-flag for review when we decide we want to pursue this feature.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255741</attachid>
            <date>2015-06-29 04:16:06 -0700</date>
            <delta_ts>2015-06-29 04:22:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>Patch</filename>
            <type>text/plain</type>
            <size>13080</size>
            <attacher name="Hyungwook Lee">hyungwook.lee</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NjA2OCkKKysrIFNvdXJjZS9XZWJLaXQv
d2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDE1LTA2LTI5
ICBIeXVuZ3dvb2sgTGVlICA8aHl1bmd3b29rLmxlZUBuYXZlcmNvcnAuY29tPgorCisgICAgICAg
IFtXaW5dIENvbm5lY3QgJ2FkZFVzZXJTY3JpcHRUb0dyb3VwJyAoYW5kIHJlbGF0ZWQpIGNhbGxz
IGZyb20gV2ViVmlldyBBUEkgdG8gdGhlIFdlYkNvcmUgaW1wbGVtZW50YXRpb24uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDAyNTgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgYWRkVXNl
clNjcmlwdFRvR3JvdXAgKGFuZCByZWxhdGVkKSBBUEkgaW4gV2ViVmlldyBjbGFzcy4KKworICAg
ICAgICAqIEludGVyZmFjZXMvSVdlYlZpZXdQcml2YXRlLmlkbDoKKyAgICAgICAgKiBXZWJWaWV3
LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6OmV4aXRWaWRlb0Z1bGxzY3JlZW5Gb3JWaWRlb0VsZW1l
bnQpOgorICAgICAgICAodG9TdHJpbmdWZWN0b3IpOgorICAgICAgICAoV2ViVmlldzo6YWRkVXNl
clNjcmlwdFRvR3JvdXApOgorICAgICAgICAoV2ViVmlldzo6YWRkVXNlclN0eWxlU2hlZXRUb0dy
b3VwKToKKyAgICAgICAgKFdlYlZpZXc6OnJlbW92ZVVzZXJTY3JpcHRGcm9tR3JvdXApOgorICAg
ICAgICAoV2ViVmlldzo6cmVtb3ZlVXNlclN0eWxlU2hlZXRGcm9tR3JvdXApOgorICAgICAgICAo
V2ViVmlldzo6cmVtb3ZlVXNlclNjcmlwdHNGcm9tR3JvdXApOgorICAgICAgICAoV2ViVmlldzo6
cmVtb3ZlVXNlclN0eWxlU2hlZXRzRnJvbUdyb3VwKToKKyAgICAgICAgKFdlYlZpZXc6OnJlbW92
ZUFsbFVzZXJDb250ZW50RnJvbUdyb3VwKToKKyAgICAgICAgKFdlYlZpZXc6OmludmFsaWRhdGVC
YWNraW5nU3RvcmUpOgorICAgICAgICAqIFdlYlZpZXcuaDoKKwogMjAxNS0wNi0yNiAgUGVyIEFy
bmUgVm9sbGFuICA8cGVhdm9Ab3V0bG9vay5jb20+CiAKICAgICAgICAgV2luTGF1bmNoZXIgZmFp
bHMgdG8gZG93bmxvYWQgZmlsZXMuCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAkocmV2aXNpb24g
MTg2MDIwKQorKysgU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTE1NCw2ICsxNTQsOSBAQAogI2luY2x1ZGUgPFdlYkNvcmUvU2V0dGluZ3MuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1N5c3RlbUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1VzZXJDb250ZW50
Q29udHJvbGxlci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvVXNlckNvbnRlbnRUeXBlcy5oPgorI2lu
Y2x1ZGUgPFdlYkNvcmUvVXNlclNjcmlwdC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvVXNlclN0eWxl
U2hlZXQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1dpbmRvd01lc3NhZ2VCcm9hZGNhc3Rlci5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvV2luZG93c1RvdWNoLmg+CiAjaW5jbHVkZSA8YmluZGluZ3MvU2Ny
aXB0VmFsdWUuaD4KQEAgLTY0MzUsNDQgKzY0MzgsMTQ2IEBAIHZvaWQgV2ViVmlldzo6ZXhpdFZp
ZGVvRnVsbHNjcmVlbkZvclZpZGUKICNlbmRpZgogfQogCitzdGF0aWMgaW5saW5lIFZlY3RvcjxT
dHJpbmc+IHRvU3RyaW5nVmVjdG9yKEJTVFIqIGxpc3QsIHVuc2lnbmVkIGNvdW50KQoreworICAg
IGlmICghbGlzdCB8fCAhY291bnQpCisgICAgICAgIHJldHVybiBWZWN0b3I8U3RyaW5nPigpOwor
CisgICAgVmVjdG9yPFN0cmluZz4gcmVzdWx0OworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCBjb3VudDsgKytpKSB7CisgICAgICAgIEJTVFIgaXRlbSA9IGxpc3RbaV07CisgICAgICAgIHVu
c2lnbmVkIGxlbmd0aCA9IFN5c1N0cmluZ0xlbihpdGVtKTsKKworICAgICAgICByZXN1bHQuYXBw
ZW5kKFN0cmluZyhpdGVtLCBsZW5ndGgpKTsKKyAgICB9CisKKyAgICByZXR1cm4gcmVzdWx0Owor
fQorCiBIUkVTVUxUIFdlYlZpZXc6OmFkZFVzZXJTY3JpcHRUb0dyb3VwKEJTVFIgZ3JvdXBOYW1l
LCBJV2ViU2NyaXB0V29ybGQqIGlXb3JsZCwgQlNUUiBzb3VyY2UsIEJTVFIgdXJsLCAKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgd2hpdGVsaXN0Q291bnQs
IEJTVFIqIHdoaXRlbGlzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5zaWduZWQgYmxhY2tsaXN0Q291bnQsIEJTVFIqIGJsYWNrbGlzdCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgV2ViVXNlclNjcmlwdEluamVjdGlvblRpbWUgaW5qZWN0
aW9uVGltZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2ViVXNlclNj
cmlwdEluamVjdGlvblRpbWUgaW5qZWN0aW9uVGltZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgV2ViVXNlckNvbnRlbnRJbmplY3RlZEZyYW1lcyBpbmplY3RlZEZyYW1l
cykKIHsKLSAgICByZXR1cm4gRV9OT1RJTVBMOworICAgIFN0cmluZyBncm91cChncm91cE5hbWUp
OworICAgIGlmIChncm91cC5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBFX0ZBSUw7CisKKyAg
ICBhdXRvIHZpZXdHcm91cCA9IFdlYlZpZXdHcm91cDo6Z2V0T3JDcmVhdGUoZ3JvdXBOYW1lLCBT
dHJpbmcoKSk7CisgICAgaWYgKCF2aWV3R3JvdXApCisgICAgICAgIHJldHVybiBFX0ZBSUw7CisK
KyAgICBDT01QdHI8V2ViU2NyaXB0V29ybGQ+IHdvcmxkKFF1ZXJ5LCBpV29ybGQpOworICAgIGlm
ICghd29ybGQpCisgICAgICAgIHJldHVybiBFX0ZBSUw7CisKKyAgICBhdXRvIHVzZXJTY3JpcHQg
PSBzdGQ6Om1ha2VfdW5pcXVlPFVzZXJTY3JpcHQ+KHRvU3RyaW5nKHNvdXJjZSksIHRvVVJMKHVy
bCksIHRvU3RyaW5nVmVjdG9yKHdoaXRlbGlzdCwgd2hpdGVsaXN0Q291bnQpLCB0b1N0cmluZ1Zl
Y3RvcihibGFja2xpc3QsIGJsYWNrbGlzdENvdW50KSwgaW5qZWN0aW9uVGltZSA9PSBXZWJJbmpl
Y3RBdERvY3VtZW50U3RhcnQgPyBJbmplY3RBdERvY3VtZW50U3RhcnQgOiBJbmplY3RBdERvY3Vt
ZW50RW5kLCBpbmplY3RlZEZyYW1lcyA9PSBXZWJJbmplY3RJbkFsbEZyYW1lcyA/IEluamVjdElu
QWxsRnJhbWVzIDogSW5qZWN0SW5Ub3BGcmFtZU9ubHkpOworICAgIHZpZXdHcm91cC0+dXNlckNv
bnRlbnRDb250cm9sbGVyKCkuYWRkVXNlclNjcmlwdCh3b3JsZC0+d29ybGQoKSwgV1RGOjptb3Zl
KHVzZXJTY3JpcHQpKTsKKworICAgIHJldHVybiBTX09LOwogfQogCiBIUkVTVUxUIFdlYlZpZXc6
OmFkZFVzZXJTdHlsZVNoZWV0VG9Hcm91cChCU1RSIGdyb3VwTmFtZSwgSVdlYlNjcmlwdFdvcmxk
KiBpV29ybGQsIEJTVFIgc291cmNlLCBCU1RSIHVybCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIHdoaXRlbGlzdENvdW50LCBCU1RSKiB3aGl0ZWxp
c3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBi
bGFja2xpc3RDb3VudCwgQlNUUiogYmxhY2tsaXN0KQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgYmxhY2tsaXN0Q291bnQsIEJTVFIqIGJsYWNrbGlz
dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlYlVzZXJDb250
ZW50SW5qZWN0ZWRGcmFtZXMgaW5qZWN0ZWRGcmFtZXMpCiB7Ci0gICAgcmV0dXJuIEVfTk9USU1Q
TDsKKyAgICBTdHJpbmcgZ3JvdXAoZ3JvdXBOYW1lKTsKKyAgICBpZiAoZ3JvdXAuaXNFbXB0eSgp
KQorICAgICAgICByZXR1cm4gRV9GQUlMOworCisgICAgYXV0byB2aWV3R3JvdXAgPSBXZWJWaWV3
R3JvdXA6OmdldE9yQ3JlYXRlKGdyb3VwTmFtZSwgU3RyaW5nKCkpOworICAgIGlmICghdmlld0dy
b3VwKQorICAgICAgICByZXR1cm4gRV9GQUlMOworCisgICAgQ09NUHRyPFdlYlNjcmlwdFdvcmxk
PiB3b3JsZChRdWVyeSwgaVdvcmxkKTsKKyAgICBpZiAoIXdvcmxkKQorICAgICAgICByZXR1cm4g
RV9GQUlMOworCisgICAgYXV0byBzdHlsZVNoZWV0ID0gc3RkOjptYWtlX3VuaXF1ZTxVc2VyU3R5
bGVTaGVldD4odG9TdHJpbmcoc291cmNlKSwgdG9VUkwodXJsKSwgdG9TdHJpbmdWZWN0b3Iod2hp
dGVsaXN0LCB3aGl0ZWxpc3RDb3VudCksIHRvU3RyaW5nVmVjdG9yKGJsYWNrbGlzdCwgYmxhY2ts
aXN0Q291bnQpLCBpbmplY3RlZEZyYW1lcyA9PSBXZWJJbmplY3RJbkFsbEZyYW1lcyA/IEluamVj
dEluQWxsRnJhbWVzIDogSW5qZWN0SW5Ub3BGcmFtZU9ubHksIFVzZXJTdHlsZVVzZXJMZXZlbCk7
CisgICAgdmlld0dyb3VwLT51c2VyQ29udGVudENvbnRyb2xsZXIoKS5hZGRVc2VyU3R5bGVTaGVl
dCh3b3JsZC0+d29ybGQoKSwgV1RGOjptb3ZlKHN0eWxlU2hlZXQpLCBJbmplY3RJbkV4aXN0aW5n
RG9jdW1lbnRzKTsKIH0KIAogSFJFU1VMVCBXZWJWaWV3OjpyZW1vdmVVc2VyU2NyaXB0RnJvbUdy
b3VwKEJTVFIgZ3JvdXBOYW1lLCBJV2ViU2NyaXB0V29ybGQqIGlXb3JsZCwgQlNUUiB1cmwpCiB7
Ci0gICAgcmV0dXJuIEVfTk9USU1QTDsKKyAgICBTdHJpbmcgZ3JvdXAoZ3JvdXBOYW1lKTsKKyAg
ICBpZiAoZ3JvdXAuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gRV9GQUlMOworCisgICAgYXV0
byogdmlld0dyb3VwID0gV2ViVmlld0dyb3VwOjpnZXQoZ3JvdXApOworICAgIGlmICghdmlld0dy
b3VwKQorICAgICAgICByZXR1cm4gRV9GQUlMOworCisgICAgQ09NUHRyPFdlYlNjcmlwdFdvcmxk
PiB3b3JsZChRdWVyeSwgaVdvcmxkKTsKKyAgICBpZiAoIXdvcmxkKQorICAgICAgICByZXR1cm4g
RV9GQUlMOworCisgICAgdmlld0dyb3VwLT51c2VyQ29udGVudENvbnRyb2xsZXIoKS5yZW1vdmVV
c2VyU2NyaXB0KHdvcmxkLT53b3JsZCgpLCB0b1VSTCh1cmwpKTsKIH0KIAogSFJFU1VMVCBXZWJW
aWV3OjpyZW1vdmVVc2VyU3R5bGVTaGVldEZyb21Hcm91cChCU1RSIGdyb3VwTmFtZSwgSVdlYlNj
cmlwdFdvcmxkKiBpV29ybGQsIEJTVFIgdXJsKQogewotICAgIHJldHVybiBFX05PVElNUEw7Cisg
ICAgU3RyaW5nIGdyb3VwKGdyb3VwTmFtZSk7CisgICAgaWYgKGdyb3VwLmlzRW1wdHkoKSkKKyAg
ICAgICAgcmV0dXJuIEVfRkFJTDsKKworICAgIGF1dG8qIHZpZXdHcm91cCA9IFdlYlZpZXdHcm91
cDo6Z2V0KGdyb3VwKTsKKyAgICBpZiAoIXZpZXdHcm91cCkKKyAgICAgICAgcmV0dXJuIEVfRkFJ
TDsKKworICAgIENPTVB0cjxXZWJTY3JpcHRXb3JsZD4gd29ybGQoUXVlcnksIGlXb3JsZCk7Cisg
ICAgaWYgKCF3b3JsZCkKKyAgICAgICAgcmV0dXJuIEVfRkFJTDsKKworICAgIHZpZXdHcm91cC0+
dXNlckNvbnRlbnRDb250cm9sbGVyKCkucmVtb3ZlVXNlclN0eWxlU2hlZXQod29ybGQtPndvcmxk
KCksIHRvVVJMKHVybCkpOwogfQogCiBIUkVTVUxUIFdlYlZpZXc6OnJlbW92ZVVzZXJTY3JpcHRz
RnJvbUdyb3VwKEJTVFIgZ3JvdXBOYW1lLCBJV2ViU2NyaXB0V29ybGQqIGlXb3JsZCkKIHsKLSAg
ICByZXR1cm4gRV9OT1RJTVBMOworICAgIFN0cmluZyBncm91cChncm91cE5hbWUpOworICAgIGlm
IChncm91cC5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBFX0ZBSUw7CisKKyAgICBhdXRvKiB2
aWV3R3JvdXAgPSBXZWJWaWV3R3JvdXA6OmdldChncm91cCk7CisgICAgaWYgKCF2aWV3R3JvdXAp
CisgICAgICAgIHJldHVybiBFX0ZBSUw7CisKKyAgICBDT01QdHI8V2ViU2NyaXB0V29ybGQ+IHdv
cmxkKFF1ZXJ5LCBpV29ybGQpOworICAgIGlmICghd29ybGQpCisgICAgICAgIHJldHVybiBFX0ZB
SUw7CisKKyAgICB2aWV3R3JvdXAtPnVzZXJDb250ZW50Q29udHJvbGxlcigpLnJlbW92ZVVzZXJT
Y3JpcHRzKHdvcmxkLT53b3JsZCgpKTsKIH0KIAogSFJFU1VMVCBXZWJWaWV3OjpyZW1vdmVVc2Vy
U3R5bGVTaGVldHNGcm9tR3JvdXAoQlNUUiBncm91cE5hbWUsIElXZWJTY3JpcHRXb3JsZCogaVdv
cmxkKQogewotICAgIHJldHVybiBFX05PVElNUEw7CisgICAgU3RyaW5nIGdyb3VwKGdyb3VwTmFt
ZSk7CisgICAgaWYgKGdyb3VwLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIEVfRkFJTDsKKwor
ICAgIGF1dG8qIHZpZXdHcm91cCA9IFdlYlZpZXdHcm91cDo6Z2V0KGdyb3VwKTsKKyAgICBpZiAo
IXZpZXdHcm91cCkKKyAgICAgICAgcmV0dXJuIEVfRkFJTDsKKworICAgIENPTVB0cjxXZWJTY3Jp
cHRXb3JsZD4gd29ybGQoUXVlcnksIGlXb3JsZCk7CisgICAgaWYgKCF3b3JsZCkKKyAgICAgICAg
cmV0dXJuIEVfRkFJTDsKKworICAgIHZpZXdHcm91cC0+dXNlckNvbnRlbnRDb250cm9sbGVyKCku
cmVtb3ZlVXNlclN0eWxlU2hlZXRzKHdvcmxkLT53b3JsZCgpKTsKIH0KIAogSFJFU1VMVCBXZWJW
aWV3OjpyZW1vdmVBbGxVc2VyQ29udGVudEZyb21Hcm91cChCU1RSIGdyb3VwTmFtZSkKIHsKLSAg
ICByZXR1cm4gRV9OT1RJTVBMOworICAgIFN0cmluZyBncm91cChncm91cE5hbWUpOworICAgIGlm
IChncm91cC5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBFX0ZBSUw7CisKKyAgICBhdXRvKiB2
aWV3R3JvdXAgPSBXZWJWaWV3R3JvdXA6OmdldChncm91cCk7CisgICAgaWYgKCF2aWV3R3JvdXAp
CisgICAgICAgIHJldHVybiBFX0ZBSUw7CisKKyAgICB2aWV3R3JvdXAtPnVzZXJDb250ZW50Q29u
dHJvbGxlcigpLnJlbW92ZUFsbFVzZXJDb250ZW50KCk7CiB9CiAKIEhSRVNVTFQgV2ViVmlldzo6
aW52YWxpZGF0ZUJhY2tpbmdTdG9yZShjb25zdCBSRUNUKiByZWN0KQpJbmRleDogU291cmNlL1dl
YktpdC93aW4vV2ViVmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL1dlYlZp
ZXcuaAkocmV2aXNpb24gMTg2MDIwKQorKysgU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5oCSh3
b3JraW5nIGNvcHkpCkBAIC03ODcsMTAgKzc4NywxMiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBI
UkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGFkZFVzZXJTY3JpcHRUb0dyb3VwKEJTVFIgZ3JvdXBO
YW1lLCBJV2ViU2NyaXB0V29ybGQqLCBCU1RSIHNvdXJjZSwgQlNUUiB1cmwsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk
IHdoaXRlbGlzdENvdW50LCBCU1RSKiB3aGl0ZWxpc3QsIAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBibGFja2xpc3RD
b3VudCwgQlNUUiogYmxhY2tsaXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJVc2VyU2NyaXB0SW5qZWN0aW9uVGltZSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFdlYlVzZXJTY3JpcHRJbmplY3Rpb25UaW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJVc2VyQ29udGVudEluamVjdGVkRnJh
bWVzKTsKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgYWRkVXNlclN0eWxl
U2hlZXRUb0dyb3VwKEJTVFIgZ3JvdXBOYW1lLCBJV2ViU2NyaXB0V29ybGQqLCBCU1RSIHNvdXJj
ZSwgQlNUUiB1cmwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCB3aGl0ZWxpc3RDb3VudCwgQlNUUiogd2hpdGVs
aXN0LCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGJsYWNrbGlzdENvdW50LCBCU1RSKiBibGFja2xpc3QpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgYmxhY2tsaXN0Q291bnQsIEJTVFIqIGJsYWNrbGlzdCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdl
YlVzZXJDb250ZW50SW5qZWN0ZWRGcmFtZXMpOwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRI
T0RDQUxMVFlQRSByZW1vdmVVc2VyU2NyaXB0RnJvbUdyb3VwKEJTVFIgZ3JvdXBOYW1lLCBJV2Vi
U2NyaXB0V29ybGQqLCBCU1RSIHVybCk7CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENB
TExUWVBFIHJlbW92ZVVzZXJTdHlsZVNoZWV0RnJvbUdyb3VwKEJTVFIgZ3JvdXBOYW1lLCBJV2Vi
U2NyaXB0V29ybGQqLCBCU1RSIHVybCk7CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENB
TExUWVBFIHJlbW92ZVVzZXJTY3JpcHRzRnJvbUdyb3VwKEJTVFIgZ3JvdXBOYW1lLCBJV2ViU2Ny
aXB0V29ybGQqKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYlZpZXdQ
cml2YXRlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lX
ZWJWaWV3UHJpdmF0ZS5pZGwJKHJldmlzaW9uIDE4NjAyMCkKKysrIFNvdXJjZS9XZWJLaXQvd2lu
L0ludGVyZmFjZXMvSVdlYlZpZXdQcml2YXRlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNTAsNiAr
NTAsMTEgQEAgdHlwZWRlZiBlbnVtIHsKICAgICBXZWJJbmplY3RBdERvY3VtZW50RW5kLAogfSBX
ZWJVc2VyU2NyaXB0SW5qZWN0aW9uVGltZTsKIAordHlwZWRlZiBlbnVtIHsKKyAgICBXZWJJbmpl
Y3RJbkFsbEZyYW1lcywKKyAgICBXZWJJbmplY3RJblRvcEZyYW1lT25seQorfSBXZWJVc2VyQ29u
dGVudEluamVjdGVkRnJhbWVzOworCiBbCiAgICAgb2JqZWN0LAogICAgIG9sZWF1dG9tYXRpb24s
CkBAIC0xODYsMTAgKzE5MSwxMiBAQCBpbnRlcmZhY2UgSVdlYlZpZXdQcml2YXRlIDogSVVua25v
d24KICAgICBIUkVTVUxUIGFkZFVzZXJTY3JpcHRUb0dyb3VwKFtpbl0gQlNUUiBncm91cE5hbWUs
IFtpbl0gSVdlYlNjcmlwdFdvcmxkKiwgW2luXSBCU1RSIHNvdXJjZSwgW2luXSBCU1RSIHVybCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbl0gdW5zaWduZWQgd2hpdGVsaXN0
Q291bnQsIFtpbiwgc2l6ZV9pcyh3aGl0ZWxpc3RDb3VudCldIEJTVFIqIHdoaXRlbGlzdCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbl0gdW5zaWduZWQgYmxhY2tsaXN0Q291
bnQsIFtpbiwgc2l6ZV9pcyhibGFja2xpc3RDb3VudCldIEJTVFIqIGJsYWNrbGlzdCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbl0gV2ViVXNlclNjcmlwdEluamVjdGlvblRp
bWUgaW5qZWN0aW9uVGltZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5d
IFdlYlVzZXJTY3JpcHRJbmplY3Rpb25UaW1lIGluamVjdGlvblRpbWUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBbaW5dIFdlYlVzZXJDb250ZW50SW5qZWN0ZWRGcmFtZXMgaW5q
ZWN0ZWRGcmFtZXMpOwogICAgIEhSRVNVTFQgYWRkVXNlclN0eWxlU2hlZXRUb0dyb3VwKFtpbl0g
QlNUUiBncm91cE5hbWUsIFtpbl0gSVdlYlNjcmlwdFdvcmxkKiwgW2luXSBCU1RSIHNvdXJjZSwg
W2luXSBCU1RSIHVybCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5d
IHVuc2lnbmVkIHdoaXRlbGlzdENvdW50LCBbaW4sIHNpemVfaXMod2hpdGVsaXN0Q291bnQpXSBC
U1RSKiB3aGl0ZWxpc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lu
XSB1bnNpZ25lZCBibGFja2xpc3RDb3VudCwgW2luLCBzaXplX2lzKGJsYWNrbGlzdENvdW50KV0g
QlNUUiogYmxhY2tsaXN0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBb
aW5dIHVuc2lnbmVkIGJsYWNrbGlzdENvdW50LCBbaW4sIHNpemVfaXMoYmxhY2tsaXN0Q291bnQp
XSBCU1RSKiBibGFja2xpc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
W2luXSBXZWJVc2VyQ29udGVudEluamVjdGVkRnJhbWVzIGluamVjdGVkRnJhbWVzKTsKICAgICBI
UkVTVUxUIHJlbW92ZVVzZXJTY3JpcHRGcm9tR3JvdXAoW2luXSBCU1RSIGdyb3VwTmFtZSwgW2lu
XSBJV2ViU2NyaXB0V29ybGQqLCBbaW5dIEJTVFIgdXJsKTsKICAgICBIUkVTVUxUIHJlbW92ZVVz
ZXJTdHlsZVNoZWV0RnJvbUdyb3VwKFtpbl0gQlNUUiBncm91cE5hbWUsIFtpbl0gSVdlYlNjcmlw
dFdvcmxkKiwgW2luXSBCU1RSIHVybCk7CiAgICAgSFJFU1VMVCByZW1vdmVVc2VyU2NyaXB0c0Zy
b21Hcm91cChbaW5dIEJTVFIgZ3JvdXBOYW1lLCBbaW5dIElXZWJTY3JpcHRXb3JsZCopOwpJbmRl
eDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNp
b24gMTg2MDY4KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MTcgQEAKKzIwMTUtMDYtMjkgIEh5dW5nd29vayBMZWUgIDxoeXVuZ3dvb2subGVlQG5hdmVyY29y
cC5jb20+CisKKyAgICAgICAgW1dpbl0gQ29ubmVjdCAnYWRkVXNlclNjcmlwdFRvR3JvdXAnIChh
bmQgcmVsYXRlZCkgY2FsbHMgZnJvbSBXZWJWaWV3IEFQSSB0byB0aGUgV2ViQ29yZSBpbXBsZW1l
bnRhdGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE0MDI1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEltcGxlbWVudCBhZGRVc2VyU2NyaXB0VG9Hcm91cCAoYW5kIHJlbGF0ZWQpIEFQSSBpbiBXZWJW
aWV3IGNsYXNzLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL1Rlc3RSdW5uZXJXaW4u
Y3BwOgorICAgICAgICAoVGVzdFJ1bm5lcjo6YWRkVXNlclNjcmlwdCk6CisgICAgICAgIChUZXN0
UnVubmVyOjphZGRVc2VyU3R5bGVTaGVldCk6CisgICAgICAgIChUZXN0UnVubmVyOjpzZXREZXZl
bG9wZXJFeHRyYXNFbmFibGVkKToKKwogMjAxNS0wNi0yOCAgRGFuIEJlcm5zdGVpbiAgPG1pdHpA
YXBwbGUuY29tPgogCiAgICAgICAgIFtYY29kZV0gVXNlIHRoZSBzYW1lIGVudmlyb25tZW50IGZv
ciBjb21tYW5kLWxpbmUgYW5kIElERSBidWlsZHMKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVl
L3dpbi9UZXN0UnVubmVyV2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJl
ZS93aW4vVGVzdFJ1bm5lcldpbi5jcHAJKHJldmlzaW9uIDE4NjAyMCkKKysrIFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL3dpbi9UZXN0UnVubmVyV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTk3LDcg
Kzk5Nyw3IEBAIHZvaWQgVGVzdFJ1bm5lcjo6YWRkVXNlclNjcmlwdChKU1N0cmluZ1IKICAgICBp
ZiAoRkFJTEVEKFdlYktpdENyZWF0ZUluc3RhbmNlKF9fdXVpZG9mKFdlYlNjcmlwdFdvcmxkKSwg
MCwgX191dWlkb2Yod29ybGQpLCByZWludGVycHJldF9jYXN0PHZvaWQqKj4oJndvcmxkKSkpKQog
ICAgICAgICByZXR1cm47CiAKLSAgICB3ZWJWaWV3LT5hZGRVc2VyU2NyaXB0VG9Hcm91cChfYnN0
cl90KEwib3JnLndlYmtpdC5EdW1wUmVuZGVyVHJlZSIpLkdldEJTVFIoKSwgd29ybGQuZ2V0KCks
IGJzdHJUKHNvdXJjZSkuR2V0QlNUUigpLCAwLCAwLCAwLCAwLCAwLCBydW5BdFN0YXJ0ID8gV2Vi
SW5qZWN0QXREb2N1bWVudFN0YXJ0IDogV2ViSW5qZWN0QXREb2N1bWVudEVuZCk7CisgICAgd2Vi
Vmlldy0+YWRkVXNlclNjcmlwdFRvR3JvdXAoX2JzdHJfdChMIm9yZy53ZWJraXQuRHVtcFJlbmRl
clRyZWUiKS5HZXRCU1RSKCksIHdvcmxkLmdldCgpLCBic3RyVChzb3VyY2UpLkdldEJTVFIoKSwg
MCwgMCwgMCwgMCwgMCwgcnVuQXRTdGFydCA/IFdlYkluamVjdEF0RG9jdW1lbnRTdGFydCA6IFdl
YkluamVjdEF0RG9jdW1lbnRFbmQsIGFsbEZyYW1lcyA/IFdlYkluamVjdEluQWxsRnJhbWVzIDog
V2ViSW5qZWN0SW5Ub3BGcmFtZU9ubHkpOwogfQogCiB2b2lkIFRlc3RSdW5uZXI6OmFkZFVzZXJT
dHlsZVNoZWV0KEpTU3RyaW5nUmVmIHNvdXJjZSwgYm9vbCBhbGxGcmFtZXMpCkBAIC0xMDEwLDcg
KzEwMTAsNyBAQCB2b2lkIFRlc3RSdW5uZXI6OmFkZFVzZXJTdHlsZVNoZWV0KEpTU3RyCiAgICAg
aWYgKEZBSUxFRChXZWJLaXRDcmVhdGVJbnN0YW5jZShfX3V1aWRvZihXZWJTY3JpcHRXb3JsZCks
IDAsIF9fdXVpZG9mKHdvcmxkKSwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KCZ3b3JsZCkpKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgd2ViVmlldy0+YWRkVXNlclN0eWxlU2hlZXRUb0dyb3Vw
KF9ic3RyX3QoTCJvcmcud2Via2l0LkR1bXBSZW5kZXJUcmVlIikuR2V0QlNUUigpLCB3b3JsZC5n
ZXQoKSwgYnN0clQoc291cmNlKS5HZXRCU1RSKCksIDAsIDAsIDAsIDAsIDApOworICAgIHdlYlZp
ZXctPmFkZFVzZXJTdHlsZVNoZWV0VG9Hcm91cChfYnN0cl90KEwib3JnLndlYmtpdC5EdW1wUmVu
ZGVyVHJlZSIpLkdldEJTVFIoKSwgd29ybGQuZ2V0KCksIGJzdHJUKHNvdXJjZSkuR2V0QlNUUigp
LCAwLCAwLCAwLCAwLCAwLCBhbGxGcmFtZXMgPyBXZWJJbmplY3RJbkFsbEZyYW1lcyA6IFdlYklu
amVjdEluVG9wRnJhbWVPbmx5KTsKIH0KIAogdm9pZCBUZXN0UnVubmVyOjpzZXREZXZlbG9wZXJF
eHRyYXNFbmFibGVkKGJvb2wgZW5hYmxlZCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255742</attachid>
            <date>2015-06-29 04:22:28 -0700</date>
            <delta_ts>2015-06-30 16:45:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>Patch</filename>
            <type>text/plain</type>
            <size>13186</size>
            <attacher name="Hyungwook Lee">hyungwook.lee</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NjA2OCkKKysrIFNvdXJjZS9XZWJLaXQv
d2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDE1LTA2LTI5
ICBIeXVuZ3dvb2sgTGVlICA8aHl1bmd3b29rLmxlZUBuYXZlcmNvcnAuY29tPgorCisgICAgICAg
IFtXaW5dIENvbm5lY3QgJ2FkZFVzZXJTY3JpcHRUb0dyb3VwJyAoYW5kIHJlbGF0ZWQpIGNhbGxz
IGZyb20gV2ViVmlldyBBUEkgdG8gdGhlIFdlYkNvcmUgaW1wbGVtZW50YXRpb24uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDAyNTgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgYWRkVXNl
clNjcmlwdFRvR3JvdXAgKGFuZCByZWxhdGVkKSBBUEkgaW4gV2ViVmlldyBjbGFzcy4KKworICAg
ICAgICAqIEludGVyZmFjZXMvSVdlYlZpZXdQcml2YXRlLmlkbDoKKyAgICAgICAgKiBXZWJWaWV3
LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6OmV4aXRWaWRlb0Z1bGxzY3JlZW5Gb3JWaWRlb0VsZW1l
bnQpOgorICAgICAgICAodG9TdHJpbmdWZWN0b3IpOgorICAgICAgICAoV2ViVmlldzo6YWRkVXNl
clNjcmlwdFRvR3JvdXApOgorICAgICAgICAoV2ViVmlldzo6YWRkVXNlclN0eWxlU2hlZXRUb0dy
b3VwKToKKyAgICAgICAgKFdlYlZpZXc6OnJlbW92ZVVzZXJTY3JpcHRGcm9tR3JvdXApOgorICAg
ICAgICAoV2ViVmlldzo6cmVtb3ZlVXNlclN0eWxlU2hlZXRGcm9tR3JvdXApOgorICAgICAgICAo
V2ViVmlldzo6cmVtb3ZlVXNlclNjcmlwdHNGcm9tR3JvdXApOgorICAgICAgICAoV2ViVmlldzo6
cmVtb3ZlVXNlclN0eWxlU2hlZXRzRnJvbUdyb3VwKToKKyAgICAgICAgKFdlYlZpZXc6OnJlbW92
ZUFsbFVzZXJDb250ZW50RnJvbUdyb3VwKToKKyAgICAgICAgKFdlYlZpZXc6OmludmFsaWRhdGVC
YWNraW5nU3RvcmUpOgorICAgICAgICAqIFdlYlZpZXcuaDoKKwogMjAxNS0wNi0yNiAgUGVyIEFy
bmUgVm9sbGFuICA8cGVhdm9Ab3V0bG9vay5jb20+CiAKICAgICAgICAgV2luTGF1bmNoZXIgZmFp
bHMgdG8gZG93bmxvYWQgZmlsZXMuCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAkocmV2aXNpb24g
MTg2MDIwKQorKysgU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTE1NCw2ICsxNTQsOSBAQAogI2luY2x1ZGUgPFdlYkNvcmUvU2V0dGluZ3MuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1N5c3RlbUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1VzZXJDb250ZW50
Q29udHJvbGxlci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvVXNlckNvbnRlbnRUeXBlcy5oPgorI2lu
Y2x1ZGUgPFdlYkNvcmUvVXNlclNjcmlwdC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvVXNlclN0eWxl
U2hlZXQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1dpbmRvd01lc3NhZ2VCcm9hZGNhc3Rlci5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvV2luZG93c1RvdWNoLmg+CiAjaW5jbHVkZSA8YmluZGluZ3MvU2Ny
aXB0VmFsdWUuaD4KQEAgLTY0MzUsNDQgKzY0MzgsMTUxIEBAIHZvaWQgV2ViVmlldzo6ZXhpdFZp
ZGVvRnVsbHNjcmVlbkZvclZpZGUKICNlbmRpZgogfQogCitzdGF0aWMgaW5saW5lIFZlY3RvcjxT
dHJpbmc+IHRvU3RyaW5nVmVjdG9yKEJTVFIqIGxpc3QsIHVuc2lnbmVkIGNvdW50KQoreworICAg
IGlmICghbGlzdCB8fCAhY291bnQpCisgICAgICAgIHJldHVybiBWZWN0b3I8U3RyaW5nPigpOwor
CisgICAgVmVjdG9yPFN0cmluZz4gcmVzdWx0OworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCBjb3VudDsgKytpKSB7CisgICAgICAgIEJTVFIgaXRlbSA9IGxpc3RbaV07CisgICAgICAgIHVu
c2lnbmVkIGxlbmd0aCA9IFN5c1N0cmluZ0xlbihpdGVtKTsKKworICAgICAgICByZXN1bHQuYXBw
ZW5kKFN0cmluZyhpdGVtLCBsZW5ndGgpKTsKKyAgICB9CisKKyAgICByZXR1cm4gcmVzdWx0Owor
fQorCiBIUkVTVUxUIFdlYlZpZXc6OmFkZFVzZXJTY3JpcHRUb0dyb3VwKEJTVFIgZ3JvdXBOYW1l
LCBJV2ViU2NyaXB0V29ybGQqIGlXb3JsZCwgQlNUUiBzb3VyY2UsIEJTVFIgdXJsLCAKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgd2hpdGVsaXN0Q291bnQs
IEJTVFIqIHdoaXRlbGlzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5zaWduZWQgYmxhY2tsaXN0Q291bnQsIEJTVFIqIGJsYWNrbGlzdCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgV2ViVXNlclNjcmlwdEluamVjdGlvblRpbWUgaW5qZWN0
aW9uVGltZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2ViVXNlclNj
cmlwdEluamVjdGlvblRpbWUgaW5qZWN0aW9uVGltZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgV2ViVXNlckNvbnRlbnRJbmplY3RlZEZyYW1lcyBpbmplY3RlZEZyYW1l
cykKIHsKLSAgICByZXR1cm4gRV9OT1RJTVBMOworICAgIFN0cmluZyBncm91cChncm91cE5hbWUp
OworICAgIGlmIChncm91cC5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBFX0ZBSUw7CisKKyAg
ICBhdXRvIHZpZXdHcm91cCA9IFdlYlZpZXdHcm91cDo6Z2V0T3JDcmVhdGUoZ3JvdXBOYW1lLCBT
dHJpbmcoKSk7CisgICAgaWYgKCF2aWV3R3JvdXApCisgICAgICAgIHJldHVybiBFX0ZBSUw7CisK
KyAgICBDT01QdHI8V2ViU2NyaXB0V29ybGQ+IHdvcmxkKFF1ZXJ5LCBpV29ybGQpOworICAgIGlm
ICghd29ybGQpCisgICAgICAgIHJldHVybiBFX0ZBSUw7CisKKyAgICBhdXRvIHVzZXJTY3JpcHQg
PSBzdGQ6Om1ha2VfdW5pcXVlPFVzZXJTY3JpcHQ+KHRvU3RyaW5nKHNvdXJjZSksIHRvVVJMKHVy
bCksIHRvU3RyaW5nVmVjdG9yKHdoaXRlbGlzdCwgd2hpdGVsaXN0Q291bnQpLCB0b1N0cmluZ1Zl
Y3RvcihibGFja2xpc3QsIGJsYWNrbGlzdENvdW50KSwgaW5qZWN0aW9uVGltZSA9PSBXZWJJbmpl
Y3RBdERvY3VtZW50U3RhcnQgPyBJbmplY3RBdERvY3VtZW50U3RhcnQgOiBJbmplY3RBdERvY3Vt
ZW50RW5kLCBpbmplY3RlZEZyYW1lcyA9PSBXZWJJbmplY3RJbkFsbEZyYW1lcyA/IEluamVjdElu
QWxsRnJhbWVzIDogSW5qZWN0SW5Ub3BGcmFtZU9ubHkpOworICAgIHZpZXdHcm91cC0+dXNlckNv
bnRlbnRDb250cm9sbGVyKCkuYWRkVXNlclNjcmlwdCh3b3JsZC0+d29ybGQoKSwgV1RGOjptb3Zl
KHVzZXJTY3JpcHQpKTsKKyAgICByZXR1cm4gU19PSzsKIH0KIAogSFJFU1VMVCBXZWJWaWV3Ojph
ZGRVc2VyU3R5bGVTaGVldFRvR3JvdXAoQlNUUiBncm91cE5hbWUsIElXZWJTY3JpcHRXb3JsZCog
aVdvcmxkLCBCU1RSIHNvdXJjZSwgQlNUUiB1cmwsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCB3aGl0ZWxpc3RDb3VudCwgQlNUUiogd2hpdGVsaXN0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgYmxh
Y2tsaXN0Q291bnQsIEJTVFIqIGJsYWNrbGlzdCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGJsYWNrbGlzdENvdW50LCBCU1RSKiBibGFja2xpc3Qs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJVc2VyQ29udGVu
dEluamVjdGVkRnJhbWVzIGluamVjdGVkRnJhbWVzKQogewotICAgIHJldHVybiBFX05PVElNUEw7
CisgICAgU3RyaW5nIGdyb3VwKGdyb3VwTmFtZSk7CisgICAgaWYgKGdyb3VwLmlzRW1wdHkoKSkK
KyAgICAgICAgcmV0dXJuIEVfRkFJTDsKKworICAgIGF1dG8gdmlld0dyb3VwID0gV2ViVmlld0dy
b3VwOjpnZXRPckNyZWF0ZShncm91cE5hbWUsIFN0cmluZygpKTsKKyAgICBpZiAoIXZpZXdHcm91
cCkKKyAgICAgICAgcmV0dXJuIEVfRkFJTDsKKworICAgIENPTVB0cjxXZWJTY3JpcHRXb3JsZD4g
d29ybGQoUXVlcnksIGlXb3JsZCk7CisgICAgaWYgKCF3b3JsZCkKKyAgICAgICAgcmV0dXJuIEVf
RkFJTDsKKworICAgIGF1dG8gc3R5bGVTaGVldCA9IHN0ZDo6bWFrZV91bmlxdWU8VXNlclN0eWxl
U2hlZXQ+KHRvU3RyaW5nKHNvdXJjZSksIHRvVVJMKHVybCksIHRvU3RyaW5nVmVjdG9yKHdoaXRl
bGlzdCwgd2hpdGVsaXN0Q291bnQpLCB0b1N0cmluZ1ZlY3RvcihibGFja2xpc3QsIGJsYWNrbGlz
dENvdW50KSwgaW5qZWN0ZWRGcmFtZXMgPT0gV2ViSW5qZWN0SW5BbGxGcmFtZXMgPyBJbmplY3RJ
bkFsbEZyYW1lcyA6IEluamVjdEluVG9wRnJhbWVPbmx5LCBVc2VyU3R5bGVVc2VyTGV2ZWwpOwor
ICAgIHZpZXdHcm91cC0+dXNlckNvbnRlbnRDb250cm9sbGVyKCkuYWRkVXNlclN0eWxlU2hlZXQo
d29ybGQtPndvcmxkKCksIFdURjo6bW92ZShzdHlsZVNoZWV0KSwgSW5qZWN0SW5FeGlzdGluZ0Rv
Y3VtZW50cyk7CisgICAgcmV0dXJuIFNfT0s7CiB9CiAKIEhSRVNVTFQgV2ViVmlldzo6cmVtb3Zl
VXNlclNjcmlwdEZyb21Hcm91cChCU1RSIGdyb3VwTmFtZSwgSVdlYlNjcmlwdFdvcmxkKiBpV29y
bGQsIEJTVFIgdXJsKQogewotICAgIHJldHVybiBFX05PVElNUEw7CisgICAgU3RyaW5nIGdyb3Vw
KGdyb3VwTmFtZSk7CisgICAgaWYgKGdyb3VwLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIEVf
RkFJTDsKKworICAgIGF1dG8qIHZpZXdHcm91cCA9IFdlYlZpZXdHcm91cDo6Z2V0KGdyb3VwKTsK
KyAgICBpZiAoIXZpZXdHcm91cCkKKyAgICAgICAgcmV0dXJuIEVfRkFJTDsKKworICAgIENPTVB0
cjxXZWJTY3JpcHRXb3JsZD4gd29ybGQoUXVlcnksIGlXb3JsZCk7CisgICAgaWYgKCF3b3JsZCkK
KyAgICAgICAgcmV0dXJuIEVfRkFJTDsKKworICAgIHZpZXdHcm91cC0+dXNlckNvbnRlbnRDb250
cm9sbGVyKCkucmVtb3ZlVXNlclNjcmlwdCh3b3JsZC0+d29ybGQoKSwgdG9VUkwodXJsKSk7Cisg
ICAgcmV0dXJuIFNfT0s7CiB9CiAKIEhSRVNVTFQgV2ViVmlldzo6cmVtb3ZlVXNlclN0eWxlU2hl
ZXRGcm9tR3JvdXAoQlNUUiBncm91cE5hbWUsIElXZWJTY3JpcHRXb3JsZCogaVdvcmxkLCBCU1RS
IHVybCkKIHsKLSAgICByZXR1cm4gRV9OT1RJTVBMOworICAgIFN0cmluZyBncm91cChncm91cE5h
bWUpOworICAgIGlmIChncm91cC5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBFX0ZBSUw7CisK
KyAgICBhdXRvKiB2aWV3R3JvdXAgPSBXZWJWaWV3R3JvdXA6OmdldChncm91cCk7CisgICAgaWYg
KCF2aWV3R3JvdXApCisgICAgICAgIHJldHVybiBFX0ZBSUw7CisKKyAgICBDT01QdHI8V2ViU2Ny
aXB0V29ybGQ+IHdvcmxkKFF1ZXJ5LCBpV29ybGQpOworICAgIGlmICghd29ybGQpCisgICAgICAg
IHJldHVybiBFX0ZBSUw7CisKKyAgICB2aWV3R3JvdXAtPnVzZXJDb250ZW50Q29udHJvbGxlcigp
LnJlbW92ZVVzZXJTdHlsZVNoZWV0KHdvcmxkLT53b3JsZCgpLCB0b1VSTCh1cmwpKTsKKyAgICBy
ZXR1cm4gU19PSzsKIH0KIAogSFJFU1VMVCBXZWJWaWV3OjpyZW1vdmVVc2VyU2NyaXB0c0Zyb21H
cm91cChCU1RSIGdyb3VwTmFtZSwgSVdlYlNjcmlwdFdvcmxkKiBpV29ybGQpCiB7Ci0gICAgcmV0
dXJuIEVfTk9USU1QTDsKKyAgICBTdHJpbmcgZ3JvdXAoZ3JvdXBOYW1lKTsKKyAgICBpZiAoZ3Jv
dXAuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gRV9GQUlMOworCisgICAgYXV0byogdmlld0dy
b3VwID0gV2ViVmlld0dyb3VwOjpnZXQoZ3JvdXApOworICAgIGlmICghdmlld0dyb3VwKQorICAg
ICAgICByZXR1cm4gRV9GQUlMOworCisgICAgQ09NUHRyPFdlYlNjcmlwdFdvcmxkPiB3b3JsZChR
dWVyeSwgaVdvcmxkKTsKKyAgICBpZiAoIXdvcmxkKQorICAgICAgICByZXR1cm4gRV9GQUlMOwor
CisgICAgdmlld0dyb3VwLT51c2VyQ29udGVudENvbnRyb2xsZXIoKS5yZW1vdmVVc2VyU2NyaXB0
cyh3b3JsZC0+d29ybGQoKSk7CisgICAgcmV0dXJuIFNfT0s7CiB9CiAKIEhSRVNVTFQgV2ViVmll
dzo6cmVtb3ZlVXNlclN0eWxlU2hlZXRzRnJvbUdyb3VwKEJTVFIgZ3JvdXBOYW1lLCBJV2ViU2Ny
aXB0V29ybGQqIGlXb3JsZCkKIHsKLSAgICByZXR1cm4gRV9OT1RJTVBMOworICAgIFN0cmluZyBn
cm91cChncm91cE5hbWUpOworICAgIGlmIChncm91cC5pc0VtcHR5KCkpCisgICAgICAgIHJldHVy
biBFX0ZBSUw7CisKKyAgICBhdXRvKiB2aWV3R3JvdXAgPSBXZWJWaWV3R3JvdXA6OmdldChncm91
cCk7CisgICAgaWYgKCF2aWV3R3JvdXApCisgICAgICAgIHJldHVybiBFX0ZBSUw7CisKKyAgICBD
T01QdHI8V2ViU2NyaXB0V29ybGQ+IHdvcmxkKFF1ZXJ5LCBpV29ybGQpOworICAgIGlmICghd29y
bGQpCisgICAgICAgIHJldHVybiBFX0ZBSUw7CisKKyAgICB2aWV3R3JvdXAtPnVzZXJDb250ZW50
Q29udHJvbGxlcigpLnJlbW92ZVVzZXJTdHlsZVNoZWV0cyh3b3JsZC0+d29ybGQoKSk7CisgICAg
cmV0dXJuIFNfT0s7CiB9CiAKIEhSRVNVTFQgV2ViVmlldzo6cmVtb3ZlQWxsVXNlckNvbnRlbnRG
cm9tR3JvdXAoQlNUUiBncm91cE5hbWUpCiB7Ci0gICAgcmV0dXJuIEVfTk9USU1QTDsKKyAgICBT
dHJpbmcgZ3JvdXAoZ3JvdXBOYW1lKTsKKyAgICBpZiAoZ3JvdXAuaXNFbXB0eSgpKQorICAgICAg
ICByZXR1cm4gRV9GQUlMOworCisgICAgYXV0byogdmlld0dyb3VwID0gV2ViVmlld0dyb3VwOjpn
ZXQoZ3JvdXApOworICAgIGlmICghdmlld0dyb3VwKQorICAgICAgICByZXR1cm4gRV9GQUlMOwor
CisgICAgdmlld0dyb3VwLT51c2VyQ29udGVudENvbnRyb2xsZXIoKS5yZW1vdmVBbGxVc2VyQ29u
dGVudCgpOworICAgIHJldHVybiBTX09LOwogfQogCiBIUkVTVUxUIFdlYlZpZXc6OmludmFsaWRh
dGVCYWNraW5nU3RvcmUoY29uc3QgUkVDVCogcmVjdCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2lu
L1dlYlZpZXcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmgJKHJl
dmlzaW9uIDE4NjAyMCkKKysrIFNvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuaAkod29ya2luZyBj
b3B5KQpAQCAtNzg3LDEwICs3ODcsMTIgQEAgcHVibGljOgogICAgIHZpcnR1YWwgSFJFU1VMVCBT
VERNRVRIT0RDQUxMVFlQRSBhZGRVc2VyU2NyaXB0VG9Hcm91cChCU1RSIGdyb3VwTmFtZSwgSVdl
YlNjcmlwdFdvcmxkKiwgQlNUUiBzb3VyY2UsIEJTVFIgdXJsLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCB3aGl0ZWxp
c3RDb3VudCwgQlNUUiogd2hpdGVsaXN0LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgYmxhY2tsaXN0Q291bnQsIEJT
VFIqIGJsYWNrbGlzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgV2ViVXNlclNjcmlwdEluamVjdGlvblRpbWUpOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJVc2Vy
U2NyaXB0SW5qZWN0aW9uVGltZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgV2ViVXNlckNvbnRlbnRJbmplY3RlZEZyYW1lcyk7CiAg
ICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGFkZFVzZXJTdHlsZVNoZWV0VG9H
cm91cChCU1RSIGdyb3VwTmFtZSwgSVdlYlNjcmlwdFdvcmxkKiwgQlNUUiBzb3VyY2UsIEJTVFIg
dXJsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdW5zaWduZWQgd2hpdGVsaXN0Q291bnQsIEJTVFIqIHdoaXRlbGlzdCwgCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBibGFja2xpc3RDb3VudCwgQlNUUiogYmxhY2tsaXN0KTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGJsYWNrbGlzdENvdW50LCBCU1RSKiBibGFja2xpc3QsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJVc2VyQ29u
dGVudEluamVjdGVkRnJhbWVzKTsKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZ
UEUgcmVtb3ZlVXNlclNjcmlwdEZyb21Hcm91cChCU1RSIGdyb3VwTmFtZSwgSVdlYlNjcmlwdFdv
cmxkKiwgQlNUUiB1cmwpOwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBy
ZW1vdmVVc2VyU3R5bGVTaGVldEZyb21Hcm91cChCU1RSIGdyb3VwTmFtZSwgSVdlYlNjcmlwdFdv
cmxkKiwgQlNUUiB1cmwpOwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBy
ZW1vdmVVc2VyU2NyaXB0c0Zyb21Hcm91cChCU1RSIGdyb3VwTmFtZSwgSVdlYlNjcmlwdFdvcmxk
Kik7CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJWaWV3UHJpdmF0ZS5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViVmlld1By
aXZhdGUuaWRsCShyZXZpc2lvbiAxODYwMjApCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZh
Y2VzL0lXZWJWaWV3UHJpdmF0ZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTUwLDYgKzUwLDExIEBA
IHR5cGVkZWYgZW51bSB7CiAgICAgV2ViSW5qZWN0QXREb2N1bWVudEVuZCwKIH0gV2ViVXNlclNj
cmlwdEluamVjdGlvblRpbWU7CiAKK3R5cGVkZWYgZW51bSB7CisgICAgV2ViSW5qZWN0SW5BbGxG
cmFtZXMsCisgICAgV2ViSW5qZWN0SW5Ub3BGcmFtZU9ubHkKK30gV2ViVXNlckNvbnRlbnRJbmpl
Y3RlZEZyYW1lczsKKwogWwogICAgIG9iamVjdCwKICAgICBvbGVhdXRvbWF0aW9uLApAQCAtMTg2
LDEwICsxOTEsMTIgQEAgaW50ZXJmYWNlIElXZWJWaWV3UHJpdmF0ZSA6IElVbmtub3duCiAgICAg
SFJFU1VMVCBhZGRVc2VyU2NyaXB0VG9Hcm91cChbaW5dIEJTVFIgZ3JvdXBOYW1lLCBbaW5dIElX
ZWJTY3JpcHRXb3JsZCosIFtpbl0gQlNUUiBzb3VyY2UsIFtpbl0gQlNUUiB1cmwsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5dIHVuc2lnbmVkIHdoaXRlbGlzdENvdW50LCBb
aW4sIHNpemVfaXMod2hpdGVsaXN0Q291bnQpXSBCU1RSKiB3aGl0ZWxpc3QsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBbaW5dIHVuc2lnbmVkIGJsYWNrbGlzdENvdW50LCBbaW4s
IHNpemVfaXMoYmxhY2tsaXN0Q291bnQpXSBCU1RSKiBibGFja2xpc3QsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBbaW5dIFdlYlVzZXJTY3JpcHRJbmplY3Rpb25UaW1lIGluamVj
dGlvblRpbWUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2luXSBXZWJVc2Vy
U2NyaXB0SW5qZWN0aW9uVGltZSBpbmplY3Rpb25UaW1lLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgW2luXSBXZWJVc2VyQ29udGVudEluamVjdGVkRnJhbWVzIGluamVjdGVkRnJh
bWVzKTsKICAgICBIUkVTVUxUIGFkZFVzZXJTdHlsZVNoZWV0VG9Hcm91cChbaW5dIEJTVFIgZ3Jv
dXBOYW1lLCBbaW5dIElXZWJTY3JpcHRXb3JsZCosIFtpbl0gQlNUUiBzb3VyY2UsIFtpbl0gQlNU
UiB1cmwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2luXSB1bnNpZ25l
ZCB3aGl0ZWxpc3RDb3VudCwgW2luLCBzaXplX2lzKHdoaXRlbGlzdENvdW50KV0gQlNUUiogd2hp
dGVsaXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbl0gdW5zaWdu
ZWQgYmxhY2tsaXN0Q291bnQsIFtpbiwgc2l6ZV9pcyhibGFja2xpc3RDb3VudCldIEJTVFIqIGJs
YWNrbGlzdCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2luXSB1bnNp
Z25lZCBibGFja2xpc3RDb3VudCwgW2luLCBzaXplX2lzKGJsYWNrbGlzdENvdW50KV0gQlNUUiog
YmxhY2tsaXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbl0gV2Vi
VXNlckNvbnRlbnRJbmplY3RlZEZyYW1lcyBpbmplY3RlZEZyYW1lcyk7CiAgICAgSFJFU1VMVCBy
ZW1vdmVVc2VyU2NyaXB0RnJvbUdyb3VwKFtpbl0gQlNUUiBncm91cE5hbWUsIFtpbl0gSVdlYlNj
cmlwdFdvcmxkKiwgW2luXSBCU1RSIHVybCk7CiAgICAgSFJFU1VMVCByZW1vdmVVc2VyU3R5bGVT
aGVldEZyb21Hcm91cChbaW5dIEJTVFIgZ3JvdXBOYW1lLCBbaW5dIElXZWJTY3JpcHRXb3JsZCos
IFtpbl0gQlNUUiB1cmwpOwogICAgIEhSRVNVTFQgcmVtb3ZlVXNlclNjcmlwdHNGcm9tR3JvdXAo
W2luXSBCU1RSIGdyb3VwTmFtZSwgW2luXSBJV2ViU2NyaXB0V29ybGQqKTsKSW5kZXg6IFRvb2xz
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NjA2
OCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisy
MDE1LTA2LTI5ICBIeXVuZ3dvb2sgTGVlICA8aHl1bmd3b29rLmxlZUBuYXZlcmNvcnAuY29tPgor
CisgICAgICAgIFtXaW5dIENvbm5lY3QgJ2FkZFVzZXJTY3JpcHRUb0dyb3VwJyAoYW5kIHJlbGF0
ZWQpIGNhbGxzIGZyb20gV2ViVmlldyBBUEkgdG8gdGhlIFdlYkNvcmUgaW1wbGVtZW50YXRpb24u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDAyNTgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1l
bnQgYWRkVXNlclNjcmlwdFRvR3JvdXAgKGFuZCByZWxhdGVkKSBBUEkgaW4gV2ViVmlldyBjbGFz
cy4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9UZXN0UnVubmVyV2luLmNwcDoKKyAg
ICAgICAgKFRlc3RSdW5uZXI6OmFkZFVzZXJTY3JpcHQpOgorICAgICAgICAoVGVzdFJ1bm5lcjo6
YWRkVXNlclN0eWxlU2hlZXQpOgorICAgICAgICAoVGVzdFJ1bm5lcjo6c2V0RGV2ZWxvcGVyRXh0
cmFzRW5hYmxlZCk6CisKIDIwMTUtMDYtMjggIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNv
bT4KIAogICAgICAgICBbWGNvZGVdIFVzZSB0aGUgc2FtZSBlbnZpcm9ubWVudCBmb3IgY29tbWFu
ZC1saW5lIGFuZCBJREUgYnVpbGRzCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vVGVz
dFJ1bm5lcldpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL1Rl
c3RSdW5uZXJXaW4uY3BwCShyZXZpc2lvbiAxODYwMjApCisrKyBUb29scy9EdW1wUmVuZGVyVHJl
ZS93aW4vVGVzdFJ1bm5lcldpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk5Nyw3ICs5OTcsNyBA
QCB2b2lkIFRlc3RSdW5uZXI6OmFkZFVzZXJTY3JpcHQoSlNTdHJpbmdSCiAgICAgaWYgKEZBSUxF
RChXZWJLaXRDcmVhdGVJbnN0YW5jZShfX3V1aWRvZihXZWJTY3JpcHRXb3JsZCksIDAsIF9fdXVp
ZG9mKHdvcmxkKSwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KCZ3b3JsZCkpKSkKICAgICAgICAg
cmV0dXJuOwogCi0gICAgd2ViVmlldy0+YWRkVXNlclNjcmlwdFRvR3JvdXAoX2JzdHJfdChMIm9y
Zy53ZWJraXQuRHVtcFJlbmRlclRyZWUiKS5HZXRCU1RSKCksIHdvcmxkLmdldCgpLCBic3RyVChz
b3VyY2UpLkdldEJTVFIoKSwgMCwgMCwgMCwgMCwgMCwgcnVuQXRTdGFydCA/IFdlYkluamVjdEF0
RG9jdW1lbnRTdGFydCA6IFdlYkluamVjdEF0RG9jdW1lbnRFbmQpOworICAgIHdlYlZpZXctPmFk
ZFVzZXJTY3JpcHRUb0dyb3VwKF9ic3RyX3QoTCJvcmcud2Via2l0LkR1bXBSZW5kZXJUcmVlIiku
R2V0QlNUUigpLCB3b3JsZC5nZXQoKSwgYnN0clQoc291cmNlKS5HZXRCU1RSKCksIDAsIDAsIDAs
IDAsIDAsIHJ1bkF0U3RhcnQgPyBXZWJJbmplY3RBdERvY3VtZW50U3RhcnQgOiBXZWJJbmplY3RB
dERvY3VtZW50RW5kLCBhbGxGcmFtZXMgPyBXZWJJbmplY3RJbkFsbEZyYW1lcyA6IFdlYkluamVj
dEluVG9wRnJhbWVPbmx5KTsKIH0KIAogdm9pZCBUZXN0UnVubmVyOjphZGRVc2VyU3R5bGVTaGVl
dChKU1N0cmluZ1JlZiBzb3VyY2UsIGJvb2wgYWxsRnJhbWVzKQpAQCAtMTAxMCw3ICsxMDEwLDcg
QEAgdm9pZCBUZXN0UnVubmVyOjphZGRVc2VyU3R5bGVTaGVldChKU1N0cgogICAgIGlmIChGQUlM
RUQoV2ViS2l0Q3JlYXRlSW5zdGFuY2UoX191dWlkb2YoV2ViU2NyaXB0V29ybGQpLCAwLCBfX3V1
aWRvZih3b3JsZCksIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPigmd29ybGQpKSkpCiAgICAgICAg
IHJldHVybjsKIAotICAgIHdlYlZpZXctPmFkZFVzZXJTdHlsZVNoZWV0VG9Hcm91cChfYnN0cl90
KEwib3JnLndlYmtpdC5EdW1wUmVuZGVyVHJlZSIpLkdldEJTVFIoKSwgd29ybGQuZ2V0KCksIGJz
dHJUKHNvdXJjZSkuR2V0QlNUUigpLCAwLCAwLCAwLCAwLCAwKTsKKyAgICB3ZWJWaWV3LT5hZGRV
c2VyU3R5bGVTaGVldFRvR3JvdXAoX2JzdHJfdChMIm9yZy53ZWJraXQuRHVtcFJlbmRlclRyZWUi
KS5HZXRCU1RSKCksIHdvcmxkLmdldCgpLCBic3RyVChzb3VyY2UpLkdldEJTVFIoKSwgMCwgMCwg
MCwgMCwgMCwgYWxsRnJhbWVzID8gV2ViSW5qZWN0SW5BbGxGcmFtZXMgOiBXZWJJbmplY3RJblRv
cEZyYW1lT25seSk7CiB9CiAKIHZvaWQgVGVzdFJ1bm5lcjo6c2V0RGV2ZWxvcGVyRXh0cmFzRW5h
YmxlZChib29sIGVuYWJsZWQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255875</attachid>
            <date>2015-06-30 16:45:52 -0700</date>
            <delta_ts>2015-08-13 09:33:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>Patch</filename>
            <type>text/plain</type>
            <size>14602</size>
            <attacher name="Hyungwook Lee">hyungwook.lee</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NjE0NykKKysrIFNvdXJjZS9XZWJLaXQv
d2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDE1LTA2LTMw
ICBIeXVuZ3dvb2sgTGVlICA8aHl1bmd3b29rLmxlZUBuYXZlcmNvcnAuY29tPgorCisgICAgICAg
IFtXaW5dIENvbm5lY3QgJ2FkZFVzZXJTY3JpcHRUb0dyb3VwJyAoYW5kIHJlbGF0ZWQpIGNhbGxz
IGZyb20gV2ViVmlldyBBUEkgdG8gdGhlIFdlYkNvcmUgaW1wbGVtZW50YXRpb24uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDAyNTgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgYWRkVXNl
clNjcmlwdFRvR3JvdXAgKGFuZCByZWxhdGVkKSBBUEkgaW4gV2ViVmlldyBjbGFzcy4KKworICAg
ICAgICAqIEludGVyZmFjZXMvSVdlYlZpZXdQcml2YXRlLmlkbDoKKyAgICAgICAgKiBXZWJWaWV3
LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6OmV4aXRWaWRlb0Z1bGxzY3JlZW5Gb3JWaWRlb0VsZW1l
bnQpOgorICAgICAgICAodG9TdHJpbmdWZWN0b3IpOgorICAgICAgICAoV2ViVmlldzo6YWRkVXNl
clNjcmlwdFRvR3JvdXApOgorICAgICAgICAoV2ViVmlldzo6YWRkVXNlclN0eWxlU2hlZXRUb0dy
b3VwKToKKyAgICAgICAgKFdlYlZpZXc6OnJlbW92ZVVzZXJTY3JpcHRGcm9tR3JvdXApOgorICAg
ICAgICAoV2ViVmlldzo6cmVtb3ZlVXNlclN0eWxlU2hlZXRGcm9tR3JvdXApOgorICAgICAgICAo
V2ViVmlldzo6cmVtb3ZlVXNlclNjcmlwdHNGcm9tR3JvdXApOgorICAgICAgICAoV2ViVmlldzo6
cmVtb3ZlVXNlclN0eWxlU2hlZXRzRnJvbUdyb3VwKToKKyAgICAgICAgKFdlYlZpZXc6OnJlbW92
ZUFsbFVzZXJDb250ZW50RnJvbUdyb3VwKToKKyAgICAgICAgKFdlYlZpZXc6OmludmFsaWRhdGVC
YWNraW5nU3RvcmUpOgorICAgICAgICAqIFdlYlZpZXcuaDoKKwogMjAxNS0wNi0zMCAgQnJlbnQg
RnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2luXSB3ZWJWaWV3QWRk
TWVzc2FnZVRvQ29uc29sZSBhbHdheXMgZ2V0cyAxIGZvciBpc0Vycm9yCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L3dpbi9XZWJWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9X
ZWJWaWV3LmNwcAkocmV2aXNpb24gMTg2MTE0KQorKysgU291cmNlL1dlYktpdC93aW4vV2ViVmll
dy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1NCw2ICsxNTQsOSBAQAogI2luY2x1ZGUgPFdlYkNv
cmUvU2V0dGluZ3MuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1N5c3RlbUluZm8uaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1VzZXJDb250ZW50Q29udHJvbGxlci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvVXNl
ckNvbnRlbnRUeXBlcy5oPgorI2luY2x1ZGUgPFdlYkNvcmUvVXNlclNjcmlwdC5oPgorI2luY2x1
ZGUgPFdlYkNvcmUvVXNlclN0eWxlU2hlZXQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1dpbmRvd01l
c3NhZ2VCcm9hZGNhc3Rlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvV2luZG93c1RvdWNoLmg+CiAj
aW5jbHVkZSA8YmluZGluZ3MvU2NyaXB0VmFsdWUuaD4KQEAgLTY0MzUsNDQgKzY0MzgsMTUxIEBA
IHZvaWQgV2ViVmlldzo6ZXhpdFZpZGVvRnVsbHNjcmVlbkZvclZpZGUKICNlbmRpZgogfQogCitz
dGF0aWMgaW5saW5lIFZlY3RvcjxTdHJpbmc+IHRvU3RyaW5nVmVjdG9yKEJTVFIqIGxpc3QsIHVu
c2lnbmVkIGNvdW50KQoreworICAgIGlmICghbGlzdCB8fCAhY291bnQpCisgICAgICAgIHJldHVy
biBWZWN0b3I8U3RyaW5nPigpOworCisgICAgVmVjdG9yPFN0cmluZz4gcmVzdWx0OworICAgIGZv
ciAodW5zaWduZWQgaSA9IDA7IGkgPCBjb3VudDsgKytpKSB7CisgICAgICAgIEJTVFIgaXRlbSA9
IGxpc3RbaV07CisgICAgICAgIHVuc2lnbmVkIGxlbmd0aCA9IFN5c1N0cmluZ0xlbihpdGVtKTsK
KworICAgICAgICByZXN1bHQuYXBwZW5kKFN0cmluZyhpdGVtLCBsZW5ndGgpKTsKKyAgICB9CisK
KyAgICByZXR1cm4gcmVzdWx0OworfQorCiBIUkVTVUxUIFdlYlZpZXc6OmFkZFVzZXJTY3JpcHRU
b0dyb3VwKEJTVFIgZ3JvdXBOYW1lLCBJV2ViU2NyaXB0V29ybGQqIGlXb3JsZCwgQlNUUiBzb3Vy
Y2UsIEJTVFIgdXJsLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5z
aWduZWQgd2hpdGVsaXN0Q291bnQsIEJTVFIqIHdoaXRlbGlzdCwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgYmxhY2tsaXN0Q291bnQsIEJTVFIqIGJsYWNr
bGlzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2ViVXNlclNjcmlw
dEluamVjdGlvblRpbWUgaW5qZWN0aW9uVGltZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgV2ViVXNlclNjcmlwdEluamVjdGlvblRpbWUgaW5qZWN0aW9uVGltZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2ViVXNlckNvbnRlbnRJbmplY3Rl
ZEZyYW1lcyBpbmplY3RlZEZyYW1lcykKIHsKLSAgICByZXR1cm4gRV9OT1RJTVBMOworICAgIFN0
cmluZyBncm91cChncm91cE5hbWUpOworICAgIGlmIChncm91cC5pc0VtcHR5KCkpCisgICAgICAg
IHJldHVybiBFX0ZBSUw7CisKKyAgICBhdXRvIHZpZXdHcm91cCA9IFdlYlZpZXdHcm91cDo6Z2V0
T3JDcmVhdGUoZ3JvdXBOYW1lLCBTdHJpbmcoKSk7CisgICAgaWYgKCF2aWV3R3JvdXApCisgICAg
ICAgIHJldHVybiBFX0ZBSUw7CisKKyAgICBDT01QdHI8V2ViU2NyaXB0V29ybGQ+IHdvcmxkKFF1
ZXJ5LCBpV29ybGQpOworICAgIGlmICghd29ybGQpCisgICAgICAgIHJldHVybiBFX0ZBSUw7CisK
KyAgICBhdXRvIHVzZXJTY3JpcHQgPSBzdGQ6Om1ha2VfdW5pcXVlPFVzZXJTY3JpcHQ+KHRvU3Ry
aW5nKHNvdXJjZSksIHRvVVJMKHVybCksIHRvU3RyaW5nVmVjdG9yKHdoaXRlbGlzdCwgd2hpdGVs
aXN0Q291bnQpLCB0b1N0cmluZ1ZlY3RvcihibGFja2xpc3QsIGJsYWNrbGlzdENvdW50KSwgaW5q
ZWN0aW9uVGltZSA9PSBXZWJJbmplY3RBdERvY3VtZW50U3RhcnQgPyBJbmplY3RBdERvY3VtZW50
U3RhcnQgOiBJbmplY3RBdERvY3VtZW50RW5kLCBpbmplY3RlZEZyYW1lcyA9PSBXZWJJbmplY3RJ
bkFsbEZyYW1lcyA/IEluamVjdEluQWxsRnJhbWVzIDogSW5qZWN0SW5Ub3BGcmFtZU9ubHkpOwor
ICAgIHZpZXdHcm91cC0+dXNlckNvbnRlbnRDb250cm9sbGVyKCkuYWRkVXNlclNjcmlwdCh3b3Js
ZC0+d29ybGQoKSwgV1RGOjptb3ZlKHVzZXJTY3JpcHQpKTsKKyAgICByZXR1cm4gU19PSzsKIH0K
IAogSFJFU1VMVCBXZWJWaWV3OjphZGRVc2VyU3R5bGVTaGVldFRvR3JvdXAoQlNUUiBncm91cE5h
bWUsIElXZWJTY3JpcHRXb3JsZCogaVdvcmxkLCBCU1RSIHNvdXJjZSwgQlNUUiB1cmwsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCB3aGl0ZWxpc3RD
b3VudCwgQlNUUiogd2hpdGVsaXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdW5zaWduZWQgYmxhY2tsaXN0Q291bnQsIEJTVFIqIGJsYWNrbGlzdCkKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGJsYWNrbGlzdENv
dW50LCBCU1RSKiBibGFja2xpc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBXZWJVc2VyQ29udGVudEluamVjdGVkRnJhbWVzIGluamVjdGVkRnJhbWVzKQogewot
ICAgIHJldHVybiBFX05PVElNUEw7CisgICAgU3RyaW5nIGdyb3VwKGdyb3VwTmFtZSk7CisgICAg
aWYgKGdyb3VwLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIEVfRkFJTDsKKworICAgIGF1dG8g
dmlld0dyb3VwID0gV2ViVmlld0dyb3VwOjpnZXRPckNyZWF0ZShncm91cE5hbWUsIFN0cmluZygp
KTsKKyAgICBpZiAoIXZpZXdHcm91cCkKKyAgICAgICAgcmV0dXJuIEVfRkFJTDsKKworICAgIENP
TVB0cjxXZWJTY3JpcHRXb3JsZD4gd29ybGQoUXVlcnksIGlXb3JsZCk7CisgICAgaWYgKCF3b3Js
ZCkKKyAgICAgICAgcmV0dXJuIEVfRkFJTDsKKworICAgIGF1dG8gc3R5bGVTaGVldCA9IHN0ZDo6
bWFrZV91bmlxdWU8VXNlclN0eWxlU2hlZXQ+KHRvU3RyaW5nKHNvdXJjZSksIHRvVVJMKHVybCks
IHRvU3RyaW5nVmVjdG9yKHdoaXRlbGlzdCwgd2hpdGVsaXN0Q291bnQpLCB0b1N0cmluZ1ZlY3Rv
cihibGFja2xpc3QsIGJsYWNrbGlzdENvdW50KSwgaW5qZWN0ZWRGcmFtZXMgPT0gV2ViSW5qZWN0
SW5BbGxGcmFtZXMgPyBJbmplY3RJbkFsbEZyYW1lcyA6IEluamVjdEluVG9wRnJhbWVPbmx5LCBV
c2VyU3R5bGVVc2VyTGV2ZWwpOworICAgIHZpZXdHcm91cC0+dXNlckNvbnRlbnRDb250cm9sbGVy
KCkuYWRkVXNlclN0eWxlU2hlZXQod29ybGQtPndvcmxkKCksIFdURjo6bW92ZShzdHlsZVNoZWV0
KSwgSW5qZWN0SW5FeGlzdGluZ0RvY3VtZW50cyk7CisgICAgcmV0dXJuIFNfT0s7CiB9CiAKIEhS
RVNVTFQgV2ViVmlldzo6cmVtb3ZlVXNlclNjcmlwdEZyb21Hcm91cChCU1RSIGdyb3VwTmFtZSwg
SVdlYlNjcmlwdFdvcmxkKiBpV29ybGQsIEJTVFIgdXJsKQogewotICAgIHJldHVybiBFX05PVElN
UEw7CisgICAgU3RyaW5nIGdyb3VwKGdyb3VwTmFtZSk7CisgICAgaWYgKGdyb3VwLmlzRW1wdHko
KSkKKyAgICAgICAgcmV0dXJuIEVfRkFJTDsKKworICAgIGF1dG8qIHZpZXdHcm91cCA9IFdlYlZp
ZXdHcm91cDo6Z2V0KGdyb3VwKTsKKyAgICBpZiAoIXZpZXdHcm91cCkKKyAgICAgICAgcmV0dXJu
IEVfRkFJTDsKKworICAgIENPTVB0cjxXZWJTY3JpcHRXb3JsZD4gd29ybGQoUXVlcnksIGlXb3Js
ZCk7CisgICAgaWYgKCF3b3JsZCkKKyAgICAgICAgcmV0dXJuIEVfRkFJTDsKKworICAgIHZpZXdH
cm91cC0+dXNlckNvbnRlbnRDb250cm9sbGVyKCkucmVtb3ZlVXNlclNjcmlwdCh3b3JsZC0+d29y
bGQoKSwgdG9VUkwodXJsKSk7CisgICAgcmV0dXJuIFNfT0s7CiB9CiAKIEhSRVNVTFQgV2ViVmll
dzo6cmVtb3ZlVXNlclN0eWxlU2hlZXRGcm9tR3JvdXAoQlNUUiBncm91cE5hbWUsIElXZWJTY3Jp
cHRXb3JsZCogaVdvcmxkLCBCU1RSIHVybCkKIHsKLSAgICByZXR1cm4gRV9OT1RJTVBMOworICAg
IFN0cmluZyBncm91cChncm91cE5hbWUpOworICAgIGlmIChncm91cC5pc0VtcHR5KCkpCisgICAg
ICAgIHJldHVybiBFX0ZBSUw7CisKKyAgICBhdXRvKiB2aWV3R3JvdXAgPSBXZWJWaWV3R3JvdXA6
OmdldChncm91cCk7CisgICAgaWYgKCF2aWV3R3JvdXApCisgICAgICAgIHJldHVybiBFX0ZBSUw7
CisKKyAgICBDT01QdHI8V2ViU2NyaXB0V29ybGQ+IHdvcmxkKFF1ZXJ5LCBpV29ybGQpOworICAg
IGlmICghd29ybGQpCisgICAgICAgIHJldHVybiBFX0ZBSUw7CisKKyAgICB2aWV3R3JvdXAtPnVz
ZXJDb250ZW50Q29udHJvbGxlcigpLnJlbW92ZVVzZXJTdHlsZVNoZWV0KHdvcmxkLT53b3JsZCgp
LCB0b1VSTCh1cmwpKTsKKyAgICByZXR1cm4gU19PSzsKIH0KIAogSFJFU1VMVCBXZWJWaWV3Ojpy
ZW1vdmVVc2VyU2NyaXB0c0Zyb21Hcm91cChCU1RSIGdyb3VwTmFtZSwgSVdlYlNjcmlwdFdvcmxk
KiBpV29ybGQpCiB7Ci0gICAgcmV0dXJuIEVfTk9USU1QTDsKKyAgICBTdHJpbmcgZ3JvdXAoZ3Jv
dXBOYW1lKTsKKyAgICBpZiAoZ3JvdXAuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gRV9GQUlM
OworCisgICAgYXV0byogdmlld0dyb3VwID0gV2ViVmlld0dyb3VwOjpnZXQoZ3JvdXApOworICAg
IGlmICghdmlld0dyb3VwKQorICAgICAgICByZXR1cm4gRV9GQUlMOworCisgICAgQ09NUHRyPFdl
YlNjcmlwdFdvcmxkPiB3b3JsZChRdWVyeSwgaVdvcmxkKTsKKyAgICBpZiAoIXdvcmxkKQorICAg
ICAgICByZXR1cm4gRV9GQUlMOworCisgICAgdmlld0dyb3VwLT51c2VyQ29udGVudENvbnRyb2xs
ZXIoKS5yZW1vdmVVc2VyU2NyaXB0cyh3b3JsZC0+d29ybGQoKSk7CisgICAgcmV0dXJuIFNfT0s7
CiB9CiAKIEhSRVNVTFQgV2ViVmlldzo6cmVtb3ZlVXNlclN0eWxlU2hlZXRzRnJvbUdyb3VwKEJT
VFIgZ3JvdXBOYW1lLCBJV2ViU2NyaXB0V29ybGQqIGlXb3JsZCkKIHsKLSAgICByZXR1cm4gRV9O
T1RJTVBMOworICAgIFN0cmluZyBncm91cChncm91cE5hbWUpOworICAgIGlmIChncm91cC5pc0Vt
cHR5KCkpCisgICAgICAgIHJldHVybiBFX0ZBSUw7CisKKyAgICBhdXRvKiB2aWV3R3JvdXAgPSBX
ZWJWaWV3R3JvdXA6OmdldChncm91cCk7CisgICAgaWYgKCF2aWV3R3JvdXApCisgICAgICAgIHJl
dHVybiBFX0ZBSUw7CisKKyAgICBDT01QdHI8V2ViU2NyaXB0V29ybGQ+IHdvcmxkKFF1ZXJ5LCBp
V29ybGQpOworICAgIGlmICghd29ybGQpCisgICAgICAgIHJldHVybiBFX0ZBSUw7CisKKyAgICB2
aWV3R3JvdXAtPnVzZXJDb250ZW50Q29udHJvbGxlcigpLnJlbW92ZVVzZXJTdHlsZVNoZWV0cyh3
b3JsZC0+d29ybGQoKSk7CisgICAgcmV0dXJuIFNfT0s7CiB9CiAKIEhSRVNVTFQgV2ViVmlldzo6
cmVtb3ZlQWxsVXNlckNvbnRlbnRGcm9tR3JvdXAoQlNUUiBncm91cE5hbWUpCiB7Ci0gICAgcmV0
dXJuIEVfTk9USU1QTDsKKyAgICBTdHJpbmcgZ3JvdXAoZ3JvdXBOYW1lKTsKKyAgICBpZiAoZ3Jv
dXAuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gRV9GQUlMOworCisgICAgYXV0byogdmlld0dy
b3VwID0gV2ViVmlld0dyb3VwOjpnZXQoZ3JvdXApOworICAgIGlmICghdmlld0dyb3VwKQorICAg
ICAgICByZXR1cm4gRV9GQUlMOworCisgICAgdmlld0dyb3VwLT51c2VyQ29udGVudENvbnRyb2xs
ZXIoKS5yZW1vdmVBbGxVc2VyQ29udGVudCgpOworICAgIHJldHVybiBTX09LOwogfQogCiBIUkVT
VUxUIFdlYlZpZXc6OmludmFsaWRhdGVCYWNraW5nU3RvcmUoY29uc3QgUkVDVCogcmVjdCkKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L3dpbi9XZWJWaWV3LmgJKHJldmlzaW9uIDE4NjExNCkKKysrIFNvdXJjZS9XZWJLaXQvd2lu
L1dlYlZpZXcuaAkod29ya2luZyBjb3B5KQpAQCAtNzg3LDEwICs3ODcsMTIgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBhZGRVc2VyU2NyaXB0VG9Hcm91
cChCU1RSIGdyb3VwTmFtZSwgSVdlYlNjcmlwdFdvcmxkKiwgQlNUUiBzb3VyY2UsIEJTVFIgdXJs
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCB3aGl0ZWxpc3RDb3VudCwgQlNUUiogd2hpdGVsaXN0LCAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu
ZWQgYmxhY2tsaXN0Q291bnQsIEJTVFIqIGJsYWNrbGlzdCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2ViVXNlclNjcmlwdEluamVj
dGlvblRpbWUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBXZWJVc2VyU2NyaXB0SW5qZWN0aW9uVGltZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2ViVXNlckNvbnRl
bnRJbmplY3RlZEZyYW1lcyk7CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBF
IGFkZFVzZXJTdHlsZVNoZWV0VG9Hcm91cChCU1RSIGdyb3VwTmFtZSwgSVdlYlNjcmlwdFdvcmxk
KiwgQlNUUiBzb3VyY2UsIEJTVFIgdXJsLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgd2hpdGVsaXN0Q291bnQs
IEJTVFIqIHdoaXRlbGlzdCwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBibGFja2xpc3RDb3VudCwgQlNUUiog
YmxhY2tsaXN0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGJsYWNrbGlzdENvdW50LCBCU1RSKiBibGFja2xp
c3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBXZWJVc2VyQ29udGVudEluamVjdGVkRnJhbWVzKTsKICAgICB2aXJ0dWFsIEhS
RVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgcmVtb3ZlVXNlclNjcmlwdEZyb21Hcm91cChCU1RSIGdy
b3VwTmFtZSwgSVdlYlNjcmlwdFdvcmxkKiwgQlNUUiB1cmwpOwogICAgIHZpcnR1YWwgSFJFU1VM
VCBTVERNRVRIT0RDQUxMVFlQRSByZW1vdmVVc2VyU3R5bGVTaGVldEZyb21Hcm91cChCU1RSIGdy
b3VwTmFtZSwgSVdlYlNjcmlwdFdvcmxkKiwgQlNUUiB1cmwpOwogICAgIHZpcnR1YWwgSFJFU1VM
VCBTVERNRVRIT0RDQUxMVFlQRSByZW1vdmVVc2VyU2NyaXB0c0Zyb21Hcm91cChCU1RSIGdyb3Vw
TmFtZSwgSVdlYlNjcmlwdFdvcmxkKik7CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZh
Y2VzL0lXZWJWaWV3UHJpdmF0ZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4v
SW50ZXJmYWNlcy9JV2ViVmlld1ByaXZhdGUuaWRsCShyZXZpc2lvbiAxODYxMTQpCisrKyBTb3Vy
Y2UvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJWaWV3UHJpdmF0ZS5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTUwLDYgKzUwLDExIEBAIHR5cGVkZWYgZW51bSB7CiAgICAgV2ViSW5qZWN0QXREb2N1
bWVudEVuZCwKIH0gV2ViVXNlclNjcmlwdEluamVjdGlvblRpbWU7CiAKK3R5cGVkZWYgZW51bSB7
CisgICAgV2ViSW5qZWN0SW5BbGxGcmFtZXMsCisgICAgV2ViSW5qZWN0SW5Ub3BGcmFtZU9ubHkK
K30gV2ViVXNlckNvbnRlbnRJbmplY3RlZEZyYW1lczsKKwogWwogICAgIG9iamVjdCwKICAgICBv
bGVhdXRvbWF0aW9uLApAQCAtMTg2LDEwICsxOTEsMTIgQEAgaW50ZXJmYWNlIElXZWJWaWV3UHJp
dmF0ZSA6IElVbmtub3duCiAgICAgSFJFU1VMVCBhZGRVc2VyU2NyaXB0VG9Hcm91cChbaW5dIEJT
VFIgZ3JvdXBOYW1lLCBbaW5dIElXZWJTY3JpcHRXb3JsZCosIFtpbl0gQlNUUiBzb3VyY2UsIFtp
bl0gQlNUUiB1cmwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5dIHVuc2ln
bmVkIHdoaXRlbGlzdENvdW50LCBbaW4sIHNpemVfaXMod2hpdGVsaXN0Q291bnQpXSBCU1RSKiB3
aGl0ZWxpc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5dIHVuc2lnbmVk
IGJsYWNrbGlzdENvdW50LCBbaW4sIHNpemVfaXMoYmxhY2tsaXN0Q291bnQpXSBCU1RSKiBibGFj
a2xpc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5dIFdlYlVzZXJTY3Jp
cHRJbmplY3Rpb25UaW1lIGluamVjdGlvblRpbWUpOworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgW2luXSBXZWJVc2VyU2NyaXB0SW5qZWN0aW9uVGltZSBpbmplY3Rpb25UaW1lLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2luXSBXZWJVc2VyQ29udGVudEluamVj
dGVkRnJhbWVzIGluamVjdGVkRnJhbWVzKTsKICAgICBIUkVTVUxUIGFkZFVzZXJTdHlsZVNoZWV0
VG9Hcm91cChbaW5dIEJTVFIgZ3JvdXBOYW1lLCBbaW5dIElXZWJTY3JpcHRXb3JsZCosIFtpbl0g
QlNUUiBzb3VyY2UsIFtpbl0gQlNUUiB1cmwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgW2luXSB1bnNpZ25lZCB3aGl0ZWxpc3RDb3VudCwgW2luLCBzaXplX2lzKHdoaXRl
bGlzdENvdW50KV0gQlNUUiogd2hpdGVsaXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFtpbl0gdW5zaWduZWQgYmxhY2tsaXN0Q291bnQsIFtpbiwgc2l6ZV9pcyhibGFj
a2xpc3RDb3VudCldIEJTVFIqIGJsYWNrbGlzdCk7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgW2luXSB1bnNpZ25lZCBibGFja2xpc3RDb3VudCwgW2luLCBzaXplX2lzKGJs
YWNrbGlzdENvdW50KV0gQlNUUiogYmxhY2tsaXN0LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFtpbl0gV2ViVXNlckNvbnRlbnRJbmplY3RlZEZyYW1lcyBpbmplY3RlZEZy
YW1lcyk7CiAgICAgSFJFU1VMVCByZW1vdmVVc2VyU2NyaXB0RnJvbUdyb3VwKFtpbl0gQlNUUiBn
cm91cE5hbWUsIFtpbl0gSVdlYlNjcmlwdFdvcmxkKiwgW2luXSBCU1RSIHVybCk7CiAgICAgSFJF
U1VMVCByZW1vdmVVc2VyU3R5bGVTaGVldEZyb21Hcm91cChbaW5dIEJTVFIgZ3JvdXBOYW1lLCBb
aW5dIElXZWJTY3JpcHRXb3JsZCosIFtpbl0gQlNUUiB1cmwpOwogICAgIEhSRVNVTFQgcmVtb3Zl
VXNlclNjcmlwdHNGcm9tR3JvdXAoW2luXSBCU1RSIGdyb3VwTmFtZSwgW2luXSBJV2ViU2NyaXB0
V29ybGQqKTsKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFu
Z2VMb2cJKHJldmlzaW9uIDE4NjE0NykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDE3IEBACisyMDE1LTA2LTMwICBIeXVuZ3dvb2sgTGVlICA8aHl1bmd3b29r
LmxlZUBuYXZlcmNvcnAuY29tPgorCisgICAgICAgIFtXaW5dIENvbm5lY3QgJ2FkZFVzZXJTY3Jp
cHRUb0dyb3VwJyAoYW5kIHJlbGF0ZWQpIGNhbGxzIGZyb20gV2ViVmlldyBBUEkgdG8gdGhlIFdl
YkNvcmUgaW1wbGVtZW50YXRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDAyNTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBJbXBsZW1lbnQgYWRkVXNlclNjcmlwdFRvR3JvdXAgKGFuZCByZWxhdGVk
KSBBUEkgaW4gV2ViVmlldyBjbGFzcy4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9U
ZXN0UnVubmVyV2luLmNwcDoKKyAgICAgICAgKFRlc3RSdW5uZXI6OmFkZFVzZXJTY3JpcHQpOgor
ICAgICAgICAoVGVzdFJ1bm5lcjo6YWRkVXNlclN0eWxlU2hlZXQpOgorICAgICAgICAoVGVzdFJ1
bm5lcjo6c2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCk6CisKIDIwMTUtMDYtMzAgIEpvbmF0aGFu
IERhdmlzICA8am9uZEBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gQWRkZWQgbXlz
ZWxmIGFzIGEgY29tbWl0dGVyLgpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL1Rlc3RS
dW5uZXJXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9UZXN0
UnVubmVyV2luLmNwcAkocmV2aXNpb24gMTg2MTE0KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUv
d2luL1Rlc3RSdW5uZXJXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05OTcsNyArOTk3LDcgQEAg
dm9pZCBUZXN0UnVubmVyOjphZGRVc2VyU2NyaXB0KEpTU3RyaW5nUgogICAgIGlmIChGQUlMRUQo
V2ViS2l0Q3JlYXRlSW5zdGFuY2UoX191dWlkb2YoV2ViU2NyaXB0V29ybGQpLCAwLCBfX3V1aWRv
Zih3b3JsZCksIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPigmd29ybGQpKSkpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIHdlYlZpZXctPmFkZFVzZXJTY3JpcHRUb0dyb3VwKF9ic3RyX3QoTCJvcmcu
d2Via2l0LkR1bXBSZW5kZXJUcmVlIikuR2V0QlNUUigpLCB3b3JsZC5nZXQoKSwgYnN0clQoc291
cmNlKS5HZXRCU1RSKCksIDAsIDAsIDAsIDAsIDAsIHJ1bkF0U3RhcnQgPyBXZWJJbmplY3RBdERv
Y3VtZW50U3RhcnQgOiBXZWJJbmplY3RBdERvY3VtZW50RW5kKTsKKyAgICB3ZWJWaWV3LT5hZGRV
c2VyU2NyaXB0VG9Hcm91cChfYnN0cl90KEwib3JnLndlYmtpdC5EdW1wUmVuZGVyVHJlZSIpLkdl
dEJTVFIoKSwgd29ybGQuZ2V0KCksIGJzdHJUKHNvdXJjZSkuR2V0QlNUUigpLCAwLCAwLCAwLCAw
LCAwLCBydW5BdFN0YXJ0ID8gV2ViSW5qZWN0QXREb2N1bWVudFN0YXJ0IDogV2ViSW5qZWN0QXRE
b2N1bWVudEVuZCwgYWxsRnJhbWVzID8gV2ViSW5qZWN0SW5BbGxGcmFtZXMgOiBXZWJJbmplY3RJ
blRvcEZyYW1lT25seSk7CiB9CiAKIHZvaWQgVGVzdFJ1bm5lcjo6YWRkVXNlclN0eWxlU2hlZXQo
SlNTdHJpbmdSZWYgc291cmNlLCBib29sIGFsbEZyYW1lcykKQEAgLTEwMTAsNyArMTAxMCw3IEBA
IHZvaWQgVGVzdFJ1bm5lcjo6YWRkVXNlclN0eWxlU2hlZXQoSlNTdHIKICAgICBpZiAoRkFJTEVE
KFdlYktpdENyZWF0ZUluc3RhbmNlKF9fdXVpZG9mKFdlYlNjcmlwdFdvcmxkKSwgMCwgX191dWlk
b2Yod29ybGQpLCByZWludGVycHJldF9jYXN0PHZvaWQqKj4oJndvcmxkKSkpKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICB3ZWJWaWV3LT5hZGRVc2VyU3R5bGVTaGVldFRvR3JvdXAoX2JzdHJfdChM
Im9yZy53ZWJraXQuRHVtcFJlbmRlclRyZWUiKS5HZXRCU1RSKCksIHdvcmxkLmdldCgpLCBic3Ry
VChzb3VyY2UpLkdldEJTVFIoKSwgMCwgMCwgMCwgMCwgMCk7CisgICAgd2ViVmlldy0+YWRkVXNl
clN0eWxlU2hlZXRUb0dyb3VwKF9ic3RyX3QoTCJvcmcud2Via2l0LkR1bXBSZW5kZXJUcmVlIiku
R2V0QlNUUigpLCB3b3JsZC5nZXQoKSwgYnN0clQoc291cmNlKS5HZXRCU1RSKCksIDAsIDAsIDAs
IDAsIDAsIGFsbEZyYW1lcyA/IFdlYkluamVjdEluQWxsRnJhbWVzIDogV2ViSW5qZWN0SW5Ub3BG
cmFtZU9ubHkpOwogfQogCiB2b2lkIFRlc3RSdW5uZXI6OnNldERldmVsb3BlckV4dHJhc0VuYWJs
ZWQoYm9vbCBlbmFibGVkKQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTg2MTQ3KQorKysgTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMDYtMzAg
IEh5dW5nd29vayBMZWUgIDxoeXVuZ3dvb2subGVlQG5hdmVyY29ycC5jb20+CisKKyAgICAgICAg
W1dpbl0gQ29ubmVjdCAnYWRkVXNlclNjcmlwdFRvR3JvdXAnIChhbmQgcmVsYXRlZCkgY2FsbHMg
ZnJvbSBXZWJWaWV3IEFQSSB0byB0aGUgV2ViQ29yZSBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDI1OAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBhZGRVc2Vy
U2NyaXB0VG9Hcm91cCAoYW5kIHJlbGF0ZWQpIEFQSSBpbiBXZWJWaWV3IGNsYXNzLgorCisgICAg
ICAgICogcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTUtMDYtMzAgIENocmlz
IER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByZXZlcnQg
YmFkIFdLMSByZWJhc2VsaW5lIGRvbmUgaW4gcjE4NjEwNi4KSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCShyZXZpc2lvbiAxODYxMTQpCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwkod29ya2luZyBjb3B5KQpAQCAtMzA0
LDggKzMwNCw3IEBAIGdhbWVwYWQvIFsgU2tpcCBdCiAjIFgtQ29udGVudC1UeXBlLU9wdGlvbnMg
KEVOQUJMRV9OT1NOSUZGKSBpcyBub3QgZW5hYmxlZC4KIHdlYmtpdC5vcmcvYi8xMzY0NTIgaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50VHlwZU9wdGlvbnMKIAotIyBUT0RPIFVzZXJzY3JpcHRz
IHN0dWZmIGlzIG5vdCBpbXBsZW1lbnRlZAotd2Via2l0Lm9yZy9iLzE0MDI1OCB1c2Vyc2NyaXB0
cy8gWyBTa2lwIF0KKyMgVE9ETyBVc2Vyc2NyaXB0cyBzdHVmZgogdXNlcnNjcmlwdHMvd2luZG93
LW9uZXJyb3ItZm9yLWlzb2xhdGVkLXdvcmxkLTEuaHRtbCBbIFNraXAgXQogdXNlcnNjcmlwdHMv
d2luZG93LW9uZXJyb3ItZm9yLWlzb2xhdGVkLXdvcmxkLTIuaHRtbCBbIFNraXAgXQogd2Via2l0
Lm9yZy9iLzEyODk0MyB1c2Vyc2NyaXB0cy91c2VyLXNjcmlwdC1hdWRpby1kb2N1bWVudC5odG1s
IFsgU2tpcCBdCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>