<?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>227448</bug_id>
          
          <creation_ts>2021-06-28 07:39:02 -0700</creation_ts>
          <short_desc>[Model] [iOS] Add support for manipulating &lt;model&gt; inline</short_desc>
          <delta_ts>2021-06-30 00:30:14 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>dino</cc>
    
    <cc>sam</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1773057</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-06-28 07:39:02 -0700</bug_when>
    <thetext>[Model] [iOS] Add support for manipulating &lt;model&gt; inline</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773058</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-28 07:39:38 -0700</bug_when>
    <thetext>&lt;rdar://problem/79863579&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773059</commentid>
    <comment_count>2</comment_count>
      <attachid>432392</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-06-28 07:46:43 -0700</bug_when>
    <thetext>Created attachment 432392
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773061</commentid>
    <comment_count>3</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-06-28 07:46:48 -0700</bug_when>
    <thetext>&lt;rdar://problem/79863579&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773118</commentid>
    <comment_count>4</comment_count>
      <attachid>432392</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-06-28 10:27:08 -0700</bug_when>
    <thetext>Comment on attachment 432392
Patch

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

&gt; Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm:74
&gt; +            if ([view isKindOfClass:[WKModelView class]])
&gt; +                return true;

I would expect this to be a WKNativelyInteractible check too?

&gt; Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm:293
&gt; +        if ([view isKindOfClass:[WKModelView class]])
&gt; +            return view;

Why does WKNativelyInteractible not do the trick?

&gt; Source/WebKit/UIProcess/ios/WKModelInteractionGestureRecognizer.mm:60
&gt; +    auto finalTouchesEnded = [touches isEqualToSet:[event touchesForGestureRecognizer:self]];
&gt; +    [self setState:finalTouchesEnded ? UIGestureRecognizerStateEnded : UIGestureRecognizerStateChanged];

