<?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>235991</bug_id>
          
          <creation_ts>2022-02-01 17:36:39 -0800</creation_ts>
          <short_desc>Adjust some Live Text code to only use VKC-prefixed VisionKit classes if ENABLE(IMAGE_ANALYSIS_ENHANCEMENTS)</short_desc>
          <delta_ts>2022-02-02 09:54:33 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          <dependson>235980</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>akeerthi</cc>
    
    <cc>bdakin</cc>
    
    <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>1836259</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-02-01 17:36:39 -0800</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836268</commentid>
    <comment_count>1</comment_count>
      <attachid>450597</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-02-01 17:48:04 -0800</bug_when>
    <thetext>Created attachment 450597
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836486</commentid>
    <comment_count>2</comment_count>
      <attachid>450597</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2022-02-02 09:41:42 -0800</bug_when>
    <thetext>Comment on attachment 450597
Patch

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

&gt; Source/WebKit/Platform/cocoa/TextRecognitionUtilities.h:57
&gt; +RetainPtr&lt;CocoaImageAnalyzerRequest&gt; createImageAnalyzerRequest(CGImageRef, VKAnalysisTypes);

Is VKAnalysisTypes not also getting replaced?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836487</commentid>
    <comment_count>3</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-02-02 09:45:02 -0800</bug_when>
    <thetext>Thanks for the review!

