<?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>135525</bug_id>
          
          <creation_ts>2014-08-01 15:45:29 -0700</creation_ts>
          <short_desc>Support both window and view based video fullscreen.</short_desc>
          <delta_ts>2014-12-03 11:21:06 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>iPhone / iPad</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="Jeremy Jones">jeremyj-wk</reporter>
          <assigned_to name="Jeremy Jones">jeremyj-wk</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jonlee</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1026360</commentid>
    <comment_count>0</comment_count>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2014-08-01 15:45:29 -0700</bug_when>
    <thetext>Support both window and view based video fullscreen.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026363</commentid>
    <comment_count>1</comment_count>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2014-08-01 15:47:39 -0700</bug_when>
    <thetext>&lt;rdar://problem/17834694&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026389</commentid>
    <comment_count>2</comment_count>
      <attachid>235921</attachid>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2014-08-01 16:16:40 -0700</bug_when>
    <thetext>Created attachment 235921
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026391</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-08-01 16:18:03 -0700</bug_when>
    <thetext>Attachment 235921 did not pass style-queue:


ERROR: Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:913:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 1 in 10 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>1026462</commentid>
    <comment_count>4</comment_count>
      <attachid>235921</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-08-02 09:12:24 -0700</bug_when>
    <thetext>Comment on attachment 235921
Patch

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

&gt; Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.h:67
&gt;      RetainPtr&lt;UIViewController&gt; m_viewController;
&gt; +    RetainPtr&lt;UIWindow&gt; m_window;
&gt; +    RetainPtr&lt;UIView&gt; m_parentView;

Please add a comment or two here explaining which of these are used in which cases.

