<?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>227544</bug_id>
          
          <creation_ts>2021-06-30 14:18:43 -0700</creation_ts>
          <short_desc>Selecting or dragging images that contain recognizable text is difficult in Mail compose</short_desc>
          <delta_ts>2021-07-01 13:22:18 -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>Platform</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="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>hi</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1773878</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-06-30 14:18:43 -0700</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774153</commentid>
    <comment_count>1</comment_count>
      <attachid>432707</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-07-01 10:23:04 -0700</bug_when>
    <thetext>Created attachment 432707
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774177</commentid>
    <comment_count>2</comment_count>
      <attachid>432707</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-07-01 11:17:22 -0700</bug_when>
    <thetext>Comment on attachment 432707
Patch

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

r=me

&gt; Source/WebKit/Shared/ios/InteractionInformationAtPosition.h:66
&gt; +    bool isContentEditable { false };

kinda amazed we didn&apos;t already have something for this o_0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774188</commentid>
    <comment_count>3</comment_count>
      <attachid>432707</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-07-01 11:49:20 -0700</bug_when>
    <thetext>Comment on attachment 432707
Patch

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

Thanks for the review!

&gt;&gt; Source/WebKit/Shared/ios/InteractionInformationAtPosition.h:66
&gt;&gt; +    bool isContentEditable { false };
&gt; 
&gt; kinda amazed we didn&apos;t already have something for this o_0

Me too! I think the reason for this is that most things that care about editability are rolled into either FocusedElementInfo or EditorState already, instead of this hit-testing-based mechanism (position information).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774190</commentid>
    <comment_count>4</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-07-01 11:49:33 -0700</bug_when>
    <thetext>rdar://80037228</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774229</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-01 13:22:16 -0700</bug_when>
    <thetext>Committed r279479 (239332@main): &lt;https://commits.webkit.org/239332@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 432707.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432707</attachid>
            <date>2021-07-01 10:23:04 -0700</date>
            <delta_ts>2021-07-01 13:22:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227544-20210701102303.patch</filename>
            <type>text/plain</type>
            <size>27709</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NDQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGYyZDE2ODliZTVlODUxZmEz