(In reply to Megan Gardner from comment #2)
&gt; Comment on attachment 450597 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=450597&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/Platform/cocoa/TextRecognitionUtilities.h:57
&gt; &gt; +RetainPtr&lt;CocoaImageAnalyzerRequest&gt; createImageAnalyzerRequest(CGImageRef, VKAnalysisTypes);
&gt; 
&gt; Is VKAnalysisTypes not also getting replaced?

Indeed — `VKAnalysisTypes` are remaining as-is. I&apos;ll check in with the relevant folks to see if this is intentional...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836488</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-02-02 09:53:49 -0800</bug_when>
    <thetext>Committed r288956 (246685@main): &lt;https://commits.webkit.org/246685@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 450597.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836490</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-02 09:54:33 -0800</bug_when>
    <thetext>&lt;rdar://problem/88386531&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450597</attachid>
            <date>2022-02-01 17:48:04 -0800</date>
            <delta_ts>2022-02-02 09:53:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235991-20220201174804.patch</filename>
            <type>text/plain</type>
            <size>18117</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4OTAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGU1MzE1N2IzNzM2OTk3OTZm
N2Y0YWQzNTI4NTUxYTNmMzA0OWI4YmIuLjQ1MDZlOWQ1ODllYmQxMTIzNGY4NTE5ZWI0YTUzYzc2
YTg1MzlmNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMgQEAKKzIwMjItMDItMDEgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRqdXN0IHNvbWUgTGl2
ZSBUZXh0IGNvZGUgdG8gb25seSB1c2UgVktDLXByZWZpeGVkIFZpc2lvbktpdCBjbGFzc2VzIGlm
IEVOQUJMRShJTUFHRV9BTkFMWVNJU19FTkhBTkNFTUVOVFMpCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzU5OTEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSYXRoZXIgdGhhbiBjcmVhdGluZyBWS0NJbWFn
ZUFuYWx5c2lzL1ZLQ0ltYWdlQW5hbHl6ZXIvVktDSW1hZ2VBbmFseXplclJlcXVlc3QgYW5kIHN0
YXRpY2FsbHkgY2FzdGluZyB0bworICAgICAgICBWS0ltYWdlQW5hbHlzaXMvVktJbWFnZUFuYWx5
emVyL1ZLSW1hZ2VBbmFseXplclJlcXVlc3QgcmVzcGVjdGl2ZWx5LCBhZGQgYSB0eXBlZGVmIHRo
YXQgYWJzdHJhY3RzIGF3YXkgdGhlCisgICAgICAgIGRpZmZlcmluZyBWSy9WS0MgcHJlZml4ZXMg
YmVoaW5kIENvY29hSW1hZ2UoQW5hbHlzaXN8QW5hbHl6ZXJ8QW5hbHl6ZXJSZXF1ZXN0KSwgYW5k
IHVzZSB0aGlzIHR5cGVkZWYgZXZlcnl3aGVyZQorICAgICAgICB3ZSBjdXJyZW50bHkgdXNlIHRo
ZSBWSy1wcmVmaXhlZCB0eXBlcy4KKworICAgICAgICBTaW5jZSB0aGUgVkstcHJlZml4ZWQgY2xh
c3NlcyBhcmUgYmVpbmcgZW50aXJlbHkgcmVtb3ZlZCBhbmQgcmVwbGFjZWQgd2l0aCBWS0MtcHJl
Zml4ZWQgY2xhc3NlcyBhdCBzb21lIHBvaW50LAorICAgICAgICB0aGlzIGFsbG93cyB1cyB0byBi
ZSBjb25zaXN0ZW50IChhdCBsZWFzdCwgd2l0aGluIGEgZ2l2ZW4gT1MgdmVyc2lvbikgYWJvdXQg
dGhlIFZpc2lvbktpdCBvYmplY3QgdHlwZXMgd2UncmUKKyAgICAgICAgY3JlYXRpbmcgYW5kIHBh
c3NpbmcgYXJvdW5kIGluIExpdmUgVGV4dCBjb2RlLgorCisgICAgICAgIE5vIGNoYW5nZSBpbiBi
ZWhhdmlvci4KKworICAgICAgICAqIFBsYXRmb3JtL2NvY29hL1RleHRSZWNvZ25pdGlvblV0aWxp
dGllcy5oOgorICAgICAgICAqIFBsYXRmb3JtL2NvY29hL1RleHRSZWNvZ25pdGlvblV0aWxpdGll
cy5tbToKKyAgICAgICAgKFdlYktpdDo6Y3JlYXRlSW1hZ2VBbmFseXplcik6CisgICAgICAgIChX
ZWJLaXQ6OmNyZWF0ZUltYWdlQW5hbHl6ZXJSZXF1ZXN0KToKKyAgICAgICAgKFdlYktpdDo6bWFr
ZVRleHRSZWNvZ25pdGlvblJlc3VsdCk6CisgICAgICAgIChXZWJLaXQ6Omhhc1Zpc2lvbktpdENv
cmVQcmVmaXhlZENsYXNzZXMpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9X
ZWJWaWV3SW1wbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbToK
KyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OmVuc3VyZUltYWdlQW5hbHl6ZXIpOgorICAg
ICAgICAoV2ViS2l0OjpjcmVhdGVJbWFnZUFuYWx5emVyUmVxdWVzdCk6CisgICAgICAgIChXZWJL
aXQ6OldlYlZpZXdJbXBsOjpyZXF1ZXN0VGV4dFJlY29nbml0aW9uKToKKyAgICAgICAgKFdlYktp
dDo6V2ViVmlld0ltcGw6OmNvbXB1dGVIYXNJbWFnZUFuYWx5c2lzUmVzdWx0cyk6CisgICAgICAg
ICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW06CisgICAgICAgICgt
W1dLQ29udGVudFZpZXcgaW1hZ2VBbmFseXplcl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3
IGNyZWF0ZUltYWdlQW5hbHl6ZXJSZXF1ZXN0OmltYWdlOmltYWdlVVJMOl0pOgorICAgICAgICAo
LVtXS0NvbnRlbnRWaWV3IGNyZWF0ZUltYWdlQW5hbHl6ZXJSZXF1ZXN0OmltYWdlOl0pOgorICAg
ICAgICAoLVtXS0NvbnRlbnRWaWV3IF91cGRhdGVDb250ZXh0TWVudUZvck1hY2hpbmVSZWFkYWJs
ZUNvZGVGb3JJbWFnZUFuYWx5c2lzOl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IHJlcXVl
c3RUZXh0UmVjb2duaXRpb246aW1hZ2VEYXRhOmlkZW50aWZpZXI6Y29tcGxldGlvbkhhbmRsZXI6
XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgaW1hZ2VBbmFseXNpc0dlc3R1cmVEaWRCZWdp
bjpdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfY29tcGxldGVJbWFnZUFuYWx5c2lzUmVx
dWVzdEZvckNvbnRleHRNZW51OnJlcXVlc3RJZGVudGlmaWVyOmhhc1RleHRSZXN1bHRzOl0pOgor
ICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGltYWdlQW5hbHlzaXNHZXN0dXJlRGlkVGltZU91dDpd
KToKKwogMjAyMi0wMi0wMSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4K
IAogICAgICAgICBUaGUgZGVmYXVsdCB2YWx1ZXMgZm9yIGEgY291cGxlIG9mIExpdmUgVGV4dC1y
ZWxhdGVkIGZlYXR1cmVzIHNob3VsZCByZXNwZWN0IHN5c3RlbSBmZWF0dXJlIGZsYWdzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1RleHRSZWNvZ25pdGlvblV0aWxp
dGllcy5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9UZXh0UmVjb2duaXRpb25VdGls
aXRpZXMuaAppbmRleCA0MzM1MTc4ZDFjNjU3MzBhNTMzMDgyYmNiODhhNDE5MTgwYzE5YWFjLi43
NDIzNGQ2ZTY3ZjliYzViNzlhNjJiNmVlZTVmYzI4NmNhNGQ5NmU5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1RleHRSZWNvZ25pdGlvblV0aWxpdGllcy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvVGV4dFJlY29nbml0aW9uVXRpbGl0aWVzLmgK
QEAgLTMxLDYgKzMxLDE2IEBACiAjaW1wb3J0IDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KICNp
bXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KIAorI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJU19FTkhB
TkNFTUVOVFMpCit1c2luZyBDb2NvYUltYWdlQW5hbHlzaXMgPSBWS0NJbWFnZUFuYWx5c2lzOwor
dXNpbmcgQ29jb2FJbWFnZUFuYWx5emVyID0gVktDSW1hZ2VBbmFseXplcjsKK3VzaW5nIENvY29h
SW1hZ2VBbmFseXplclJlcXVlc3QgPSBWS0NJbWFnZUFuYWx5emVyUmVxdWVzdDsKKyNlbHNlCit1
c2luZyBDb2NvYUltYWdlQW5hbHlzaXMgPSBWS0ltYWdlQW5hbHlzaXM7Cit1c2luZyBDb2NvYUlt
YWdlQW5hbHl6ZXIgPSBWS0ltYWdlQW5hbHl6ZXI7Cit1c2luZyBDb2NvYUltYWdlQW5hbHl6ZXJS
ZXF1ZXN0ID0gVktJbWFnZUFuYWx5emVyUmVxdWVzdDsKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBzdHJ1Y3QgVGV4dFJlY29nbml0aW9uUmVzdWx0OwogfQpAQCAtNDEsMTQgKzUxLDEz
IEBAIGJvb2wgaXNMaXZlVGV4dEF2YWlsYWJsZUFuZEVuYWJsZWQoKTsKIGJvb2wgdGV4dFJlY29n
bml0aW9uRW5oYW5jZW1lbnRzU3lzdGVtRmVhdHVyZUVuYWJsZWQoKTsKIGJvb2wgaW1hZ2VBbmFs
eXNpc1F1ZXVlU3lzdGVtRmVhdHVyZUVuYWJsZWQoKTsKIAotV2ViQ29yZTo6VGV4dFJlY29nbml0
aW9uUmVzdWx0IG1ha2VUZXh0UmVjb2duaXRpb25SZXN1bHQoVktJbWFnZUFuYWx5c2lzICopOwor
V2ViQ29yZTo6VGV4dFJlY29nbml0aW9uUmVzdWx0IG1ha2VUZXh0UmVjb2duaXRpb25SZXN1bHQo
Q29jb2FJbWFnZUFuYWx5c2lzICopOwogCi0vLyBGSVhNRTogUmVwbGFjZSB0aGUgcmV0dXJuIHR5
cGVzIG9mIHRoZXNlIGhlbHBlciBmdW5jdGlvbnMgd2l0aCBWS0NJbWFnZUFuYWx5emVyIGFuZCBW
S0NJbWFnZUFuYWx5emVyUmVxdWVzdCwgcmVzcGVjdGl2ZWx5LgotUmV0YWluUHRyPFZLSW1hZ2VB
bmFseXplcj4gY3JlYXRlSW1hZ2VBbmFseXplcigpOwotUmV0YWluUHRyPFZLSW1hZ2VBbmFseXpl
clJlcXVlc3Q+IGNyZWF0ZUltYWdlQW5hbHl6ZXJSZXF1ZXN0KENHSW1hZ2VSZWYsIFZLQW5hbHlz
aXNUeXBlcyk7CitSZXRhaW5QdHI8Q29jb2FJbWFnZUFuYWx5emVyPiBjcmVhdGVJbWFnZUFuYWx5
emVyKCk7CitSZXRhaW5QdHI8Q29jb2FJbWFnZUFuYWx5emVyUmVxdWVzdD4gY3JlYXRlSW1hZ2VB
bmFseXplclJlcXVlc3QoQ0dJbWFnZVJlZiwgVktBbmFseXNpc1R5cGVzKTsKIAogI2lmIEVOQUJM
RShJTUFHRV9BTkFMWVNJU19FTkhBTkNFTUVOVFMpCi12b2lkIHJlcXVlc3RJbWFnZUFuYWx5c2lz
V2l0aElkZW50aWZpZXIoVktJbWFnZUFuYWx5emVyICosIGNvbnN0IFN0cmluZyYgaWRlbnRpZmll
ciwgQ0dJbWFnZVJlZiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpUZXh0UmVjb2du
aXRpb25SZXN1bHQmJik+JiYpOwordm9pZCByZXF1ZXN0SW1hZ2VBbmFseXNpc1dpdGhJZGVudGlm
aWVyKENvY29hSW1hZ2VBbmFseXplciAqLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIENHSW1h
Z2VSZWYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6VGV4dFJlY29nbml0aW9uUmVz
dWx0JiYpPiYmKTsKICNlbmRpZgogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL2NvY29hL1RleHRSZWNvZ25pdGlvblV0aWxpdGllcy5tbSBiL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vY29jb2EvVGV4dFJlY29nbml0aW9uVXRpbGl0aWVzLm1tCmluZGV4IDIwYmE2MGM0NDRm
ZGMzMjM0ZjM4OTQ3ZTM2Njg0MTc4NmJjZDE4ZDIuLmM3MjQ5ZWQ1ZDYyMjFhYjJhYWE1NWU4ZmI2
MDM4YmY1YTNkNWY2N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2Ev
VGV4dFJlY29nbml0aW9uVXRpbGl0aWVzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0v
Y29jb2EvVGV4dFJlY29nbml0aW9uVXRpbGl0aWVzLm1tCkBAIC0zNiwzMCArMzYsMjIgQEAKIG5h
bWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLXN0YXRpYyBib29s
IGhhc1Zpc2lvbktpdENvcmVQcmVmaXhlZENsYXNzZXMoKQorUmV0YWluUHRyPENvY29hSW1hZ2VB
bmFseXplcj4gY3JlYXRlSW1hZ2VBbmFseXplcigpCiB7Ci0gICAgc3RhdGljIGJvb2wgcmVzdWx0
ID0gZmFsc2U7Ci0gICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIG9uY2VGbGFnOwotICAgIHN0ZDo6
Y2FsbF9vbmNlKG9uY2VGbGFnLCBbJl0gewotICAgICAgICByZXN1bHQgPSAhIVBBTDo6Z2V0VktD
SW1hZ2VBbmFseXplckNsYXNzKCk7Ci0gICAgfSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQot
UmV0YWluUHRyPFZLSW1hZ2VBbmFseXplcj4gY3JlYXRlSW1hZ2VBbmFseXplcigpCi17Ci0gICAg
aWYgKGhhc1Zpc2lvbktpdENvcmVQcmVmaXhlZENsYXNzZXMoKSkKLSAgICAgICAgcmV0dXJuIGFk
b3B0TlMoW3N0YXRpY19jYXN0PFZLSW1hZ2VBbmFseXplciAqPihQQUw6OmFsbG9jVktDSW1hZ2VB
bmFseXplckluc3RhbmNlKCkpIGluaXRdKTsKLQorI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJU19F
TkhBTkNFTUVOVFMpCisgICAgcmV0dXJuIGFkb3B0TlMoW1BBTDo6YWxsb2NWS0NJbWFnZUFuYWx5
emVySW5zdGFuY2UoKSBpbml0XSk7CisjZWxzZQogICAgIHJldHVybiBhZG9wdE5TKFtQQUw6OmFs
bG9jVktJbWFnZUFuYWx5emVySW5zdGFuY2UoKSBpbml0XSk7CisjZW5kaWYKIH0KIAotUmV0YWlu
UHRyPFZLSW1hZ2VBbmFseXplclJlcXVlc3Q+IGNyZWF0ZUltYWdlQW5hbHl6ZXJSZXF1ZXN0KENH
SW1hZ2VSZWYgaW1hZ2UsIFZLQW5hbHlzaXNUeXBlcyB0eXBlcykKK1JldGFpblB0cjxDb2NvYUlt
YWdlQW5hbHl6ZXJSZXF1ZXN0PiBjcmVhdGVJbWFnZUFuYWx5emVyUmVxdWVzdChDR0ltYWdlUmVm
IGltYWdlLCBWS0FuYWx5c2lzVHlwZXMgdHlwZXMpCiB7Ci0gICAgaWYgKGhhc1Zpc2lvbktpdENv
cmVQcmVmaXhlZENsYXNzZXMoKSkKLSAgICAgICAgcmV0dXJuIGFkb3B0TlMoW3N0YXRpY19jYXN0
PFZLSW1hZ2VBbmFseXplclJlcXVlc3QgKj4oUEFMOjphbGxvY1ZLQ0ltYWdlQW5hbHl6ZXJSZXF1
ZXN0SW5zdGFuY2UoKSkgaW5pdFdpdGhDR0ltYWdlOmltYWdlIG9yaWVudGF0aW9uOlZLSW1hZ2VP
cmllbnRhdGlvblVwIHJlcXVlc3RUeXBlOnR5cGVzXSk7Ci0KKyNpZiBFTkFCTEUoSU1BR0VfQU5B
TFlTSVNfRU5IQU5DRU1FTlRTKQorICAgIHJldHVybiBhZG9wdE5TKFsoUEFMOjphbGxvY1ZLQ0lt
YWdlQW5hbHl6ZXJSZXF1ZXN0SW5zdGFuY2UoKSkgaW5pdFdpdGhDR0ltYWdlOmltYWdlIG9yaWVu
dGF0aW9uOlZLSW1hZ2VPcmllbnRhdGlvblVwIHJlcXVlc3RUeXBlOnR5cGVzXSk7CisjZWxzZQog
ICAgIHJldHVybiBhZG9wdE5TKFtQQUw6OmFsbG9jVktJbWFnZUFuYWx5emVyUmVxdWVzdEluc3Rh
bmNlKCkgaW5pdFdpdGhDR0ltYWdlOmltYWdlIG9yaWVudGF0aW9uOlZLSW1hZ2VPcmllbnRhdGlv
blVwIHJlcXVlc3RUeXBlOnR5cGVzXSk7CisjZW5kaWYKIH0KIAogc3RhdGljIEZsb2F0UXVhZCBm
bG9hdFF1YWQoVktRdWFkICpxdWFkKQpAQCAtNzYsNyArNjgsNyBAQCBzdGF0aWMgVmVjdG9yPEZs
b2F0UXVhZD4gZmxvYXRRdWFkcyhOU0FycmF5PFZLUXVhZCAqPiAqdmtRdWFkcykKICAgICByZXR1
cm4gcXVhZHM7CiB9CiAKLVRleHRSZWNvZ25pdGlvblJlc3VsdCBtYWtlVGV4dFJlY29nbml0aW9u
UmVzdWx0KFZLSW1hZ2VBbmFseXNpcyAqYW5hbHlzaXMpCitUZXh0UmVjb2duaXRpb25SZXN1bHQg
bWFrZVRleHRSZWNvZ25pdGlvblJlc3VsdChDb2NvYUltYWdlQW5hbHlzaXMgKmFuYWx5c2lzKQog
ewogICAgIE5TQXJyYXk8VktXS0xpbmVJbmZvICo+ICphbGxMaW5lcyA9IGFuYWx5c2lzLmFsbExp
bmVzOwogICAgIFRleHRSZWNvZ25pdGlvblJlc3VsdCByZXN1bHQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaAppbmRleCBlODUxY2FiODJjNzQyOWY1Yjk0NmU5
YWJhN2QyZDg4MDA1OTY1NjIwLi5kYTcxN2I3MmUzYjdmMWUxYjllYTkyMjhhMmY1MjhjMTk0OTky
MjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1w
bC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgKQEAg
LTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUgIlBERlBsdWdpbklkZW50aWZpZXIuaCIKICNpbmNs
dWRlICJTaGFyZWFibGVCaXRtYXAuaCIKKyNpbmNsdWRlICJUZXh0UmVjb2duaXRpb25VdGlsaXRp
ZXMuaCIKICNpbmNsdWRlICJXS0xheW91dE1vZGUuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0RPTVBh
c3RlQWNjZXNzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Gb2N1c0RpcmVjdGlvbi5oPgpAQCAtNTUs
NyArNTYsNiBAQCBPQkpDX0NMQVNTIE5TUG9wb3ZlcjsKIE9CSkNfQ0xBU1MgTlNUZXh0SW5wdXRD
b250ZXh0OwogT0JKQ19DTEFTUyBOU1ZpZXc7CiBPQkpDX0NMQVNTIFFMUHJldmlld1BhbmVsOwot
T0JKQ19DTEFTUyBWS0ltYWdlQW5hbHl6ZXI7CiBPQkpDX0NMQVNTIFdLQWNjZXNzaWJpbGl0eVNl
dHRpbmdzT2JzZXJ2ZXI7CiBPQkpDX0NMQVNTIFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlcjsK
IE9CSkNfQ0xBU1MgV0tET01QYXN0ZU1lbnVEZWxlZ2F0ZTsKQEAgLTc0MSw3ICs3NDEsNyBAQCBw
cml2YXRlOgogI2VuZGlmCiAKICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCi0gICAgVktJbWFn
ZUFuYWx5emVyICplbnN1cmVJbWFnZUFuYWx5emVyKCk7CisgICAgUGxhdGZvcm1JbWFnZUFuYWx5
emVyICplbnN1cmVJbWFnZUFuYWx5emVyKCk7CiAjZW5kaWYKIAogICAgIFdlYWtPYmpDUHRyPE5T
VmlldzxXZWJWaWV3SW1wbERlbGVnYXRlPj4gbV92aWV3OwpAQCAtODg2LDcgKzg4Niw3IEBAIHBy
aXZhdGU6CiAKICNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCiAgICAgUmVmUHRyPFdvcmtRdWV1
ZT4gbV9pbWFnZUFuYWx5emVyUXVldWU7Ci0gICAgUmV0YWluUHRyPFZLSW1hZ2VBbmFseXplcj4g
bV9pbWFnZUFuYWx5emVyOworICAgIFJldGFpblB0cjxQbGF0Zm9ybUltYWdlQW5hbHl6ZXI+IG1f
aW1hZ2VBbmFseXplcjsKICNlbmRpZgogCiAjaWYgSEFWRShUUkFOU0xBVElPTl9VSV9TRVJWSUNF
UykgJiYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1dlYlZpZXdJbXBsLm1tCmluZGV4IDc2YjljZmQ3YjNhN2NkOTQwMDY2ZjBmNTU5ZmMwYmEx
MTcyNGE3YzkuLmJlYzJlY2JkMmQ4NDlhYjg1MzVhMWU4Zjk2ZGNhNjQ3ZTFiNjI2MzEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCkBAIC01Myw3ICs1
Myw2IEBACiAjaW1wb3J0ICJTdHJpbmdVdGlsaXRpZXMuaCIKICNpbXBvcnQgIlRleHRDaGVja2Vy
LmgiCiAjaW1wb3J0ICJUZXh0Q2hlY2tlclN0YXRlLmgiCi0jaW1wb3J0ICJUZXh0UmVjb2duaXRp
b25VdGlsaXRpZXMuaCIKICNpbXBvcnQgIlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJv
eHkuaCIKICNpbXBvcnQgIlVJR2FtZXBhZFByb3ZpZGVyLmgiCiAjaW1wb3J0ICJVbmRvT3JSZWRv
LmgiCkBAIC0xODYsNyArMTg1LDcgQEAgQGVuZAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotVktJ
bWFnZUFuYWx5emVyICpXZWJWaWV3SW1wbDo6ZW5zdXJlSW1hZ2VBbmFseXplcigpCitDb2NvYUlt
YWdlQW5hbHl6ZXIgKldlYlZpZXdJbXBsOjplbnN1cmVJbWFnZUFuYWx5emVyKCkKIHsKICAgICBp
ZiAoIW1faW1hZ2VBbmFseXplcikgewogICAgICAgICBtX2ltYWdlQW5hbHl6ZXJRdWV1ZSA9IFdv
cmtRdWV1ZTo6Y3JlYXRlKCJXZWJLaXQgaW1hZ2UgYW5hbHl6ZXIgcXVldWUiKTsKQEAgLTE5Niw3
ICsxOTUsNyBAQCBWS0ltYWdlQW5hbHl6ZXIgKldlYlZpZXdJbXBsOjplbnN1cmVJbWFnZUFuYWx5
emVyKCkKICAgICByZXR1cm4gbV9pbWFnZUFuYWx5emVyLmdldCgpOwogfQogCi1zdGF0aWMgUmV0
YWluUHRyPFZLSW1hZ2VBbmFseXplclJlcXVlc3Q+IGNyZWF0ZUltYWdlQW5hbHl6ZXJSZXF1ZXN0
KENHSW1hZ2VSZWYgaW1hZ2UsIGNvbnN0IFVSTCYgaW1hZ2VVUkwsIGNvbnN0IFVSTCYgcGFnZVVS
TCwgVktBbmFseXNpc1R5cGVzIHR5cGVzKQorc3RhdGljIFJldGFpblB0cjxDb2NvYUltYWdlQW5h
bHl6ZXJSZXF1ZXN0PiBjcmVhdGVJbWFnZUFuYWx5emVyUmVxdWVzdChDR0ltYWdlUmVmIGltYWdl
LCBjb25zdCBVUkwmIGltYWdlVVJMLCBjb25zdCBVUkwmIHBhZ2VVUkwsIFZLQW5hbHlzaXNUeXBl
cyB0eXBlcykKIHsKICAgICBhdXRvIHJlcXVlc3QgPSBjcmVhdGVJbWFnZUFuYWx5emVyUmVxdWVz
dChpbWFnZSwgdHlwZXMpOwogICAgIFtyZXF1ZXN0IHNldEltYWdlVVJMOmltYWdlVVJMXTsKQEAg
LTIyOCw3ICsyMjcsNyBAQCB2b2lkIFdlYlZpZXdJbXBsOjpyZXF1ZXN0VGV4dFJlY29nbml0aW9u
KGNvbnN0IFVSTCYgaW1hZ2VVUkwsIGNvbnN0IFNoYXJlYWJsZUJpdAogCiAgICAgYXV0byByZXF1
ZXN0ID0gY3JlYXRlSW1hZ2VBbmFseXplclJlcXVlc3QoY2dJbWFnZS5nZXQoKSwgaW1hZ2VVUkws
IFtOU1VSTCBfd2ViX1VSTFdpdGhXVEZTdHJpbmc6bV9wYWdlLT5jdXJyZW50VVJMKCldLCBWS0Fu
YWx5c2lzVHlwZVRleHQpOwogICAgIGF1dG8gc3RhcnRUaW1lID0gTW9ub3RvbmljVGltZTo6bm93
KCk7Ci0gICAgW2Vuc3VyZUltYWdlQW5hbHl6ZXIoKSBwcm9jZXNzUmVxdWVzdDpyZXF1ZXN0Lmdl
dCgpIHByb2dyZXNzSGFuZGxlcjpuaWwgY29tcGxldGlvbkhhbmRsZXI6bWFrZUJsb2NrUHRyKFtj
b21wbGV0aW9uID0gV1RGTW92ZShjb21wbGV0aW9uKSwgc3RhcnRUaW1lXSAoVktJbWFnZUFuYWx5
c2lzICphbmFseXNpcywgTlNFcnJvciAqKSBtdXRhYmxlIHsKKyAgICBbZW5zdXJlSW1hZ2VBbmFs
eXplcigpIHByb2Nlc3NSZXF1ZXN0OnJlcXVlc3QuZ2V0KCkgcHJvZ3Jlc3NIYW5kbGVyOm5pbCBj
b21wbGV0aW9uSGFuZGxlcjptYWtlQmxvY2tQdHIoW2NvbXBsZXRpb24gPSBXVEZNb3ZlKGNvbXBs
ZXRpb24pLCBzdGFydFRpbWVdIChDb2NvYUltYWdlQW5hbHlzaXMgKmFuYWx5c2lzLCBOU0Vycm9y
ICopIG11dGFibGUgewogICAgICAgICBjYWxsT25NYWluUnVuTG9vcChbY29tcGxldGlvbiA9IFdU
Rk1vdmUoY29tcGxldGlvbiksIHJlc3VsdCA9IG1ha2VUZXh0UmVjb2duaXRpb25SZXN1bHQoYW5h
bHlzaXMpLCBzdGFydFRpbWVdICgpIG11dGFibGUgewogICAgICAgICAgICAgUkVMRUFTRV9MT0co
SW1hZ2VzLCAiSW1hZ2UgYW5hbHlzaXMgY29tcGxldGVkIGluICUuMGYgbXMgKGZvdW5kIHRleHQ/
ICVkKSIsIChNb25vdG9uaWNUaW1lOjpub3coKSAtIHN0YXJ0VGltZSkubWlsbGlzZWNvbmRzKCks
ICFyZXN1bHQuaXNFbXB0eSgpKTsKICAgICAgICAgICAgIGNvbXBsZXRpb24oV1RGTW92ZShyZXN1
bHQpKTsKQEAgLTI0Nyw3ICsyNDYsNyBAQCB2b2lkIFdlYlZpZXdJbXBsOjpjb21wdXRlSGFzSW1h
Z2VBbmFseXNpc1Jlc3VsdHMoY29uc3QgVVJMJiBpbWFnZVVSTCwgU2hhcmVhYmxlQgogICAgIGF1
dG8gYW5hbHlzaXNUeXBlID0gdHlwZSA9PSBJbWFnZUFuYWx5c2lzVHlwZTo6VmlzdWFsU2VhcmNo
ID8gVktBbmFseXNpc1R5cGVWaXN1YWxTZWFyY2ggOiBWS0FuYWx5c2lzVHlwZVRleHQ7CiAgICAg
YXV0byByZXF1ZXN0ID0gY3JlYXRlSW1hZ2VBbmFseXplclJlcXVlc3QoY2dJbWFnZS5nZXQoKSwg
aW1hZ2VVUkwsIFtOU1VSTCBfd2ViX1VSTFdpdGhXVEZTdHJpbmc6bV9wYWdlLT5jdXJyZW50VVJM
KCldLCBhbmFseXNpc1R5cGUpOwogICAgIGF1dG8gc3RhcnRUaW1lID0gTW9ub3RvbmljVGltZTo6
bm93KCk7Ci0gICAgW2Vuc3VyZUltYWdlQW5hbHl6ZXIoKSBwcm9jZXNzUmVxdWVzdDpyZXF1ZXN0
LmdldCgpIHByb2dyZXNzSGFuZGxlcjpuaWwgY29tcGxldGlvbkhhbmRsZXI6bWFrZUJsb2NrUHRy
KFtjb21wbGV0aW9uID0gV1RGTW92ZShjb21wbGV0aW9uKSwgc3RhcnRUaW1lLCBhbmFseXNpc1R5
cGVdIChWS0ltYWdlQW5hbHlzaXMgKmFuYWx5c2lzLCBOU0Vycm9yICopIG11dGFibGUgeworICAg
IFtlbnN1cmVJbWFnZUFuYWx5emVyKCkgcHJvY2Vzc1JlcXVlc3Q6cmVxdWVzdC5nZXQoKSBwcm9n
cmVzc0hhbmRsZXI6bmlsIGNvbXBsZXRpb25IYW5kbGVyOm1ha2VCbG9ja1B0cihbY29tcGxldGlv
biA9IFdURk1vdmUoY29tcGxldGlvbiksIHN0YXJ0VGltZSwgYW5hbHlzaXNUeXBlXSAoQ29jb2FJ
bWFnZUFuYWx5c2lzICphbmFseXNpcywgTlNFcnJvciAqKSBtdXRhYmxlIHsKICAgICAgICAgQk9P
TCByZXN1bHQgPSBbYW5hbHlzaXMgaGFzUmVzdWx0c0ZvckFuYWx5c2lzVHlwZXM6YW5hbHlzaXNU
eXBlXTsKICAgICAgICAgQ0ZSdW5Mb29wUGVyZm9ybUJsb2NrKENGUnVuTG9vcEdldE1haW4oKSwg
KF9fYnJpZGdlIENGU3RyaW5nUmVmKU5TRXZlbnRUcmFja2luZ1J1bkxvb3BNb2RlLCBtYWtlQmxv
Y2tQdHIoW2NvbXBsZXRpb24gPSBXVEZNb3ZlKGNvbXBsZXRpb24pLCByZXN1bHQsIGFuYWx5c2lz
VHlwZSwgc3RhcnRUaW1lXSAoKSBtdXRhYmxlIHsKICAgICAgICAgICAgIFJFTEVBU0VfTE9HKElt
YWdlcywgIkltYWdlIGFuYWx5c2lzIGNvbXBsZXRlZCBpbiAlLjBmIG1zIChmb3VuZCAlcz8gJWQp
IiwgKE1vbm90b25pY1RpbWU6Om5vdygpIC0gc3RhcnRUaW1lKS5taWxsaXNlY29uZHMoKSwgYW5h
bHlzaXNUeXBlID09IFZLQW5hbHlzaXNUeXBlVmlzdWFsU2VhcmNoID8gInZpc3VhbCBzZWFyY2gg
cmVzdWx0cyIgOiAidGV4dCIsIHJlc3VsdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCA0Yjg3ZTgyZWRh
NTU1ZmZlYjVlZjdhZjU2YTdkYmQ5Mzc5MDkyNjg2Li5mMDlmMjhjYTAxN2NjMWZjZTA5MThiNWY3
YWMyNjhjZGFjMzRjZjI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
V0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTEwMjA2LDcgKzEwMjA2LDcgQEAg
LSAodm9pZClhY3Rpb25TaGVldEFzc2lzdGFudDooV0tBY3Rpb25TaGVldEFzc2lzdGFudCAqKWFz
c2lzdGFudCBsb29rVXBJbWFnZTooVUkKIAogI3ByYWdtYSBtYXJrIC0gSW1hZ2UgRXh0cmFjdGlv
bgogCi0tIChWS0ltYWdlQW5hbHl6ZXIgKilpbWFnZUFuYWx5emVyCistIChDb2NvYUltYWdlQW5h
bHl6ZXIgKilpbWFnZUFuYWx5emVyCiB7CiAgICAgaWYgKCFfaW1hZ2VBbmFseXplcikKICAgICAg
ICAgX2ltYWdlQW5hbHl6ZXIgPSBXZWJLaXQ6OmNyZWF0ZUltYWdlQW5hbHl6ZXIoKTsKQEAgLTEw
Mjc2LDcgKzEwMjc2LDcgQEAgLSAodm9pZClfY2FuY2VsSW1hZ2VBbmFseXNpcwogICAgIF9lbGVt
ZW50UGVuZGluZ0ltYWdlQW5hbHlzaXMgPSBzdGQ6Om51bGxvcHQ7CiB9CiAKLS0gKFJldGFpblB0
cjxWS0ltYWdlQW5hbHl6ZXJSZXF1ZXN0PiljcmVhdGVJbWFnZUFuYWx5emVyUmVxdWVzdDooVktB
bmFseXNpc1R5cGVzKWFuYWx5c2lzVHlwZXMgaW1hZ2U6KENHSW1hZ2VSZWYpaW1hZ2UgaW1hZ2VV
Ukw6KE5TVVJMICopaW1hZ2VVUkwKKy0gKFJldGFpblB0cjxDb2NvYUltYWdlQW5hbHl6ZXJSZXF1
ZXN0PiljcmVhdGVJbWFnZUFuYWx5emVyUmVxdWVzdDooVktBbmFseXNpc1R5cGVzKWFuYWx5c2lz
VHlwZXMgaW1hZ2U6KENHSW1hZ2VSZWYpaW1hZ2UgaW1hZ2VVUkw6KE5TVVJMICopaW1hZ2VVUkwK
IHsKICAgICBhdXRvIHJlcXVlc3QgPSBXZWJLaXQ6OmNyZWF0ZUltYWdlQW5hbHl6ZXJSZXF1ZXN0
KGltYWdlLCBhbmFseXNpc1R5cGVzKTsKICAgICBbcmVxdWVzdCBzZXRJbWFnZVVSTDppbWFnZVVS
TF07CkBAIC0xMDI4NCwxNCArMTAyODQsMTQgQEAgLSAoUmV0YWluUHRyPFZLSW1hZ2VBbmFseXpl
clJlcXVlc3Q+KWNyZWF0ZUltYWdlQW5hbHl6ZXJSZXF1ZXN0OihWS0FuYWx5c2lzVHlwZXMKICAg
ICByZXR1cm4gcmVxdWVzdDsKIH0KIAotLSAoUmV0YWluUHRyPFZLSW1hZ2VBbmFseXplclJlcXVl
c3Q+KWNyZWF0ZUltYWdlQW5hbHl6ZXJSZXF1ZXN0OihWS0FuYWx5c2lzVHlwZXMpYW5hbHlzaXNU
eXBlcyBpbWFnZTooQ0dJbWFnZVJlZilpbWFnZQorLSAoUmV0YWluUHRyPENvY29hSW1hZ2VBbmFs
eXplclJlcXVlc3Q+KWNyZWF0ZUltYWdlQW5hbHl6ZXJSZXF1ZXN0OihWS0FuYWx5c2lzVHlwZXMp
YW5hbHlzaXNUeXBlcyBpbWFnZTooQ0dJbWFnZVJlZilpbWFnZQogewogICAgIHJldHVybiBbc2Vs
ZiBjcmVhdGVJbWFnZUFuYWx5emVyUmVxdWVzdDphbmFseXNpc1R5cGVzIGltYWdlOmltYWdlIGlt
YWdlVVJMOl9wb3NpdGlvbkluZm9ybWF0aW9uLmltYWdlVVJMXTsKIH0KIAogI2lmIFVTRShVSUNP
TlRFWFRNRU5VKSAmJiBFTkFCTEUoSU1BR0VfQU5BTFlTSVNfRk9SX01BQ0hJTkVfUkVBREFCTEVf
Q09ERVMpCiAKLS0gKHZvaWQpX3VwZGF0ZUNvbnRleHRNZW51Rm9yTWFjaGluZVJlYWRhYmxlQ29k
ZUZvckltYWdlQW5hbHlzaXM6KFZLSW1hZ2VBbmFseXNpcyAqKWFuYWx5c2lzCistICh2b2lkKV91
cGRhdGVDb250ZXh0TWVudUZvck1hY2hpbmVSZWFkYWJsZUNvZGVGb3JJbWFnZUFuYWx5c2lzOihD
b2NvYUltYWdlQW5hbHlzaXMgKilhbmFseXNpcwogewogICAgIGFuYWx5c2lzLnByZXNlbnRpbmdW
aWV3Q29udHJvbGxlckZvck1yY0FjdGlvbiA9IFtVSVZpZXdDb250cm9sbGVyIF92aWV3Q29udHJv
bGxlckZvckZ1bGxTY3JlZW5QcmVzZW50YXRpb25Gcm9tVmlldzpzZWxmXTsKICAgICBfY29udGV4
dE1lbnVGb3JNYWNoaW5lUmVhZGFibGVDb2RlID0gW2FuYWx5c2lzIGhhc1Jlc3VsdHNGb3JBbmFs
eXNpc1R5cGVzOlZLQW5hbHlzaXNUeXBlTWFjaGluZVJlYWRhYmxlQ29kZSB8IFZLQW5hbHlzaXNU
eXBlQXBwQ2xpcF0gPyBhbmFseXNpcy5tcmNNZW51IDogbmlsOwpAQCAtMTAzMzYsNyArMTAzMzYs
NyBAQCAtICh2b2lkKXJlcXVlc3RUZXh0UmVjb2duaXRpb246KE5TVVJMICopaW1hZ2VVUkwgaW1h
Z2VEYXRhOihjb25zdCBXZWJLaXQ6OlNoYXJlYQogI2VuZGlmCiAKICAgICBhdXRvIHJlcXVlc3Qg
PSBbc2VsZiBjcmVhdGVJbWFnZUFuYWx5emVyUmVxdWVzdDpWS0FuYWx5c2lzVHlwZVRleHQgaW1h
Z2U6Y2dJbWFnZS5nZXQoKV07Ci0gICAgW3NlbGYuaW1hZ2VBbmFseXplciBwcm9jZXNzUmVxdWVz
dDpyZXF1ZXN0LmdldCgpIHByb2dyZXNzSGFuZGxlcjpuaWwgY29tcGxldGlvbkhhbmRsZXI6bWFr
ZUJsb2NrUHRyKFtjb21wbGV0aW9uID0gV1RGTW92ZShjb21wbGV0aW9uKV0gKFZLSW1hZ2VBbmFs
eXNpcyAqcmVzdWx0LCBOU0Vycm9yICopIG11dGFibGUgeworICAgIFtzZWxmLmltYWdlQW5hbHl6
ZXIgcHJvY2Vzc1JlcXVlc3Q6cmVxdWVzdC5nZXQoKSBwcm9ncmVzc0hhbmRsZXI6bmlsIGNvbXBs
ZXRpb25IYW5kbGVyOm1ha2VCbG9ja1B0cihbY29tcGxldGlvbiA9IFdURk1vdmUoY29tcGxldGlv
bildIChDb2NvYUltYWdlQW5hbHlzaXMgKnJlc3VsdCwgTlNFcnJvciAqKSBtdXRhYmxlIHsKICAg
ICAgICAgY29tcGxldGlvbihXZWJLaXQ6Om1ha2VUZXh0UmVjb2duaXRpb25SZXN1bHQocmVzdWx0
KSk7CiAgICAgfSkuZ2V0KCldOwogfQpAQCAtMTA0MTYsNyArMTA0MTYsNyBAQCAtICh2b2lkKWlt
YWdlQW5hbHlzaXNHZXN0dXJlRGlkQmVnaW46KFdLSW1hZ2VBbmFseXNpc0dlc3R1cmVSZWNvZ25p
emVyICopZ2VzdHVyZQogICAgICAgICB9CiAKICAgICAgICAgYXV0byB0ZXh0QW5hbHlzaXNTdGFy
dFRpbWUgPSBNb25vdG9uaWNUaW1lOjpub3coKTsKLSAgICAgICAgW1tzdHJvbmdTZWxmIGltYWdl
QW5hbHl6ZXJdIHByb2Nlc3NSZXF1ZXN0OnJlcXVlc3RGb3JUZXh0U2VsZWN0aW9uLmdldCgpIHBy
b2dyZXNzSGFuZGxlcjpuaWwgY29tcGxldGlvbkhhbmRsZXI6W3JlcXVlc3RJZGVudGlmaWVyID0g
V1RGTW92ZShyZXF1ZXN0SWRlbnRpZmllciksIHdlYWtTZWxmLCBlbGVtZW50Q29udGV4dCwgcmVx
dWVzdExvY2F0aW9uLCByZXF1ZXN0Rm9yQ29udGV4dE1lbnUsIGdlc3R1cmVEZWZlcnJhbFRva2Vu
LCB0ZXh0QW5hbHlzaXNTdGFydFRpbWVdIChWS0ltYWdlQW5hbHlzaXMgKnJlc3VsdCwgTlNFcnJv
ciAqZXJyb3IpIG11dGFibGUgeworICAgICAgICBbW3N0cm9uZ1NlbGYgaW1hZ2VBbmFseXplcl0g
cHJvY2Vzc1JlcXVlc3Q6cmVxdWVzdEZvclRleHRTZWxlY3Rpb24uZ2V0KCkgcHJvZ3Jlc3NIYW5k
bGVyOm5pbCBjb21wbGV0aW9uSGFuZGxlcjpbcmVxdWVzdElkZW50aWZpZXIgPSBXVEZNb3ZlKHJl
cXVlc3RJZGVudGlmaWVyKSwgd2Vha1NlbGYsIGVsZW1lbnRDb250ZXh0LCByZXF1ZXN0TG9jYXRp
b24sIHJlcXVlc3RGb3JDb250ZXh0TWVudSwgZ2VzdHVyZURlZmVycmFsVG9rZW4sIHRleHRBbmFs
eXNpc1N0YXJ0VGltZV0gKENvY29hSW1hZ2VBbmFseXNpcyAqcmVzdWx0LCBOU0Vycm9yICplcnJv
cikgbXV0YWJsZSB7CiAgICAgICAgICAgICBhdXRvIHN0cm9uZ1NlbGYgPSB3ZWFrU2VsZi5nZXQo
KTsKICAgICAgICAgICAgIGlmICghW3N0cm9uZ1NlbGYgdmFsaWRhdGVJbWFnZUFuYWx5c2lzUmVx
dWVzdElkZW50aWZpZXI6cmVxdWVzdElkZW50aWZpZXJdKQogICAgICAgICAgICAgICAgIHJldHVy
bjsKQEAgLTEwNDQ4LDEwICsxMDQ0OCwxMCBAQCAtICh2b2lkKWltYWdlQW5hbHlzaXNHZXN0dXJl
RGlkQmVnaW46KFdLSW1hZ2VBbmFseXNpc0dlc3R1cmVSZWNvZ25pemVyICopZ2VzdHVyZQogICAg
IH0gZm9yUmVxdWVzdDpyZXF1ZXN0XTsKIH0KIAotLSAodm9pZClfY29tcGxldGVJbWFnZUFuYWx5
c2lzUmVxdWVzdEZvckNvbnRleHRNZW51OihWS0ltYWdlQW5hbHl6ZXJSZXF1ZXN0ICopcmVxdWVz
dEZvckNvbnRleHRNZW51IHJlcXVlc3RJZGVudGlmaWVyOihXZWJLaXQ6OkltYWdlQW5hbHlzaXNS
ZXF1ZXN0SWRlbnRpZmllcilyZXF1ZXN0SWRlbnRpZmllciBoYXNUZXh0UmVzdWx0czooQk9PTClo
YXNUZXh0UmVzdWx0cworLSAodm9pZClfY29tcGxldGVJbWFnZUFuYWx5c2lzUmVxdWVzdEZvckNv
bnRleHRNZW51OihDb2NvYUltYWdlQW5hbHl6ZXJSZXF1ZXN0ICopcmVxdWVzdEZvckNvbnRleHRN
ZW51IHJlcXVlc3RJZGVudGlmaWVyOihXZWJLaXQ6OkltYWdlQW5hbHlzaXNSZXF1ZXN0SWRlbnRp
ZmllcilyZXF1ZXN0SWRlbnRpZmllciBoYXNUZXh0UmVzdWx0czooQk9PTCloYXNUZXh0UmVzdWx0
cwogewogICAgIGF1dG8gdmlzdWFsU2VhcmNoQW5hbHlzaXNTdGFydFRpbWUgPSBNb25vdG9uaWNU
aW1lOjpub3coKTsKLSAgICBbc2VsZi5pbWFnZUFuYWx5emVyIHByb2Nlc3NSZXF1ZXN0OnJlcXVl
c3RGb3JDb250ZXh0TWVudSBwcm9ncmVzc0hhbmRsZXI6bmlsIGNvbXBsZXRpb25IYW5kbGVyOlty
ZXF1ZXN0SWRlbnRpZmllciA9IFdURk1vdmUocmVxdWVzdElkZW50aWZpZXIpLCB3ZWFrU2VsZiA9
IFdlYWtPYmpDUHRyPFdLQ29udGVudFZpZXc+KHNlbGYpLCBoYXNUZXh0UmVzdWx0cywgdmlzdWFs
U2VhcmNoQW5hbHlzaXNTdGFydFRpbWVdIChWS0ltYWdlQW5hbHlzaXMgKnJlc3VsdCwgTlNFcnJv
ciAqZXJyb3IpIG11dGFibGUgeworICAgIFtzZWxmLmltYWdlQW5hbHl6ZXIgcHJvY2Vzc1JlcXVl
c3Q6cmVxdWVzdEZvckNvbnRleHRNZW51IHByb2dyZXNzSGFuZGxlcjpuaWwgY29tcGxldGlvbkhh
bmRsZXI6W3JlcXVlc3RJZGVudGlmaWVyID0gV1RGTW92ZShyZXF1ZXN0SWRlbnRpZmllciksIHdl
YWtTZWxmID0gV2Vha09iakNQdHI8V0tDb250ZW50Vmlldz4oc2VsZiksIGhhc1RleHRSZXN1bHRz
LCB2aXN1YWxTZWFyY2hBbmFseXNpc1N0YXJ0VGltZV0gKENvY29hSW1hZ2VBbmFseXNpcyAqcmVz
dWx0LCBOU0Vycm9yICplcnJvcikgbXV0YWJsZSB7CiAgICAgICAgIGF1dG8gc3Ryb25nU2VsZiA9
IHdlYWtTZWxmLmdldCgpOwogICAgICAgICBpZiAoIVtzdHJvbmdTZWxmIHZhbGlkYXRlSW1hZ2VB
bmFseXNpc1JlcXVlc3RJZGVudGlmaWVyOnJlcXVlc3RJZGVudGlmaWVyXSkKICAgICAgICAgICAg
IHJldHVybjsKQEAgLTEwNTIwLDcgKzEwNTIwLDcgQEAgLSAodm9pZClpbWFnZUFuYWx5c2lzR2Vz
dHVyZURpZFRpbWVPdXQ6KFdLSW1hZ2VBbmFseXNpc0dlc3R1cmVSZWNvZ25pemVyICopZ2VzdHUK
IAogICAgICAgICBhdXRvIHZpc3VhbFNlYXJjaEFuYWx5c2lzU3RhcnRUaW1lID0gTW9ub3Rvbmlj
VGltZTo6bm93KCk7CiAgICAgICAgIGF1dG8gcmVxdWVzdEZvckNvbnRleHRNZW51ID0gW3N0cm9u
Z1NlbGYgY3JlYXRlSW1hZ2VBbmFseXplclJlcXVlc3Q6VktBbmFseXNpc1R5cGVWaXN1YWxTZWFy
Y2ggfCBWS0FuYWx5c2lzVHlwZU1hY2hpbmVSZWFkYWJsZUNvZGUgfCBWS0FuYWx5c2lzVHlwZUFw
cENsaXAgaW1hZ2U6Y2dJbWFnZS5nZXQoKV07Ci0gICAgICAgIFtbc3Ryb25nU2VsZiBpbWFnZUFu
YWx5emVyXSBwcm9jZXNzUmVxdWVzdDpyZXF1ZXN0Rm9yQ29udGV4dE1lbnUuZ2V0KCkgcHJvZ3Jl
c3NIYW5kbGVyOm5pbCBjb21wbGV0aW9uSGFuZGxlcjpbd2Vha1NlbGYsIGxvY2F0aW9uLCB2aXN1
YWxTZWFyY2hBbmFseXNpc1N0YXJ0VGltZV0gKFZLSW1hZ2VBbmFseXNpcyAqcmVzdWx0LCBOU0Vy
cm9yICplcnJvcikgeworICAgICAgICBbW3N0cm9uZ1NlbGYgaW1hZ2VBbmFseXplcl0gcHJvY2Vz
c1JlcXVlc3Q6cmVxdWVzdEZvckNvbnRleHRNZW51LmdldCgpIHByb2dyZXNzSGFuZGxlcjpuaWwg
Y29tcGxldGlvbkhhbmRsZXI6W3dlYWtTZWxmLCBsb2NhdGlvbiwgdmlzdWFsU2VhcmNoQW5hbHlz
aXNTdGFydFRpbWVdIChDb2NvYUltYWdlQW5hbHlzaXMgKnJlc3VsdCwgTlNFcnJvciAqZXJyb3Ip
IHsKICAgICAgICAgICAgIGF1dG8gc3Ryb25nU2VsZiA9IHdlYWtTZWxmLmdldCgpOwogICAgICAg
ICAgICAgaWYgKCFzdHJvbmdTZWxmKQogICAgICAgICAgICAgICAgIHJldHVybjsK
</data>

          </attachment>
      

    </bug>

</bugzilla>