What&apos;s this weirdness about? (why not just pass the event type along? Are you sure this never means you don&apos;t get Ended?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773131</commentid>
    <comment_count>5</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-06-28 10:45:46 -0700</bug_when>
    <thetext>(In reply to Tim Horton from comment #4)
&gt; Comment on attachment 432392 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=432392&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm:74
&gt; &gt; +            if ([view isKindOfClass:[WKModelView class]])
&gt; &gt; +                return true;
&gt; 
&gt; I would expect this to be a WKNativelyInteractible check too?
&gt; 
&gt; &gt; Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm:293
&gt; &gt; +        if ([view isKindOfClass:[WKModelView class]])
&gt; &gt; +            return view;
&gt; 
&gt; Why does WKNativelyInteractible not do the trick?

So you suggestI only check for WKNativelyInteractible and not WKModelView?

&gt; &gt; Source/WebKit/UIProcess/ios/WKModelInteractionGestureRecognizer.mm:60
&gt; &gt; +    auto finalTouchesEnded = [touches isEqualToSet:[event touchesForGestureRecognizer:self]];
&gt; &gt; +    [self setState:finalTouchesEnded ? UIGestureRecognizerStateEnded : UIGestureRecognizerStateChanged];
&gt; 
&gt; What&apos;s this weirdness about? (why not just pass the event type along? Are
&gt; you sure this never means you don&apos;t get Ended?

This is so the gesture recognizer doesn&apos;t enter the Ended state until the final touches for this gestures are released. Maybe it&apos;s not actually necessary to enter the Ended state and just leave it as Changed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773135</commentid>
    <comment_count>6</comment_count>
      <attachid>432392</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-06-28 10:55:08 -0700</bug_when>
    <thetext>Comment on attachment 432392
Patch

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

&gt;&gt;&gt; Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm:74
&gt;&gt;&gt; +                return true;
&gt;&gt; 
&gt;&gt; I would expect this to be a WKNativelyInteractible check too?
&gt; 
&gt; So you suggestI only check for WKNativelyInteractible and not WKModelView?

Maybe, yes. Certainly better than a WKModelView check.

On the other hand, does this mean that touch-action doesn&apos;t work on these? Maybe this is just entirely wrong, and instead you need to get them in the event regions by default?

&gt;&gt;&gt; Source/WebKit/UIProcess/ios/WKModelInteractionGestureRecognizer.mm:60
&gt;&gt;&gt; +    [self setState:finalTouchesEnded ? UIGestureRecognizerStateEnded : UIGestureRecognizerStateChanged];
&gt;&gt; 
&gt;&gt; What&apos;s this weirdness about? (why not just pass the event type along? Are you sure this never means you don&apos;t get Ended?
&gt; 
&gt; This is so the gesture recognizer doesn&apos;t enter the Ended state until the final touches for this gestures are released. Maybe it&apos;s not actually necessary to enter the Ended state and just leave it as Changed?

Oh oh oh, I was misreading it. OK, I get it now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773403</commentid>
    <comment_count>7</comment_count>
      <attachid>432478</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-06-29 07:11:53 -0700</bug_when>
    <thetext>Created attachment 432478
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773554</commentid>
    <comment_count>8</comment_count>
      <attachid>432478</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-06-29 14:38:25 -0700</bug_when>
    <thetext>Comment on attachment 432478
Patch

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

&gt; Source/WebKit/UIProcess/ios/WKModelInteractionGestureRecognizer.mm:38
&gt; +- (void)touchesBegan:(NSSet&lt;UITouch *&gt; *)touches withEvent:(UIEvent *)event

Likely you could avoid the GR and just use the UIResponder versions of these (on WKModelView directly), but this is also perfectly fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773676</commentid>
    <comment_count>9</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-06-30 00:30:14 -0700</bug_when>
    <thetext>Committed r279402 (239267@main): &lt;https://commits.webkit.org/239267@main&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432392</attachid>
            <date>2021-06-28 07:46:43 -0700</date>
            <delta_ts>2021-06-29 07:11:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227448-20210628164642.patch</filename>
            <type>text/plain</type>
            <size>18470</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MzIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBiNjI2N2M3
ZjZlOWNmMDZkZWQwMDAzM2UxZTJhMGRhOTI2NTE1N2Q3Li40ZDZiYTAwMDFkMGYxZjgzY2FlYjc2
MzdmNmEwZmY5YWNiOWRjMWJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAyMS0wNi0yOCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KKworICAgICAg
ICBbTW9kZWxdIFtpT1NdIEFkZCBzdXBwb3J0IGZvciBtYW5pcHVsYXRpbmcgPG1vZGVsPiBpbmxp
bmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzQ0
OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk4NjM1Nzk+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRGVjbGFyZSBhZGRpdGlvbmFsIEFTVklubGlu
ZVByZXZpZXcgbWV0aG9kcy4KKworICAgICAgICAqIHBhbC9zcGkvaW9zL1N5c3RlbVByZXZpZXdT
UEkuaDoKKwogMjAyMS0wNi0yNyAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4K
IAogICAgICAgICBbTW9kZWxdIFtpT1NdIEFkZCBzdXBwb3J0IGZvciByZW5kZXJpbmcgbW9kZWwg
cmVzb3VyY2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDc4NDc5ZTJhMWIyMjAzZjA5NWZlZDM1ODU5NDkwYWZkZTdh
MDgzY2MuLmI3MWJmOTdjOGI4YmRiZjM2NGQ3MjI5ZjE2ZmJlOGM1ODgzMjcxZmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMzUgQEAKKzIwMjEtMDYtMjggIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdl
YmtpdC5vcmc+CisKKyAgICAgICAgW01vZGVsXSBbaU9TXSBBZGQgc3VwcG9ydCBmb3IgbWFuaXB1
bGF0aW5nIDxtb2RlbD4gaW5saW5lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjc0NDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc5ODYzNTc5Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFTVklubGlu
ZVByZXZpZXcgaW5zdGFuY2VzIGFsbG93IGZvciBVSVRvdWNoIGFuZCBVSUV2ZW50IG9iamVjdHMg
dG8gYmUgZm9yd2FyZGVkIGluIG9yZGVyIHRvIG1hbmlwdWxhdGUKKyAgICAgICAgdGhlIG9iamVj
dCBpbmxpbmUuIFdlIGNyZWF0ZSBhIFVJR2VzdHVyZVJlY29nbml6ZXIgc3ViY2xhc3MgdGhhdCBp
cyBhdHRhY2hlZCB0byBXS01vZGVsVmlldyBhbmQgZm9yd2FyZHMKKyAgICAgICAgdG91Y2hlc0Jl
Z2FuOiBhbmQgc2ltaWxhciBVSVJlc3BvbmRlciBtZXNzYWdlcyBvdmVyIHRvIHRoZSBBU1ZJbmxp
bmVQcmV2aWV3IG1hbmFnZWQgYnkgdGhlIFdLTW9kZWxWaWV3LgorICAgICAgICBUaGlzIGFsbG93
cyBtdWx0aXBsZSA8bW9kZWw+IGVsZW1lbnRzIHRvIGJlIG1hbmlwdWxhdGVkIGF0IG9uY2UuCisK
KyAgICAgICAgV2Ugd2lsbCBhZGQgc3VwcG9ydCBmb3IgZGlzYWxsb3dpbmcgc3VjaCBpbnRlcmFj
dGlvbiB3aXRoIGFuIGF0dHJpYnV0ZSBhbmQvb3IgYSBjYWxsIHRvIHByZXZlbnREZWZhdWx0KCkK
KyAgICAgICAgYXQgYSBsYXRlciB0aW1lLgorCisgICAgICAgICogU291cmNlc0NvY29hLnR4dDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9SZW1vdGVMYXllclRyZWVW
aWV3cy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1JlbW90ZUxh
eWVyVHJlZVZpZXdzLm1tOgorICAgICAgICAoV2ViS2l0Ojpjb2xsZWN0RGVzY2VuZGFudFZpZXdz
QXRQb2ludCk6CisgICAgICAgICgtW1VJVmlldyBfd2ViX2ZpbmREZXNjZW5kYW50Vmlld0F0UG9p
bnQ6d2l0aEV2ZW50Ol0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tNb2RlbEludGVyYWN0
aW9uR2VzdHVyZVJlY29nbml6ZXIuaDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9X
S01vZGVsSW50ZXJhY3Rpb25HZXN0dXJlUmVjb2duaXplci5tbTogQWRkZWQuCisgICAgICAgICgt
W1dLTW9kZWxJbnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25pemVyIHRvdWNoZXNCZWdhbjp3aXRoRXZl
bnQ6XSk6CisgICAgICAgICgtW1dLTW9kZWxJbnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25pemVyIHRv
dWNoZXNNb3ZlZDp3aXRoRXZlbnQ6XSk6CisgICAgICAgICgtW1dLTW9kZWxJbnRlcmFjdGlvbkdl
c3R1cmVSZWNvZ25pemVyIHRvdWNoZXNFbmRlZDp3aXRoRXZlbnQ6XSk6CisgICAgICAgICgtW1dL
TW9kZWxJbnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25pemVyIHRvdWNoZXNDYW5jZWxsZWQ6d2l0aEV2
ZW50Ol0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tNb2RlbFZpZXcuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvaW9zL1dLTW9kZWxWaWV3Lm1tOgorICAgICAgICAoLVtXS01vZGVsVmlldyBp
bml0V2l0aE1vZGVsOl0pOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorCiAyMDIxLTA2LTI3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGZpeCB0aGUgaU9TIGJ1aWxkIGFmdGVyIHJkYXI6Ly83
Njc4MTg3MwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvaW9zL1N5c3Rl
bVByZXZpZXdTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2lvcy9TeXN0ZW1QcmV2
aWV3U1BJLmgKaW5kZXggNjFhZTBjMzY3YjMzYzRhZWIwNWZlODA4OTkxYTNkZWJhNDI3ZDk4MC4u
OGUyZmJjYzgzZTA2YzJkOGZkYmMzMWRlNmNhNGUyZGEzZDE5NjJhZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvaW9zL1N5c3RlbVByZXZpZXdTUEkuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9pb3MvU3lzdGVtUHJldmlld1NQSS5oCkBAIC03OSw2ICs3
OSwxMCBAQAogLSAodm9pZClzZXR1cFJlbW90ZUNvbm5lY3Rpb25XaXRoQ29tcGxldGlvbkhhbmRs
ZXI6KHZvaWQgKF4pKE5TRXJyb3IgKiBfTnVsbGFibGUgZXJyb3IpKWhhbmRsZXI7CiAtICh2b2lk
KXByZXBhcmVQcmV2aWV3T2ZGaWxlQXRVUkw6KE5TVVJMICopdXJsIGNvbXBsZXRpb25IYW5kbGVy
Oih2b2lkICheKShOU0Vycm9yICogX051bGxhYmxlIGVycm9yKSloYW5kbGVyOwogLSAodm9pZCl1
cGRhdGVGcmFtZTooQ0dSZWN0KW5ld0ZyYW1lIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShD
QUZlbmNlSGFuZGxlICogX051bGxhYmxlIGZlbmNlSGFuZGxlLCBOU0Vycm9yICogX051bGxhYmxl
IGVycm9yKSloYW5kbGVyOworLSAodm9pZCl0b3VjaGVzQmVnYW46KE5TU2V0PFVJVG91Y2ggKj4g
Kil0b3VjaGVzIHdpdGhFdmVudDoobnVsbGFibGUgVUlFdmVudCAqKWV2ZW50OworLSAodm9pZCl0
b3VjaGVzTW92ZWQ6KE5TU2V0PFVJVG91Y2ggKj4gKil0b3VjaGVzIHdpdGhFdmVudDoobnVsbGFi
bGUgVUlFdmVudCAqKWV2ZW50OworLSAodm9pZCl0b3VjaGVzRW5kZWQ6KE5TU2V0PFVJVG91Y2gg
Kj4gKil0b3VjaGVzIHdpdGhFdmVudDoobnVsbGFibGUgVUlFdmVudCAqKWV2ZW50OworLSAodm9p
ZCl0b3VjaGVzQ2FuY2VsbGVkOihOU1NldDxVSVRvdWNoICo+ICopdG91Y2hlcyB3aXRoRXZlbnQ6
KG51bGxhYmxlIFVJRXZlbnQgKilldmVudDsKIAogQGVuZAogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQK
aW5kZXggNzU5NTE5MWZjY2ExNzIyZGMzYzQzOTIzYmViYzU0YzMxYmUwMjBmYi4uMDAzYjQ1Njdl
OGZjZDVmMzg5NjQyZjU3MzliYTE1ZDQyZjY2YjM5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dApA
QCAtNDg5LDYgKzQ4OSw3IEBAIFVJUHJvY2Vzcy9pb3MvV0tHZW9sb2NhdGlvblByb3ZpZGVySU9T
T2JqQ1NlY3VyaXR5T3JpZ2luLm1tCiBVSVByb2Nlc3MvaW9zL1dLSGlnaGxpZ2h0TG9uZ1ByZXNz
R2VzdHVyZVJlY29nbml6ZXIubW0KIFVJUHJvY2Vzcy9pb3MvV0tJbWFnZUFuYWx5c2lzR2VzdHVy
ZVJlY29nbml6ZXIubW0KIFVJUHJvY2Vzcy9pb3MvV0tLZXlib2FyZFNjcm9sbGluZ0FuaW1hdG9y
Lm1tCitVSVByb2Nlc3MvaW9zL1dLTW9kZWxJbnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25pemVyLm1t
CiBVSVByb2Nlc3MvaW9zL1dLTW9kZWxWaWV3Lm1tCiBVSVByb2Nlc3MvaW9zL1dLTW91c2VEZXZp
Y2VPYnNlcnZlci5tbQogVUlQcm9jZXNzL2lvcy9XS01vdXNlR2VzdHVyZVJlY29nbml6ZXIubW0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3Mv
UmVtb3RlTGF5ZXJUcmVlVmlld3MuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxh
eWVyVHJlZS9pb3MvUmVtb3RlTGF5ZXJUcmVlVmlld3MuaAppbmRleCA0NWNlOWFhNDEyMWZhZDU4
MTUyNmU1OWE5Mzk1ZjU2ZWI4YzkxNjYxLi4wYzc3MTFhNjBkMjE5ZGFjZWE2MGE4ZTZjZjVjMjBl
ZWMzYTExMWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXll
clRyZWUvaW9zL1JlbW90ZUxheWVyVHJlZVZpZXdzLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9SZW1vdGVMYXllclRyZWVWaWV3cy5oCkBAIC02Niw2
ICs2NiwxMCBAQCBjbGFzcyBXZWJQYWdlUHJveHk7CiBAaW50ZXJmYWNlIFdLQ2hpbGRTY3JvbGxW
aWV3IDogVUlTY3JvbGxWaWV3IDxXS0NvbnRlbnRDb250cm9sbGVkPgogQGVuZAogCisjaWYgSEFW
RShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCisjaW1wb3J0ICJXS01vZGVsVmlldy5oIgorI2Vu
ZGlmCisKICNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogI2ltcG9ydCA8V2ViS2l0QWRkaXRp
b25zL1dLU2VwYXJhdGVkTW9kZWxWaWV3Lmg+CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvUmVtb3RlTGF5ZXJUcmVlVmlld3Mu
bW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1JlbW90ZUxh
eWVyVHJlZVZpZXdzLm1tCmluZGV4IGQ4ODNhNWIzNzM0OGVmNjJkMzFhM2ZkMTRhMjgzZWZlYjFk
OTRhODYuLjE3NjQ5YWQ5OTU1MWYzMmNkZGJjYjBjYTgwOTc2NzVmNzliMzgwNzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvUmVtb3RlTGF5
ZXJUcmVlVmlld3MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJU
cmVlL2lvcy9SZW1vdGVMYXllclRyZWVWaWV3cy5tbQpAQCAtNjksNiArNjksMTEgQEAgc3RhdGlj
IHZvaWQgY29sbGVjdERlc2NlbmRhbnRWaWV3c0F0UG9pbnQoVmVjdG9yPFVJVmlldyAqLCAxNj4m
IHZpZXdzQXRQb2ludCwgVUkKICAgICAgICAgICAgIGlmICghW3ZpZXcgcG9pbnRJbnNpZGU6c3Vi
dmlld1BvaW50IHdpdGhFdmVudDpldmVudF0pCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCisjaWYgSEFWRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCisgICAgICAgICAgICBpZiAo
W3ZpZXcgaXNLaW5kT2ZDbGFzczpbV0tNb2RlbFZpZXcgY2xhc3NdXSkKKyAgICAgICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKKyNlbmRpZgorCiAgICAgICAgICAgICBpZiAoIVt2aWV3IGlzS2luZE9m
Q2xhc3M6W1dLQ29tcG9zaXRpbmdWaWV3IGNsYXNzXV0pCiAgICAgICAgICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgICAgICAgICBhdXRvKiBub2RlID0gUmVtb3RlTGF5ZXJUcmVlTm9kZTo6Zm9y
Q0FMYXllcih2aWV3LmxheWVyKTsKQEAgLTI4Myw2ICsyODgsMTEgQEAgLSAoVUlWaWV3ICopX3dl
Yl9maW5kRGVzY2VuZGFudFZpZXdBdFBvaW50OihDR1BvaW50KXBvaW50IHdpdGhFdmVudDooVUlF
dmVudCAqKWUKICAgICBMT0dfV0lUSF9TVFJFQU0oVUlIaXRUZXN0aW5nLCBzdHJlYW0gPDwgKHZv
aWQqKXNlbGYgPDwgIl93ZWJfZmluZERlc2NlbmRhbnRWaWV3QXRQb2ludCAiIDw8IFdlYkNvcmU6
OkZsb2F0UG9pbnQocG9pbnQpIDw8ICIgZm91bmQgIiA8PCB2aWV3c0F0UG9pbnQuc2l6ZSgpIDw8
ICIgdmlld3MiKTsKIAogICAgIGZvciAoYXV0byAqdmlldyA6IFdURjo6bWFrZVJldmVyc2VkUmFu
Z2Uodmlld3NBdFBvaW50KSkgeworI2lmIEhBVkUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQor
ICAgICAgICBpZiAoW3ZpZXcgaXNLaW5kT2ZDbGFzczpbV0tNb2RlbFZpZXcgY2xhc3NdXSkKKyAg
ICAgICAgICAgIHJldHVybiB2aWV3OworI2VuZGlmCisKICAgICAgICAgaWYgKFt2aWV3IGNvbmZv
cm1zVG9Qcm90b2NvbDpAcHJvdG9jb2woV0tOYXRpdmVseUludGVyYWN0aWJsZSldKSB7CiAgICAg
ICAgICAgICBMT0dfV0lUSF9TVFJFQU0oVUlIaXRUZXN0aW5nLCBzdHJlYW0gPDwgIiAiIDw8ICh2
b2lkKil2aWV3IDw8ICIgaXMgbmF0aXZlbHkgaW50ZXJhY3RpYmxlIik7CiAgICAgICAgICAgICBD
R1BvaW50IHN1YnZpZXdQb2ludCA9IFt2aWV3IGNvbnZlcnRQb2ludDpwb2ludCBmcm9tVmlldzpz
ZWxmXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS01vZGVsSW50
ZXJhY3Rpb25HZXN0dXJlUmVjb2duaXplci5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1dLTW9kZWxJbnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25pemVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzk2MmVh
ZmNmYjgxMzJjY2ZjMzA0NjA4ZjRkZTJjOTliYTg2NGIzYwotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS01vZGVsSW50ZXJhY3Rpb25HZXN0dXJlUmVjb2du
aXplci5oCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWYgSEFWRShBUktJVF9JTkxJ
TkVfUFJFVklFV19JT1MpCisKKyNpbXBvcnQgIlVJS2l0U1BJLmgiCisKK0BpbnRlcmZhY2UgV0tN
b2RlbEludGVyYWN0aW9uR2VzdHVyZVJlY29nbml6ZXIgOiBVSUdlc3R1cmVSZWNvZ25pemVyCitA
ZW5kCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dL
TW9kZWxJbnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25pemVyLm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1dLTW9kZWxJbnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25pemVyLm1tCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjkxNzYyODc4OWJjNTg4MmNlYWIyNzc2MGRmNmJhMTlkOTRmZDY3YWQKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tNb2RlbEludGVyYWN0aW9uR2Vz
dHVyZVJlY29nbml6ZXIubW0KQEAgLTAsMCArMSw3NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQg
ImNvbmZpZy5oIgorI2ltcG9ydCAiV0tNb2RlbEludGVyYWN0aW9uR2VzdHVyZVJlY29nbml6ZXIu
aCIKKworI2lmIEhBVkUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQorCisjaW1wb3J0ICJSZW1v
dGVMYXllclRyZWVWaWV3cy5oIgorI2ltcG9ydCAiV0tNb2RlbFZpZXcuaCIKKyNpbXBvcnQgPFVJ
S2l0L1VJR2VzdHVyZVJlY29nbml6ZXJTdWJjbGFzcy5oPgorI2ltcG9ydCA8cGFsL3NwaS9pb3Mv
U3lzdGVtUHJldmlld1NQSS5oPgorCitAaW1wbGVtZW50YXRpb24gV0tNb2RlbEludGVyYWN0aW9u
R2VzdHVyZVJlY29nbml6ZXIKKworLSAodm9pZCl0b3VjaGVzQmVnYW46KE5TU2V0PFVJVG91Y2gg
Kj4gKil0b3VjaGVzIHdpdGhFdmVudDooVUlFdmVudCAqKWV2ZW50Cit7CisgICAgQVNTRVJUKFtl
dmVudCB0b3VjaGVzRm9yR2VzdHVyZVJlY29nbml6ZXI6c2VsZl0uY291bnQpOworCisgICAgaWYg
KCFbc2VsZi52aWV3IGlzS2luZE9mQ2xhc3M6W1dLTW9kZWxWaWV3IGNsYXNzXV0pIHsKKyAgICAg
ICAgW3NlbGYgc2V0U3RhdGU6VUlHZXN0dXJlUmVjb2duaXplclN0YXRlRmFpbGVkXTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKworICAgIFsoKFdLTW9kZWxWaWV3ICopc2VsZi52aWV3KS5wcmV2
aWV3IHRvdWNoZXNCZWdhbjp0b3VjaGVzIHdpdGhFdmVudDpldmVudF07Cit9CisKKy0gKHZvaWQp
dG91Y2hlc01vdmVkOihOU1NldDxVSVRvdWNoICo+ICopdG91Y2hlcyB3aXRoRXZlbnQ6KFVJRXZl
bnQgKilldmVudAoreworICAgIFtzZWxmIHNldFN0YXRlOlVJR2VzdHVyZVJlY29nbml6ZXJTdGF0
ZUNoYW5nZWRdOworCisgICAgWygoV0tNb2RlbFZpZXcgKilzZWxmLnZpZXcpLnByZXZpZXcgdG91
Y2hlc01vdmVkOnRvdWNoZXMgd2l0aEV2ZW50OmV2ZW50XTsKK30KKworLSAodm9pZCl0b3VjaGVz
RW5kZWQ6KE5TU2V0PFVJVG91Y2ggKj4gKil0b3VjaGVzIHdpdGhFdmVudDooVUlFdmVudCAqKWV2
ZW50Cit7CisgICAgYXV0byBmaW5hbFRvdWNoZXNFbmRlZCA9IFt0b3VjaGVzIGlzRXF1YWxUb1Nl
dDpbZXZlbnQgdG91Y2hlc0Zvckdlc3R1cmVSZWNvZ25pemVyOnNlbGZdXTsKKyAgICBbc2VsZiBz
ZXRTdGF0ZTpmaW5hbFRvdWNoZXNFbmRlZCA/IFVJR2VzdHVyZVJlY29nbml6ZXJTdGF0ZUVuZGVk
IDogVUlHZXN0dXJlUmVjb2duaXplclN0YXRlQ2hhbmdlZF07CisKKyAgICBbKChXS01vZGVsVmll
dyAqKXNlbGYudmlldykucHJldmlldyB0b3VjaGVzRW5kZWQ6dG91Y2hlcyB3aXRoRXZlbnQ6ZXZl
bnRdOworfQorCistICh2b2lkKXRvdWNoZXNDYW5jZWxsZWQ6KE5TU2V0PFVJVG91Y2ggKj4gKil0
b3VjaGVzIHdpdGhFdmVudDooVUlFdmVudCAqKWV2ZW50Cit7CisgICAgYXV0byBmaW5hbFRvdWNo
ZXNDYW5jZWxsZWQgPSBbdG91Y2hlcyBpc0VxdWFsVG9TZXQ6W2V2ZW50IHRvdWNoZXNGb3JHZXN0
dXJlUmVjb2duaXplcjpzZWxmXV07CisgICAgW3NlbGYgc2V0U3RhdGU6ZmluYWxUb3VjaGVzQ2Fu
Y2VsbGVkID8gVUlHZXN0dXJlUmVjb2duaXplclN0YXRlQ2FuY2VsbGVkIDogVUlHZXN0dXJlUmVj
b2duaXplclN0YXRlQ2hhbmdlZF07CisKKyAgICBbKChXS01vZGVsVmlldyAqKXNlbGYudmlldyku
cHJldmlldyB0b3VjaGVzQ2FuY2VsbGVkOnRvdWNoZXMgd2l0aEV2ZW50OmV2ZW50XTsKK30KKwor
QGVuZAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9X
S01vZGVsVmlldy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLTW9kZWxWaWV3LmgK
aW5kZXggNmNmZTJiMjg5N2M4ZWZkMmQ3OWNlMDY1MDMxYTY2ZmU0OTFlYmRkZi4uNjU4ZGU0MGQ3
OWJhOGQ5NWFhOTAxOWI2ZTUwNWQxZmMxZjBlYTg4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLTW9kZWxWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1dLTW9kZWxWaWV3LmgKQEAgLTMzLDcgKzMzLDcgQEAgY2xhc3MgTW9kZWw7CiAKIE9C
SkNfQ0xBU1MgQVNWSW5saW5lUHJldmlldzsKIAotQGludGVyZmFjZSBXS01vZGVsVmlldyA6IFdL
Q29tcG9zaXRpbmdWaWV3CitAaW50ZXJmYWNlIFdLTW9kZWxWaWV3IDogV0tDb21wb3NpdGluZ1Zp
ZXcgPFdLTmF0aXZlbHlJbnRlcmFjdGlibGU+CiAKIC0gKGluc3RhbmNldHlwZSlpbml0V2l0aE1v
ZGVsOihXZWJDb3JlOjpNb2RlbCYpbW9kZWwgTlNfREVTSUdOQVRFRF9JTklUSUFMSVpFUjsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLTW9kZWxWaWV3Lm1tIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLTW9kZWxWaWV3Lm1tCmluZGV4IDY0OWU3ZmJl
NDUyODFjM2VlNGM1MjEzNDE1OTI2YjNhMzlkNGI0MjUuLjZkZjZmYjZkNGJjODJiOWFiMDY2OGFl
YWYyMGRkOGM0MjUwMTY0YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XS01vZGVsVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tNb2Rl
bFZpZXcubW0KQEAgLTMwLDYgKzMwLDcgQEAKIAogI2ltcG9ydCAiTG9nZ2luZy5oIgogI2ltcG9y
dCAiUmVtb3RlTGF5ZXJUcmVlVmlld3MuaCIKKyNpbXBvcnQgIldLTW9kZWxJbnRlcmFjdGlvbkdl
c3R1cmVSZWNvZ25pemVyLmgiCiAjaW1wb3J0ICJXZWJzaXRlRGF0YVN0b3JlLmgiCiAjaW1wb3J0
IDxXZWJDb3JlL01vZGVsLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NvY29hL1F1YXJ0ekNvcmVTUEku
aD4KQEAgLTQ1LDYgKzQ2LDcgQEAgU09GVF9MSU5LX0NMQVNTKEFzc2V0Vmlld2VyLCBBU1ZJbmxp
bmVQcmV2aWV3KTsKIAogQGltcGxlbWVudGF0aW9uIFdLTW9kZWxWaWV3IHsKICAgICBSZXRhaW5Q
dHI8QVNWSW5saW5lUHJldmlldz4gX3ByZXZpZXc7CisgICAgUmV0YWluUHRyPFdLTW9kZWxJbnRl
cmFjdGlvbkdlc3R1cmVSZWNvZ25pemVyPiBfbW9kZWxJbnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25p
emVyOwogICAgIFN0cmluZyBfZmlsZVBhdGg7CiAgICAgQ0dSZWN0IF9sYXN0Qm91bmRzOwogfQpA
QCAtOTUsNiArOTcsOSBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhNb2RlbDooV2ViQ29yZTo6
TW9kZWwmKW1vZGVsCiAgICAgICAgIH1dOwogICAgIH1dOwogCisgICAgX21vZGVsSW50ZXJhY3Rp
b25HZXN0dXJlUmVjb2duaXplciA9IGFkb3B0TlMoW1tXS01vZGVsSW50ZXJhY3Rpb25HZXN0dXJl
UmVjb2duaXplciBhbGxvY10gaW5pdF0pOworICAgIFtzZWxmIGFkZEdlc3R1cmVSZWNvZ25pemVy
Ol9tb2RlbEludGVyYWN0aW9uR2VzdHVyZVJlY29nbml6ZXIuZ2V0KCldOworCiAgICAgcmV0dXJu
IHNlbGY7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IGNlNDU1MDdjZDIzNDUwYzdlZTgxOGExNjFkZGFmMjQwODM4NzE3ZjAuLmNj
ZmEwZGMxODJlYjU4ZWM1MWI1ZDQ2MGZmZmQ0MmUzOWU0Y2U5MmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTMyMSw2ICsxMzIxLDcg
QEAKIAkJNkJFOTY5Q0QxRTU0RTA1NDAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3ND
bGFzc2lmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA2QkU5NjlDQzFFNTRFMDU0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXIuaCAqLzsgfTsKIAkJNkVFODQ5QzgxMzY4RDkzOTAwMzhENDgxIC8qIFdLSW5zcGVjdG9y
UHJpdmF0ZU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNkVFODQ5QzYxMzY4RDkyRDAwMzhENDgxIC8qIFdLSW5zcGVjdG9yUHJpdmF0ZU1hYy5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTcxMTcyNUE5
MjI4RDU2NDMwMDAxODUxNCAvKiBXZWJzaXRlTGVnYWN5T3ZlcmZsb3dTY3JvbGxpbmdUb3VjaFBv
bGljeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzEx
NzI1QTgyMjhENTYzQTAwMDE4NTE0IC8qIFdlYnNpdGVMZWdhY3lPdmVyZmxvd1Njcm9sbGluZ1Rv
dWNoUG9saWN5LmggKi87IH07CisJCTcxMzRBM0RBMjYwM0I5MjUwMDYyNEJEMyAvKiBXS01vZGVs
SW50ZXJhY3Rpb25HZXN0dXJlUmVjb2duaXplci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNzEzNEEzRDkyNjAzQjgwRTAwNjI0QkQzIC8qIFdLTW9kZWxJ
bnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25pemVyLmggKi87IH07CiAJCTcxQTY3NkE2MjJDNjIzMjUw
MDdENjI5NSAvKiBXS1RvdWNoQWN0aW9uR2VzdHVyZVJlY29nbml6ZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxQTY3NkE0MjJDNjIzMTgwMDdENjI5
NSAvKiBXS1RvdWNoQWN0aW9uR2VzdHVyZVJlY29nbml6ZXIuaCAqLzsgfTsKIAkJNzFCQUE3MzMy
NUZGRDA5ODAwRDdDRDVEIC8qIFdLTW9kZWxWaWV3LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MUJBQTczMTI1RkZDQ0JBMDBEN0NENUQgLyogV0tNb2Rl
bFZpZXcuaCAqLzsgfTsKIAkJNzFGQjgxMEIyMjYwNjI3RTAwMzIzNjc3IC8qIFdlYnNpdGVTaW11
bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MUZCODEwQTIyNjA2MjdBMDAzMjM2NzcgLyogV2Vic2l0
ZVNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kuaCAqLzsgfTsKQEAgLTQ1NzksNiAr
NDU4MCw4IEBACiAJCTZEOEE5MUE1MTFGMEVGRDEwMEREMDFGRSAvKiBjb20uYXBwbGUuV2ViUHJv
Y2Vzcy5zYi5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBjb20uYXBwbGUuV2ViUHJvY2Vzcy5z
Yi5pbjsgcGF0aCA9IFdlYlByb2Nlc3MvY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW47IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZFRTg0OUM2MTM2OEQ5MkQwMDM4RDQ4MSAvKiBXS0lu
c3BlY3RvclByaXZhdGVNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV0tJ
bnNwZWN0b3JQcml2YXRlTWFjLmg7IHBhdGggPSBtYWMvV0tJbnNwZWN0b3JQcml2YXRlTWFjLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxMTcyNUE4MjI4RDU2M0EwMDAxODUxNCAv
KiBXZWJzaXRlTGVnYWN5T3ZlcmZsb3dTY3JvbGxpbmdUb3VjaFBvbGljeS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJzaXRlTGVnYWN5T3ZlcmZsb3dTY3JvbGxpbmdUb3Vj
aFBvbGljeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3MTM0QTNEODI2MDNCODBF
MDA2MjRCRDMgLyogV0tNb2RlbEludGVyYWN0aW9uR2VzdHVyZVJlY29nbml6ZXIubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXS01vZGVsSW50ZXJhY3Rpb25HZXN0
dXJlUmVjb2duaXplci5tbTsgcGF0aCA9IGlvcy9XS01vZGVsSW50ZXJhY3Rpb25HZXN0dXJlUmVj
b2duaXplci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzEzNEEzRDkyNjAzQjgw
RTAwNjI0QkQzIC8qIFdLTW9kZWxJbnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25pemVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdLTW9kZWxJbnRlcmFjdGlvbkdlc3R1cmVSZWNv
Z25pemVyLmg7IHBhdGggPSBpb3MvV0tNb2RlbEludGVyYWN0aW9uR2VzdHVyZVJlY29nbml6ZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzFBNjc2QTQyMkM2MjMxODAwN0Q2Mjk1
IC8qIFdLVG91Y2hBY3Rpb25HZXN0dXJlUmVjb2duaXplci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBXS1RvdWNoQWN0aW9uR2VzdHVyZVJlY29nbml6ZXIuaDsgcGF0aCA9IGlv
cy9XS1RvdWNoQWN0aW9uR2VzdHVyZVJlY29nbml6ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNzFBNjc2QTUyMkM2MjMxODAwN0Q2Mjk1IC8qIFdLVG91Y2hBY3Rpb25HZXN0dXJl
UmVjb2duaXplci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFdL
VG91Y2hBY3Rpb25HZXN0dXJlUmVjb2duaXplci5tbTsgcGF0aCA9IGlvcy9XS1RvdWNoQWN0aW9u
R2VzdHVyZVJlY29nbml6ZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxQkFB
NzMxMjVGRkNDQkEwMEQ3Q0Q1RCAvKiBXS01vZGVsVmlldy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBXS01vZGVsVmlldy5oOyBwYXRoID0gaW9zL1dLTW9kZWxWaWV3Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03Nzk1LDYgKzc3OTgsOCBAQAogCQkJCTkzM0RG
ODJGMUIzQkMwQjQwMEFFQTlFMyAvKiBXS0ltYWdlUHJldmlld1ZpZXdDb250cm9sbGVyLm1tICov
LAogCQkJCTJERDVFMTI3MjEwQURDN0EwMERCNjAxMiAvKiBXS0tleWJvYXJkU2Nyb2xsaW5nQW5p
bWF0b3IuaCAqLywKIAkJCQkyREQ1RTEyNjIxMEFEQzdBMDBEQjYwMTIgLyogV0tLZXlib2FyZFNj
cm9sbGluZ0FuaW1hdG9yLm1tICovLAorCQkJCTcxMzRBM0Q5MjYwM0I4MEUwMDYyNEJEMyAvKiBX
S01vZGVsSW50ZXJhY3Rpb25HZXN0dXJlUmVjb2duaXplci5oICovLAorCQkJCTcxMzRBM0Q4MjYw
M0I4MEUwMDYyNEJEMyAvKiBXS01vZGVsSW50ZXJhY3Rpb25HZXN0dXJlUmVjb2duaXplci5tbSAq
LywKIAkJCQk3MUJBQTczMTI1RkZDQ0JBMDBEN0NENUQgLyogV0tNb2RlbFZpZXcuaCAqLywKIAkJ
CQk3MUJBQTczMjI1RkZDQ0JBMDBEN0NENUQgLyogV0tNb2RlbFZpZXcubW0gKi8sCiAJCQkJOTUw
RjI4N0UyNTI0MTRFOTAwQjc0RjFDIC8qIFdLTW91c2VEZXZpY2VPYnNlcnZlci5oICovLApAQCAt
MTI4NTAsNiArMTI4NTUsNyBAQAogCQkJCTVDQUJEQzg2MjJDNDBGREUwMDFFREU4RSAvKiBXS01l
c3NhZ2VMaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzExRTE2OTQyMTJCODdDNTAwOTg1
RkY2IC8qIFdLTW9ja0Rpc3BsYXkuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxMUE4RERCMjBEREQx
QUMwMDYwRDM0RiAvKiBXS01vY2tNZWRpYURldmljZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNzEz
NEEzREEyNjAzQjkyNTAwNjI0QkQzIC8qIFdLTW9kZWxJbnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25p
emVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk3MUJBQTczMzI1RkZEMDk4MDBEN0NENUQgLyogV0tN
b2RlbFZpZXcuaCBpbiBIZWFkZXJzICovLAogCQkJCTk1MEYyODgwMjUyNDE0RUEwMEI3NEYxQyAv
KiBXS01vdXNlRGV2aWNlT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTJEQjk0Mjk5MjM0
RTdBN0YwMEU3NzZBRCAvKiBXS01vdXNlR2VzdHVyZVJlY29nbml6ZXIuaCBpbiBIZWFkZXJzICov
LAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432478</attachid>
            <date>2021-06-29 07:11:53 -0700</date>
            <delta_ts>2021-06-29 14:38:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227448-20210629161151.patch</filename>
            <type>text/plain</type>
            <size>17446</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MzIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBiNjI2N2M3
ZjZlOWNmMDZkZWQwMDAzM2UxZTJhMGRhOTI2NTE1N2Q3Li41N2IzYzYxZWRhODk1ZjYyNWQ0YmEx
ODFjYzI2NWEyYjk3MDE1NGM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAyMS0wNi0yOSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KKworICAgICAg
ICBbTW9kZWxdIFtpT1NdIEFkZCBzdXBwb3J0IGZvciBtYW5pcHVsYXRpbmcgPG1vZGVsPiBpbmxp
bmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzQ0
OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk4NjM1Nzk+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRGVjbGFyZSBhZGRpdGlvbmFsIEFTVklubGlu
ZVByZXZpZXcgbWV0aG9kcy4KKworICAgICAgICAqIHBhbC9zcGkvaW9zL1N5c3RlbVByZXZpZXdT
UEkuaDoKKwogMjAyMS0wNi0yNyAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4K
IAogICAgICAgICBbTW9kZWxdIFtpT1NdIEFkZCBzdXBwb3J0IGZvciByZW5kZXJpbmcgbW9kZWwg
cmVzb3VyY2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDc4NDc5ZTJhMWIyMjAzZjA5NWZlZDM1ODU5NDkwYWZkZTdh
MDgzY2MuLmI3YTJjMGY1NWE4Njk1ZDQ1M2JlMTA5YTEzOGI1MmYzOTY4N2I0NWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMzQgQEAKKzIwMjEtMDYtMjkgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdl
YmtpdC5vcmc+CisKKyAgICAgICAgW01vZGVsXSBbaU9TXSBBZGQgc3VwcG9ydCBmb3IgbWFuaXB1
bGF0aW5nIDxtb2RlbD4gaW5saW5lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjc0NDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc5ODYzNTc5Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFTVklubGlu
ZVByZXZpZXcgaW5zdGFuY2VzIGFsbG93IGZvciBVSVRvdWNoIGFuZCBVSUV2ZW50IG9iamVjdHMg
dG8gYmUgZm9yd2FyZGVkIGluIG9yZGVyIHRvIG1hbmlwdWxhdGUKKyAgICAgICAgdGhlIG9iamVj
dCBpbmxpbmUuIFdlIGNyZWF0ZSBhIFVJR2VzdHVyZVJlY29nbml6ZXIgc3ViY2xhc3MgdGhhdCBp
cyBhdHRhY2hlZCB0byBXS01vZGVsVmlldyBhbmQgZm9yd2FyZHMKKyAgICAgICAgdG91Y2hlc0Jl
Z2FuOiBhbmQgc2ltaWxhciBVSVJlc3BvbmRlciBtZXNzYWdlcyBvdmVyIHRvIHRoZSBBU1ZJbmxp
bmVQcmV2aWV3IG1hbmFnZWQgYnkgdGhlIFdLTW9kZWxWaWV3LgorICAgICAgICBUaGlzIGFsbG93
cyBtdWx0aXBsZSA8bW9kZWw+IGVsZW1lbnRzIHRvIGJlIG1hbmlwdWxhdGVkIGF0IG9uY2UuCisK
KyAgICAgICAgV2Ugd2lsbCBhZGQgc3VwcG9ydCBmb3IgZGlzYWxsb3dpbmcgc3VjaCBpbnRlcmFj
dGlvbiB3aXRoIGFuIGF0dHJpYnV0ZSBhbmQvb3IgYSBjYWxsIHRvIHByZXZlbnREZWZhdWx0KCkK
KyAgICAgICAgYXQgYSBsYXRlciB0aW1lLgorCisgICAgICAgICogU291cmNlc0NvY29hLnR4dDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9SZW1vdGVMYXllclRyZWVW
aWV3cy5tbToKKyAgICAgICAgKFdlYktpdDo6Y29sbGVjdERlc2NlbmRhbnRWaWV3c0F0UG9pbnQp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tNb2RlbEludGVyYWN0aW9uR2VzdHVyZVJlY29n
bml6ZXIuaDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS01vZGVsSW50ZXJhY3Rp
b25HZXN0dXJlUmVjb2duaXplci5tbTogQWRkZWQuCisgICAgICAgICgtW1dLTW9kZWxJbnRlcmFj
dGlvbkdlc3R1cmVSZWNvZ25pemVyIHRvdWNoZXNCZWdhbjp3aXRoRXZlbnQ6XSk6CisgICAgICAg
ICgtW1dLTW9kZWxJbnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25pemVyIHRvdWNoZXNNb3ZlZDp3aXRo
RXZlbnQ6XSk6CisgICAgICAgICgtW1dLTW9kZWxJbnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25pemVy
IHRvdWNoZXNFbmRlZDp3aXRoRXZlbnQ6XSk6CisgICAgICAgICgtW1dLTW9kZWxJbnRlcmFjdGlv
bkdlc3R1cmVSZWNvZ25pemVyIHRvdWNoZXNDYW5jZWxsZWQ6d2l0aEV2ZW50Ol0pOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9pb3MvV0tNb2RlbFZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9z
L1dLTW9kZWxWaWV3Lm1tOgorICAgICAgICAoLVtXS01vZGVsVmlldyBpbml0V2l0aE1vZGVsOl0p
OgorICAgICAgICAoLVtXS01vZGVsVmlldyBoaXRUZXN0OndpdGhFdmVudDpdKToKKyAgICAgICAg
KiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAyMS0wNi0yNyAgV2Vuc29u
IEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBm
aXggdGhlIGlPUyBidWlsZCBhZnRlciByZGFyOi8vNzY3ODE4NzMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2lvcy9TeXN0ZW1QcmV2aWV3U1BJLmggYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL3NwaS9pb3MvU3lzdGVtUHJldmlld1NQSS5oCmluZGV4IDYxYWUwYzM2N2Iz
M2M0YWViMDVmZTgwODk5MWEzZGViYTQyN2Q5ODAuLjhlMmZiY2M4M2UwNmMyZDhmZGJjMzFkZTZj
YTRlMmRhM2QxOTYyYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2lv
cy9TeXN0ZW1QcmV2aWV3U1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvaW9z
L1N5c3RlbVByZXZpZXdTUEkuaApAQCAtNzksNiArNzksMTAgQEAKIC0gKHZvaWQpc2V0dXBSZW1v
dGVDb25uZWN0aW9uV2l0aENvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShOU0Vycm9yICogX051
bGxhYmxlIGVycm9yKSloYW5kbGVyOwogLSAodm9pZClwcmVwYXJlUHJldmlld09mRmlsZUF0VVJM
OihOU1VSTCAqKXVybCBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoTlNFcnJvciAqIF9OdWxs
YWJsZSBlcnJvcikpaGFuZGxlcjsKIC0gKHZvaWQpdXBkYXRlRnJhbWU6KENHUmVjdCluZXdGcmFt
ZSBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoQ0FGZW5jZUhhbmRsZSAqIF9OdWxsYWJsZSBm
ZW5jZUhhbmRsZSwgTlNFcnJvciAqIF9OdWxsYWJsZSBlcnJvcikpaGFuZGxlcjsKKy0gKHZvaWQp
dG91Y2hlc0JlZ2FuOihOU1NldDxVSVRvdWNoICo+ICopdG91Y2hlcyB3aXRoRXZlbnQ6KG51bGxh
YmxlIFVJRXZlbnQgKilldmVudDsKKy0gKHZvaWQpdG91Y2hlc01vdmVkOihOU1NldDxVSVRvdWNo
ICo+ICopdG91Y2hlcyB3aXRoRXZlbnQ6KG51bGxhYmxlIFVJRXZlbnQgKilldmVudDsKKy0gKHZv
aWQpdG91Y2hlc0VuZGVkOihOU1NldDxVSVRvdWNoICo+ICopdG91Y2hlcyB3aXRoRXZlbnQ6KG51
bGxhYmxlIFVJRXZlbnQgKilldmVudDsKKy0gKHZvaWQpdG91Y2hlc0NhbmNlbGxlZDooTlNTZXQ8
VUlUb3VjaCAqPiAqKXRvdWNoZXMgd2l0aEV2ZW50OihudWxsYWJsZSBVSUV2ZW50ICopZXZlbnQ7
CiAKIEBlbmQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0IGIv
U291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IDc1OTUxOTFmY2NhMTcyMmRjM2M0
MzkyM2JlYmM1NGMzMWJlMDIwZmIuLjAwM2I0NTY3ZThmY2Q1ZjM4OTY0MmY1NzM5YmExNWQ0MmY2
NmIzOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAorKysgYi9T
b3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKQEAgLTQ4OSw2ICs0ODksNyBAQCBVSVByb2Nl
c3MvaW9zL1dLR2VvbG9jYXRpb25Qcm92aWRlcklPU09iakNTZWN1cml0eU9yaWdpbi5tbQogVUlQ
cm9jZXNzL2lvcy9XS0hpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyLm1tCiBVSVBy
b2Nlc3MvaW9zL1dLSW1hZ2VBbmFseXNpc0dlc3R1cmVSZWNvZ25pemVyLm1tCiBVSVByb2Nlc3Mv
aW9zL1dLS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvci5tbQorVUlQcm9jZXNzL2lvcy9XS01vZGVs
SW50ZXJhY3Rpb25HZXN0dXJlUmVjb2duaXplci5tbQogVUlQcm9jZXNzL2lvcy9XS01vZGVsVmll
dy5tbQogVUlQcm9jZXNzL2lvcy9XS01vdXNlRGV2aWNlT2JzZXJ2ZXIubW0KIFVJUHJvY2Vzcy9p
b3MvV0tNb3VzZUdlc3R1cmVSZWNvZ25pemVyLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1JlbW90ZUxheWVyVHJlZVZpZXdzLm1tIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9SZW1vdGVMYXllclRy
ZWVWaWV3cy5tbQppbmRleCBkODgzYTViMzczNDhlZjYyZDMxYTNmZDE0YTI4M2VmZWIxZDk0YTg2
Li40OWVmNWYwNDZhNzEzNzMwZDA2YzJmNmVlNGU2OGRkYjE2NmEwYjRjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1JlbW90ZUxheWVyVHJl
ZVZpZXdzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9p
b3MvUmVtb3RlTGF5ZXJUcmVlVmlld3MubW0KQEAgLTY5LDYgKzY5LDkgQEAgc3RhdGljIHZvaWQg
Y29sbGVjdERlc2NlbmRhbnRWaWV3c0F0UG9pbnQoVmVjdG9yPFVJVmlldyAqLCAxNj4mIHZpZXdz
QXRQb2ludCwgVUkKICAgICAgICAgICAgIGlmICghW3ZpZXcgcG9pbnRJbnNpZGU6c3Vidmlld1Bv
aW50IHdpdGhFdmVudDpldmVudF0pCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisg
ICAgICAgICAgICBpZiAoW3ZpZXcgY29uZm9ybXNUb1Byb3RvY29sOkBwcm90b2NvbChXS05hdGl2
ZWx5SW50ZXJhY3RpYmxlKV0pCisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisKICAgICAg
ICAgICAgIGlmICghW3ZpZXcgaXNLaW5kT2ZDbGFzczpbV0tDb21wb3NpdGluZ1ZpZXcgY2xhc3Nd
XSkKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgIGF1dG8qIG5vZGUg
PSBSZW1vdGVMYXllclRyZWVOb2RlOjpmb3JDQUxheWVyKHZpZXcubGF5ZXIpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLTW9kZWxJbnRlcmFjdGlvbkdlc3R1cmVS
ZWNvZ25pemVyLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tNb2RlbEludGVyYWN0
aW9uR2VzdHVyZVJlY29nbml6ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43OTYyZWFmY2ZiODEzMmNjZmMzMDQ2
MDhmNGRlMmM5OWJhODY0YjNjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1dLTW9kZWxJbnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25pemVyLmgKQEAgLTAsMCAr
MSwzMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBIQVZFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykK
KworI2ltcG9ydCAiVUlLaXRTUEkuaCIKKworQGludGVyZmFjZSBXS01vZGVsSW50ZXJhY3Rpb25H
ZXN0dXJlUmVjb2duaXplciA6IFVJR2VzdHVyZVJlY29nbml6ZXIKK0BlbmQKKworI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tNb2RlbEludGVyYWN0aW9u
R2VzdHVyZVJlY29nbml6ZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tNb2Rl
bEludGVyYWN0aW9uR2VzdHVyZVJlY29nbml6ZXIubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTE3NjI4Nzg5YmM1
ODgyY2VhYjI3NzYwZGY2YmExOWQ5NGZkNjdhZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9XS01vZGVsSW50ZXJhY3Rpb25HZXN0dXJlUmVjb2duaXplci5t
bQpAQCAtMCwwICsxLDc1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1w
b3J0ICJXS01vZGVsSW50ZXJhY3Rpb25HZXN0dXJlUmVjb2duaXplci5oIgorCisjaWYgSEFWRShB
UktJVF9JTkxJTkVfUFJFVklFV19JT1MpCisKKyNpbXBvcnQgIlJlbW90ZUxheWVyVHJlZVZpZXdz
LmgiCisjaW1wb3J0ICJXS01vZGVsVmlldy5oIgorI2ltcG9ydCA8VUlLaXQvVUlHZXN0dXJlUmVj
b2duaXplclN1YmNsYXNzLmg+CisjaW1wb3J0IDxwYWwvc3BpL2lvcy9TeXN0ZW1QcmV2aWV3U1BJ
Lmg+CisKK0BpbXBsZW1lbnRhdGlvbiBXS01vZGVsSW50ZXJhY3Rpb25HZXN0dXJlUmVjb2duaXpl
cgorCistICh2b2lkKXRvdWNoZXNCZWdhbjooTlNTZXQ8VUlUb3VjaCAqPiAqKXRvdWNoZXMgd2l0
aEV2ZW50OihVSUV2ZW50ICopZXZlbnQKK3sKKyAgICBBU1NFUlQoW2V2ZW50IHRvdWNoZXNGb3JH
ZXN0dXJlUmVjb2duaXplcjpzZWxmXS5jb3VudCk7CisKKyAgICBpZiAoIVtzZWxmLnZpZXcgaXNL
aW5kT2ZDbGFzczpbV0tNb2RlbFZpZXcgY2xhc3NdXSkgeworICAgICAgICBbc2VsZiBzZXRTdGF0
ZTpVSUdlc3R1cmVSZWNvZ25pemVyU3RhdGVGYWlsZWRdOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgWygoV0tNb2RlbFZpZXcgKilzZWxmLnZpZXcpLnByZXZpZXcgdG91Y2hlc0JlZ2Fu
OnRvdWNoZXMgd2l0aEV2ZW50OmV2ZW50XTsKK30KKworLSAodm9pZCl0b3VjaGVzTW92ZWQ6KE5T
U2V0PFVJVG91Y2ggKj4gKil0b3VjaGVzIHdpdGhFdmVudDooVUlFdmVudCAqKWV2ZW50Cit7Cisg
ICAgW3NlbGYgc2V0U3RhdGU6VUlHZXN0dXJlUmVjb2duaXplclN0YXRlQ2hhbmdlZF07CisKKyAg
ICBbKChXS01vZGVsVmlldyAqKXNlbGYudmlldykucHJldmlldyB0b3VjaGVzTW92ZWQ6dG91Y2hl
cyB3aXRoRXZlbnQ6ZXZlbnRdOworfQorCistICh2b2lkKXRvdWNoZXNFbmRlZDooTlNTZXQ8VUlU
b3VjaCAqPiAqKXRvdWNoZXMgd2l0aEV2ZW50OihVSUV2ZW50ICopZXZlbnQKK3sKKyAgICBhdXRv
IGZpbmFsVG91Y2hlc0VuZGVkID0gW3RvdWNoZXMgaXNFcXVhbFRvU2V0OltldmVudCB0b3VjaGVz
Rm9yR2VzdHVyZVJlY29nbml6ZXI6c2VsZl1dOworICAgIFtzZWxmIHNldFN0YXRlOmZpbmFsVG91
Y2hlc0VuZGVkID8gVUlHZXN0dXJlUmVjb2duaXplclN0YXRlRW5kZWQgOiBVSUdlc3R1cmVSZWNv
Z25pemVyU3RhdGVDaGFuZ2VkXTsKKworICAgIFsoKFdLTW9kZWxWaWV3ICopc2VsZi52aWV3KS5w
cmV2aWV3IHRvdWNoZXNFbmRlZDp0b3VjaGVzIHdpdGhFdmVudDpldmVudF07Cit9CisKKy0gKHZv
aWQpdG91Y2hlc0NhbmNlbGxlZDooTlNTZXQ8VUlUb3VjaCAqPiAqKXRvdWNoZXMgd2l0aEV2ZW50
OihVSUV2ZW50ICopZXZlbnQKK3sKKyAgICBhdXRvIGZpbmFsVG91Y2hlc0NhbmNlbGxlZCA9IFt0
b3VjaGVzIGlzRXF1YWxUb1NldDpbZXZlbnQgdG91Y2hlc0Zvckdlc3R1cmVSZWNvZ25pemVyOnNl
bGZdXTsKKyAgICBbc2VsZiBzZXRTdGF0ZTpmaW5hbFRvdWNoZXNDYW5jZWxsZWQgPyBVSUdlc3R1
cmVSZWNvZ25pemVyU3RhdGVDYW5jZWxsZWQgOiBVSUdlc3R1cmVSZWNvZ25pemVyU3RhdGVDaGFu
Z2VkXTsKKworICAgIFsoKFdLTW9kZWxWaWV3ICopc2VsZi52aWV3KS5wcmV2aWV3IHRvdWNoZXND
YW5jZWxsZWQ6dG91Y2hlcyB3aXRoRXZlbnQ6ZXZlbnRdOworfQorCitAZW5kCisKKyNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLTW9kZWxWaWV3LmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tNb2RlbFZpZXcuaAppbmRleCA2Y2ZlMmIyODk3
YzhlZmQyZDc5Y2UwNjUwMzFhNjZmZTQ5MWViZGRmLi42NThkZTQwZDc5YmE4ZDk1YWE5MDE5YjZl
NTA1ZDFmYzFmMGVhODg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
V0tNb2RlbFZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tNb2RlbFZp
ZXcuaApAQCAtMzMsNyArMzMsNyBAQCBjbGFzcyBNb2RlbDsKIAogT0JKQ19DTEFTUyBBU1ZJbmxp
bmVQcmV2aWV3OwogCi1AaW50ZXJmYWNlIFdLTW9kZWxWaWV3IDogV0tDb21wb3NpdGluZ1ZpZXcK
K0BpbnRlcmZhY2UgV0tNb2RlbFZpZXcgOiBXS0NvbXBvc2l0aW5nVmlldyA8V0tOYXRpdmVseUlu
dGVyYWN0aWJsZT4KIAogLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoTW9kZWw6KFdlYkNvcmU6Ok1v
ZGVsJiltb2RlbCBOU19ERVNJR05BVEVEX0lOSVRJQUxJWkVSOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tNb2RlbFZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvV0tNb2RlbFZpZXcubW0KaW5kZXggNjQ5ZTdmYmU0NTI4MWMzZWU0YzUyMTM0
MTU5MjZiM2EzOWQ0YjQyNS4uMzRmYTk3MGNkZWIyMTVmNWMzMjQ2NzE4NmZjNTUyNDVlNGIxMzE1
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLTW9kZWxWaWV3Lm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS01vZGVsVmlldy5tbQpAQCAtMzAs
NiArMzAsNyBAQAogCiAjaW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0ICJSZW1vdGVMYXllclRy
ZWVWaWV3cy5oIgorI2ltcG9ydCAiV0tNb2RlbEludGVyYWN0aW9uR2VzdHVyZVJlY29nbml6ZXIu
aCIKICNpbXBvcnQgIldlYnNpdGVEYXRhU3RvcmUuaCIKICNpbXBvcnQgPFdlYkNvcmUvTW9kZWwu
aD4KICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvUXVhcnR6Q29yZVNQSS5oPgpAQCAtNDUsNiArNDYs
NyBAQCBTT0ZUX0xJTktfQ0xBU1MoQXNzZXRWaWV3ZXIsIEFTVklubGluZVByZXZpZXcpOwogCiBA
aW1wbGVtZW50YXRpb24gV0tNb2RlbFZpZXcgewogICAgIFJldGFpblB0cjxBU1ZJbmxpbmVQcmV2
aWV3PiBfcHJldmlldzsKKyAgICBSZXRhaW5QdHI8V0tNb2RlbEludGVyYWN0aW9uR2VzdHVyZVJl
Y29nbml6ZXI+IF9tb2RlbEludGVyYWN0aW9uR2VzdHVyZVJlY29nbml6ZXI7CiAgICAgU3RyaW5n
IF9maWxlUGF0aDsKICAgICBDR1JlY3QgX2xhc3RCb3VuZHM7CiB9CkBAIC05NSw2ICs5Nyw5IEBA
IC0gKGluc3RhbmNldHlwZSlpbml0V2l0aE1vZGVsOihXZWJDb3JlOjpNb2RlbCYpbW9kZWwKICAg
ICAgICAgfV07CiAgICAgfV07CiAKKyAgICBfbW9kZWxJbnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25p
emVyID0gYWRvcHROUyhbW1dLTW9kZWxJbnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25pemVyIGFsbG9j
XSBpbml0XSk7CisgICAgW3NlbGYgYWRkR2VzdHVyZVJlY29nbml6ZXI6X21vZGVsSW50ZXJhY3Rp
b25HZXN0dXJlUmVjb2duaXplci5nZXQoKV07CisKICAgICByZXR1cm4gc2VsZjsKIH0KIApAQCAt
MTU2LDYgKzE2MSwxNCBAQCAtICh2b2lkKXVwZGF0ZUJvdW5kcwogICAgIH1dOwogfQogCistIChV
SVZpZXcgKiloaXRUZXN0OihDR1BvaW50KXBvaW50IHdpdGhFdmVudDooVUlFdmVudCAqKWV2ZW50
Cit7CisgICAgLy8gVGhlIGxheWVyIG9mIHRoaXMgdmlldyBpcyBlbXB0eSBhbmQgdGhlIHN1Ymxh
eWVyIGlzIHJlbmRlcmVkIHJlbW90ZWx5LCBzbyB0aGUgYmFzaWMgaW1wbGVtZW50YXRpb24KKyAg
ICAvLyBvZiBoaXRUZXN0OndpdGhFdmVudDogd2lsbCByZXR1cm4gbmlsIGR1ZSB0byBpZ25vcmlu
ZyBlbXB0eSBzdWJ2aWV3cy4gU28gd2UgY2FuIHNpbXBseSBjaGVjayB3aGV0aGVyCisgICAgLy8g
dGhlIGhpdC10ZXN0aW5nIHBvaW50IGlzIHdpdGhpbiBib3VuZHMuCisgICAgcmV0dXJuIFtzZWxm
IHBvaW50SW5zaWRlOnBvaW50IHdpdGhFdmVudDpldmVudF0gPyBzZWxmIDogbmlsOworfQorCiBA
ZW5kCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggY2U0NTUwN2NkMjM0NTBjN2VlODE4YTE2MWRkYWYyNDA4Mzg3MTdmMC4u
Y2NmYTBkYzE4MmViNThlYzUxYjVkNDYwZmZmZDQyZTM5ZTRjZTkyZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMzIxLDYgKzEzMjEs
NyBAQAogCQk2QkU5NjlDRDFFNTRFMDU0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0NsYXNzaWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDZCRTk2OUNDMUU1NEUwNTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xh
c3NpZmllci5oICovOyB9OwogCQk2RUU4NDlDODEzNjhEOTM5MDAzOEQ0ODEgLyogV0tJbnNwZWN0
b3JQcml2YXRlTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA2RUU4NDlDNjEzNjhEOTJEMDAzOEQ0ODEgLyogV0tJbnNwZWN0b3JQcml2YXRlTWFjLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzExNzI1
QTkyMjhENTY0MzAwMDE4NTE0IC8qIFdlYnNpdGVMZWdhY3lPdmVyZmxvd1Njcm9sbGluZ1RvdWNo
UG9saWN5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
MTE3MjVBODIyOEQ1NjNBMDAwMTg1MTQgLyogV2Vic2l0ZUxlZ2FjeU92ZXJmbG93U2Nyb2xsaW5n
VG91Y2hQb2xpY3kuaCAqLzsgfTsKKwkJNzEzNEEzREEyNjAzQjkyNTAwNjI0QkQzIC8qIFdLTW9k
ZWxJbnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25pemVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MTM0QTNEOTI2MDNCODBFMDA2MjRCRDMgLyogV0tNb2Rl
bEludGVyYWN0aW9uR2VzdHVyZVJlY29nbml6ZXIuaCAqLzsgfTsKIAkJNzFBNjc2QTYyMkM2MjMy
NTAwN0Q2Mjk1IC8qIFdLVG91Y2hBY3Rpb25HZXN0dXJlUmVjb2duaXplci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzFBNjc2QTQyMkM2MjMxODAwN0Q2
Mjk1IC8qIFdLVG91Y2hBY3Rpb25HZXN0dXJlUmVjb2duaXplci5oICovOyB9OwogCQk3MUJBQTcz
MzI1RkZEMDk4MDBEN0NENUQgLyogV0tNb2RlbFZpZXcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxQkFBNzMxMjVGRkNDQkEwMEQ3Q0Q1RCAvKiBXS01v
ZGVsVmlldy5oICovOyB9OwogCQk3MUZCODEwQjIyNjA2MjdFMDAzMjM2NzcgLyogV2Vic2l0ZVNp
bXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxRkI4MTBBMjI2MDYyN0EwMDMyMzY3NyAvKiBXZWJz
aXRlU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeS5oICovOyB9OwpAQCAtNDU3OSw2
ICs0NTgwLDggQEAKIAkJNkQ4QTkxQTUxMUYwRUZEMTAwREQwMUZFIC8qIGNvbS5hcHBsZS5XZWJQ
cm9jZXNzLnNiLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IGNvbS5hcHBsZS5XZWJQcm9jZXNz
LnNiLmluOyBwYXRoID0gV2ViUHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbjsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkVFODQ5QzYxMzY4RDkyRDAwMzhENDgxIC8qIFdL
SW5zcGVjdG9yUHJpdmF0ZU1hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBX
S0luc3BlY3RvclByaXZhdGVNYWMuaDsgcGF0aCA9IG1hYy9XS0luc3BlY3RvclByaXZhdGVNYWMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzExNzI1QTgyMjhENTYzQTAwMDE4NTE0
IC8qIFdlYnNpdGVMZWdhY3lPdmVyZmxvd1Njcm9sbGluZ1RvdWNoUG9saWN5LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYnNpdGVMZWdhY3lPdmVyZmxvd1Njcm9sbGluZ1Rv
dWNoUG9saWN5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcxMzRBM0Q4MjYwM0I4
MEUwMDYyNEJEMyAvKiBXS01vZGVsSW50ZXJhY3Rpb25HZXN0dXJlUmVjb2duaXplci5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFdLTW9kZWxJbnRlcmFjdGlvbkdl
c3R1cmVSZWNvZ25pemVyLm1tOyBwYXRoID0gaW9zL1dLTW9kZWxJbnRlcmFjdGlvbkdlc3R1cmVS
ZWNvZ25pemVyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3MTM0QTNEOTI2MDNC
ODBFMDA2MjRCRDMgLyogV0tNb2RlbEludGVyYWN0aW9uR2VzdHVyZVJlY29nbml6ZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV0tNb2RlbEludGVyYWN0aW9uR2VzdHVyZVJl
Y29nbml6ZXIuaDsgcGF0aCA9IGlvcy9XS01vZGVsSW50ZXJhY3Rpb25HZXN0dXJlUmVjb2duaXpl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MUE2NzZBNDIyQzYyMzE4MDA3RDYy
OTUgLyogV0tUb3VjaEFjdGlvbkdlc3R1cmVSZWNvZ25pemVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IFdLVG91Y2hBY3Rpb25HZXN0dXJlUmVjb2duaXplci5oOyBwYXRoID0g
aW9zL1dLVG91Y2hBY3Rpb25HZXN0dXJlUmVjb2duaXplci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk3MUE2NzZBNTIyQzYyMzE4MDA3RDYyOTUgLyogV0tUb3VjaEFjdGlvbkdlc3R1
cmVSZWNvZ25pemVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0g
V0tUb3VjaEFjdGlvbkdlc3R1cmVSZWNvZ25pemVyLm1tOyBwYXRoID0gaW9zL1dLVG91Y2hBY3Rp
b25HZXN0dXJlUmVjb2duaXplci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzFC
QUE3MzEyNUZGQ0NCQTAwRDdDRDVEIC8qIFdLTW9kZWxWaWV3LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IFdLTW9kZWxWaWV3Lmg7IHBhdGggPSBpb3MvV0tNb2RlbFZpZXcuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc3OTUsNiArNzc5OCw4IEBACiAJCQkJOTMz
REY4MkYxQjNCQzBCNDAwQUVBOUUzIC8qIFdLSW1hZ2VQcmV2aWV3Vmlld0NvbnRyb2xsZXIubW0g
Ki8sCiAJCQkJMkRENUUxMjcyMTBBREM3QTAwREI2MDEyIC8qIFdLS2V5Ym9hcmRTY3JvbGxpbmdB
bmltYXRvci5oICovLAogCQkJCTJERDVFMTI2MjEwQURDN0EwMERCNjAxMiAvKiBXS0tleWJvYXJk
U2Nyb2xsaW5nQW5pbWF0b3IubW0gKi8sCisJCQkJNzEzNEEzRDkyNjAzQjgwRTAwNjI0QkQzIC8q
IFdLTW9kZWxJbnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25pemVyLmggKi8sCisJCQkJNzEzNEEzRDgy
NjAzQjgwRTAwNjI0QkQzIC8qIFdLTW9kZWxJbnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25pemVyLm1t
ICovLAogCQkJCTcxQkFBNzMxMjVGRkNDQkEwMEQ3Q0Q1RCAvKiBXS01vZGVsVmlldy5oICovLAog
CQkJCTcxQkFBNzMyMjVGRkNDQkEwMEQ3Q0Q1RCAvKiBXS01vZGVsVmlldy5tbSAqLywKIAkJCQk5
NTBGMjg3RTI1MjQxNEU5MDBCNzRGMUMgLyogV0tNb3VzZURldmljZU9ic2VydmVyLmggKi8sCkBA
IC0xMjg1MCw2ICsxMjg1NSw3IEBACiAJCQkJNUNBQkRDODYyMkM0MEZERTAwMUVERThFIC8qIFdL
TWVzc2FnZUxpc3RlbmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMTFFMTY5NDIxMkI4N0M1MDA5
ODVGRjYgLyogV0tNb2NrRGlzcGxheS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDExQThEREIyMERE
RDFBQzAwNjBEMzRGIC8qIFdLTW9ja01lZGlhRGV2aWNlLmggaW4gSGVhZGVycyAqLywKKwkJCQk3
MTM0QTNEQTI2MDNCOTI1MDA2MjRCRDMgLyogV0tNb2RlbEludGVyYWN0aW9uR2VzdHVyZVJlY29n
bml6ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTcxQkFBNzMzMjVGRkQwOTgwMEQ3Q0Q1RCAvKiBX
S01vZGVsVmlldy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTUwRjI4ODAyNTI0MTRFQTAwQjc0RjFD
IC8qIFdLTW91c2VEZXZpY2VPYnNlcnZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkRCOTQyOTky
MzRFN0E3RjAwRTc3NkFEIC8qIFdLTW91c2VHZXN0dXJlUmVjb2duaXplci5oIGluIEhlYWRlcnMg
Ki8sCg==
</data>
<flag name="review"
          id="454505"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>