&gt; Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:750
&gt; +        if (![bundleIdentifier isEqualToString:@&quot;com.apple.AdSheetPhone&quot;]) {

You should not bury this application check here. Please add it to RuntimeApplicationCheckIOS.mm and use !applicationIsAdSheet() here. I think it&apos;s worth referencing a radar in a comment too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026466</commentid>
    <comment_count>5</comment_count>
      <attachid>235921</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2014-08-02 09:37:06 -0700</bug_when>
    <thetext>Comment on attachment 235921
Patch

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

&gt; Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:857
&gt; +        [m_window setHidden:YES];
&gt; +        [m_window setRootViewController:nil];

Nit: you nil-check m_window below so you might as well put these in that block.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026498</commentid>
    <comment_count>6</comment_count>
      <attachid>235941</attachid>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2014-08-02 16:21:52 -0700</bug_when>
    <thetext>Created attachment 235941
Patch for landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026499</commentid>
    <comment_count>7</comment_count>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2014-08-02 16:22:14 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 235921 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=235921&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:857
&gt; &gt; +        [m_window setHidden:YES];
&gt; &gt; +        [m_window setRootViewController:nil];
&gt; 
&gt; Nit: you nil-check m_window below so you might as well put these in that block.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026500</commentid>
    <comment_count>8</comment_count>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2014-08-02 16:22:49 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 235921 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=235921&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.h:67
&gt; &gt;      RetainPtr&lt;UIViewController&gt; m_viewController;
&gt; &gt; +    RetainPtr&lt;UIWindow&gt; m_window;
&gt; &gt; +    RetainPtr&lt;UIView&gt; m_parentView;
&gt; 
&gt; Please add a comment or two here explaining which of these are used in which cases.

Grouped them and added a comment.

&gt; 
&gt; &gt; Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:750
&gt; &gt; +        if (![bundleIdentifier isEqualToString:@&quot;com.apple.AdSheetPhone&quot;]) {
&gt; 
&gt; You should not bury this application check here. Please add it to RuntimeApplicationCheckIOS.mm and use !applicationIsAdSheet() here. I think it&apos;s worth referencing a radar in a comment too.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026501</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-08-02 16:24:52 -0700</bug_when>
    <thetext>Attachment 235941 did not pass style-queue:


ERROR: Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:910:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 1 in 12 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>1026502</commentid>
    <comment_count>10</comment_count>
      <attachid>235941</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-08-02 17:03:41 -0700</bug_when>
    <thetext>Comment on attachment 235941
Patch for landing.

Clearing flags on attachment: 235941

Committed r171973: &lt;http://trac.webkit.org/changeset/171973&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>235921</attachid>
            <date>2014-08-01 16:16:40 -0700</date>
            <delta_ts>2014-08-02 09:37:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135525-20140801161627.patch</filename>
            <type>text/plain</type>
            <size>18658</size>
            <attacher name="Jeremy Jones">jeremyj-wk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcxOTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmIwMmY4MDBmYzM4ZGNl
OTQ0OWMwMDdhOTRkNDU1NWUwZjlhNDQxMi4uNTMyMmJhNjA4MDcwZWY5Yjg4YThlNjA2M2E4YzYx
NzA3MTM4YWRmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE0LTA4LTAxICBKZXJl
bXkgSm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KKworICAgICAgICBTdXBwb3J0IGJvdGggd2lu
ZG93IGFuZCB2aWV3IGJhc2VkIHZpZGVvIGZ1bGxzY3JlZW4uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzU1MjUKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQcmVzZW50aW5nIGluIGEgc2VwYXJhdGUgd2lu
ZG93IGdpdmVzIGdyZWF0ZXIgZmxleGliaWxpdHkgZm9yIHJvdGF0aW9uIHNlcGFyYXRlbHkgZnJv
bSB0aGUgYXBwLgorICAgICAgICBQcmVzZW50aW5nIGluIHRoZSBzYW1lIHdpbmRvdyB3b3JrcyBi
ZXR0ZXIgaWYgdGhlIGludGVyZmFjZSBpcyByZWhvc3RlZCBpbiBhbm90aGVyIHByb2Nlc3MuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckFWS2l0
Lm1tOgorICAgICAgICAoLVtXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyIGVudGVyRnVsbHNj
cmVlbjpdKTogVXNlIGNsaWVudFJlY3QgaW5zdGVhZCBvZiBzY3JlZW5SZWN0LgorICAgICAgICAq
IHBsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5oOiBBZGQgbV93
aW5kb3cgYW5kIG1fcGFyZW50Vmlldy4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvV2ViVmlkZW9G
dWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW06IAorICAgICAgICAoLVtXZWJBVlZpZGVvTGF5ZXIg
c2V0Qm91bmRzOl0pOiBQYXJlbnQgdmlldyBtaWdodCBub3QgYmUgZnVsbHNjcmVlbjsgdXNlIHdp
bmRvdyBpbnN0ZWFkLgorICAgICAgICAoV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6
OnNldHVwRnVsbHNjcmVlbik6IENvbmRpdGlvbmFsbHkgY3JlYXRlIFVJV2luZG93IGFuZCBVSVZp
ZXdDb250cm9sbGVyIGZvciBmdWxsc2NyZWVuLgorICAgICAgICAoV2ViVmlkZW9GdWxsc2NyZWVu
SW50ZXJmYWNlQVZLaXQ6OmVudGVyRnVsbHNjcmVlbik6IFZpZGVvLCBub3QgdGhlIGNvbnRhaW5l
ciBzaG91bGQgaGF2ZSBibGFjayBiYWNrZ3JvdW5kLgorICAgICAgICAoV2ViVmlkZW9GdWxsc2Ny
ZWVuSW50ZXJmYWNlQVZLaXQ6OmV4aXRGdWxsc2NyZWVuKTogQ29uZGl0aW9uYWxseSB0cmFuc2xh
dGUgZmluYWxSZWN0LgorICAgICAgICAoV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6
OmNsZWFudXBGdWxsc2NyZWVuKTogQ2xlYW4gdXAgVUlXaW5kb3cgYW5kIGZvcmNlIHN0YXR1cyBi
YXIgdG8gY29ycmVjdCBvcmllbnRhdGlvbi4KKyAgICAgICAgKFdlYlZpZGVvRnVsbHNjcmVlbklu
dGVyZmFjZUFWS2l0OjppbnZhbGlkYXRlKTogQ2xlYW4gdXAgVUlXaW5kb3cuCisgICAgICAgIChX
ZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6cmVxdWVzdEhpZGVBbmRFeGl0RnVsbHNj
cmVlbik6IEhpZGUgd2luZG93IGFuZCBleGl0IHdpdGhvdXQgYW5pbWF0aW9uLgorICAgICAgICAq
IHBsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5Nb2RlbE1lZGlhRWxlbWVudC5tbToKKyAg
ICAgICAgKFdlYlZpZGVvRnVsbHNjcmVlbk1vZGVsTWVkaWFFbGVtZW50OjpzZXRWaWRlb0Z1bGxz
Y3JlZW5MYXllcik6IEFwcGx5IGZyYW1lLCBiZWNhdXNlIGl0IG1heSBoYXZlIGJlZW4gc2V0IGJl
Zm9yZSB0aGUgbGF5ZXIuCisKIDIwMTQtMDgtMDEgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBs
ZS5jb20+CiAKICAgICAgICAgW01TRV1bTWFjXSBWb2x1bWUgaXMgbm90IHJlbWVtYmVyZWQgYmV0
d2VlbiBpdGVtcyBpbiBhIFlvdVR1YmUgcGxheWxpc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCBjYmIy
ZDg3ZDIxODg0YzVkNjNlNjMxMTRmZjhjYThjN2Y0MTUwMGJiLi43YmMwZmI4NDRiNmM0NDZkNjBl
YjgzZTExMTRlY2QwNzZlNDY5YTEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTQtMDgtMDEgIEplcmVteSBKb25lcyAgPGplcmVteWpAYXBwbGUuY29tPgorCisgICAgICAg
IFN1cHBvcnQgYm90aCB3aW5kb3cgYW5kIHZpZXcgYmFzZWQgdmlkZW8gZnVsbHNjcmVlbi4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNTUyNQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhcmVudGluZyBp
biB0aGUgdmlldyBpbnN0ZWFkIG9mIHRoZSB3aW5kb3cgZ2l2ZXMgdGhlIGZ1bGxzY3JlZW4gaW1w
bGVtZW50YXRpb24gbW9yZSBsYXRpdHVkZSAKKyAgICAgICAgaW4gaG93IGl0IGltcGxlbWVudHMg
dGhlIGFuaW1hdGlvbi4KKworICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAg
KC1bV2ViVmlldyBfZW50ZXJGdWxsc2NyZWVuRm9yTm9kZTpdKTogVXNlIHZpZXcgaW5zdGVhZCBv
ZiB3aW5kb3cuCisKIDIwMTQtMDctMzAgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgog
CiAgICAgICAgIFVTRShDT05URU5UX0ZJTFRFUklORykgc2hvdWxkIGJlIEVOQUJMRShDT05URU5U
X0ZJTFRFUklORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAwNzZiYzRhN2VjMDY1YjQ2N2M3Yzk4YTNkMzFkNDMy
NzY4NjcxM2JhLi5iODBhY2RhMDY5NTNiMmVhNGUwMzJhOWU3MGFiNTgwZDEwZTA5MTVmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTQtMDgtMDEgIEplcmVteSBKb25lcyAgPGplcmVt
eWpAYXBwbGUuY29tPgorCisgICAgICAgIFN1cHBvcnQgYm90aCB3aW5kb3cgYW5kIHZpZXcgYmFz
ZWQgdmlkZW8gZnVsbHNjcmVlbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEzNTUyNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFBhcmVudGluZyBpbiB0aGUgdmlldyBpbnN0ZWFkIG9mIHRoZSB3aW5kb3cg
Z2l2ZXMgdGhlIGZ1bGxzY3JlZW4gaW1wbGVtZW50YXRpb24gbW9yZSBsYXRpdHVkZSAKKyAgICAg
ICAgaW4gaG93IGl0IGltcGxlbWVudHMgdGhlIGFuaW1hdGlvbi4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tOgorICAgICAgICAoV2Vi
S2l0OjpXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OnNldHVwRnVsbHNjcmVlbldpdGhJ
RCk6IFVzZSB2aWV3IGluc3RlYWQgb2Ygd2luZG93LgorICAgICAgICAqIFdlYlByb2Nlc3MvaW9z
L1dlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXIubW06CisgICAgICAgIChXZWJLaXQ6OmNsaWVudFJl
Y3RGb3JOb2RlKTogVXNlIGNsaWVudCByZWN0IGluc3RlYWQgb2Ygc2NyZWVuIHJlY3QuCisgICAg
ICAgIChXZWJLaXQ6OldlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXI6OmVudGVyRnVsbHNjcmVlbkZv
ck5vZGUpOiBkaXR0bworICAgICAgICAoV2ViS2l0OjpXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2Vy
OjpleGl0RnVsbHNjcmVlbkZvck5vZGUpOiBkaXR0bworICAgICAgICAoV2ViS2l0OjpzY3JlZW5S
ZWN0Rm9yTm9kZSk6IERlbGV0ZWQuCisKIDIwMTQtMDgtMDEgIERhbiBCZXJuc3RlaW4gIDxtaXR6
QGFwcGxlLmNvbT4KIAogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTc4NjIwMTM+IFJFR1JFU1NJ
T04gKHIxNjkzNTcpOiBEaXNhYmxpbmcgImFsbG93IHBsdWctaW5zIiBkb2Vzbid0IHN0aWNrIG9u
IHF1aXQvcmVsYXVuY2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9X
ZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQVZLaXQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckFWS2l0Lm1tCmluZGV4IDczOTMw
MzUxYzJjMjhlMmUzYzM2ZTlmY2FlMDVjYmRlYzNkY2YwYTkuLjlmMDM4OTkzN2FjNDAxOTYzYThi
MDBmMGUyOGUyMTY2MmRlOTdkY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQVZLaXQubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJBVktpdC5tbQpA
QCAtMTI1LDcgKzEyNSw3IEBAIHB1YmxpYzoKICAgICBfaW50ZXJmYWNlLT5zZXRXZWJWaWRlb0Z1
bGxzY3JlZW5Nb2RlbChfbW9kZWwuZ2V0KCkpOwogICAgIF9tb2RlbC0+c2V0TWVkaWFFbGVtZW50
KF9tZWRpYUVsZW1lbnQuZ2V0KCkpOwogICAgIF92aWRlb0Z1bGxzY3JlZW5MYXllciA9IFtDQUxh
eWVyIGxheWVyXTsKLSAgICBfaW50ZXJmYWNlLT5zZXR1cEZ1bGxzY3JlZW4oKl92aWRlb0Z1bGxz
Y3JlZW5MYXllci5nZXQoKSwgX21lZGlhRWxlbWVudC0+c2NyZWVuUmVjdCgpLCB2aWV3KTsKKyAg
ICBfaW50ZXJmYWNlLT5zZXR1cEZ1bGxzY3JlZW4oKl92aWRlb0Z1bGxzY3JlZW5MYXllci5nZXQo
KSwgX21lZGlhRWxlbWVudC0+Y2xpZW50UmVjdCgpLCB2aWV3KTsKIH0KIAogLSAodm9pZClleGl0
RnVsbHNjcmVlbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZp
ZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
b3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQuaAppbmRleCAxNmY0MjhkZDhiMjEx
YTgwODZjOGFiMjQ5MDRmMTk5YmY3OWQyYjJkLi42OWFiZjljNTVkMTU2Njc4MWY0NDVkMjA1NWNk
NzUwZWMwODk1ZGNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2Vi
VmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQuaApAQCAtNjMsNiArNjMs
OCBAQCBjbGFzcyBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdAogICAgIFJldGFpblB0
cjxXZWJBVlBsYXllckNvbnRyb2xsZXI+IG1fcGxheWVyQ29udHJvbGxlcjsKICAgICBSZXRhaW5Q
dHI8QVZQbGF5ZXJWaWV3Q29udHJvbGxlcj4gbV9wbGF5ZXJWaWV3Q29udHJvbGxlcjsKICAgICBS
ZXRhaW5QdHI8VUlWaWV3Q29udHJvbGxlcj4gbV92aWV3Q29udHJvbGxlcjsKKyAgICBSZXRhaW5Q
dHI8VUlXaW5kb3c+IG1fd2luZG93OworICAgIFJldGFpblB0cjxVSVZpZXc+IG1fcGFyZW50Vmll
dzsKICAgICBSZXRhaW5QdHI8Q0FMYXllcj4gbV92aWRlb0xheWVyOwogICAgIFJldGFpblB0cjxX
ZWJBVlZpZGVvTGF5ZXI+IG1fdmlkZW9MYXllckNvbnRhaW5lcjsKICAgICBXZWJWaWRlb0Z1bGxz
Y3JlZW5Nb2RlbCogbV92aWRlb0Z1bGxzY3JlZW5Nb2RlbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdC5tbQppbmRleCAzNDNiOTk2MmI2Yjk4NThiMWM0NDFkNjQwZWNjMTI4NzE2ODc0ZWQ3Li4x
MTRkOGI3ZGRkNzVjZDc4ZmRlYzQzZjFhYTQ4YTY3ZTA0NDI4NGRkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbklu
dGVyZmFjZUFWS2l0Lm1tCkBAIC01OSw2ICs1OSw3IEBAIFNPRlRfTElOS19DTEFTUyhBVktpdCwg
QVZQbGF5ZXJWaWV3Q29udHJvbGxlcikKIFNPRlRfTElOS19DTEFTUyhBVktpdCwgQVZWYWx1ZVRp
bWluZykKIAogU09GVF9MSU5LX0ZSQU1FV09SSyhVSUtpdCkKK1NPRlRfTElOS19DTEFTUyhVSUtp
dCwgVUlBcHBsaWNhdGlvbikKIFNPRlRfTElOS19DTEFTUyhVSUtpdCwgVUlTY3JlZW4pCiBTT0ZU
X0xJTktfQ0xBU1MoVUlLaXQsIFVJV2luZG93KQogU09GVF9MSU5LX0NMQVNTKFVJS2l0LCBVSVZp
ZXcpCkBAIC01MTUsNyArNTE2LDcgQEAgU09GVF9MSU5LX0NPTlNUQU5UKENvcmVNZWRpYSwga0NN
VGltZUluZGVmaW5pdGUsIENNVGltZSkKICAgICBpZiAoIVtfYXZQbGF5ZXJDb250cm9sbGVyIGRl
bGVnYXRlXSB8fCAhX2F2UGxheWVyVmlld0NvbnRyb2xsZXIpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIFVJVmlldyogcm9vdFZpZXcgPSBbW19hdlBsYXllclZpZXdDb250cm9sbGVyIHBhcmVudFZp
ZXdDb250cm9sbGVyXSB2aWV3XTsKKyAgICBVSVZpZXcqIHJvb3RWaWV3ID0gW1tfYXZQbGF5ZXJW
aWV3Q29udHJvbGxlciB2aWV3XSB3aW5kb3ddOwogICAgIGlmICghcm9vdFZpZXcpCiAgICAgICAg
IHJldHVybjsKIApAQCAtNzQyLDEwICs3NDMsMTggQEAgdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5J
bnRlcmZhY2VBVktpdDo6c2V0dXBGdWxsc2NyZWVuKFBsYXRmb3JtTGF5ZXImIHZpZGVvTGF5ZXIK
IAogICAgICAgICBbQ0FUcmFuc2FjdGlvbiBiZWdpbl07CiAgICAgICAgIFtDQVRyYW5zYWN0aW9u
IHNldERpc2FibGVBY3Rpb25zOllFU107CisgICAgICAgIG1fcGFyZW50VmlldyA9IHBhcmVudFZp
ZXc7CiAKLSAgICAgICAgbV92aWV3Q29udHJvbGxlciA9IGFkb3B0TlMoW1tnZXRVSVZpZXdDb250
cm9sbGVyQ2xhc3MoKSBhbGxvY10gaW5pdF0pOwotICAgICAgICBbW21fdmlld0NvbnRyb2xsZXIg
dmlld10gc2V0RnJhbWU6cGFyZW50Vmlldy5ib3VuZHNdOwotICAgICAgICBbcGFyZW50VmlldyBh
ZGRTdWJ2aWV3OlttX3ZpZXdDb250cm9sbGVyIHZpZXddXTsKKworICAgICAgICBOU1N0cmluZyAq
YnVuZGxlSWRlbnRpZmllciA9IFtbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gYnVuZGxlSWRlbnRpZmll
cl07CisgICAgICAgIGlmICghW2J1bmRsZUlkZW50aWZpZXIgaXNFcXVhbFRvU3RyaW5nOkAiY29t
LmFwcGxlLkFkU2hlZXRQaG9uZSJdKSB7CisgICAgICAgICAgICBtX3dpbmRvdyA9IGFkb3B0TlMo
W1tnZXRVSVdpbmRvd0NsYXNzKCkgYWxsb2NdIGluaXRXaXRoRnJhbWU6W1tnZXRVSVNjcmVlbkNs
YXNzKCkgbWFpblNjcmVlbl0gYm91bmRzXV0pOworICAgICAgICAgICAgW21fd2luZG93IHNldEJh
Y2tncm91bmRDb2xvcjpbZ2V0VUlDb2xvckNsYXNzKCkgY2xlYXJDb2xvcl1dOworICAgICAgICAg
ICAgbV92aWV3Q29udHJvbGxlciA9IGFkb3B0TlMoW1tnZXRVSVZpZXdDb250cm9sbGVyQ2xhc3Mo
KSBhbGxvY10gaW5pdF0pOworICAgICAgICAgICAgW1ttX3ZpZXdDb250cm9sbGVyIHZpZXddIHNl
dEZyYW1lOlttX3dpbmRvdyBib3VuZHNdXTsKKyAgICAgICAgICAgIFttX3dpbmRvdyBzZXRSb290
Vmlld0NvbnRyb2xsZXI6bV92aWV3Q29udHJvbGxlci5nZXQoKV07CisgICAgICAgICAgICBbbV93
aW5kb3cgbWFrZUtleUFuZFZpc2libGVdOworICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBb
bV92aWRlb0xheWVyIHJlbW92ZUZyb21TdXBlcmxheWVyXTsKICAgICAgICAgCkBAIC03NjMsMTAg
Kzc3MiwxNyBAQCB2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpzZXR1cEZ1
bGxzY3JlZW4oUGxhdGZvcm1MYXllciYgdmlkZW9MYXllcgogICAgICAgICBbbV9wbGF5ZXJWaWV3
Q29udHJvbGxlciBzZXREZWxlZ2F0ZTpwbGF5ZXJDb250cm9sbGVyKCldOwogICAgICAgICBbbV92
aWRlb0xheWVyQ29udGFpbmVyIHNldFBsYXllclZpZXdDb250cm9sbGVyOm1fcGxheWVyVmlld0Nv
bnRyb2xsZXIuZ2V0KCldOwogCi0gICAgICAgIFttX3ZpZXdDb250cm9sbGVyIGFkZENoaWxkVmll
d0NvbnRyb2xsZXI6bV9wbGF5ZXJWaWV3Q29udHJvbGxlci5nZXQoKV07Ci0gICAgICAgIFtbbV92
aWV3Q29udHJvbGxlciB2aWV3XSBhZGRTdWJ2aWV3OlttX3BsYXllclZpZXdDb250cm9sbGVyIHZp
ZXddXTsKLSAgICAgICAgW21fcGxheWVyVmlld0NvbnRyb2xsZXIgdmlld10uZnJhbWUgPSBpbml0
aWFsUmVjdDsKKyAgICAgICAgaWYgKG1fdmlld0NvbnRyb2xsZXIpIHsKKyAgICAgICAgICAgIFtt
X3ZpZXdDb250cm9sbGVyIGFkZENoaWxkVmlld0NvbnRyb2xsZXI6bV9wbGF5ZXJWaWV3Q29udHJv
bGxlci5nZXQoKV07CisgICAgICAgICAgICBbW21fdmlld0NvbnRyb2xsZXIgdmlld10gYWRkU3Vi
dmlldzpbbV9wbGF5ZXJWaWV3Q29udHJvbGxlciB2aWV3XV07CisgICAgICAgICAgICBbbV9wbGF5
ZXJWaWV3Q29udHJvbGxlciB2aWV3XS5mcmFtZSA9IFtwYXJlbnRWaWV3IGNvbnZlcnRSZWN0Omlu
aXRpYWxSZWN0IHRvVmlldzpuaWxdOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgW3Bh
cmVudFZpZXcgYWRkU3VidmlldzpbbV9wbGF5ZXJWaWV3Q29udHJvbGxlciB2aWV3XV07CisgICAg
ICAgICAgICBbbV9wbGF5ZXJWaWV3Q29udHJvbGxlciB2aWV3XS5mcmFtZSA9IGluaXRpYWxSZWN0
OworICAgICAgICB9CisKICAgICAgICAgW1ttX3BsYXllclZpZXdDb250cm9sbGVyIHZpZXddIHNl
dEJhY2tncm91bmRDb2xvcjpbZ2V0VUlDb2xvckNsYXNzKCkgY2xlYXJDb2xvcl1dOworICAgICAg
ICBbW21fcGxheWVyVmlld0NvbnRyb2xsZXIgdmlld10gc2V0TmVlZHNMYXlvdXRdOwogICAgICAg
ICBbW21fcGxheWVyVmlld0NvbnRyb2xsZXIgdmlld10gbGF5b3V0SWZOZWVkZWRdOwogCiAgICAg
ICAgIFtDQVRyYW5zYWN0aW9uIGNvbW1pdF07CkBAIC03ODUsNyArODAxLDcgQEAgdm9pZCBXZWJW
aWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6ZW50ZXJGdWxsc2NyZWVuKCkKICAgICBfX2Js
b2NrIFJlZlB0cjxXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdD4gcHJvdGVjdCh0aGlz
KTsKICAgICAKICAgICBkaXNwYXRjaF9hc3luYyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBe
ewotICAgICAgICBbW21fcGxheWVyVmlld0NvbnRyb2xsZXIgdmlld10gc2V0QmFja2dyb3VuZENv
bG9yOltnZXRVSUNvbG9yQ2xhc3MoKSBibGFja0NvbG9yXV07CisgICAgICAgIFttX3ZpZGVvTGF5
ZXJDb250YWluZXIgc2V0QmFja2dyb3VuZENvbG9yOltbZ2V0VUlDb2xvckNsYXNzKCkgYmxhY2tD
b2xvcl0gQ0dDb2xvcl1dOwogICAgICAgICBbbV9wbGF5ZXJWaWV3Q29udHJvbGxlciBlbnRlckZ1
bGxTY3JlZW5XaXRoQ29tcGxldGlvbkhhbmRsZXI6XihCT09MLCBOU0Vycm9yKikKICAgICAgICAg
ewogICAgICAgICAgICAgW21fcGxheWVyVmlld0NvbnRyb2xsZXIgc2V0U2hvd3NQbGF5YmFja0Nv
bnRyb2xzOllFU107CkBAIC04MDQsMTEgKzgyMCwxNiBAQCB2b2lkIFdlYlZpZGVvRnVsbHNjcmVl
bkludGVyZmFjZUFWS2l0OjpleGl0RnVsbHNjcmVlbihXZWJDb3JlOjpJbnRSZWN0IGZpbmFsUmVj
dAogICAgIAogICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIF57
CiAgICAgICAgIFttX3BsYXllclZpZXdDb250cm9sbGVyIHNldFNob3dzUGxheWJhY2tDb250cm9s
czpOT107Ci0gICAgICAgIFttX3BsYXllclZpZXdDb250cm9sbGVyIHZpZXddLmZyYW1lID0gZmlu
YWxSZWN0OworICAgICAgICBpZiAobV92aWV3Q29udHJvbGxlcikKKyAgICAgICAgICAgIFttX3Bs
YXllclZpZXdDb250cm9sbGVyIHZpZXddLmZyYW1lID0gW21fcGFyZW50VmlldyBjb252ZXJ0UmVj
dDpmaW5hbFJlY3QgdG9WaWV3Om5pbF07CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIFttX3Bs
YXllclZpZXdDb250cm9sbGVyIHZpZXddLmZyYW1lID0gZmluYWxSZWN0OworCiAgICAgICAgIGlm
IChbbV92aWRlb0xheWVyQ29udGFpbmVyIHZpZGVvTGF5ZXJHcmF2aXR5XSAhPSBBVlZpZGVvTGF5
ZXJHcmF2aXR5UmVzaXplQXNwZWN0KQogICAgICAgICAgICAgW21fdmlkZW9MYXllckNvbnRhaW5l
ciBzZXRWaWRlb0xheWVyR3Jhdml0eTpBVlZpZGVvTGF5ZXJHcmF2aXR5UmVzaXplQXNwZWN0XTsK
ICAgICAgICAgW1ttX3BsYXllclZpZXdDb250cm9sbGVyIHZpZXddIGxheW91dElmTmVlZGVkXTsK
ICAgICAgICAgW21fcGxheWVyVmlld0NvbnRyb2xsZXIgZXhpdEZ1bGxTY3JlZW5XaXRoQ29tcGxl
dGlvbkhhbmRsZXI6XihCT09MLCBOU0Vycm9yKikgeworICAgICAgICAgICAgW21fdmlkZW9MYXll
ckNvbnRhaW5lciBzZXRCYWNrZ3JvdW5kQ29sb3I6W1tnZXRVSUNvbG9yQ2xhc3MoKSBjbGVhckNv
bG9yXSBDR0NvbG9yXV07CiAgICAgICAgICAgICBbW21fcGxheWVyVmlld0NvbnRyb2xsZXIgdmll
d10gc2V0QmFja2dyb3VuZENvbG9yOltnZXRVSUNvbG9yQ2xhc3MoKSBjbGVhckNvbG9yXV07CiAg
ICAgICAgICAgICBpZiAobV9mdWxsc2NyZWVuQ2hhbmdlT2JzZXJ2ZXIpCiAgICAgICAgICAgICAg
ICAgbV9mdWxsc2NyZWVuQ2hhbmdlT2JzZXJ2ZXItPmRpZEV4aXRGdWxsc2NyZWVuKCk7CkBAIC04
MTcsMTUgKzgzOCwzMSBAQCB2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Ojpl
eGl0RnVsbHNjcmVlbihXZWJDb3JlOjpJbnRSZWN0IGZpbmFsUmVjdAogICAgIH0pOwogfQogCitA
aW50ZXJmYWNlIFVJQXBwbGljYXRpb24gKCkKKy0odm9pZClfc2V0U3RhdHVzQmFyT3JpZW50YXRp
b246KFVJSW50ZXJmYWNlT3JpZW50YXRpb24pbzsKK0BlbmQKKworQGludGVyZmFjZSBVSVdpbmRv
dyAoKQorLShVSUludGVyZmFjZU9yaWVudGF0aW9uKWludGVyZmFjZU9yaWVudGF0aW9uOworQGVu
ZAorCiB2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpjbGVhbnVwRnVsbHNj
cmVlbigpCiB7CiAgICAgLy8gUmV0YWluIHRoaXMgdG8gZXh0ZW5kIG9iamVjdCBsaWZlIHVudGls
IGFzeW5jIGJsb2NrIGNvbXBsZXRlcy4KICAgICBfX2Jsb2NrIFJlZlB0cjxXZWJWaWRlb0Z1bGxz
Y3JlZW5JbnRlcmZhY2VBVktpdD4gcHJvdGVjdCh0aGlzKTsKICAgICAKICAgICBkaXNwYXRjaF9h
c3luYyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBeeworICAgICAgICAKKyAgICAgICAgW21f
d2luZG93IHNldEhpZGRlbjpZRVNdOworICAgICAgICBbbV93aW5kb3cgc2V0Um9vdFZpZXdDb250
cm9sbGVyOm5pbF07CisgICAgICAgIAorICAgICAgICBpZiAobV93aW5kb3cpCisgICAgICAgICAg
ICBbW2dldFVJQXBwbGljYXRpb25DbGFzcygpIHNoYXJlZEFwcGxpY2F0aW9uXSBfc2V0U3RhdHVz
QmFyT3JpZW50YXRpb246W1ttX3BhcmVudFZpZXcgd2luZG93XSBpbnRlcmZhY2VPcmllbnRhdGlv
bl1dOworICAgICAgICAKICAgICAgICAgW21fcGxheWVyVmlld0NvbnRyb2xsZXIgc2V0RGVsZWdh
dGU6bmlsXTsKICAgICAgICAgW1ttX3BsYXllclZpZXdDb250cm9sbGVyIHZpZXddIHJlbW92ZUZy
b21TdXBlcnZpZXddOwotICAgICAgICBbbV9wbGF5ZXJWaWV3Q29udHJvbGxlciByZW1vdmVGcm9t
UGFyZW50Vmlld0NvbnRyb2xsZXJdOworICAgICAgICBpZiAobV92aWV3Q29udHJvbGxlcikKKyAg
ICAgICAgICAgIFttX3BsYXllclZpZXdDb250cm9sbGVyIHJlbW92ZUZyb21QYXJlbnRWaWV3Q29u
dHJvbGxlcl07CiAgICAgICAgIFttX3BsYXllclZpZXdDb250cm9sbGVyIHNldFBsYXllckNvbnRy
b2xsZXI6bmlsXTsKICAgICAgICAgbV9wbGF5ZXJWaWV3Q29udHJvbGxlciA9IG5pbDsKICAgICAg
ICAgW21fdmlkZW9MYXllciByZW1vdmVGcm9tU3VwZXJsYXllcl07CkBAIC04MzUsNiArODcyLDgg
QEAgdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6Y2xlYW51cEZ1bGxzY3Jl
ZW4oKQogICAgICAgICBtX3ZpZGVvTGF5ZXJDb250YWluZXIgPSBuaWw7CiAgICAgICAgIFtbbV92
aWV3Q29udHJvbGxlciB2aWV3XSByZW1vdmVGcm9tU3VwZXJ2aWV3XTsKICAgICAgICAgbV92aWV3
Q29udHJvbGxlciA9IG5pbDsKKyAgICAgICAgbV93aW5kb3cgPSBuaWw7CisgICAgICAgIG1fcGFy
ZW50VmlldyA9IG5pbDsKICAgICAgICAgCiAgICAgICAgIGlmIChtX2Z1bGxzY3JlZW5DaGFuZ2VP
YnNlcnZlcikKICAgICAgICAgICAgIG1fZnVsbHNjcmVlbkNoYW5nZU9ic2VydmVyLT5kaWRDbGVh
bnVwRnVsbHNjcmVlbigpOwpAQCAtODQ0LDEwICs4ODMsMTQgQEAgdm9pZCBXZWJWaWRlb0Z1bGxz
Y3JlZW5JbnRlcmZhY2VBVktpdDo6Y2xlYW51cEZ1bGxzY3JlZW4oKQogCiB2b2lkIFdlYlZpZGVv
RnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjppbnZhbGlkYXRlKCkKIHsKKyAgICBbbV93aW5kb3cg
c2V0SGlkZGVuOllFU107CisgICAgW21fd2luZG93IHNldFJvb3RWaWV3Q29udHJvbGxlcjpuaWxd
OworICAgIFttX3BsYXllclZpZXdDb250cm9sbGVyIGV4aXRGdWxsU2NyZWVuQW5pbWF0ZWQ6Tk8g
Y29tcGxldGlvbkhhbmRsZXI6bmlsXTsKICAgICBtX3BsYXllckNvbnRyb2xsZXIgPSBuaWw7CiAg
ICAgW21fcGxheWVyVmlld0NvbnRyb2xsZXIgc2V0RGVsZWdhdGU6bmlsXTsKICAgICBbW21fcGxh
eWVyVmlld0NvbnRyb2xsZXIgdmlld10gcmVtb3ZlRnJvbVN1cGVydmlld107Ci0gICAgW21fcGxh
eWVyVmlld0NvbnRyb2xsZXIgcmVtb3ZlRnJvbVBhcmVudFZpZXdDb250cm9sbGVyXTsKKyAgICBp
ZiAobV92aWV3Q29udHJvbGxlcikKKyAgICAgICAgW21fcGxheWVyVmlld0NvbnRyb2xsZXIgcmVt
b3ZlRnJvbVBhcmVudFZpZXdDb250cm9sbGVyXTsKICAgICBbbV9wbGF5ZXJWaWV3Q29udHJvbGxl
ciBzZXRQbGF5ZXJDb250cm9sbGVyOm5pbF07CiAgICAgbV9wbGF5ZXJWaWV3Q29udHJvbGxlciA9
IG5pbDsKICAgICBbbV92aWRlb0xheWVyIHJlbW92ZUZyb21TdXBlcmxheWVyXTsKQEAgLTg1Nyw2
ICs5MDAsOCBAQCB2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjppbnZhbGlk
YXRlKCkKICAgICBtX3ZpZGVvTGF5ZXJDb250YWluZXIgPSBuaWw7CiAgICAgW1ttX3ZpZXdDb250
cm9sbGVyIHZpZXddIHJlbW92ZUZyb21TdXBlcnZpZXddOwogICAgIG1fdmlld0NvbnRyb2xsZXIg
PSBuaWw7CisgICAgbV93aW5kb3cgPSBuaWw7CisgICAgbV9wYXJlbnRWaWV3ID0gbmlsOwogfQog
CiB2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpyZXF1ZXN0SGlkZUFuZEV4
aXRGdWxsc2NyZWVuKCkKQEAgLTg2NCw3ICs5MDksOCBAQCB2b2lkIFdlYlZpZGVvRnVsbHNjcmVl
bkludGVyZmFjZUFWS2l0OjpyZXF1ZXN0SGlkZUFuZEV4aXRGdWxsc2NyZWVuKCkKICAgICBfX2Js
b2NrIFJlZlB0cjxXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdD4gcHJvdGVjdCh0aGlz
KTsKIAogICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIF57Ci0g
ICAgICAgIFttX3BsYXllclZpZXdDb250cm9sbGVyIGV4aXRGdWxsU2NyZWVuV2l0aENvbXBsZXRp
b25IYW5kbGVyOl4oQk9PTCwgTlNFcnJvciopIHsKKyAgICAgICAgW21fd2luZG93IHNldEhpZGRl
bjpZRVNdOworICAgICAgICBbbV9wbGF5ZXJWaWV3Q29udHJvbGxlciBleGl0RnVsbFNjcmVlbkFu
aW1hdGVkOk5PIGNvbXBsZXRpb25IYW5kbGVyOl4oQk9PTCwgTlNFcnJvciopIHsKICAgICAgICAg
ICAgIHByb3RlY3QgPSBudWxscHRyOwogICAgICAgICB9XTsKICAgICB9KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5Nb2RlbE1lZGlh
RWxlbWVudC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3Jl
ZW5Nb2RlbE1lZGlhRWxlbWVudC5tbQppbmRleCAyNjdlYzI3MDlkZDQwMjk2NDRmNjQ0MDk1Zjli
NjYyMTRjYjEwMmQ3Li5jZWNjMzEzOTFjYzFjNGNiNjdhNGFlMmNlNTMzOTEwNDZiYmRjYmFkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVu
TW9kZWxNZWRpYUVsZW1lbnQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dl
YlZpZGVvRnVsbHNjcmVlbk1vZGVsTWVkaWFFbGVtZW50Lm1tCkBAIC0xNTgsNiArMTU4LDcgQEAg
dm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5Nb2RlbE1lZGlhRWxlbWVudDo6c2V0VmlkZW9GdWxsc2Ny
ZWVuTGF5ZXIoUGxhdGZvcm1MYXllcioKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIG1fdmlk
ZW9GdWxsc2NyZWVuTGF5ZXIgPSB2aWRlb0xheWVyOworICAgIFttX3ZpZGVvRnVsbHNjcmVlbkxh
eWVyIHNldEZyYW1lOm1fdmlkZW9GcmFtZV07CiAgICAgCiAgICAgX19ibG9jayBSZWZQdHI8V2Vi
VmlkZW9GdWxsc2NyZWVuTW9kZWxNZWRpYUVsZW1lbnQ+IHByb3RlY3QodGhpcyk7CiAgICAgV2Vi
VGhyZWFkUnVuKF57CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggY2QyMTFj
NzA3N2RlODY5M2RmNTc0MjgwMmY5M2RjNDk1OGUxYjExZi4uN2Y2ZmZmYTlmNzU4OTNjYjRjZGVi
ODIxMzJkMTQ5ZWVhY2FmNTQ3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpA
QCAtMjI3LDcgKzIyNyw2IEBACiAjaW1wb3J0ICJXZWJWaXNpYmxlUG9zaXRpb24uaCIKICNpbXBv
cnQgPENGTmV0d29yay9DRlVSTENhY2hlUHJpdi5oPgogI2ltcG9ydCA8TW9iaWxlR2VzdGFsdC5o
PgotI2ltcG9ydCA8VUlLaXQvVUlLaXQuaD4KICNpbXBvcnQgPFdlYkNvcmUvRXZlbnROYW1lcy5o
PgogI2ltcG9ydCA8V2ViQ29yZS9Gb250Q2FjaGUuaD4KICNpbXBvcnQgPFdlYkNvcmUvR3JhcGhp
Y3NMYXllci5oPgpAQCAtODQwOSw3ICs4NDA4LDcgQEAgYm9vbCBMYXllckZsdXNoQ29udHJvbGxl
cjo6Zmx1c2hMYXllcnMoKQogICAgICAgICBfcHJpdmF0ZS0+ZnVsbHNjcmVlbkNvbnRyb2xsZXIg
PSBbW1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXIgYWxsb2NdIGluaXRdOwogICAgICAgICBb
X3ByaXZhdGUtPmZ1bGxzY3JlZW5Db250cm9sbGVyIHNldE1lZGlhRWxlbWVudDp2aWRlb0VsZW1l
bnRdOwogI2lmIFBMQVRGT1JNKElPUykKLSAgICAgICAgW19wcml2YXRlLT5mdWxsc2NyZWVuQ29u
dHJvbGxlciBlbnRlckZ1bGxzY3JlZW46WyhVSVZpZXcgKilbW1tzZWxmIHdpbmRvd10gaG9zdExh
eWVyXSBkZWxlZ2F0ZV0gd2luZG93XV07CisgICAgICAgIFtfcHJpdmF0ZS0+ZnVsbHNjcmVlbkNv
bnRyb2xsZXIgZW50ZXJGdWxsc2NyZWVuOihVSVZpZXcgKilbW1tzZWxmIHdpbmRvd10gaG9zdExh
eWVyXSBkZWxlZ2F0ZV1dOwogI2Vsc2UKICAgICAgICAgW19wcml2YXRlLT5mdWxsc2NyZWVuQ29u
dHJvbGxlciBlbnRlckZ1bGxzY3JlZW46W1tzZWxmIHdpbmRvd10gc2NyZWVuXV07CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2Ny
ZWVuTWFuYWdlclByb3h5Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJWaWRl
b0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW0KaW5kZXggNjZiZWFiNTBmNGRhZjE3MDg5ZTdmNTZi
NTQ4YmEwOGEyOGYwODUyOC4uNTdkYjkyMDFmNWM3MmRiYTU4YmE2YzM0ZTdiODc5MDE0MGE0YzYw
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxz
Y3JlZW5NYW5hZ2VyUHJveHkubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9X
ZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW0KQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNs
dWRlICJXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJW
aWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgPFF1YXJ0ekNv
cmUvQ29yZUFuaW1hdGlvbi5oPgotI2luY2x1ZGUgPFVJS2l0L1VJS2l0Lmg+CiAjaW5jbHVkZSA8
V2ViS2l0U3lzdGVtSW50ZXJmYWNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9UaW1lUmFuZ2VzLmg+
CiAKQEAgLTc4LDcgKzc3LDcgQEAgdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6
OnNldHVwRnVsbHNjcmVlbldpdGhJRCh1aW50MzJfdCB2aWRlb0xheWVySUQKICAgICBBU1NFUlQo
dmlkZW9MYXllcklEKTsKICAgICBtX2xheWVySG9zdCA9IFdLTWFrZVJlbmRlckxheWVyKHZpZGVv
TGF5ZXJJRCk7CiAgICAgVUlWaWV3ICpwYXJlbnRWaWV3ID0gdG9SZW1vdGVMYXllclRyZWVEcmF3
aW5nQXJlYVByb3h5KG1fcGFnZS0+ZHJhd2luZ0FyZWEoKSktPnJlbW90ZUxheWVyVHJlZUhvc3Qo
KS5yb290TGF5ZXIoKTsKLSAgICBzZXR1cEZ1bGxzY3JlZW4oKm1fbGF5ZXJIb3N0LmdldCgpLCBp
bml0aWFsUmVjdCwgW3BhcmVudFZpZXcgd2luZG93XSk7CisgICAgc2V0dXBGdWxsc2NyZWVuKCpt
X2xheWVySG9zdC5nZXQoKSwgaW5pdGlhbFJlY3QsIHBhcmVudFZpZXcpOwogfQogICAgIAogdm9p
ZCBXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OnNldFNlZWthYmxlUmFuZ2VzVmVjdG9y
KFZlY3RvcjxzdGQ6OnBhaXI8ZG91YmxlLCBkb3VibGU+PiYgcmFuZ2VzKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlci5t
bSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvaW9zL1dlYlZpZGVvRnVsbHNjcmVlbk1hbmFn
ZXIubW0KaW5kZXggNTVmZGEwZjBkYTg3OGRjYTQwZjc0N2NiNmFkNDkyOTZhMTcyYjEzZi4uNjFi
Yzg2NDkwM2Y4MDcxYjNmMGE1OWE5NDUzYTliNGQ1MjU4Zjk5MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlci5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2Vy
Lm1tCkBAIC01MCwxMiArNTAsMTIgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVz
cGFjZSBXZWJLaXQgewogCi1zdGF0aWMgSW50UmVjdCBzY3JlZW5SZWN0Rm9yTm9kZShOb2RlKiBu
b2RlKQorc3RhdGljIEludFJlY3QgY2xpZW50UmVjdEZvck5vZGUoTm9kZSogbm9kZSkKIHsKICAg
ICBpZiAoIW5vZGUgfHwgIW5vZGUtPmlzRWxlbWVudE5vZGUoKSkKICAgICAgICAgcmV0dXJuIElu
dFJlY3QoKTsKIAotICAgIHJldHVybiB0b0VsZW1lbnQobm9kZSktPnNjcmVlblJlY3QoKTsKKyAg
ICByZXR1cm4gdG9FbGVtZW50KG5vZGUpLT5jbGllbnRSZWN0KCk7CiB9CiAKIFBhc3NSZWZQdHI8
V2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlcj4gV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlcjo6Y3Jl
YXRlKFBhc3NSZWZQdHI8V2ViUGFnZT4gcGFnZSkKQEAgLTk3LDcgKzk3LDcgQEAgdm9pZCBXZWJW
aWRlb0Z1bGxzY3JlZW5NYW5hZ2VyOjplbnRlckZ1bGxzY3JlZW5Gb3JOb2RlKE5vZGUqIG5vZGUp
CiAKICAgICBtX2xheWVySG9zdGluZ0NvbnRleHQgPSBMYXllckhvc3RpbmdDb250ZXh0OjpjcmVh
dGVGb3JFeHRlcm5hbEhvc3RpbmdQcm9jZXNzKCk7CiAgICAgCi0gICAgbV9wYWdlLT5zZW5kKE1l
c3NhZ2VzOjpXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OlNldHVwRnVsbHNjcmVlbldp
dGhJRChtX2xheWVySG9zdGluZ0NvbnRleHQtPmNvbnRleHRJRCgpLCBzY3JlZW5SZWN0Rm9yTm9k
ZShub2RlKSksIG1fcGFnZS0+cGFnZUlEKCkpOworICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6
V2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpTZXR1cEZ1bGxzY3JlZW5XaXRoSUQobV9s
YXllckhvc3RpbmdDb250ZXh0LT5jb250ZXh0SUQoKSwgY2xpZW50UmVjdEZvck5vZGUobm9kZSkp
LCBtX3BhZ2UtPnBhZ2VJRCgpKTsKIH0KIAogdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2Vy
OjpleGl0RnVsbHNjcmVlbkZvck5vZGUoTm9kZSogbm9kZSkKQEAgLTEwOSw3ICsxMDksNyBAQCB2
b2lkIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXI6OmV4aXRGdWxsc2NyZWVuRm9yTm9kZShOb2Rl
KiBub2RlKQogICAgICAgICByZXR1cm47CiAKICAgICBtX2lzQW5pbWF0aW5nID0gdHJ1ZTsKLSAg
ICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6
RXhpdEZ1bGxzY3JlZW4oc2NyZWVuUmVjdEZvck5vZGUobm9kZSkpLCBtX3BhZ2UtPnBhZ2VJRCgp
KTsKKyAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQ
cm94eTo6RXhpdEZ1bGxzY3JlZW4oY2xpZW50UmVjdEZvck5vZGUobm9kZSkpLCBtX3BhZ2UtPnBh
Z2VJRCgpKTsKIH0KIAogdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyOjpzZXREdXJhdGlv
bihkb3VibGUgZHVyYXRpb24pCg==
</data>
<flag name="review"
          id="260508"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>235941</attachid>
            <date>2014-08-02 16:21:52 -0700</date>
            <delta_ts>2014-08-02 17:03:41 -0700</delta_ts>
            <desc>Patch for landing.</desc>
            <filename>bug-135525-20140802162139.patch</filename>
            <type>text/plain</type>
            <size>20397</size>
            <attacher name="Jeremy Jones">jeremyj-wk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcxOTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmIwMmY4MDBmYzM4ZGNl
OTQ0OWMwMDdhOTRkNDU1NWUwZjlhNDQxMi4uYzAzMDM3YTNiYWQ5MTEzMzgzYTliNDJlMWUwNWVj
ZTZiZDE5Y2Q3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE0LTA4LTAxICBKZXJl
bXkgSm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KKworICAgICAgICBTdXBwb3J0IGJvdGggd2lu
ZG93IGFuZCB2aWV3IGJhc2VkIHZpZGVvIGZ1bGxzY3JlZW4uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzU1MjUKKworICAgICAgICBSZXZpZXdlZCBi
eSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgUHJlc2VudGluZyBpbiBhIHNlcGFyYXRlIHdpbmRv
dyBnaXZlcyBncmVhdGVyIGZsZXhpYmlsaXR5IGZvciByb3RhdGlvbiBzZXBhcmF0ZWx5IGZyb20g
dGhlIGFwcC4KKyAgICAgICAgUHJlc2VudGluZyBpbiB0aGUgc2FtZSB3aW5kb3cgd29ya3MgYmV0
dGVyIGlmIHRoZSBpbnRlcmZhY2UgaXMgcmVob3N0ZWQgaW4gYW5vdGhlciBwcm9jZXNzLgorCisg
ICAgICAgICogcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJBVktpdC5t
bToKKyAgICAgICAgKC1bV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlciBlbnRlckZ1bGxzY3Jl
ZW46XSk6IFVzZSBjbGllbnRSZWN0IGluc3RlYWQgb2Ygc2NyZWVuUmVjdC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQuaDogQWRkIG1fd2lu
ZG93IGFuZCBtX3BhcmVudFZpZXcuCisgICAgICAgICogcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVs
bHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tOiAKKyAgICAgICAgKC1bV2ViQVZWaWRlb0xheWVyIHNl
dEJvdW5kczpdKTogUGFyZW50IHZpZXcgbWlnaHQgbm90IGJlIGZ1bGxzY3JlZW47IHVzZSB3aW5k
b3cgaW5zdGVhZC4KKyAgICAgICAgKFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Ojpz
ZXR1cEZ1bGxzY3JlZW4pOiBDb25kaXRpb25hbGx5IGNyZWF0ZSBVSVdpbmRvdyBhbmQgVUlWaWV3
Q29udHJvbGxlciBmb3IgZnVsbHNjcmVlbi4KKyAgICAgICAgKFdlYlZpZGVvRnVsbHNjcmVlbklu
dGVyZmFjZUFWS2l0OjplbnRlckZ1bGxzY3JlZW4pOiBWaWRlbywgbm90IHRoZSBjb250YWluZXIg
c2hvdWxkIGhhdmUgYmxhY2sgYmFja2dyb3VuZC4KKyAgICAgICAgKFdlYlZpZGVvRnVsbHNjcmVl
bkludGVyZmFjZUFWS2l0OjpleGl0RnVsbHNjcmVlbik6IENvbmRpdGlvbmFsbHkgdHJhbnNsYXRl
IGZpbmFsUmVjdC4KKyAgICAgICAgKFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Ojpj
bGVhbnVwRnVsbHNjcmVlbik6IENsZWFuIHVwIFVJV2luZG93IGFuZCBmb3JjZSBzdGF0dXMgYmFy
IHRvIGNvcnJlY3Qgb3JpZW50YXRpb24uCisgICAgICAgIChXZWJWaWRlb0Z1bGxzY3JlZW5JbnRl
cmZhY2VBVktpdDo6aW52YWxpZGF0ZSk6IENsZWFuIHVwIFVJV2luZG93LgorICAgICAgICAoV2Vi
VmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnJlcXVlc3RIaWRlQW5kRXhpdEZ1bGxzY3Jl
ZW4pOiBIaWRlIHdpbmRvdyBhbmQgZXhpdCB3aXRob3V0IGFuaW1hdGlvbi4KKyAgICAgICAgKiBw
bGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTW9kZWxNZWRpYUVsZW1lbnQubW06CisgICAg
ICAgIChXZWJWaWRlb0Z1bGxzY3JlZW5Nb2RlbE1lZGlhRWxlbWVudDo6c2V0VmlkZW9GdWxsc2Ny
ZWVuTGF5ZXIpOiBBcHBseSBmcmFtZSwgYmVjYXVzZSBpdCBtYXkgaGF2ZSBiZWVuIHNldCBiZWZv
cmUgdGhlIGxheWVyLgorCiAyMDE0LTA4LTAxICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtNU0VdW01hY10gVm9sdW1lIGlzIG5vdCByZW1lbWJlcmVkIGJldHdl
ZW4gaXRlbXMgaW4gYSBZb3VUdWJlIHBsYXlsaXN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggY2JiMmQ4
N2QyMTg4NGM1ZDYzZTYzMTE0ZmY4Y2E4YzdmNDE1MDBiYi4uZDAxZDVjNWY3NGU0YzA4Y2NiOTBl
NDFhOGNhNTI0ZTYyZGI5ODI0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisy
MDE0LTA4LTAxICBKZXJlbXkgSm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KKworICAgICAgICBT
dXBwb3J0IGJvdGggd2luZG93IGFuZCB2aWV3IGJhc2VkIHZpZGVvIGZ1bGxzY3JlZW4uCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzU1MjUKKworICAg
ICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgUGFyZW50aW5nIGluIHRo
ZSB2aWV3IGluc3RlYWQgb2YgdGhlIHdpbmRvdyBnaXZlcyB0aGUgZnVsbHNjcmVlbiBpbXBsZW1l
bnRhdGlvbiBtb3JlIGxhdGl0dWRlIAorICAgICAgICBpbiBob3cgaXQgaW1wbGVtZW50cyB0aGUg
YW5pbWF0aW9uLgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtX
ZWJWaWV3IF9lbnRlckZ1bGxzY3JlZW5Gb3JOb2RlOl0pOiBVc2UgdmlldyBpbnN0ZWFkIG9mIHdp
bmRvdy4KKwogMjAxNC0wNy0zMCAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CiAKICAg
ICAgICAgVVNFKENPTlRFTlRfRklMVEVSSU5HKSBzaG91bGQgYmUgRU5BQkxFKENPTlRFTlRfRklM
VEVSSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCmluZGV4IDA3NmJjNGE3ZWMwNjViNDY3YzdjOThhM2QzMWQ0MzI3Njg2
NzEzYmEuLjU1ZDA0MTM3MGMzYzEzYjQ5Y2I5Zjg0ODZkYjliNDIzZmVlMzY2MjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyMSBAQAorMjAxNC0wOC0wMSAgSmVyZW15IEpvbmVzICA8amVyZW15akBh
cHBsZS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBib3RoIHdpbmRvdyBhbmQgdmlldyBiYXNlZCB2
aWRlbyBmdWxsc2NyZWVuLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTM1NTI1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisg
ICAgICAgIFBhcmVudGluZyBpbiB0aGUgdmlldyBpbnN0ZWFkIG9mIHRoZSB3aW5kb3cgZ2l2ZXMg
dGhlIGZ1bGxzY3JlZW4gaW1wbGVtZW50YXRpb24gbW9yZSBsYXRpdHVkZSAKKyAgICAgICAgaW4g
aG93IGl0IGltcGxlbWVudHMgdGhlIGFuaW1hdGlvbi4KKworICAgICAgICAqIFVJUHJvY2Vzcy9p
b3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tOgorICAgICAgICAoV2ViS2l0OjpX
ZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OnNldHVwRnVsbHNjcmVlbldpdGhJRCk6IFVz
ZSB2aWV3IGluc3RlYWQgb2Ygd2luZG93LgorICAgICAgICAqIFdlYlByb2Nlc3MvaW9zL1dlYlZp
ZGVvRnVsbHNjcmVlbk1hbmFnZXIubW06CisgICAgICAgIChXZWJLaXQ6OmNsaWVudFJlY3RGb3JO
b2RlKTogVXNlIGNsaWVudCByZWN0IGluc3RlYWQgb2Ygc2NyZWVuIHJlY3QuCisgICAgICAgIChX
ZWJLaXQ6OldlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXI6OmVudGVyRnVsbHNjcmVlbkZvck5vZGUp
OiBkaXR0bworICAgICAgICAoV2ViS2l0OjpXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyOjpleGl0
RnVsbHNjcmVlbkZvck5vZGUpOiBkaXR0bworICAgICAgICAoV2ViS2l0OjpzY3JlZW5SZWN0Rm9y
Tm9kZSk6IERlbGV0ZWQuCisKIDIwMTQtMDgtMDEgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxl
LmNvbT4KIAogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTc4NjIwMTM+IFJFR1JFU1NJT04gKHIx
NjkzNTcpOiBEaXNhYmxpbmcgImFsbG93IHBsdWctaW5zIiBkb2Vzbid0IHN0aWNrIG9uIHF1aXQv
cmVsYXVuY2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBs
aWNhdGlvbkNoZWNrc0lPUy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVudGltZUFwcGxp
Y2F0aW9uQ2hlY2tzSU9TLmgKaW5kZXggNGIzNzhiYWFkZGQwYjUxNWE4ODZjYWY2MzFjOWJlMzI2
YzRmZDZmYi4uMGU0YzVjMzgyY2ViMjg2NjMyZGVhNjFiOGYxYmYzZGIyNWUwMDZkOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzSU9T
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tz
SU9TLmgKQEAgLTI5LDYgKzI5LDcgQEAKIC8vIEZJWE1FOiBXZSBzaG91bGQgY29uc2lkZXIgbWVy
Z2luZyB0aGlzIGZpbGUgd2l0aCBSdW50aW1lQXBwbGljYXRpb25DaGVja3MuaC4KIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAorYm9vbCBhcHBsaWNhdGlvbklzQWRTaGVldCgpOwogYm9vbCBhcHBsaWNh
dGlvbklzTW9iaWxlTWFpbCgpOwogYm9vbCBhcHBsaWNhdGlvbklzTW9iaWxlU2FmYXJpKCk7CiBi
b29sIGFwcGxpY2F0aW9uSXNEdW1wUmVuZGVyVHJlZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzSU9TLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzSU9TLm1tCmluZGV4IGNjMjUz
ZTdkYzkyMzZkNWI4NjA3OTEzNzNkZjQxZjk0NDhlMjU2MTQuLmUwOGIyZDkwMTcyMzk3MjgzMGJi
NTAxOTNkNmMzZTk0MjBmZDMzMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0lPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NJT1MubW0KQEAgLTMxLDYgKzMxLDEyIEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorYm9vbCBhcHBsaWNhdGlvbklzQWRTaGVldCgpCit7Cisg
ICAgc3RhdGljIGJvb2wgaXNBZFNoZWV0ID0gW1tbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gYnVuZGxl
SWRlbnRpZmllcl0gaXNFcXVhbFRvU3RyaW5nOkAiY29tLmFwcGxlLkFkU2hlZXRQaG9uZSJdOwor
ICAgIHJldHVybiBpc0FkU2hlZXQ7Cit9CisKIGJvb2wgYXBwbGljYXRpb25Jc01vYmlsZU1haWwo
KQogewogICAgIHN0YXRpYyBib29sIGlzTW9iaWxlTWFpbCA9IFtbW05TQnVuZGxlIG1haW5CdW5k
bGVdIGJ1bmRsZUlkZW50aWZpZXJdIGlzRXF1YWxUb1N0cmluZzpAImNvbS5hcHBsZS5tb2JpbGVt
YWlsIl07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9G
dWxsc2NyZWVuQ29udHJvbGxlckFWS2l0Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9z
L1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJBVktpdC5tbQppbmRleCA3MzkzMDM1MWMyYzI4
ZTJlM2MzNmU5ZmNhZTA1Y2JkZWMzZGNmMGE5Li45ZjAzODk5MzdhYzQwMTk2M2E4YjAwZjBlMjhl
MjE2NjJkZTk3ZGNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2Vi
VmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckFWS2l0Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQVZLaXQubW0KQEAgLTEyNSw3
ICsxMjUsNyBAQCBwdWJsaWM6CiAgICAgX2ludGVyZmFjZS0+c2V0V2ViVmlkZW9GdWxsc2NyZWVu
TW9kZWwoX21vZGVsLmdldCgpKTsKICAgICBfbW9kZWwtPnNldE1lZGlhRWxlbWVudChfbWVkaWFF
bGVtZW50LmdldCgpKTsKICAgICBfdmlkZW9GdWxsc2NyZWVuTGF5ZXIgPSBbQ0FMYXllciBsYXll
cl07Ci0gICAgX2ludGVyZmFjZS0+c2V0dXBGdWxsc2NyZWVuKCpfdmlkZW9GdWxsc2NyZWVuTGF5
ZXIuZ2V0KCksIF9tZWRpYUVsZW1lbnQtPnNjcmVlblJlY3QoKSwgdmlldyk7CisgICAgX2ludGVy
ZmFjZS0+c2V0dXBGdWxsc2NyZWVuKCpfdmlkZW9GdWxsc2NyZWVuTGF5ZXIuZ2V0KCksIF9tZWRp
YUVsZW1lbnQtPmNsaWVudFJlY3QoKSwgdmlldyk7CiB9CiAKIC0gKHZvaWQpZXhpdEZ1bGxzY3Jl
ZW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxz
Y3JlZW5JbnRlcmZhY2VBVktpdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZp
ZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0LmgKaW5kZXggMTZmNDI4ZGQ4YjIxMWE4MDg2Yzhh
YjI0OTA0ZjE5OWJmNzlkMmIyZC4uMjI4NzdiYTRiZjM0YjZmMWFlMDhlNTcxMTYzMTYyZDMwYTNh
MjgyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVs
bHNjcmVlbkludGVyZmFjZUFWS2l0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9z
L1dlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0LmgKQEAgLTYyLDEyICs2MiwxNiBAQCBj
bGFzcyBXZWJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdAogICAgICAgICAKICAgICBSZXRh
aW5QdHI8V2ViQVZQbGF5ZXJDb250cm9sbGVyPiBtX3BsYXllckNvbnRyb2xsZXI7CiAgICAgUmV0
YWluUHRyPEFWUGxheWVyVmlld0NvbnRyb2xsZXI+IG1fcGxheWVyVmlld0NvbnRyb2xsZXI7Ci0g
ICAgUmV0YWluUHRyPFVJVmlld0NvbnRyb2xsZXI+IG1fdmlld0NvbnRyb2xsZXI7CiAgICAgUmV0
YWluUHRyPENBTGF5ZXI+IG1fdmlkZW9MYXllcjsKICAgICBSZXRhaW5QdHI8V2ViQVZWaWRlb0xh
eWVyPiBtX3ZpZGVvTGF5ZXJDb250YWluZXI7CiAgICAgV2ViVmlkZW9GdWxsc2NyZWVuTW9kZWwq
IG1fdmlkZW9GdWxsc2NyZWVuTW9kZWw7CiAgICAgV2ViVmlkZW9GdWxsc2NyZWVuQ2hhbmdlT2Jz
ZXJ2ZXIqIG1fZnVsbHNjcmVlbkNoYW5nZU9ic2VydmVyOwotICAgICAgICAKKworICAgIC8vIFRo
ZXNlIGFyZSBvbmx5IHVzZWQgd2hlbiBmdWxsc2NyZWVuIGlzIHByZXNlbnRlZCBpbiBhIHNlcGFy
YXRlIHdpbmRvdy4KKyAgICBSZXRhaW5QdHI8VUlXaW5kb3c+IG1fd2luZG93OworICAgIFJldGFp
blB0cjxVSVZpZXdDb250cm9sbGVyPiBtX3ZpZXdDb250cm9sbGVyOworICAgIFJldGFpblB0cjxV
SVZpZXc+IG1fcGFyZW50VmlldzsKKwogICAgIFdlYkFWUGxheWVyQ29udHJvbGxlciAqcGxheWVy
Q29udHJvbGxlcigpOwogICAgIAogICAgIHZvaWQgZG9FbnRlckZ1bGxzY3JlZW4oKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5JbnRl
cmZhY2VBVktpdC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxz
Y3JlZW5JbnRlcmZhY2VBVktpdC5tbQppbmRleCAzNDNiOTk2MmI2Yjk4NThiMWM0NDFkNjQwZWNj
MTI4NzE2ODc0ZWQ3Li42YmVkYThhY2VmYWFiMjA4NDc1NjgwZjVlNWI4NTI0YjU4YWUwYjczIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVu
SW50ZXJmYWNlQVZLaXQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZp
ZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tCkBAIC00Miw2ICs0Miw3IEBACiAjaW1wb3J0
IDxBVktpdC9BVlZpZGVvTGF5ZXIuaD4KICNpbXBvcnQgPENvcmVNZWRpYS9DTVRpbWUuaD4KICNp
bXBvcnQgPFVJS2l0L1VJS2l0Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlv
bkNoZWNrc0lPUy5oPgogI2ltcG9ydCA8V2ViQ29yZS9Tb2Z0TGlua2luZy5oPgogI2ltcG9ydCA8
V2ViQ29yZS9UaW1lUmFuZ2VzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVUaHJlYWRSdW4u
aD4KQEAgLTU5LDYgKzYwLDcgQEAgU09GVF9MSU5LX0NMQVNTKEFWS2l0LCBBVlBsYXllclZpZXdD
b250cm9sbGVyKQogU09GVF9MSU5LX0NMQVNTKEFWS2l0LCBBVlZhbHVlVGltaW5nKQogCiBTT0ZU
X0xJTktfRlJBTUVXT1JLKFVJS2l0KQorU09GVF9MSU5LX0NMQVNTKFVJS2l0LCBVSUFwcGxpY2F0
aW9uKQogU09GVF9MSU5LX0NMQVNTKFVJS2l0LCBVSVNjcmVlbikKIFNPRlRfTElOS19DTEFTUyhV
SUtpdCwgVUlXaW5kb3cpCiBTT0ZUX0xJTktfQ0xBU1MoVUlLaXQsIFVJVmlldykKQEAgLTUxNSw3
ICs1MTcsNyBAQCBTT0ZUX0xJTktfQ09OU1RBTlQoQ29yZU1lZGlhLCBrQ01UaW1lSW5kZWZpbml0
ZSwgQ01UaW1lKQogICAgIGlmICghW19hdlBsYXllckNvbnRyb2xsZXIgZGVsZWdhdGVdIHx8ICFf
YXZQbGF5ZXJWaWV3Q29udHJvbGxlcikKICAgICAgICAgcmV0dXJuOwogCi0gICAgVUlWaWV3KiBy
b290VmlldyA9IFtbX2F2UGxheWVyVmlld0NvbnRyb2xsZXIgcGFyZW50Vmlld0NvbnRyb2xsZXJd
IHZpZXddOworICAgIFVJVmlldyogcm9vdFZpZXcgPSBbW19hdlBsYXllclZpZXdDb250cm9sbGVy
IHZpZXddIHdpbmRvd107CiAgICAgaWYgKCFyb290VmlldykKICAgICAgICAgcmV0dXJuOwogCkBA
IC03NDIsMTAgKzc0NCwxNiBAQCB2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0
OjpzZXR1cEZ1bGxzY3JlZW4oUGxhdGZvcm1MYXllciYgdmlkZW9MYXllcgogCiAgICAgICAgIFtD
QVRyYW5zYWN0aW9uIGJlZ2luXTsKICAgICAgICAgW0NBVHJhbnNhY3Rpb24gc2V0RGlzYWJsZUFj
dGlvbnM6WUVTXTsKKyAgICAgICAgbV9wYXJlbnRWaWV3ID0gcGFyZW50VmlldzsKIAotICAgICAg
ICBtX3ZpZXdDb250cm9sbGVyID0gYWRvcHROUyhbW2dldFVJVmlld0NvbnRyb2xsZXJDbGFzcygp
IGFsbG9jXSBpbml0XSk7Ci0gICAgICAgIFtbbV92aWV3Q29udHJvbGxlciB2aWV3XSBzZXRGcmFt
ZTpwYXJlbnRWaWV3LmJvdW5kc107Ci0gICAgICAgIFtwYXJlbnRWaWV3IGFkZFN1YnZpZXc6W21f
dmlld0NvbnRyb2xsZXIgdmlld11dOworICAgICAgICBpZiAoIWFwcGxpY2F0aW9uSXNBZFNoZWV0
KCkpIHsKKyAgICAgICAgICAgIG1fd2luZG93ID0gYWRvcHROUyhbW2dldFVJV2luZG93Q2xhc3Mo
KSBhbGxvY10gaW5pdFdpdGhGcmFtZTpbW2dldFVJU2NyZWVuQ2xhc3MoKSBtYWluU2NyZWVuXSBi
b3VuZHNdXSk7CisgICAgICAgICAgICBbbV93aW5kb3cgc2V0QmFja2dyb3VuZENvbG9yOltnZXRV
SUNvbG9yQ2xhc3MoKSBjbGVhckNvbG9yXV07CisgICAgICAgICAgICBtX3ZpZXdDb250cm9sbGVy
ID0gYWRvcHROUyhbW2dldFVJVmlld0NvbnRyb2xsZXJDbGFzcygpIGFsbG9jXSBpbml0XSk7Cisg
ICAgICAgICAgICBbW21fdmlld0NvbnRyb2xsZXIgdmlld10gc2V0RnJhbWU6W21fd2luZG93IGJv
dW5kc11dOworICAgICAgICAgICAgW21fd2luZG93IHNldFJvb3RWaWV3Q29udHJvbGxlcjptX3Zp
ZXdDb250cm9sbGVyLmdldCgpXTsKKyAgICAgICAgICAgIFttX3dpbmRvdyBtYWtlS2V5QW5kVmlz
aWJsZV07CisgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIFttX3ZpZGVvTGF5ZXIgcmVtb3Zl
RnJvbVN1cGVybGF5ZXJdOwogICAgICAgICAKQEAgLTc2MywxMCArNzcxLDE3IEBAIHZvaWQgV2Vi
VmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNldHVwRnVsbHNjcmVlbihQbGF0Zm9ybUxh
eWVyJiB2aWRlb0xheWVyCiAgICAgICAgIFttX3BsYXllclZpZXdDb250cm9sbGVyIHNldERlbGVn
YXRlOnBsYXllckNvbnRyb2xsZXIoKV07CiAgICAgICAgIFttX3ZpZGVvTGF5ZXJDb250YWluZXIg
c2V0UGxheWVyVmlld0NvbnRyb2xsZXI6bV9wbGF5ZXJWaWV3Q29udHJvbGxlci5nZXQoKV07CiAK
LSAgICAgICAgW21fdmlld0NvbnRyb2xsZXIgYWRkQ2hpbGRWaWV3Q29udHJvbGxlcjptX3BsYXll
clZpZXdDb250cm9sbGVyLmdldCgpXTsKLSAgICAgICAgW1ttX3ZpZXdDb250cm9sbGVyIHZpZXdd
IGFkZFN1YnZpZXc6W21fcGxheWVyVmlld0NvbnRyb2xsZXIgdmlld11dOwotICAgICAgICBbbV9w
bGF5ZXJWaWV3Q29udHJvbGxlciB2aWV3XS5mcmFtZSA9IGluaXRpYWxSZWN0OworICAgICAgICBp
ZiAobV92aWV3Q29udHJvbGxlcikgeworICAgICAgICAgICAgW21fdmlld0NvbnRyb2xsZXIgYWRk
Q2hpbGRWaWV3Q29udHJvbGxlcjptX3BsYXllclZpZXdDb250cm9sbGVyLmdldCgpXTsKKyAgICAg
ICAgICAgIFtbbV92aWV3Q29udHJvbGxlciB2aWV3XSBhZGRTdWJ2aWV3OlttX3BsYXllclZpZXdD
b250cm9sbGVyIHZpZXddXTsKKyAgICAgICAgICAgIFttX3BsYXllclZpZXdDb250cm9sbGVyIHZp
ZXddLmZyYW1lID0gW3BhcmVudFZpZXcgY29udmVydFJlY3Q6aW5pdGlhbFJlY3QgdG9WaWV3Om5p
bF07CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBbcGFyZW50VmlldyBhZGRTdWJ2aWV3
OlttX3BsYXllclZpZXdDb250cm9sbGVyIHZpZXddXTsKKyAgICAgICAgICAgIFttX3BsYXllclZp
ZXdDb250cm9sbGVyIHZpZXddLmZyYW1lID0gaW5pdGlhbFJlY3Q7CisgICAgICAgIH0KKwogICAg
ICAgICBbW21fcGxheWVyVmlld0NvbnRyb2xsZXIgdmlld10gc2V0QmFja2dyb3VuZENvbG9yOltn
ZXRVSUNvbG9yQ2xhc3MoKSBjbGVhckNvbG9yXV07CisgICAgICAgIFtbbV9wbGF5ZXJWaWV3Q29u
dHJvbGxlciB2aWV3XSBzZXROZWVkc0xheW91dF07CiAgICAgICAgIFtbbV9wbGF5ZXJWaWV3Q29u
dHJvbGxlciB2aWV3XSBsYXlvdXRJZk5lZWRlZF07CiAKICAgICAgICAgW0NBVHJhbnNhY3Rpb24g
Y29tbWl0XTsKQEAgLTc4NSw3ICs4MDAsNyBAQCB2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkludGVy
ZmFjZUFWS2l0OjplbnRlckZ1bGxzY3JlZW4oKQogICAgIF9fYmxvY2sgUmVmUHRyPFdlYlZpZGVv
RnVsbHNjcmVlbkludGVyZmFjZUFWS2l0PiBwcm90ZWN0KHRoaXMpOwogICAgIAogICAgIGRpc3Bh
dGNoX2FzeW5jKGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIF57Ci0gICAgICAgIFtbbV9wbGF5
ZXJWaWV3Q29udHJvbGxlciB2aWV3XSBzZXRCYWNrZ3JvdW5kQ29sb3I6W2dldFVJQ29sb3JDbGFz
cygpIGJsYWNrQ29sb3JdXTsKKyAgICAgICAgW21fdmlkZW9MYXllckNvbnRhaW5lciBzZXRCYWNr
Z3JvdW5kQ29sb3I6W1tnZXRVSUNvbG9yQ2xhc3MoKSBibGFja0NvbG9yXSBDR0NvbG9yXV07CiAg
ICAgICAgIFttX3BsYXllclZpZXdDb250cm9sbGVyIGVudGVyRnVsbFNjcmVlbldpdGhDb21wbGV0
aW9uSGFuZGxlcjpeKEJPT0wsIE5TRXJyb3IqKQogICAgICAgICB7CiAgICAgICAgICAgICBbbV9w
bGF5ZXJWaWV3Q29udHJvbGxlciBzZXRTaG93c1BsYXliYWNrQ29udHJvbHM6WUVTXTsKQEAgLTgw
NCwxMSArODE5LDE2IEBAIHZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmV4
aXRGdWxsc2NyZWVuKFdlYkNvcmU6OkludFJlY3QgZmluYWxSZWN0CiAgICAgCiAgICAgZGlzcGF0
Y2hfYXN5bmMoZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgXnsKICAgICAgICAgW21fcGxheWVy
Vmlld0NvbnRyb2xsZXIgc2V0U2hvd3NQbGF5YmFja0NvbnRyb2xzOk5PXTsKLSAgICAgICAgW21f
cGxheWVyVmlld0NvbnRyb2xsZXIgdmlld10uZnJhbWUgPSBmaW5hbFJlY3Q7CisgICAgICAgIGlm
IChtX3ZpZXdDb250cm9sbGVyKQorICAgICAgICAgICAgW21fcGxheWVyVmlld0NvbnRyb2xsZXIg
dmlld10uZnJhbWUgPSBbbV9wYXJlbnRWaWV3IGNvbnZlcnRSZWN0OmZpbmFsUmVjdCB0b1ZpZXc6
bmlsXTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgW21fcGxheWVyVmlld0NvbnRyb2xsZXIg
dmlld10uZnJhbWUgPSBmaW5hbFJlY3Q7CisKICAgICAgICAgaWYgKFttX3ZpZGVvTGF5ZXJDb250
YWluZXIgdmlkZW9MYXllckdyYXZpdHldICE9IEFWVmlkZW9MYXllckdyYXZpdHlSZXNpemVBc3Bl
Y3QpCiAgICAgICAgICAgICBbbV92aWRlb0xheWVyQ29udGFpbmVyIHNldFZpZGVvTGF5ZXJHcmF2
aXR5OkFWVmlkZW9MYXllckdyYXZpdHlSZXNpemVBc3BlY3RdOwogICAgICAgICBbW21fcGxheWVy
Vmlld0NvbnRyb2xsZXIgdmlld10gbGF5b3V0SWZOZWVkZWRdOwogICAgICAgICBbbV9wbGF5ZXJW
aWV3Q29udHJvbGxlciBleGl0RnVsbFNjcmVlbldpdGhDb21wbGV0aW9uSGFuZGxlcjpeKEJPT0ws
IE5TRXJyb3IqKSB7CisgICAgICAgICAgICBbbV92aWRlb0xheWVyQ29udGFpbmVyIHNldEJhY2tn
cm91bmRDb2xvcjpbW2dldFVJQ29sb3JDbGFzcygpIGNsZWFyQ29sb3JdIENHQ29sb3JdXTsKICAg
ICAgICAgICAgIFtbbV9wbGF5ZXJWaWV3Q29udHJvbGxlciB2aWV3XSBzZXRCYWNrZ3JvdW5kQ29s
b3I6W2dldFVJQ29sb3JDbGFzcygpIGNsZWFyQ29sb3JdXTsKICAgICAgICAgICAgIGlmIChtX2Z1
bGxzY3JlZW5DaGFuZ2VPYnNlcnZlcikKICAgICAgICAgICAgICAgICBtX2Z1bGxzY3JlZW5DaGFu
Z2VPYnNlcnZlci0+ZGlkRXhpdEZ1bGxzY3JlZW4oKTsKQEAgLTgxNywxNSArODM3LDI5IEBAIHZv
aWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmV4aXRGdWxsc2NyZWVuKFdlYkNv
cmU6OkludFJlY3QgZmluYWxSZWN0CiAgICAgfSk7CiB9CiAKK0BpbnRlcmZhY2UgVUlBcHBsaWNh
dGlvbiAoKQorLSh2b2lkKV9zZXRTdGF0dXNCYXJPcmllbnRhdGlvbjooVUlJbnRlcmZhY2VPcmll
bnRhdGlvbilvOworQGVuZAorCitAaW50ZXJmYWNlIFVJV2luZG93ICgpCistKFVJSW50ZXJmYWNl
T3JpZW50YXRpb24paW50ZXJmYWNlT3JpZW50YXRpb247CitAZW5kCisKIHZvaWQgV2ViVmlkZW9G
dWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmNsZWFudXBGdWxsc2NyZWVuKCkKIHsKICAgICAvLyBS
ZXRhaW4gdGhpcyB0byBleHRlbmQgb2JqZWN0IGxpZmUgdW50aWwgYXN5bmMgYmxvY2sgY29tcGxl
dGVzLgogICAgIF9fYmxvY2sgUmVmUHRyPFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0
PiBwcm90ZWN0KHRoaXMpOwogICAgIAogICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9t
YWluX3F1ZXVlKCksIF57CisgICAgICAgIGlmIChtX3dpbmRvdykgeworICAgICAgICAgICAgW21f
d2luZG93IHNldEhpZGRlbjpZRVNdOworICAgICAgICAgICAgW21fd2luZG93IHNldFJvb3RWaWV3
Q29udHJvbGxlcjpuaWxdOworICAgICAgICAgICAgW1tnZXRVSUFwcGxpY2F0aW9uQ2xhc3MoKSBz
aGFyZWRBcHBsaWNhdGlvbl0gX3NldFN0YXR1c0Jhck9yaWVudGF0aW9uOltbbV9wYXJlbnRWaWV3
IHdpbmRvd10gaW50ZXJmYWNlT3JpZW50YXRpb25dXTsKKyAgICAgICAgfQogICAgICAgICBbbV9w
bGF5ZXJWaWV3Q29udHJvbGxlciBzZXREZWxlZ2F0ZTpuaWxdOwogICAgICAgICBbW21fcGxheWVy
Vmlld0NvbnRyb2xsZXIgdmlld10gcmVtb3ZlRnJvbVN1cGVydmlld107Ci0gICAgICAgIFttX3Bs
YXllclZpZXdDb250cm9sbGVyIHJlbW92ZUZyb21QYXJlbnRWaWV3Q29udHJvbGxlcl07CisgICAg
ICAgIGlmIChtX3ZpZXdDb250cm9sbGVyKQorICAgICAgICAgICAgW21fcGxheWVyVmlld0NvbnRy
b2xsZXIgcmVtb3ZlRnJvbVBhcmVudFZpZXdDb250cm9sbGVyXTsKICAgICAgICAgW21fcGxheWVy
Vmlld0NvbnRyb2xsZXIgc2V0UGxheWVyQ29udHJvbGxlcjpuaWxdOwogICAgICAgICBtX3BsYXll
clZpZXdDb250cm9sbGVyID0gbmlsOwogICAgICAgICBbbV92aWRlb0xheWVyIHJlbW92ZUZyb21T
dXBlcmxheWVyXTsKQEAgLTgzNSw2ICs4NjksOCBAQCB2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbklu
dGVyZmFjZUFWS2l0OjpjbGVhbnVwRnVsbHNjcmVlbigpCiAgICAgICAgIG1fdmlkZW9MYXllckNv
bnRhaW5lciA9IG5pbDsKICAgICAgICAgW1ttX3ZpZXdDb250cm9sbGVyIHZpZXddIHJlbW92ZUZy
b21TdXBlcnZpZXddOwogICAgICAgICBtX3ZpZXdDb250cm9sbGVyID0gbmlsOworICAgICAgICBt
X3dpbmRvdyA9IG5pbDsKKyAgICAgICAgbV9wYXJlbnRWaWV3ID0gbmlsOwogICAgICAgICAKICAg
ICAgICAgaWYgKG1fZnVsbHNjcmVlbkNoYW5nZU9ic2VydmVyKQogICAgICAgICAgICAgbV9mdWxs
c2NyZWVuQ2hhbmdlT2JzZXJ2ZXItPmRpZENsZWFudXBGdWxsc2NyZWVuKCk7CkBAIC04NDQsMTAg
Kzg4MCwxNCBAQCB2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpjbGVhbnVw
RnVsbHNjcmVlbigpCiAKIHZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6Omlu
dmFsaWRhdGUoKQogeworICAgIFttX3dpbmRvdyBzZXRIaWRkZW46WUVTXTsKKyAgICBbbV93aW5k
b3cgc2V0Um9vdFZpZXdDb250cm9sbGVyOm5pbF07CisgICAgW21fcGxheWVyVmlld0NvbnRyb2xs
ZXIgZXhpdEZ1bGxTY3JlZW5BbmltYXRlZDpOTyBjb21wbGV0aW9uSGFuZGxlcjpuaWxdOwogICAg
IG1fcGxheWVyQ29udHJvbGxlciA9IG5pbDsKICAgICBbbV9wbGF5ZXJWaWV3Q29udHJvbGxlciBz
ZXREZWxlZ2F0ZTpuaWxdOwogICAgIFtbbV9wbGF5ZXJWaWV3Q29udHJvbGxlciB2aWV3XSByZW1v
dmVGcm9tU3VwZXJ2aWV3XTsKLSAgICBbbV9wbGF5ZXJWaWV3Q29udHJvbGxlciByZW1vdmVGcm9t
UGFyZW50Vmlld0NvbnRyb2xsZXJdOworICAgIGlmIChtX3ZpZXdDb250cm9sbGVyKQorICAgICAg
ICBbbV9wbGF5ZXJWaWV3Q29udHJvbGxlciByZW1vdmVGcm9tUGFyZW50Vmlld0NvbnRyb2xsZXJd
OwogICAgIFttX3BsYXllclZpZXdDb250cm9sbGVyIHNldFBsYXllckNvbnRyb2xsZXI6bmlsXTsK
ICAgICBtX3BsYXllclZpZXdDb250cm9sbGVyID0gbmlsOwogICAgIFttX3ZpZGVvTGF5ZXIgcmVt
b3ZlRnJvbVN1cGVybGF5ZXJdOwpAQCAtODU3LDYgKzg5Nyw4IEBAIHZvaWQgV2ViVmlkZW9GdWxs
c2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmludmFsaWRhdGUoKQogICAgIG1fdmlkZW9MYXllckNvbnRh
aW5lciA9IG5pbDsKICAgICBbW21fdmlld0NvbnRyb2xsZXIgdmlld10gcmVtb3ZlRnJvbVN1cGVy
dmlld107CiAgICAgbV92aWV3Q29udHJvbGxlciA9IG5pbDsKKyAgICBtX3dpbmRvdyA9IG5pbDsK
KyAgICBtX3BhcmVudFZpZXcgPSBuaWw7CiB9CiAKIHZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50
ZXJmYWNlQVZLaXQ6OnJlcXVlc3RIaWRlQW5kRXhpdEZ1bGxzY3JlZW4oKQpAQCAtODY0LDcgKzkw
Niw4IEBAIHZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnJlcXVlc3RIaWRl
QW5kRXhpdEZ1bGxzY3JlZW4oKQogICAgIF9fYmxvY2sgUmVmUHRyPFdlYlZpZGVvRnVsbHNjcmVl
bkludGVyZmFjZUFWS2l0PiBwcm90ZWN0KHRoaXMpOwogCiAgICAgZGlzcGF0Y2hfYXN5bmMoZGlz
cGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgXnsKLSAgICAgICAgW21fcGxheWVyVmlld0NvbnRyb2xs
ZXIgZXhpdEZ1bGxTY3JlZW5XaXRoQ29tcGxldGlvbkhhbmRsZXI6XihCT09MLCBOU0Vycm9yKikg
eworICAgICAgICBbbV93aW5kb3cgc2V0SGlkZGVuOllFU107CisgICAgICAgIFttX3BsYXllclZp
ZXdDb250cm9sbGVyIGV4aXRGdWxsU2NyZWVuQW5pbWF0ZWQ6Tk8gY29tcGxldGlvbkhhbmRsZXI6
XihCT09MLCBOU0Vycm9yKikgewogICAgICAgICAgICAgcHJvdGVjdCA9IG51bGxwdHI7CiAgICAg
ICAgIH1dOwogICAgIH0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9z
L1dlYlZpZGVvRnVsbHNjcmVlbk1vZGVsTWVkaWFFbGVtZW50Lm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbk1vZGVsTWVkaWFFbGVtZW50Lm1tCmluZGV4
IDI2N2VjMjcwOWRkNDAyOTY0NGY2NDQwOTVmOWI2NjIxNGNiMTAyZDcuLmNlY2MzMTM5MWNjMWM0
Y2I2N2E0YWUyY2U1MzM5MTA0NmJiZGNiYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5Nb2RlbE1lZGlhRWxlbWVudC5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTW9kZWxNZWRpYUVs
ZW1lbnQubW0KQEAgLTE1OCw2ICsxNTgsNyBAQCB2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbk1vZGVs
TWVkaWFFbGVtZW50OjpzZXRWaWRlb0Z1bGxzY3JlZW5MYXllcihQbGF0Zm9ybUxheWVyKgogICAg
ICAgICByZXR1cm47CiAgICAgCiAgICAgbV92aWRlb0Z1bGxzY3JlZW5MYXllciA9IHZpZGVvTGF5
ZXI7CisgICAgW21fdmlkZW9GdWxsc2NyZWVuTGF5ZXIgc2V0RnJhbWU6bV92aWRlb0ZyYW1lXTsK
ICAgICAKICAgICBfX2Jsb2NrIFJlZlB0cjxXZWJWaWRlb0Z1bGxzY3JlZW5Nb2RlbE1lZGlhRWxl
bWVudD4gcHJvdGVjdCh0aGlzKTsKICAgICBXZWJUaHJlYWRSdW4oXnsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViVmlldy5tbQppbmRleCBjZDIxMWM3MDc3ZGU4NjkzZGY1NzQyODAyZjkzZGM0OTU4
ZTFiMTFmLi43ZjZmZmZhOWY3NTg5M2NiNGNkZWI4MjEzMmQxNDllZWFjYWY1NDcyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0yMjcsNyArMjI3LDYgQEAKICNpbXBvcnQg
IldlYlZpc2libGVQb3NpdGlvbi5oIgogI2ltcG9ydCA8Q0ZOZXR3b3JrL0NGVVJMQ2FjaGVQcml2
Lmg+CiAjaW1wb3J0IDxNb2JpbGVHZXN0YWx0Lmg+Ci0jaW1wb3J0IDxVSUtpdC9VSUtpdC5oPgog
I2ltcG9ydCA8V2ViQ29yZS9FdmVudE5hbWVzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ZvbnRDYWNo
ZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9HcmFwaGljc0xheWVyLmg+CkBAIC04NDA5LDcgKzg0MDgs
NyBAQCBib29sIExheWVyRmx1c2hDb250cm9sbGVyOjpmbHVzaExheWVycygpCiAgICAgICAgIF9w
cml2YXRlLT5mdWxsc2NyZWVuQ29udHJvbGxlciA9IFtbV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJv
bGxlciBhbGxvY10gaW5pdF07CiAgICAgICAgIFtfcHJpdmF0ZS0+ZnVsbHNjcmVlbkNvbnRyb2xs
ZXIgc2V0TWVkaWFFbGVtZW50OnZpZGVvRWxlbWVudF07CiAjaWYgUExBVEZPUk0oSU9TKQotICAg
ICAgICBbX3ByaXZhdGUtPmZ1bGxzY3JlZW5Db250cm9sbGVyIGVudGVyRnVsbHNjcmVlbjpbKFVJ
VmlldyAqKVtbW3NlbGYgd2luZG93XSBob3N0TGF5ZXJdIGRlbGVnYXRlXSB3aW5kb3ddXTsKKyAg
ICAgICAgW19wcml2YXRlLT5mdWxsc2NyZWVuQ29udHJvbGxlciBlbnRlckZ1bGxzY3JlZW46KFVJ
VmlldyAqKVtbW3NlbGYgd2luZG93XSBob3N0TGF5ZXJdIGRlbGVnYXRlXV07CiAjZWxzZQogICAg
ICAgICBbX3ByaXZhdGUtPmZ1bGxzY3JlZW5Db250cm9sbGVyIGVudGVyRnVsbHNjcmVlbjpbW3Nl
bGYgd2luZG93XSBzY3JlZW5dXTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW0gYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tbQpp
bmRleCA2NmJlYWI1MGY0ZGFmMTcwODllN2Y1NmI1NDhiYTA4YTI4ZjA4NTI4Li41N2RiOTIwMWY1
YzcyZGJhNThiYTZjMzRlN2I4NzkwMTQwYTRjNjBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvaW9zL1dlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tbQorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94
eS5tbQpAQCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIldlYlZpZGVvRnVsbHNjcmVlbk1hbmFn
ZXJNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eU1l
c3NhZ2VzLmgiCiAjaW5jbHVkZSA8UXVhcnR6Q29yZS9Db3JlQW5pbWF0aW9uLmg+Ci0jaW5jbHVk
ZSA8VUlLaXQvVUlLaXQuaD4KICNpbmNsdWRlIDxXZWJLaXRTeXN0ZW1JbnRlcmZhY2UuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1RpbWVSYW5nZXMuaD4KIApAQCAtNzgsNyArNzcsNyBAQCB2b2lkIFdl
YlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6c2V0dXBGdWxsc2NyZWVuV2l0aElEKHVpbnQz
Ml90IHZpZGVvTGF5ZXJJRAogICAgIEFTU0VSVCh2aWRlb0xheWVySUQpOwogICAgIG1fbGF5ZXJI
b3N0ID0gV0tNYWtlUmVuZGVyTGF5ZXIodmlkZW9MYXllcklEKTsKICAgICBVSVZpZXcgKnBhcmVu
dFZpZXcgPSB0b1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkobV9wYWdlLT5kcmF3aW5n
QXJlYSgpKS0+cmVtb3RlTGF5ZXJUcmVlSG9zdCgpLnJvb3RMYXllcigpOwotICAgIHNldHVwRnVs
bHNjcmVlbigqbV9sYXllckhvc3QuZ2V0KCksIGluaXRpYWxSZWN0LCBbcGFyZW50VmlldyB3aW5k
b3ddKTsKKyAgICBzZXR1cEZ1bGxzY3JlZW4oKm1fbGF5ZXJIb3N0LmdldCgpLCBpbml0aWFsUmVj
dCwgcGFyZW50Vmlldyk7CiB9CiAgICAgCiB2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQ
cm94eTo6c2V0U2Vla2FibGVSYW5nZXNWZWN0b3IoVmVjdG9yPHN0ZDo6cGFpcjxkb3VibGUsIGRv
dWJsZT4+JiByYW5nZXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2lv
cy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlci5tbQppbmRleCA1NWZkYTBmMGRhODc4ZGNh
NDBmNzQ3Y2I2YWQ0OTI5NmExNzJiMTNmLi42MWJjODY0OTAzZjgwNzFiM2YwYTU5YTk0NTNhOWI0
ZDUyNThmOTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2lvcy9XZWJW
aWRlb0Z1bGxzY3JlZW5NYW5hZ2VyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
aW9zL1dlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXIubW0KQEAgLTUwLDEyICs1MCwxMiBAQCB1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRpYyBJbnRS
ZWN0IHNjcmVlblJlY3RGb3JOb2RlKE5vZGUqIG5vZGUpCitzdGF0aWMgSW50UmVjdCBjbGllbnRS
ZWN0Rm9yTm9kZShOb2RlKiBub2RlKQogewogICAgIGlmICghbm9kZSB8fCAhbm9kZS0+aXNFbGVt
ZW50Tm9kZSgpKQogICAgICAgICByZXR1cm4gSW50UmVjdCgpOwogCi0gICAgcmV0dXJuIHRvRWxl
bWVudChub2RlKS0+c2NyZWVuUmVjdCgpOworICAgIHJldHVybiB0b0VsZW1lbnQobm9kZSktPmNs
aWVudFJlY3QoKTsKIH0KIAogUGFzc1JlZlB0cjxXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyPiBX
ZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyOjpjcmVhdGUoUGFzc1JlZlB0cjxXZWJQYWdlPiBwYWdl
KQpAQCAtOTcsNyArOTcsNyBAQCB2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXI6OmVudGVy
RnVsbHNjcmVlbkZvck5vZGUoTm9kZSogbm9kZSkKIAogICAgIG1fbGF5ZXJIb3N0aW5nQ29udGV4
dCA9IExheWVySG9zdGluZ0NvbnRleHQ6OmNyZWF0ZUZvckV4dGVybmFsSG9zdGluZ1Byb2Nlc3Mo
KTsKICAgICAKLSAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlZpZGVvRnVsbHNjcmVlbk1h
bmFnZXJQcm94eTo6U2V0dXBGdWxsc2NyZWVuV2l0aElEKG1fbGF5ZXJIb3N0aW5nQ29udGV4dC0+
Y29udGV4dElEKCksIHNjcmVlblJlY3RGb3JOb2RlKG5vZGUpKSwgbV9wYWdlLT5wYWdlSUQoKSk7
CisgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJv
eHk6OlNldHVwRnVsbHNjcmVlbldpdGhJRChtX2xheWVySG9zdGluZ0NvbnRleHQtPmNvbnRleHRJ
RCgpLCBjbGllbnRSZWN0Rm9yTm9kZShub2RlKSksIG1fcGFnZS0+cGFnZUlEKCkpOwogfQogCiB2
b2lkIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXI6OmV4aXRGdWxsc2NyZWVuRm9yTm9kZShOb2Rl
KiBub2RlKQpAQCAtMTA5LDcgKzEwOSw3IEBAIHZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdl
cjo6ZXhpdEZ1bGxzY3JlZW5Gb3JOb2RlKE5vZGUqIG5vZGUpCiAgICAgICAgIHJldHVybjsKIAog
ICAgIG1faXNBbmltYXRpbmcgPSB0cnVlOwotICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2Vi
VmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpFeGl0RnVsbHNjcmVlbihzY3JlZW5SZWN0Rm9y
Tm9kZShub2RlKSksIG1fcGFnZS0+cGFnZUlEKCkpOworICAgIG1fcGFnZS0+c2VuZChNZXNzYWdl
czo6V2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpFeGl0RnVsbHNjcmVlbihjbGllbnRS
ZWN0Rm9yTm9kZShub2RlKSksIG1fcGFnZS0+cGFnZUlEKCkpOwogfQogCiB2b2lkIFdlYlZpZGVv
RnVsbHNjcmVlbk1hbmFnZXI6OnNldER1cmF0aW9uKGRvdWJsZSBkdXJhdGlvbikK
</data>

          </attachment>
      

    </bug>

</bugzilla>