MDcwOWFlYmRkNDM5OTE5MjBhMjBmYmYuLjg5MTQ0YzA2NzRjZmQ5OTVkZGY1NTJhNGI2Mzk3YTk0
YmM4NzJmN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDcgQEAKKzIwMjEtMDctMDEgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgU2VsZWN0aW5nIG9yIGRy
YWdnaW5nIGltYWdlcyB0aGF0IGNvbnRhaW4gcmVjb2duaXphYmxlIHRleHQgaXMgZGlmZmljdWx0
IGluIE1haWwgY29tcG9zZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjI3NTQ0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgTG9uZyBwcmVzc2luZyBpbWFnZXMgaW4gZWRpdGFibGUgY29udGVudCBvbiBpT1Mg
aW5pdGlhdGVzIGRyYWdnaW5nLCBhbmQgYSB0YXAtYW5kLWhhbGYgZ2VzdHVyZSBvdmVyIHRoZSBp
bWFnZQorICAgICAgICBzZWxlY3RzIHRoZSBlbnRpcmUgaW1hZ2UuIEJvdGggb2YgdGhlc2UgYXJl
IGNvbW1vbiBpbnRlcmFjdGlvbnMgZm9yIGltYWdlIGF0dGFjaG1lbnRzIGluIE1haWwgY29tcG9z
ZSB0aGF0CisgICAgICAgIHRha2UgcHJlY2VkZW5jZSBvdmVyIG5ldyBMaXZlIFRleHQgaW50ZXJh
Y3Rpb25zLCBzbyB0aGVyZSdzIG5vIGFkdmFudGFnZSB0byB0cmlnZ2VyaW5nIGltYWdlIGFuYWx5
c2lzIG9uIGltYWdlcworICAgICAgICBpbiBlZGl0YWJsZSBjb250ZW50LgorCisgICAgICAgIEF2
b2lkIGRvaW5nIHRoaXMgZXh0cmEgd29yayBieSBhZGp1c3RpbmcgYC1pbWFnZUFuYWx5c2lzR2Vz
dHVyZURpZEJlZ2luOmAgdG8gYmFpbCBlYXJseSBpZiB0aGUgaW1hZ2UgaXMgaW5zaWRlCisgICAg
ICAgIGVkaXRhYmxlIGNvbnRlbnQuCisKKyAgICAgICAgVGVzdHM6ICBJbWFnZUFuYWx5c2lzVGVz
dHMuRG9Ob3RBbmFseXplSW1hZ2VzSW5FZGl0YWJsZUNvbnRlbnQKKyAgICAgICAgICAgICAgICBJ
bWFnZUFuYWx5c2lzVGVzdHMuSGFuZGxlSW1hZ2VBbmFseXplckVycm9yCisKKyAgICAgICAgKiBT
aGFyZWQvaW9zL0ludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uLmg6CisgICAgICAgICog
U2hhcmVkL2lvcy9JbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbi5tbToKKyAgICAgICAg
KFdlYktpdDo6SW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb246OmVuY29kZSBjb25zdCk6
CisgICAgICAgIChXZWJLaXQ6OkludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uOjpkZWNv
ZGUpOgorCisgICAgICAgIEFkZCBhbiBgaXNDb250ZW50RWRpdGFibGVgIGZsYWcuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL2lvcy9XS1dlYlZpZXdQcml2YXRlRm9yVGVzdGluZ0lPUy5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvaW9zL1dLV2ViVmlld1Rlc3RpbmdJT1MubW06CisgICAg
ICAgICgtW1dLV2ViVmlldyBfaW1hZ2VBbmFseXNpc0dlc3R1cmVSZWNvZ25pemVyXSk6CisKKyAg
ICAgICAgQWRkIGEgdGVzdGluZyBob29rIHRvIHJldHVybiB0aGUgZ2VzdHVyZSByZWNvZ25pemVy
IHVzZWQgdG8gdHJpZ2dlciBpbWFnZSBhbmFseXNpcy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9p
b3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9X
S0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgaW1h
Z2VBbmFseXNpc0dlc3R1cmVSZWNvZ25pemVyXSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcg
aW1hZ2VBbmFseXNpc0dlc3R1cmVEaWRCZWdpbjpdKToKKworICAgICAgICBQdWxsIGxvZ2ljIGZv
ciBhdm9pZGluZyBpbWFnZSBhbmFseXNpcyBvdXQgaW50byBhIHNlcGFyYXRlIGxhbWJkYSwgYW5k
IGFkZCBhIGNoZWNrIGZvciBgaXNDb250ZW50RWRpdGFibGVgLgorCisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
Ojpwb3NpdGlvbkluZm9ybWF0aW9uKToKKworICAgICAgICBQb3B1bGF0ZSB0aGUgYGlzQ29udGVu
dEVkaXRhYmxlYCBmbGFnIGJhc2VkIG9uIHdoZXRoZXIgb3Igbm90IHRoZSBub2RlIGZvdW5kIGJ5
IHRoZSBwb3NpdGlvbiBpbmZvcm1hdGlvbiByZXF1ZXN0CisgICAgICAgIGlzIGVkaXRhYmxlLgor
CiAyMDIxLTA2LTMwICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CiAK
ICAgICAgICAgQWRkIElEIGFuZCB2ZXJzaW9uaW5nIHN1cHBvcnQgZm9yIEFwcEhpZ2hsaWdodHMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2lvcy9JbnRlcmFjdGlvbkluZm9ybWF0
aW9uQXRQb3NpdGlvbi5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvaW9zL0ludGVyYWN0aW9uSW5m
b3JtYXRpb25BdFBvc2l0aW9uLmgKaW5kZXggMjY0MjljNjA3NjFhZTBlZThmODNmNzI3YzRjMTBi
OTAyMjY4OThmYi4uMDAyMmQxM2U1OTIzNmZmYzAyOTNlMDRmMzEwOWQzNGRiNWIzNDNhMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvaW9zL0ludGVyYWN0aW9uSW5mb3JtYXRpb25B
dFBvc2l0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvaW9zL0ludGVyYWN0aW9uSW5m
b3JtYXRpb25BdFBvc2l0aW9uLmgKQEAgLTYzLDYgKzYzLDcgQEAgc3RydWN0IEludGVyYWN0aW9u
SW5mb3JtYXRpb25BdFBvc2l0aW9uIHsKICAgICBib29sIGlzQXR0YWNobWVudCB7IGZhbHNlIH07
CiAgICAgYm9vbCBpc0FuaW1hdGVkSW1hZ2UgeyBmYWxzZSB9OwogICAgIGJvb2wgaXNFbGVtZW50
IHsgZmFsc2UgfTsKKyAgICBib29sIGlzQ29udGVudEVkaXRhYmxlIHsgZmFsc2UgfTsKICAgICBX
ZWJDb3JlOjpTY3JvbGxpbmdOb2RlSUQgY29udGFpbmVyU2Nyb2xsaW5nTm9kZUlEIHsgMCB9Owog
I2lmIEVOQUJMRShEQVRBX0RFVEVDVElPTikKICAgICBib29sIGlzRGF0YURldGVjdG9yTGluayB7
IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvSW50ZXJhY3Rp
b25JbmZvcm1hdGlvbkF0UG9zaXRpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvSW50
ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24ubW0KaW5kZXggN2VkOTQ0Mjg3ZTUxYmZkZmZi
MjhlYTJjMzRmM2EyNDgyY2I4Y2E4ZC4uOTI2MTkzZmI3MzlkNjdmMzQwYWMwNmY4ZGE2ZjhiNDI4
MGMxMTk2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvaW9zL0ludGVyYWN0aW9u
SW5mb3JtYXRpb25BdFBvc2l0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2lvcy9J
bnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbi5tbQpAQCAtNTAsNiArNTAsNyBAQCB2b2lk
IEludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBl
bmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIgPDwgaXNBdHRhY2htZW50OwogICAgIGVuY29kZXIg
PDwgaXNBbmltYXRlZEltYWdlOwogICAgIGVuY29kZXIgPDwgaXNFbGVtZW50OworICAgIGVuY29k
ZXIgPDwgaXNDb250ZW50RWRpdGFibGU7CiAgICAgZW5jb2RlciA8PCBjb250YWluZXJTY3JvbGxp
bmdOb2RlSUQ7CiAgICAgZW5jb2RlciA8PCBhZGp1c3RlZFBvaW50Rm9yTm9kZVJlc3BvbmRpbmdU
b0NsaWNrRXZlbnRzOwogICAgIGVuY29kZXIgPDwgdXJsOwpAQCAtMTI4LDYgKzEyOSw5IEBAIGJv
b2wgSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb246OmRlY29kZShJUEM6OkRlY29kZXIm
IGRlY29kZXIsIEludGVyYWN0aW9uCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuaXNF
bGVtZW50KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYgKCFkZWNvZGVyLmRlY29k
ZShyZXN1bHQuaXNDb250ZW50RWRpdGFibGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5jb250YWluZXJTY3JvbGxpbmdOb2RlSUQpKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9pb3MvV0tXZWJWaWV3UHJpdmF0ZUZvclRlc3RpbmdJT1MuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3UHJpdmF0ZUZvclRlc3RpbmdJT1MuaAppbmRl
eCAxM2EzZTQzOGE0M2U0NTU1NjUwZjBkMjA4NDYzODU3ZGM5MWZhYTBmLi5kODFhYjllNTQ3NDcw
YTliYTEwZTljMTYzZmZlZGI2NTc2ZDZlMDA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvaW9zL1dLV2ViVmlld1ByaXZhdGVGb3JUZXN0aW5nSU9TLmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2lvcy9XS1dlYlZpZXdQcml2YXRlRm9yVGVzdGluZ0lP
Uy5oCkBAIC0zMCw2ICszMCw3IEBACiAKIEBjbGFzcyBfV0tUZXh0SW5wdXRDb250ZXh0OwogQGNs
YXNzIFVJRXZlbnRBdHRyaWJ1dGlvbjsKK0BjbGFzcyBVSUdlc3R1cmVSZWNvZ25pemVyOwogQGNs
YXNzIFVJV0tEb2N1bWVudENvbnRleHQ7CiBAY2xhc3MgVUlXS0RvY3VtZW50UmVxdWVzdDsKIApA
QCAtNDUsNiArNDYsNyBAQAogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBDR1JlY3Qg
X2RyYWdDYXJldFJlY3Q7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIGdldHRlcj1f
aXNBbmltYXRpbmdEcmFnQ2FuY2VsKSBCT09MIF9hbmltYXRpbmdEcmFnQ2FuY2VsOwogQHByb3Bl
cnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBDR1JlY3QgX3RhcEhpZ2hsaWdodFZpZXdSZWN0Owor
QHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBVSUdlc3R1cmVSZWNvZ25pemVyICpfaW1h
Z2VBbmFseXNpc0dlc3R1cmVSZWNvZ25pemVyOwogCiAtICh2b2lkKWtleWJvYXJkQWNjZXNzb3J5
QmFyTmV4dDsKIC0gKHZvaWQpa2V5Ym9hcmRBY2Nlc3NvcnlCYXJQcmV2aW91czsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3VGVzdGluZ0lPUy5t
bSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3VGVzdGluZ0lPUy5t
bQppbmRleCBjZTFmYmUwYWQ5ZTdlZTZjZDM3YTYwMjk3YjZhMmY1ZTdiZjRhYjFmLi41M2NmNzRm
OWQzNTQwZmVmMTU4OWY5MTg4NTY4NzZkNDBhMGZhZDgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvaW9zL1dLV2ViVmlld1Rlc3RpbmdJT1MubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL2lvcy9XS1dlYlZpZXdUZXN0aW5nSU9TLm1tCkBAIC0zNDEs
NiArMzQxLDExIEBAIC0gKENHUmVjdClfdGFwSGlnaGxpZ2h0Vmlld1JlY3QKICAgICByZXR1cm4g
W19jb250ZW50VmlldyB0YXBIaWdobGlnaHRWaWV3UmVjdF07CiB9CiAKKy0gKFVJR2VzdHVyZVJl
Y29nbml6ZXIgKilfaW1hZ2VBbmFseXNpc0dlc3R1cmVSZWNvZ25pemVyCit7CisgICAgcmV0dXJu
IFtfY29udGVudFZpZXcgaW1hZ2VBbmFseXNpc0dlc3R1cmVSZWNvZ25pemVyXTsKK30KKwogLSAo
dm9pZClfc2ltdWxhdGVFbGVtZW50QWN0aW9uOihfV0tFbGVtZW50QWN0aW9uVHlwZSlhY3Rpb25U
eXBlIGF0TG9jYXRpb246KENHUG9pbnQpbG9jYXRpb24KIHsKICAgICBbX2NvbnRlbnRWaWV3IF9z
aW11bGF0ZUVsZW1lbnRBY3Rpb246YWN0aW9uVHlwZSBhdExvY2F0aW9uOmxvY2F0aW9uXTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJh
Y3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJh
Y3Rpb24uaAppbmRleCA1NDZkMzQ2NWEzZTBkM2ZjMGMzNDg5NzRlNjllMWM3Nzc0ZDhmMzkzLi4z
NTZiMzMzMjYyOGVlMWM1MmVhZjZhY2UwZDAwM2M4MGM1YjYxOWI0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCkBA
IC01NDUsNiArNTQ1LDcgQEAgdXNpbmcgSW1hZ2VBbmFseXNpc1JlcXVlc3RJZGVudGlmaWVyID0g
T2JqZWN0SWRlbnRpZmllcjxJbWFnZUFuYWx5c2lzUmVxdWVzdElkZW4KIEBwcm9wZXJ0eSAobm9u
YXRvbWljLCByZWFkb25seSkgTlNBcnJheTxXS0RlZmVycmluZ0dlc3R1cmVSZWNvZ25pemVyICo+
ICpkZWZlcnJpbmdHZXN0dXJlczsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgV2Vi
S2l0OjpHZXN0dXJlUmVjb2duaXplckNvbnNpc3RlbmN5RW5mb3JjZXImIGdlc3R1cmVSZWNvZ25p
emVyQ29uc2lzdGVuY3lFbmZvcmNlcjsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkg
Q0dSZWN0IHRhcEhpZ2hsaWdodFZpZXdSZWN0OworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRv
bmx5KSBVSUdlc3R1cmVSZWNvZ25pemVyICppbWFnZUFuYWx5c2lzR2VzdHVyZVJlY29nbml6ZXI7
CiAKICNpZiBFTkFCTEUoREFUQUxJU1RfRUxFTUVOVCkKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBz
dHJvbmcpIFVJVmlldyA8V0tGb3JtQ29udHJvbD4gKmRhdGFMaXN0VGV4dFN1Z2dlc3Rpb25zSW5w
dXRWaWV3OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXdJbnRlcmFjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24ubW0KaW5kZXggN2E2OTA1ZTljMzRkZmE0MmFiYjU4MDZhNTUwYTRj
NWRiZTRkY2ViMC4uMzdlNmIzNzljYmYyYzdmZDRiOTJlOGFlYjI3NTQzNWYzNzQ4OGY0MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFj
dGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0lu
dGVyYWN0aW9uLm1tCkBAIC0yMDMwLDYgKzIwMzAsMTUgQEAgLSAoQ0dSZWN0KXRhcEhpZ2hsaWdo
dFZpZXdSZWN0CiAgICAgcmV0dXJuIFtfaGlnaGxpZ2h0VmlldyBmcmFtZV07CiB9CiAKKy0gKFVJ
R2VzdHVyZVJlY29nbml6ZXIgKilpbWFnZUFuYWx5c2lzR2VzdHVyZVJlY29nbml6ZXIKK3sKKyNp
ZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCisgICAgcmV0dXJuIF9pbWFnZUFuYWx5c2lzR2VzdHVy
ZVJlY29nbml6ZXIuZ2V0KCk7CisjZWxzZQorICAgIHJldHVybiBuaWw7CisjZW5kaWYKK30KKwog
LSAodm9pZClfc2hvd1RhcEhpZ2hsaWdodAogewogICAgIGF1dG8gc2hvdWxkUGFpbnRUYXBIaWdo
bGlnaHQgPSBbJl0oY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiByZWN0KSB7CkBAIC0xMDEwOSw4
ICsxMDExOCw2IEBAIC0gKEJPT0wpdmFsaWRhdGVJbWFnZUFuYWx5c2lzUmVxdWVzdElkZW50aWZp
ZXI6KFdlYktpdDo6SW1hZ2VBbmFseXNpc1JlcXVlc3RJZGVuCiAgICAgcmV0dXJuIE5POwogfQog
Ci0jcHJhZ21hIG1hcmsgLSBXS0ltYWdlQW5hbHlzaXNHZXN0dXJlUmVjb2duaXplckRlbGVnYXRl
Ci0KIC0gKHZvaWQpcmVxdWVzdFRleHRSZWNvZ25pdGlvbjooTlNVUkwgKilpbWFnZVVSTCBpbWFn
ZURhdGE6KGNvbnN0IFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmKWltYWdlRGF0YSBj
b21wbGV0aW9uSGFuZGxlcjooQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpUZXh0UmVj
b2duaXRpb25SZXN1bHQmJik+JiYpY29tcGxldGlvbgogewogICAgIGF1dG8gaW1hZ2VCaXRtYXAg
PSBXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6Y3JlYXRlKGltYWdlRGF0YSk7CkBAIC0xMDEzNyw2
ICsxMDE0NCw4IEBAIC0gKHZvaWQpcmVxdWVzdFRleHRSZWNvZ25pdGlvbjooTlNVUkwgKilpbWFn
ZVVSTCBpbWFnZURhdGE6KGNvbnN0IFdlYktpdDo6U2hhcmVhCiAgICAgfSkuZ2V0KCldOwogfQog
CisjcHJhZ21hIG1hcmsgLSBXS0ltYWdlQW5hbHlzaXNHZXN0dXJlUmVjb2duaXplckRlbGVnYXRl
CisKIC0gKHZvaWQpaW1hZ2VBbmFseXNpc0dlc3R1cmVEaWRCZWdpbjooV0tJbWFnZUFuYWx5c2lz
R2VzdHVyZVJlY29nbml6ZXIgKilnZXN0dXJlUmVjb2duaXplcgogewogICAgIEFTU0VSVChXZWJL
aXQ6OmlzTGl2ZVRleHRBdmFpbGFibGVBbmRFbmFibGVkKCkpOwpAQCAtMTAxNjQsNyArMTAxNzMs
MjUgQEAgLSAodm9pZClpbWFnZUFuYWx5c2lzR2VzdHVyZURpZEJlZ2luOihXS0ltYWdlQW5hbHlz
aXNHZXN0dXJlUmVjb2duaXplciAqKWdlc3R1cmUKICAgICAgICAgaWYgKCFbc3Ryb25nU2VsZiB2
YWxpZGF0ZUltYWdlQW5hbHlzaXNSZXF1ZXN0SWRlbnRpZmllcjpyZXF1ZXN0SWRlbnRpZmllcl0p
CiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgYm9vbCBzaG91bGRBbmFseXplSW1hZ2VB
dExvY2F0aW9uID0gaW5mb3JtYXRpb24uaXNJbWFnZSAmJiBpbmZvcm1hdGlvbi5pbWFnZSAmJiBp
bmZvcm1hdGlvbi5pbWFnZUVsZW1lbnRDb250ZXh0ICYmICFpbmZvcm1hdGlvbi5pc0FuaW1hdGVk
SW1hZ2U7CisgICAgICAgIGJvb2wgc2hvdWxkQW5hbHl6ZUltYWdlQXRMb2NhdGlvbiA9IChbJl0g
eworICAgICAgICAgICAgaWYgKCFpbmZvcm1hdGlvbi5pc0ltYWdlKQorICAgICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgICAgICAgICAgaWYgKCFpbmZvcm1hdGlvbi5pbWFnZSkKKyAg
ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgIGlmICghaW5mb3JtYXRp
b24uaW1hZ2VFbGVtZW50Q29udGV4dCkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICAgICAgICAgIGlmIChpbmZvcm1hdGlvbi5pc0FuaW1hdGVkSW1hZ2UpCisgICAgICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgICAgICBpZiAoaW5mb3JtYXRpb24uaXNDb250
ZW50RWRpdGFibGUpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfSkoKTsKKwogICAgICAgICBpZiAoIXN0cm9uZ1NlbGYt
Pl9wZW5kaW5nSW1hZ2VBbmFseXNpc1JlcXVlc3RJZGVudGlmaWVyIHx8ICFzaG91bGRBbmFseXpl
SW1hZ2VBdExvY2F0aW9uKSB7CiAgICAgICAgICAgICBbc3Ryb25nU2VsZiBfaW52b2tlQWxsQWN0
aW9uc1RvUGVyZm9ybUFmdGVyUGVuZGluZ0ltYWdlQW5hbHlzaXM6V2ViS2l0OjpQcm9jZWVkV2l0
aFRleHRTZWxlY3Rpb25JbkltYWdlOjpOb107CiAgICAgICAgICAgICByZXR1cm47CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbSBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4
IGVhMWMxZTU5ODBiM2I2MjFhNDE5MWFlNWIwZGE0MWEzZmUwOWQ5YTIuLmE0MDg1YTdhYzg2Nzcw
MjBmYmM2MmUwNzQyMDJiYTQyZDcyOWU4NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCkBAIC0zMDc1LDYgKzMwNzUsNyBAQCBJ
bnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbiBXZWJQYWdlOjpwb3NpdGlvbkluZm9ybWF0
aW9uKGNvbnN0IEludGVyYWN0aW9uSQogICAgIEZsb2F0UG9pbnQgYWRqdXN0ZWRQb2ludDsKICAg
ICBhdXRvKiBub2RlUmVzcG9uZGluZ1RvQ2xpY2tFdmVudHMgPSBtX3BhZ2UtPm1haW5GcmFtZSgp
Lm5vZGVSZXNwb25kaW5nVG9DbGlja0V2ZW50cyhyZXF1ZXN0LnBvaW50LCBhZGp1c3RlZFBvaW50
KTsKIAorICAgIGluZm8uaXNDb250ZW50RWRpdGFibGUgPSBub2RlUmVzcG9uZGluZ1RvQ2xpY2tF
dmVudHMgJiYgbm9kZVJlc3BvbmRpbmdUb0NsaWNrRXZlbnRzLT5pc0NvbnRlbnRFZGl0YWJsZSgp
OwogICAgIGluZm8uYWRqdXN0ZWRQb2ludEZvck5vZGVSZXNwb25kaW5nVG9DbGlja0V2ZW50cyA9
IGFkanVzdGVkUG9pbnQ7CiAKICAgICBpZiAocmVxdWVzdC5pbmNsdWRlSGFzRG91YmxlQ2xpY2tI
YW5kbGVyKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IGE2MmNkOTEyY2JjOWU2MTA4ZWYyNDQ5MjkyM2Y5Nzg4NWI1N2Q0ODIuLjNhZDhkNzc2MDgy
MzBjMGEzNzEzMTY4ZDRiZGRjYzBkMTQ5MzNmMmQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxv
ZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAyMS0wNy0wMSAgV2Vu
c29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBTZWxlY3Rpbmcg
b3IgZHJhZ2dpbmcgaW1hZ2VzIHRoYXQgY29udGFpbiByZWNvZ25pemFibGUgdGV4dCBpcyBkaWZm
aWN1bHQgaW4gTWFpbCBjb21wb3NlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjc1NDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBTZWUgV2ViS2l0L0NoYW5nZUxvZyBmb3IgbW9yZSBkZXRhaWxzLgorCisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9UZXN0V2ViS2l0QVBJLnhjY29u
ZmlnOgorCisgICAgICAgIExpbmsgYWdhaW5zdCBWaXNpb25LaXRDb3JlIG9uIGlPUyAxNSsgYW5k
IG1hY09TIDEyKy4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvV2Vi
S2l0VGFyZ2V0Q29uZGl0aW9uYWxzLnhjY29uZmlnOgorCisgICAgICAgIFVwZGF0ZSBXZWJLaXRU
YXJnZXRDb25kaXRpb25hbHMgdG8gYmUgY29uc2lzdGVudCB3aXRoIHRoZSBvdGhlciB0YXJnZXQg
Y29uZGl0aW9ucyBpbiBXZWJLaXQsIHNvIHRoYXQgd2UgY2FuIHVzZQorICAgICAgICBgSU9TX1NJ
TkNFXzE1YCBpbiBUZXN0V2ViS2l0QVBJLnhjY29uZmlnLgorCisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9JbWFnZUFuYWx5c2lzVGVzdHMubW06IEFk
ZGVkLgorCisgICAgICAgIEFkZCBuZXcgQVBJIHRlc3RzIHRoYXQgdHJpZ2dlciB0aGUgaW1hZ2Ug
YW5hbHlzaXMgZ2VzdHVyZSByZWNvZ25pemVyIGFuZCBjaGVjayB3aGV0aGVyIG9yIG5vdCB3ZSBy
ZXF1ZXN0ZWQgaW1hZ2UKKyAgICAgICAgYW5hbHlzaXMgZnJvbSBWaXNpb25LaXQuCisKKyAgICAg
ICAgKFRlc3RXZWJLaXRBUEk6OnN3aXp6bGVkTG9jYXRpb25JblZpZXcpOgorICAgICAgICAoVGVz
dFdlYktpdEFQSTo6c3dpenpsZWRQcm9jZXNzUmVxdWVzdCk6CisKIDIwMjEtMDYtMzAgIEpvbmF0
aGFuIEJlZGFyZCAgPGpiZWRhcmRAYXBwbGUuY29tPgogCiAgICAgICAgIFt3ZWJraXRzY21weV0g
Q2FjaGUgaWRlbnRpZmllcnMgaW4gR2l0IGNoZWNrb3V0cwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9UZXN0V2ViS2l0QVBJLnhjY29uZmlnIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9UZXN0V2ViS2l0QVBJLnhjY29uZmlnCmluZGV4
IGJmOWUwNjY1ZDQ1MzJmZDNkMDY4NzNjNzNjNzdiMWRmNGIyOWJhZjEuLmZjYjgyYmFmZTc2MGE1
MTIwYTIyNWJiZGIyNDYzYmE5YzMwZTIzZTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvQ29uZmlndXJhdGlvbnMvVGVzdFdlYktpdEFQSS54Y2NvbmZpZworKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL1Rlc3RXZWJLaXRBUEkueGNjb25maWcKQEAgLTU0LDYg
KzU0LDExIEBAIFdLX0hJRF9MREZMQUdTID0gJChXS19ISURfTERGTEFHU18kKFdLX1BMQVRGT1JN
X05BTUUpKTsKIFdLX0hJRF9MREZMQUdTX21hY29zeCA9ICQoV0tfSElEX0xERkxBR1MkKFdLX01B
Q09TXzEwMTUpKTsKIFdLX0hJRF9MREZMQUdTX01BQ09TX1NJTkNFXzEwMTUgPSAtZnJhbWV3b3Jr
IEhJRDsKIAorV0tfVklTSU9OS0lUQ09SRV9MREZMQUdTID0gJChXS19WSVNJT05LSVRDT1JFX0xE
RkxBR1NfJChXS19QTEFURk9STV9OQU1FKSk7CitXS19WSVNJT05LSVRDT1JFX0xERkxBR1NfaXBo
b25lb3MgPSAkKFdLX1ZJU0lPTktJVENPUkVfTERGTEFHUyQoV0tfSU9TXzE1KSk7CitXS19WSVNJ
T05LSVRDT1JFX0xERkxBR1NfaXBob25lc2ltdWxhdG9yID0gJChXS19WSVNJT05LSVRDT1JFX0xE
RkxBR1MkKFdLX0lPU18xNSkpOworV0tfVklTSU9OS0lUQ09SRV9MREZMQUdTX0lPU19TSU5DRV8x
NSA9IC1mcmFtZXdvcmsgVmlzaW9uS2l0Q29yZTsKKwogV0tfT1BFTkdMX0xERkxBR1MgPSAkKFdL
X09QRU5HTF9MREZMQUdTXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogV0tfT1BFTkdMX0xERkxBR1Nf
aXBob25lb3MgPSAtZnJhbWV3b3JrIE9wZW5HTEVTOwogV0tfT1BFTkdMX0xERkxBR1NfbWFjY2F0
YWx5c3QgPSAtZnJhbWV3b3JrIE9wZW5HTDsKQEAgLTgxLDcgKzg2LDcgQEAgV0tfVUlLSVRNQUNI
RUxQRVJfTERGTEFHU19tYWNjYXRhbHlzdCA9IC1mcmFtZXdvcmsgVUlLaXRNYWNIZWxwZXI7CiAK
IE9USEVSX0NQTFVTUExVU0ZMQUdTID0gJChpbmhlcml0ZWQpIC1pc3lzdGVtICQoU0RLUk9PVCkv
U3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9TeXN0ZW0uZnJhbWV3b3JrL1ByaXZhdGVIZWFkZXJz
OwogCi1PVEhFUl9MREZMQUdTID0gJChpbmhlcml0ZWQpIC1sZ3Rlc3QgLWZvcmNlX2xvYWQgJChC
VUlMVF9QUk9EVUNUU19ESVIpL2xpYlRlc3RXZWJLaXRBUEkuYSAtZnJhbWV3b3JrIEphdmFTY3Jp
cHRDb3JlIC1mcmFtZXdvcmsgV2ViS2l0IC1sV2ViQ29yZVRlc3RTdXBwb3J0ICQoV0tfQVVUSEtJ
VF9MREZMQUdTKSAtZnJhbWV3b3JrIE5ldHdvcmsgJChXS19ISURfTERGTEFHUykgJChXS19PUEVO
R0xfTERGTEFHUykgJChXS19QREZLSVRfTERGTEFHUykgJChXS19TWVNURU1fTERGTEFHUykgJChX
S19VSUtJVE1BQ0hFTFBFUl9MREZMQUdTKSAkKE9USEVSX0xERkxBR1NfUExBVEZPUk1fJChXS19D
T0NPQV9UT1VDSCkpOworT1RIRVJfTERGTEFHUyA9ICQoaW5oZXJpdGVkKSAtbGd0ZXN0IC1mb3Jj
ZV9sb2FkICQoQlVJTFRfUFJPRFVDVFNfRElSKS9saWJUZXN0V2ViS2l0QVBJLmEgLWZyYW1ld29y
ayBKYXZhU2NyaXB0Q29yZSAtZnJhbWV3b3JrIFdlYktpdCAtbFdlYkNvcmVUZXN0U3VwcG9ydCAk
KFdLX0FVVEhLSVRfTERGTEFHUykgLWZyYW1ld29yayBOZXR3b3JrICQoV0tfSElEX0xERkxBR1Mp
ICQoV0tfT1BFTkdMX0xERkxBR1MpICQoV0tfUERGS0lUX0xERkxBR1MpICQoV0tfU1lTVEVNX0xE
RkxBR1MpICQoV0tfVUlLSVRNQUNIRUxQRVJfTERGTEFHUykgJChXS19WSVNJT05LSVRDT1JFX0xE
RkxBR1MpICQoT1RIRVJfTERGTEFHU19QTEFURk9STV8kKFdLX0NPQ09BX1RPVUNIKSk7CiBPVEhF
Ul9MREZMQUdTX1BMQVRGT1JNXyA9IC1mcmFtZXdvcmsgQ29jb2EgLWZyYW1ld29yayBDYXJib247
CiAKIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBub3QgYmUgYnVpbHQgb24gaU9TLiBJbnN0ZWFkIHdl
IHNob3VsZCBjcmVhdGUgYW5kIHVzZSBhIFRlc3RXZWJLaXRBUEkgYXBwbGljYXRpb24uCmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL1dlYktpdFRhcmdldENv
bmRpdGlvbmFscy54Y2NvbmZpZyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMv
V2ViS2l0VGFyZ2V0Q29uZGl0aW9uYWxzLnhjY29uZmlnCmluZGV4IDI4MmU3YmU4ZmRiYzcyZWZh
NmQ3NzM5MWJiZTA2NDViYTM2M2RlNzYuLjM1YzUzNzQ3NDUyMGIyNjU5N2UwNWM1YzRhYzZhOGI0
YWU1MGUzNDcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMv
V2ViS2l0VGFyZ2V0Q29uZGl0aW9uYWxzLnhjY29uZmlnCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvQ29uZmlndXJhdGlvbnMvV2ViS2l0VGFyZ2V0Q29uZGl0aW9uYWxzLnhjY29uZmlnCkBAIC0x
LDQgKzEsNCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKy8vIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAvLwogLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAvLyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTcxLDYgKzcxLDEzIEBA
IFdLX01BQ09TX0JFRk9SRV8xMjAwXzEwMTQwMCA9IFlFUzsKIFdLX01BQ09TX0JFRk9SRV8xMjAw
XzEwMTUwMCA9IFlFUzsKIFdLX01BQ09TX0JFRk9SRV8xMjAwXzExMDAwMCA9IFlFUzsKIAorV0tf
TUFDT1NfQkVGT1JFXzEzMDAgPSAkKFdLX01BQ09TX0JFRk9SRV8xMzAwXyQoVEFSR0VUX01BQ19P
U19YX1ZFUlNJT05fTUFKT1IpKTsKK1dLX01BQ09TX0JFRk9SRV8xMzAwXzEwMTMwMCA9IFlFUzsK
K1dLX01BQ09TX0JFRk9SRV8xMzAwXzEwMTQwMCA9IFlFUzsKK1dLX01BQ09TX0JFRk9SRV8xMzAw
XzEwMTUwMCA9IFlFUzsKK1dLX01BQ09TX0JFRk9SRV8xMzAwXzExMDAwMCA9IFlFUzsKK1dLX01B
Q09TX0JFRk9SRV8xMzAwXzEyMDAwMCA9IFlFUzsKKwogV0tfTUFDT1NfMTAxNCA9ICQoV0tfTUFD
T1NfMTAxNF8kKFdLX01BQ09TX0JFRk9SRV8xMDE0KSk7CiBXS19NQUNPU18xMDE0XyA9IF9NQUNP
U19TSU5DRV8xMDE0OwogV0tfTUFDT1NfMTAxNF9ZRVMgPSBfTUFDT1NfQkVGT1JFXzEwMTQ7CkBA
IC05MSw2ICs5OCwxMCBAQCBXS19NQUNPU18xMDE0XzEyMDAgPSAkKFdLX01BQ09TXzEwMTRfMTIw
MF8kKFdLX01BQ09TX0JFRk9SRV8xMDE0KSk7CiBXS19NQUNPU18xMDE0XzEyMDBfID0gJChXS19N
QUNPU18xMjAwKTsKIFdLX01BQ09TXzEwMTRfMTIwMF9ZRVMgPSBfTUFDT1NfQkVGT1JFXzEwMTQ7
CiAKK1dLX01BQ09TXzEwMTRfMTMwMCA9ICQoV0tfTUFDT1NfMTAxNF8xMzAwXyQoV0tfTUFDT1Nf
QkVGT1JFXzEwMTQpKTsKK1dLX01BQ09TXzEwMTRfMTMwMF8gPSAkKFdLX01BQ09TXzEzMDApOwor
V0tfTUFDT1NfMTAxNF8xMzAwX1lFUyA9IF9NQUNPU19CRUZPUkVfMTAxNDsKKwogV0tfTUFDT1Nf
MTAxNSA9ICQoV0tfTUFDT1NfMTAxNV8kKFdLX01BQ09TX0JFRk9SRV8xMDE1KSk7CiBXS19NQUNP
U18xMDE1XyA9IF9NQUNPU19TSU5DRV8xMDE1OwogV0tfTUFDT1NfMTAxNV9ZRVMgPSBfTUFDT1Nf
QkVGT1JFXzEwMTU7CkBAIC0xMDcsNiArMTE4LDEwIEBAIFdLX01BQ09TXzEwMTVfMTIwMCA9ICQo
V0tfTUFDT1NfMTAxNV8xMjAwXyQoV0tfTUFDT1NfQkVGT1JFXzEwMTUpKTsKIFdLX01BQ09TXzEw
MTVfMTIwMF8gPSAkKFdLX01BQ09TXzEyMDApOwogV0tfTUFDT1NfMTAxNV8xMjAwX1lFUyA9IF9N
QUNPU19CRUZPUkVfMTAxNTsKIAorV0tfTUFDT1NfMTAxNV8xMzAwID0gJChXS19NQUNPU18xMDE1
XzEzMDBfJChXS19NQUNPU19CRUZPUkVfMTAxNSkpOworV0tfTUFDT1NfMTAxNV8xMzAwXyA9ICQo
V0tfTUFDT1NfMTMwMCk7CitXS19NQUNPU18xMDE1XzEzMDBfWUVTID0gX01BQ09TX0JFRk9SRV8x
MDE1OworCiBXS19NQUNPU18xMDE2ID0gJChXS19NQUNPU18xMDE2XyQoV0tfTUFDT1NfQkVGT1JF
XzEwMTYpKTsKIFdLX01BQ09TXzEwMTZfID0gX01BQ09TX1NJTkNFXzEwMTY7CiBXS19NQUNPU18x
MDE2X1lFUyA9IF9NQUNPU19CRUZPUkVfMTAxNjsKQEAgLTExOSw2ICsxMzQsMTAgQEAgV0tfTUFD
T1NfMTAxNl8xMjAwID0gJChXS19NQUNPU18xMDE2XyQoV0tfTUFDT1NfQkVGT1JFXzEwMTYpKTsK
IFdLX01BQ09TXzEwMTZfMTIwMCA9IF9NQUNPU19TSU5DRV8xMDE2OwogV0tfTUFDT1NfMTAxNl8x
MjAwX1lFUyA9IF9NQUNPU19CRUZPUkVfMTAxNjsKIAorV0tfTUFDT1NfMTAxNl8xMzAwID0gJChX
S19NQUNPU18xMDE2XyQoV0tfTUFDT1NfQkVGT1JFXzEwMTYpKTsKK1dLX01BQ09TXzEwMTZfMTMw
MCA9IF9NQUNPU19TSU5DRV8xMDE2OworV0tfTUFDT1NfMTAxNl8xMzAwX1lFUyA9IF9NQUNPU19C
RUZPUkVfMTAxNjsKKwogV0tfTUFDT1NfMTEwMCA9ICQoV0tfTUFDT1NfMTEwMF8kKFdLX01BQ09T
X0JFRk9SRV8xMTAwKSk7CiBXS19NQUNPU18xMTAwXyA9IF9NQUNPU19TSU5DRV8xMTAwOwogV0tf
TUFDT1NfMTEwMF9ZRVMgPSBfTUFDT1NfQkVGT1JFXzExMDA7CkBAIC0xMjcsNDEgKzE0NiwzNyBA
QCBXS19NQUNPU18xMTAwXzEyMDAgPSAkKFdLX01BQ09TXzExMDBfJChXS19NQUNPU19CRUZPUkVf
MTEwMCkpOwogV0tfTUFDT1NfMTEwMF8xMjAwID0gX01BQ09TX1NJTkNFXzExMDA7CiBXS19NQUNP
U18xMTAwXzEyMDBfWUVTID0gX01BQ09TX0JFRk9SRV8xMTAwOwogCitXS19NQUNPU18xMTAwXzEz
MDAgPSAkKFdLX01BQ09TXzExMDBfJChXS19NQUNPU19CRUZPUkVfMTEwMCkpOworV0tfTUFDT1Nf
MTEwMF8xMzAwID0gX01BQ09TX1NJTkNFXzExMDA7CitXS19NQUNPU18xMTAwXzEzMDBfWUVTID0g
X01BQ09TX0JFRk9SRV8xMTAwOworCiBXS19NQUNPU18xMjAwID0gJChXS19NQUNPU18xMjAwXyQo
V0tfTUFDT1NfQkVGT1JFXzEyMDApKTsKIFdLX01BQ09TXzEyMDBfID0gX01BQ09TX1NJTkNFXzEy
MDA7CiBXS19NQUNPU18xMjAwX1lFUyA9IF9NQUNPU19CRUZPUkVfMTIwMDsKIAotLy8gaU9TCitX
S19NQUNPU18xMjAwXzEzMDAgPSAkKFdLX01BQ09TXzEyMDBfJChXS19NQUNPU19CRUZPUkVfMTIw
MCkpOworV0tfTUFDT1NfMTIwMF8xMzAwID0gX01BQ09TX1NJTkNFXzEyMDA7CitXS19NQUNPU18x
MjAwXzEzMDBfWUVTID0gX01BQ09TX0JFRk9SRV8xMjAwOwogCi1XS19JT1NfQkVGT1JFXzExID0g
JChXS19JT1NfQkVGT1JFXzExXyQoSVBIT05FT1NfREVQTE9ZTUVOVF9UQVJHRVQ6YmFzZSkpOwor
V0tfTUFDT1NfMTMwMCA9ICQoV0tfTUFDT1NfMTMwMF8kKFdLX01BQ09TX0JFRk9SRV8xMzAwKSk7
CitXS19NQUNPU18xMzAwXyA9IF9NQUNPU19TSU5DRV8xMzAwOworV0tfTUFDT1NfMTMwMF9ZRVMg
PSBfTUFDT1NfQkVGT1JFXzEzMDA7CiAKLVdLX0lPU19CRUZPUkVfMTIgPSAkKFdLX0lPU19CRUZP
UkVfMTJfJChJUEhPTkVPU19ERVBMT1lNRU5UX1RBUkdFVDpiYXNlKSk7Ci1XS19JT1NfQkVGT1JF
XzEyXzExID0gWUVTOworLy8gaU9TCiAKIFdLX0lPU19CRUZPUkVfMTMgPSAkKFdLX0lPU19CRUZP
UkVfMTNfJChJUEhPTkVPU19ERVBMT1lNRU5UX1RBUkdFVDpiYXNlKSk7Ci1XS19JT1NfQkVGT1JF
XzEzXzExID0gWUVTOwotV0tfSU9TX0JFRk9SRV8xM18xMiA9IFlFUzsKIAogV0tfSU9TX0JFRk9S
RV8xNCA9ICQoV0tfSU9TX0JFRk9SRV8xNF8kKElQSE9ORU9TX0RFUExPWU1FTlRfVEFSR0VUOmJh
c2UpKTsKLVdLX0lPU19CRUZPUkVfMTRfMTEgPSBZRVM7Ci1XS19JT1NfQkVGT1JFXzE0XzEyID0g
WUVTOwogV0tfSU9TX0JFRk9SRV8xNF8xMyA9IFlFUzsKIAotV0tfSU9TXzExID0gJChXS19JT1Nf
MTFfJChXS19JT1NfQkVGT1JFXzExKSk7Ci1XS19JT1NfMTFfID0gX0lPU19TSU5DRV8xMTsKLVdL
X0lPU18xMV9ZRVMgPSBfSU9TX0JFRk9SRV8xMTsKLQotV0tfSU9TXzEyID0gJChXS19JT1NfMTJf
JChXS19JT1NfQkVGT1JFXzEyKSk7Ci1XS19JT1NfMTJfID0gX0lPU19TSU5DRV8xMjsKLVdLX0lP
U18xMl9ZRVMgPSBfSU9TX0JFRk9SRV8xMjsKK1dLX0lPU19CRUZPUkVfMTUgPSAkKFdLX0lPU19C
RUZPUkVfMTVfJChJUEhPTkVPU19ERVBMT1lNRU5UX1RBUkdFVDpiYXNlKSk7CitXS19JT1NfQkVG
T1JFXzE1XzEzID0gWUVTOworV0tfSU9TX0JFRk9SRV8xNV8xNCA9IFlFUzsKIAotV0tfSU9TXzEy
XzEzID0gJChXS19JT1NfMTJfMTNfJChXS19JT1NfQkVGT1JFXzEyKSk7Ci1XS19JT1NfMTJfMTNf
ID0gJChXS19JT1NfMTMpOwotV0tfSU9TXzEyXzEzX1lFUyA9IF9JT1NfQkVGT1JFXzEyOwotCi1X
S19JT1NfMTJfMTQgPSAkKFdLX0lPU18xMl8xNF8kKFdLX0lPU19CRUZPUkVfMTIpKTsKLVdLX0lP
U18xMl8xNF8gPSAkKFdLX0lPU18xNCk7Ci1XS19JT1NfMTJfMTRfWUVTID0gX0lPU19CRUZPUkVf
MTI7CitXS19JT1NfQkVGT1JFXzE2ID0gJChXS19JT1NfQkVGT1JFXzE2XyQoSVBIT05FT1NfREVQ
TE9ZTUVOVF9UQVJHRVQ6YmFzZSkpOworV0tfSU9TX0JFRk9SRV8xNl8xMyA9IFlFUzsKK1dLX0lP
U19CRUZPUkVfMTZfMTQgPSBZRVM7CitXS19JT1NfQkVGT1JFXzE2XzE1ID0gWUVTOwogCiBXS19J
T1NfMTMgPSAkKFdLX0lPU18xM18kKFdLX0lPU19CRUZPUkVfMTMpKTsKIFdLX0lPU18xM18gPSBf
SU9TX1NJTkNFXzEzOwpAQCAtMTcxLDYgKzE4NiwzNCBAQCBXS19JT1NfMTNfMTQgPSAkKFdLX0lP
U18xM18xNF8kKFdLX0lPU19CRUZPUkVfMTMpKTsKIFdLX0lPU18xM18xNF8gPSAkKFdLX0lPU18x
NCk7CiBXS19JT1NfMTNfMTRfWUVTID0gX0lPU19CRUZPUkVfMTM7CiAKK1dLX0lPU18xM18xNSA9
ICQoV0tfSU9TXzEzXzE1XyQoV0tfSU9TX0JFRk9SRV8xMykpOworV0tfSU9TXzEzXzE1XyA9ICQo
V0tfSU9TXzE1KTsKK1dLX0lPU18xM18xNV9ZRVMgPSBfSU9TX0JFRk9SRV8xMzsKKworV0tfSU9T
XzEzXzE2ID0gJChXS19JT1NfMTNfMTZfJChXS19JT1NfQkVGT1JFXzEzKSk7CitXS19JT1NfMTNf
MTZfID0gJChXS19JT1NfMTYpOworV0tfSU9TXzEzXzE2X1lFUyA9IF9JT1NfQkVGT1JFXzEzOwor
CiBXS19JT1NfMTQgPSAkKFdLX0lPU18xNF8kKFdLX0lPU19CRUZPUkVfMTQpKTsKIFdLX0lPU18x
NF8gPSBfSU9TX1NJTkNFXzE0OwogV0tfSU9TXzE0X1lFUyA9IF9JT1NfQkVGT1JFXzE0OworCitX
S19JT1NfMTRfMTUgPSAkKFdLX0lPU18xNF8xNV8kKFdLX0lPU19CRUZPUkVfMTQpKTsKK1dLX0lP
U18xNF8xNV8gPSAkKFdLX0lPU18xNSk7CitXS19JT1NfMTRfMTVfWUVTID0gX0lPU19CRUZPUkVf
MTQ7CisKK1dLX0lPU18xNF8xNiA9ICQoV0tfSU9TXzE0XzE2XyQoV0tfSU9TX0JFRk9SRV8xNCkp
OworV0tfSU9TXzE0XzE2XyA9ICQoV0tfSU9TXzE2KTsKK1dLX0lPU18xNF8xNl9ZRVMgPSBfSU9T
X0JFRk9SRV8xNDsKKworV0tfSU9TXzE1ID0gJChXS19JT1NfMTVfJChXS19JT1NfQkVGT1JFXzE1
KSk7CitXS19JT1NfMTVfID0gX0lPU19TSU5DRV8xNTsKK1dLX0lPU18xNV9ZRVMgPSBfSU9TX0JF
Rk9SRV8xNTsKKworV0tfSU9TXzE1XzE2ID0gJChXS19JT1NfMTVfMTZfJChXS19JT1NfQkVGT1JF
XzE1KSk7CitXS19JT1NfMTVfMTZfID0gJChXS19JT1NfMTYpOworV0tfSU9TXzE1XzE2X1lFUyA9
IF9JT1NfQkVGT1JFXzE1OworCitXS19JT1NfMTYgPSAkKFdLX0lPU18xNl8kKFdLX0lPU19CRUZP
UkVfMTYpKTsKK1dLX0lPU18xNl8gPSBfSU9TX1NJTkNFXzE2OworV0tfSU9TXzE2X1lFUyA9IF9J
T1NfQkVGT1JFXzE2OwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0
QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RX
ZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA5ZmY0MDY4NGFkZTdkODVi
YmE5YTA4NDUyMTgwMTM2YjNiZmViZjUxLi4zYzliZjg5NjUxZjk3YTM4N2I1MDExMDk3ZTRhMTk0
YTBjMzJkYWM1IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEku
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RX
ZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTE5Myw2ICsxMTkzLDcgQEAK
IAkJRjQ0Mjg1MUQyMTQwREYyOTAwQ0NEQTIyIC8qIE5TRm9udFBhbmVsVGVzdGluZy5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0NDI4NTFDMjE0MERG
MjkwMENDREEyMiAvKiBOU0ZvbnRQYW5lbFRlc3RpbmcubW0gKi87IH07CiAJCUY0NDUxQzc2MUVC
OEZEODkwMDIwQzVEQSAvKiB0d28tcGFyYWdyYXBoLWNvbnRlbnRlZGl0YWJsZS5odG1sIGluIENv
cHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0NDUxQzc1
MUVCOEZEN0MwMDIwQzVEQSAvKiB0d28tcGFyYWdyYXBoLWNvbnRlbnRlZGl0YWJsZS5odG1sICov
OyB9OwogCQlGNDRBNTMxMTIxQjg5OTAzMDBEQkI5OUMgLyogSW5zdGFuY2VNZXRob2RTd2l6emxl
ci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0NEE1
MzEwMjFCODk3NjkwMERCQjk5QyAvKiBJbnN0YW5jZU1ldGhvZFN3aXp6bGVyLm1tICovOyB9Owor
CQlGNDRBN0QyMDI2OEQ1QzY5MDBCNDlCQjggLyogSW1hZ2VBbmFseXNpc1Rlc3RzLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ0QTdEMUYyNjhENUM2
OTAwQjQ5QkI4IC8qIEltYWdlQW5hbHlzaXNUZXN0cy5tbSAqLzsgfTsKIAkJRjQ0QTlBRjcyNjQ5
QkJERDAwRTdDQjE2IC8qIEltbWVkaWF0ZUFjdGlvblRlc3RzLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ0QTlBRjYyNjQ5QkJERDAwRTdDQjE2IC8q
IEltbWVkaWF0ZUFjdGlvblRlc3RzLm1tICovOyB9OwogCQlGNDRDNzlGRjIwRjlFODcxMDAxNDQ3
OEMgLyogUGFyc2VyWWllbGRUb2tlblRlc3RzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ0Qzc5RkUyMEY5RTg3MTAwMTQ0NzhDIC8qIFBhcnNlcllp
ZWxkVG9rZW5UZXN0cy5tbSAqLzsgfTsKIAkJRjQ0QzdBMDAyMEY5RUVCRjAwMTQ0NzhDIC8qIFBh
cnNlcllpZWxkVG9rZW5QbHVnSW4ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGNDRDNzlGQjIwRjlFNTBDMDAxNDQ3OEMgLyogUGFyc2VyWWllbGRUb2tl
blBsdWdJbi5tbSAqLzsgfTsKQEAgLTMwMzMsNiArMzAzNCw3IEBACiAJCUY0NEE1MzBFMjFCODk3
NjkwMERCQjk5QyAvKiBDbGFzc01ldGhvZFN3aXp6bGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBuYW1lID0gQ2xhc3NNZXRob2RTd2l6emxlci5tbTsgcGF0aCA9IC4uL1Rl
c3RSdW5uZXJTaGFyZWQvY29jb2EvQ2xhc3NNZXRob2RTd2l6emxlci5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRjQ0QTUzMEYyMUI4OTc2OTAwREJCOTlDIC8qIENsYXNzTWV0aG9k
U3dpenpsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gQ2xhc3NNZXRob2RT
d2l6emxlci5oOyBwYXRoID0gLi4vVGVzdFJ1bm5lclNoYXJlZC9jb2NvYS9DbGFzc01ldGhvZFN3
aXp6bGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0NEE1MzEwMjFCODk3Njkw
MERCQjk5QyAvKiBJbnN0YW5jZU1ldGhvZFN3aXp6bGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBuYW1lID0gSW5zdGFuY2VNZXRob2RTd2l6emxlci5tbTsgcGF0aCA9IC4u
L1Rlc3RSdW5uZXJTaGFyZWQvY29jb2EvSW5zdGFuY2VNZXRob2RTd2l6emxlci5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQ0QTdEMUYyNjhENUM2OTAwQjQ5QkI4IC8qIEltYWdl
QW5hbHlzaXNUZXN0cy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEltYWdlQW5hbHlzaXNUZXN0
cy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQ0QTlBRjUyNjQ5QkJERDAwRTdD
QjE2IC8qIEltbWVkaWF0ZUFjdGlvblRlc3RzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEltbWVkaWF0ZUFj
dGlvblRlc3RzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0NEE5QUY2MjY0OUJC
REQwMEU3Q0IxNiAvKiBJbW1lZGlhdGVBY3Rpb25UZXN0cy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IEltbWVkaWF0ZUFjdGlvblRlc3RzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlGNDRDNzlGQjIwRjlFNTBDMDAxNDQ3OEMgLyogUGFyc2VyWWllbGRUb2tlblBsdWdJbi5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IFBhcnNlcllpZWxkVG9rZW5QbHVnSW4ubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zNDcxLDYgKzM0NzMsNyBAQAogCQkJCTUxMDQ3Nzc1MUQy
OThFMDMwMDk3NDdFQiAvKiBJREJEZWxldGVSZWNvdmVyeS5tbSAqLywKIAkJCQk1MTEwRkNFRjFF
MDFDQkFBMDA2RjhEMEIgLyogSURCSW5kZXhVcGdyYWRlVG9WMi5tbSAqLywKIAkJCQk5M0JDQkM4
MDIzQ0M2RUU4MDBDQTIyMjEgLyogSURCT2JqZWN0U3RvcmVJbmZvVXBncmFkZVRvVjIubW0gKi8s
CisJCQkJRjQ0QTdEMUYyNjhENUM2OTAwQjQ5QkI4IC8qIEltYWdlQW5hbHlzaXNUZXN0cy5tbSAq
LywKIAkJCQk0OUFFRUY2QjI0MDczNTg2MDBDODdFNEMgLyogSW5BcHBCcm93c2VyUHJpdmFjeS5t
bSAqLywKIAkJCQk0OTFBRUVGNDI2NTJEREQwMDBENTMwQTggLyogSW5BcHBCcm93c2VyUHJpdmFj
eVBsdWdJbi5tbSAqLywKIAkJCQk1MUE1ODc4NDFEMjcyRUYzMDA0QkE5QUYgLyogSW5kZXhlZERC
RGF0YWJhc2VQcm9jZXNzS2lsbC5tbSAqLywKQEAgLTU1MDYsNiArNTUwOSw3IEBACiAJCQkJQ0RD
Rjc4QTgyNDRBMzJGNzAwNDgwMzExIC8qIEZ1bGxzY3JlZW5BbGVydC5tbSBpbiBTb3VyY2VzICov
LAogCQkJCUNENzhFMTFEMURCN0VBNjYwMDE0QTJERSAvKiBGdWxsc2NyZWVuRGVsZWdhdGUubW0g
aW4gU291cmNlcyAqLywKIAkJCQlDREIyMTNCRDI0RUY1MjI4MDBGREUzMDEgLyogRnVsbHNjcmVl
bkZvY3VzLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJRjQ0QTdEMjAyNjhENUM2OTAwQjQ5QkI4IC8q
IEltYWdlQW5hbHlzaXNUZXN0cy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUNERTc3RDI1MjVBNjU5
MUMwMEQ0MTE1RSAvKiBGdWxsc2NyZWVuUG9pbnRlckxlYXZlLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQ0REQzdDNjkyNUZGRjZEMDAwMjI0Mjc4IC8qIEZ1bGxzY3JlZW5SZW1vdmVOb2RlQmVmb3Jl
RW50ZXIubW0gaW4gU291cmNlcyAqLywKIAkJCQlDREJGQ0M0NTFBOUZGNDUzMDBBN0I2OTEgLyog
RnVsbHNjcmVlblpvb21Jbml0aWFsRnJhbWUubW0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSW1hZ2VBbmFseXNpc1Rlc3Rz
Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9JbWFnZUFuYWx5c2lz
VGVzdHMubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNWJiN2RmOTRlMGEyMGVlZWU4YzM2MTI2N2U4NGJlZGE4OWI2
NTc4NgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvSW1hZ2VBbmFseXNpc1Rlc3RzLm1tCkBAIC0wLDAgKzEsODUgQEAKKy8qCisqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqCisqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1ldDoKKyogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisqCisqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisK
KyNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCisKKyNpbXBvcnQgIkluc3RhbmNlTWV0aG9kU3dp
enpsZXIuaCIKKyNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCisjaW1wb3J0ICJUZXN0V0tX
ZWJWaWV3LmgiCisjaW1wb3J0ICJXS1dlYlZpZXdDb25maWd1cmF0aW9uRXh0cmFzLmgiCisjaW1w
b3J0IDxXZWJLaXQvV0tXZWJWaWV3UHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmll
d1ByaXZhdGVGb3JUZXN0aW5nLmg+CisjaW1wb3J0IDxwYWwvc3BpL2NvY29hL1Zpc2lvbktpdENv
cmVTUEkuaD4KKworbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgeworCisjaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKKworc3RhdGljIENHUG9pbnQgc3dpenpsZWRMb2NhdGlvbkluVmlldyhpZCwgU0VM
LCBVSVZpZXcgKikKK3sKKyAgICByZXR1cm4gQ0dQb2ludE1ha2UoMTAwLCAxMDApOworfQorCitz
dGF0aWMgYm9vbCBnRGlkUHJvY2Vzc1JlcXVlc3QgPSBmYWxzZTsKK3N0YXRpYyB2b2lkIHN3aXp6
bGVkUHJvY2Vzc1JlcXVlc3QoaWQsIFNFTCwgVktJbWFnZUFuYWx5emVyUmVxdWVzdCAqLCB2b2lk
ICheKShkb3VibGUgcHJvZ3Jlc3MpLCB2b2lkICheY29tcGxldGlvbikoVktJbWFnZUFuYWx5c2lz
ICphbmFseXNpcywgTlNFcnJvciAqZXJyb3IpKQoreworICAgIGdEaWRQcm9jZXNzUmVxdWVzdCA9
IHRydWU7CisgICAgY29tcGxldGlvbihuaWwsIFtOU0Vycm9yIGVycm9yV2l0aERvbWFpbjpOU0Nv
Y29hRXJyb3JEb21haW4gY29kZToxIHVzZXJJbmZvOm5pbF0pOworfQorCitURVNUKEltYWdlQW5h
bHlzaXNUZXN0cywgRG9Ob3RBbmFseXplSW1hZ2VzSW5FZGl0YWJsZUNvbnRlbnQpCit7CisgICAg
SW5zdGFuY2VNZXRob2RTd2l6emxlciBnZXN0dXJlTG9jYXRpb25Td2l6emxlciB7IFVJR2VzdHVy
ZVJlY29nbml6ZXIuY2xhc3MsIEBzZWxlY3Rvcihsb2NhdGlvbkluVmlldzopLCByZWludGVycHJl
dF9jYXN0PElNUD4oc3dpenpsZWRMb2NhdGlvbkluVmlldykgfTsKKyAgICBJbnN0YW5jZU1ldGhv
ZFN3aXp6bGVyIGltYWdlQW5hbHlzaXNSZXF1ZXN0U3dpenpsZXIgeyBWS0ltYWdlQW5hbHl6ZXIu
Y2xhc3MsIEBzZWxlY3Rvcihwcm9jZXNzUmVxdWVzdDpwcm9ncmVzc0hhbmRsZXI6Y29tcGxldGlv
bkhhbmRsZXI6KSwgcmVpbnRlcnByZXRfY2FzdDxJTVA+KHN3aXp6bGVkUHJvY2Vzc1JlcXVlc3Qp
IH07CisKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10g
aW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDQwMCwgNDAwKV0pOworICAgIFt3ZWJWaWV3
IF9zZXRFZGl0YWJsZTpZRVNdOworICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkVGVzdFBh
Z2VOYW1lZDpAImltYWdlIl07CisKKyAgICBbd2ViVmlldyBfaW1hZ2VBbmFseXNpc0dlc3R1cmVS
ZWNvZ25pemVyXS5zdGF0ZSA9IFVJR2VzdHVyZVJlY29nbml6ZXJTdGF0ZUJlZ2FuOworICAgIFt3
ZWJWaWV3IHdhaXRGb3JOZXh0UHJlc2VudGF0aW9uVXBkYXRlXTsKKyAgICBFWFBFQ1RfRkFMU0Uo
Z0RpZFByb2Nlc3NSZXF1ZXN0KTsKK30KKworVEVTVChJbWFnZUFuYWx5c2lzVGVzdHMsIEhhbmRs
ZUltYWdlQW5hbHl6ZXJFcnJvcikKK3sKKyAgICBJbnN0YW5jZU1ldGhvZFN3aXp6bGVyIGdlc3R1
cmVMb2NhdGlvblN3aXp6bGVyIHsgVUlHZXN0dXJlUmVjb2duaXplci5jbGFzcywgQHNlbGVjdG9y
KGxvY2F0aW9uSW5WaWV3OiksIHJlaW50ZXJwcmV0X2Nhc3Q8SU1QPihzd2l6emxlZExvY2F0aW9u
SW5WaWV3KSB9OworICAgIEluc3RhbmNlTWV0aG9kU3dpenpsZXIgaW1hZ2VBbmFseXNpc1JlcXVl
c3RTd2l6emxlciB7IFZLSW1hZ2VBbmFseXplci5jbGFzcywgQHNlbGVjdG9yKHByb2Nlc3NSZXF1
ZXN0OnByb2dyZXNzSGFuZGxlcjpjb21wbGV0aW9uSGFuZGxlcjopLCByZWludGVycHJldF9jYXN0
PElNUD4oc3dpenpsZWRQcm9jZXNzUmVxdWVzdCkgfTsKKworICAgIGF1dG8gd2ViVmlldyA9IGFk
b3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwg
MCwgNDAwLCA0MDApXSk7CisgICAgW3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRUZXN0UGFnZU5h
bWVkOkAiaW1hZ2UiXTsKKworICAgIFt3ZWJWaWV3IF9pbWFnZUFuYWx5c2lzR2VzdHVyZVJlY29n
bml6ZXJdLnN0YXRlID0gVUlHZXN0dXJlUmVjb2duaXplclN0YXRlQmVnYW47CisgICAgW3dlYlZp
ZXcgd2FpdEZvck5leHRQcmVzZW50YXRpb25VcGRhdGVdOworICAgIEVYUEVDVF9UUlVFKGdEaWRQ
cm9jZXNzUmVxdWVzdCk7Cit9CisKKyNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQorCit9
IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCisKKyNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfQU5B
TFlTSVMpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>