[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fbD0PkH9-ysDLzFMl-AVBasYlDYMJMyohj5R8-cIDK8E":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":25,"download_link":26,"security_score":13,"vuln_count":27,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":48,"crawl_stats":37,"alternatives":56,"analysis":172,"fingerprints":387},"sync-qcloud-cos","Sync QCloud COS","2.6.6","沈唁","https:\u002F\u002Fprofiles.wordpress.org\u002Fshenyanzhi\u002F","\u003Cp>使用腾讯云对象存储服务 COS 作为附件存储空间。(Using Tencent Cloud Object Storage Service COS as Attachment Storage Space.)\u003C\u002Fp>\n\u003Cul>\n\u003Cli>依赖腾讯云 COS 服务：https:\u002F\u002Fcloud.tencent.com\u002Fproduct\u002Fcos\u003C\u002Fli>\n\u003Cli>使用说明：https:\u002F\u002Fcloud.tencent.com\u002Fproduct\u002Fcos\u002Fdetails\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>插件特点\u003C\u002Fh3>\n\u003Col>\n\u003Cli>可配置是否上传缩略图和是否保留本地备份\u003C\u002Fli>\n\u003Cli>本地删除可同步删除腾讯云对象存储 COS 中的文件\u003C\u002Fli>\n\u003Cli>支持腾讯云对象存储 COS 绑定的个性域名\u003C\u002Fli>\n\u003Cli>支持替换数据库中旧的资源链接地址\u003C\u002Fli>\n\u003Cli>支持北京、上海、广州、香港、法兰克福等完整地域使用\u003C\u002Fli>\n\u003Cli>支持同步历史附件到 COS\u003C\u002Fli>\n\u003Cli>支持验证桶名是否填写正确\u003C\u002Fli>\n\u003Cli>支持腾讯云数据万象 CI 图片处理\u003C\u002Fli>\n\u003Cli>支持上传文件自动重命名\u003C\u002Fli>\n\u003Cli>支持媒体库编辑\u003C\u002Fli>\n\u003Cli>支持腾讯云数据万象图片极智压缩\u003C\u002Fli>\n\u003Cli>支持文件预览\u003C\u002Fli>\n\u003Cli>支持文本内容审核\u003C\u002Fli>\n\u003Cli>支持原图保护\u003C\u002Fli>\n\u003Cli>支持数据监控\u003C\u002Fli>\n\u003Cli>支持使用 \u003Ccode>wp-cli\u003C\u002Fcode> 命令上传\u002F删除文件\u003C\u002Fli>\n\u003Cli>支持上传文件到存储桶子目录\u003C\u002Fli>\n\u003Cli>支持多站点\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>插件更多详细介绍和安装：\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsy-records\u002Fsync-qcloud-cos\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002Fsy-records\u002Fsync-qcloud-cos\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>作者博客\u003C\u002Fh3>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fqq52o.me\" title=\"沈唁志\" rel=\"nofollow ugc\">沈唁志\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>欢迎加入沈唁的 WordPress 云存储全家桶 QQ 交流群：887595381\u003C\u002Fp>\n","使用腾讯云对象存储服务 COS 作为附件存储空间。(Using Tencent Cloud Object Storage Service COS as Attachment Storage Space.)",400,22702,100,6,"2025-12-05T03:13:00.000Z","6.9.4","4.6","7.2",[20,21,22,23,24],"cos","%e8%85%be%e8%ae%af%e4%ba%91","qcloud","tencent","%e5%af%b9%e8%b1%a1%e5%ad%98%e5%82%a8","https:\u002F\u002Fqq52o.me\u002F2518.html","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsync-qcloud-cos.2.6.6.zip",1,0,"2022-02-17 00:00:00","2026-03-15T15:16:48.613Z",[32],{"id":33,"url_slug":34,"title":35,"description":36,"plugin_slug":4,"theme_slug":37,"affected_versions":38,"patched_in_version":39,"severity":40,"cvss_score":41,"cvss_vector":42,"vuln_type":43,"published_date":29,"updated_date":44,"references":45,"days_to_patch":47},"CVE-2022-0659","sync-qcloud-cos-plugin-authenticated-admin-cross-site-scripting","Sync QCloud COS Plugin \u003C 2.0.1 - Authenticated (Admin+) Cross-Site Scripting","The Sync QCloud COS WordPress plugin before 2.0.1 does not escape some of its settings, allowing high privilege users such as admin to perform Cross-Site Scripting attacks even when the unfiltered_html capability is disallowed",null,"\u003C2.0.1","2.0.1","medium",5.5,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:H\u002FUI:N\u002FS:C\u002FC:L\u002FI:L\u002FA:N","Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","2024-01-22 19:56:02",[46],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F5db41cdb-0795-43e7-bd36-9a85a882a760?source=api-prod",705,{"slug":49,"display_name":7,"profile_url":8,"plugin_count":50,"total_installs":51,"avg_security_score":52,"avg_patch_time_days":53,"trust_score":54,"computed_at":55},"shenyanzhi",13,3950,99,143,78,"2026-04-04T22:36:40.047Z",[57,79,98,124,147],{"slug":58,"name":59,"version":60,"author":61,"author_profile":62,"description":63,"short_description":64,"active_installs":65,"downloaded":66,"rating":67,"num_ratings":14,"last_updated":68,"tested_up_to":16,"requires_at_least":69,"requires_php":70,"tags":71,"homepage":77,"download_link":78,"security_score":13,"vuln_count":28,"unpatched_count":28,"last_vuln_date":37,"fetched_at":30},"wpcos","WPCOS腾讯云对象存储COS","4.8","老蒋和他的小伙伴","https:\u002F\u002Fprofiles.wordpress.org\u002Flaobuluo\u002F","\u003Cp>WordPress COS（简称:WPCOS），基于腾讯云COS存储与WordPress实现静态资源到COS存储中。提高网站项目的访问速度，以及静态资源的安全存储功能。\u003C\u002Fp>\n\u003Ch3>插件特点\u003C\u002Fh3>\n\u003Col>\n\u003Cli>新增支持腾讯云数据万象 设置水印、编辑图片、压缩WEBP等（取消）\u003C\u002Fli>\n\u003Cli>支持已有图片编辑功能\u003C\u002Fli>\n\u003Cli>支持自定义域名设置\u003C\u002Fli>\n\u003Cli>支持一键替换静态本地化至对象存储远程URL\u003C\u002Fli>\n\u003Cli>支持一键禁止缩略图\u003C\u002Fli>\n\u003Cli>支持自定义任意对象存储目录，一个存储桶可以多网站\u003C\u002Fli>\n\u003Cli>支持自动文件重命名\u003C\u002Fli>\n\u003Cli>支持本地和对象存储分离和同步\u003C\u002Fli>\n\u003Cli>优化重构加速上传\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>WPCOS插件安装方法：\u003Ca href=\"https:\u002F\u002Fwww.lezaiyun.com\u002F1093.html\" rel=\"nofollow ugc\">https:\u002F\u002Fwww.lezaiyun.com\u002F1093.html\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>网站支持\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.laojiang.me\u002F\" title=\"老蒋玩运营\" rel=\"nofollow ugc\">老蒋玩运营\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.zhujipingjia.com\u002F\" title=\"主机评价网\" rel=\"nofollow ugc\">主机评价网\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>欢迎加入插件和站长微信公众号：老蒋朋友圈（公众号）\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n","WordPress COS（简称:WPCOS），基于腾讯云COS存储与WordPress实现静态资源到COS存储中。提高网站项目的访问速度，以及静态资源的安全存储功能。",300,16355,74,"2026-02-08T12:09:00.000Z","6.0.1","7.4",[72,73,74,75,76],"%e8%85%be%e8%ae%af%e4%ba%91cos","%e8%85%be%e8%ae%af%e4%ba%91wordpress","%e8%85%be%e8%ae%af%e4%ba%91%e5%ad%98%e5%82%a8","%e8%85%be%e8%ae%af%e4%ba%91%e5%ad%98%e5%82%a8%e5%88%86%e7%a6%bb","%e8%85%be%e8%ae%af%e4%ba%91%e5%af%b9%e8%b1%a1%e5%ad%98%e5%82%a8","https:\u002F\u002Fwww.lezaiyun.com\u002F1093.html","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwpcos.4.8.zip",{"slug":80,"name":81,"version":82,"author":83,"author_profile":84,"description":85,"short_description":86,"active_installs":28,"downloaded":87,"rating":28,"num_ratings":28,"last_updated":88,"tested_up_to":89,"requires_at_least":90,"requires_php":70,"tags":91,"homepage":96,"download_link":97,"security_score":13,"vuln_count":28,"unpatched_count":28,"last_vuln_date":37,"fetched_at":30},"apoyl-tencentcos","[Aotuman] Auto Sync Tencent Cloud Object Storage COS","2.3.0","apoyl","https:\u002F\u002Fprofiles.wordpress.org\u002Fapoyl\u002F","\u003Cp>Design philosophy: This plugin is green and pollution-free. It does not modify the original system’s database image paths, preventing issues if cloud storage fails, network connectivity is lost, or if you no longer want cloud storage. You can deactivate the plugin at any time.\u003Cbr \u002F>\nWith one-click synchronization, your website images and attachments are automatically synced to Tencent Cloud Object Storage (COS), separating images\u002Fattachments from website code and diverting traffic for faster website loading speeds.\u003C\u002Fp>\n\u003Ch3>Feature Overview\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>Supports manual and automatic synchronization of images and attachments to Tencent Cloud Object Storage COS (Automatically sync images and attachments to Tencent Cloud Object Storage COS)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Supports custom regions, e.g., Beijing ap-beijing, Shanghai ap-shanghai, Chengdu ap-chengdu, Hong Kong (China) ap-hongkong, Singapore ap-singapore, Mumbai ap-mumbai, etc.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Supports custom bucket names\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Supports one-click synchronization of both new and old website images and attachments from the admin panel\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Supports automatic synchronization of uploaded images and attachments to the cloud; real-time sync to Tencent Cloud Storage upon upload, no manual intervention needed+\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Supports switching back to your own website domain for access at any time, preventing issues if Tencent Cloud fails, network problems occur, or if you simply wish to stop using cloud storage. You can switch back anytime.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Supports access domains\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Supports custom CDN acceleration domains\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Supports debugging functionality for easy error checking\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Compatible with \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fapoyl-grabweixin\u002F\" rel=\"ugc\">One-Click WeChat Article Grabber\u003C\u002Fa>, automatically syncing captured images to Qiniu Cloud\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Supports changing the Media Library path to the CDN acceleration domain. Note: Once enabled, the image paths in the admin Media Library will be changed to the custom access domain or CDN acceleration domain specified above. This means the domain path for images\u002Fattachments inserted into posts becomes fixed and irreversible, and frontend traffic can no longer switch back to local. Please be aware!\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n","Design philosophy: This plugin is green and pollution-free. It does not modify the original system's database image paths, preventing issues if c &hellip;",1399,"2025-09-29T07:57:00.000Z","6.8.5","6.0",[92,20,93,94,95],"cloud-storage","object-storage","sync-attachments","tencent-cloud","http:\u002F\u002Fwww.girltm.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fapoyl-tencentcos.zip",{"slug":99,"name":100,"version":101,"author":102,"author_profile":103,"description":104,"short_description":105,"active_installs":106,"downloaded":107,"rating":108,"num_ratings":109,"last_updated":110,"tested_up_to":16,"requires_at_least":111,"requires_php":112,"tags":113,"homepage":119,"download_link":120,"security_score":121,"vuln_count":122,"unpatched_count":28,"last_vuln_date":123,"fetched_at":30},"cost-calculator-builder","Cost Calculator Builder","3.6.15","Stylemix","https:\u002F\u002Fprofiles.wordpress.org\u002Fstylemix\u002F","\u003Cp>\u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator-plugin\u002F\" rel=\"nofollow ugc\">WP Cost Calculator\u003C\u002Fa> is a simple and powerful tool that lets you create price estimation forms. Easily give your clients information about your services and product costs.\u003C\u002Fp>\n\u003Cp>This tool helps you build any type of estimation form in minutes. The Calculator WordPress plugin has its own drag-and-drop form builder. You can create an unlimited number of calculation forms and embed them into any page or post with no coding.\u003C\u002Fp>\n\u003Cp>⭐ \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator-plugin\u002Fpricing\u002F?utm_source=wporg-calc&utm_medium=en&utm_campaign=2025\" rel=\"nofollow ugc\">Cost Calculator PRO\u003C\u002Fa>\u003Cbr \u002F>\n⭐ \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator\u002F\" rel=\"nofollow ugc\">Live Demo\u003C\u002Fa>\u003Cbr \u002F>\n⭐ \u003Ca href=\"https:\u002F\u002Fdocs.stylemixthemes.com\u002Fcost-calculator-builder\u002F\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa>\u003Cbr \u002F>\n⭐ \u003Ca href=\"https:\u002F\u002Fwww.facebook.com\u002Fgroups\u002Fcostcalculator\u002F\" rel=\"nofollow ugc\">Facebook Community\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Our calculator plugin for WordPress is intuitive and beginner-friendly. Cost Calculator is especially suitable if your services or products have variable costs.\u003C\u002Fp>\n\u003Cp>🎯 \u003Cstrong>Perfect for:\u003C\u002Fstrong>\u003Cbr \u002F>\nFreelancers, creative agencies, local services, salons, repair shops, real estate pros, educational institutions, and more.\u003C\u002Fp>\n\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FjHxgukfRkZk?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Cp>If you need to make a price calculator to estimate your project costs, this tool is for you. Need a loan calculator? A service quote form? An order estimator? This plugin can handle it all—fast.\u003C\u002Fp>\n\u003Cp>Let WP Cost Calculator become your virtual assistant and boost conversions on your website.\u003C\u002Fp>\n\u003Cp>🧩 \u003Cstrong>10 Core WordPress Calculator Elements:\u003C\u002Fstrong>\u003Cbr \u002F>\n○      Text field\u003Cbr \u002F>\n○      Formula\u003Cbr \u002F>\n○      Quantity field\u003Cbr \u002F>\n○      Dropdown\u003Cbr \u002F>\n○      Switch toggle\u003Cbr \u002F>\n○      Radio select\u003Cbr \u002F>\n○      Checkbox\u003Cbr \u002F>\n○      Basic slider\u003Cbr \u002F>\n○      HTML\u003Cbr \u002F>\n○      Divider\u003C\u002Fp>\n\u003Cp>🚀 \u003Cstrong>More advanced elements in Cost Calculator Pro:\u003C\u002Fstrong>\u003Cbr \u002F>\n○      Multi range\u003Cbr \u002F>\n○      File upload\u003Cbr \u002F>\n○      Image dropdown\u003Cbr \u002F>\n○      Image checkbox\u003Cbr \u002F>\n○      Image radio\u003Cbr \u002F>\n○      Date picker\u003Cbr \u002F>\n○      Time picker\u003Cbr \u002F>\n○      Repeater\u003Cbr \u002F>\n○      Group\u003Cbr \u002F>\n○      Geolocation\u003Cbr \u002F>\n○      Validated form\u003Cbr \u002F>\n○      Page breaker\u003C\u002Fp>\n\u003Cp>🎨 \u003Cstrong>Element Style options:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Show input options in multiple formats—vertically or horizontally.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Radio select:\u003C\u002Fstrong>\u003Cbr \u002F>\n○      Default\u003Cbr \u002F>\n○      Boxed\u003Cbr \u002F>\n○      Boxed with radio\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Checkboxes:\u003C\u002Fstrong>\u003Cbr \u002F>\n○      Default\u003Cbr \u002F>\n○      Boxed\u003Cbr \u002F>\n○      Boxed with checkbox\u003Cbr \u002F>\n○      Boxed with description\u003Cbr \u002F>\n○      Boxed with checkbox and description\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Switch toggle buttons:\u003C\u002Fstrong>\u003Cbr \u002F>\n○      Default\u003Cbr \u002F>\n○      Boxed with toggle and description\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Quantity:\u003C\u002Fstrong>\u003Cbr \u002F>\n○      Default\u003Cbr \u002F>\n○      Side buttons\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Basic slider & Multi range:\u003C\u002Fstrong>\u003Cbr \u002F>\n○      Default\u003Cbr \u002F>\n○      Small\u003Cbr \u002F>\n○      Multi point\u003Cbr \u002F>\n○      Flat minimal\u003Cbr \u002F>\n○      Modern\u003Cbr \u002F>\n○      Input\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Page breaker:\u003C\u002Fstrong>\u003Cbr \u002F>\n○      Circle steps with line\u003Cbr \u002F>\n○      Circle tabs\u003Cbr \u002F>\n○      Rectangle steps with line\u003Cbr \u002F>\n○      Rectangle tabs\u003Cbr \u002F>\n○      Progress with circle\u003Cbr \u002F>\n○      Progress with bar\u003Cbr \u002F>\n○      Hidden\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Image checkbox & Image radio:\u003C\u002Fstrong>\u003Cbr \u002F>\n○      Default\u003Cbr \u002F>\n○      Box with icon\u003Cbr \u002F>\n○      Vertical\u003Cbr \u002F>\n○      Horizontal\u003C\u002Fp>\n\u003Ch3>🌟Cost Calculator Builder PRO Features\u003C\u002Fh3>\n\u003Cp>The Premium version includes the following features:\u003C\u002Fp>\n\u003Cp>○      \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator-plugin\u002Fanalytics\u002F\" rel=\"nofollow ugc\">Analytics\u003C\u002Fa> – See how each calculator and field performs with views, submissions, and revenue stats in one place.\u003Cbr \u002F>\n○      \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator-plugin\u002Fconditions\u002F\" rel=\"nofollow ugc\">Conditional system\u003C\u002Fa> – Show\u002Fhide or enable\u002Fdisable fields based on user input.\u003Cbr \u002F>\n○      \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator-plugin\u002Frepeater-and-group-field\u002F\" rel=\"nofollow ugc\">Repeater\u003C\u002Fa> – Let users repeat a group of fields to calculate costs for multiple items, people, or services.\u003Cbr \u002F>\n○      \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator-plugin\u002Frepeater-and-group-field\u002F\" rel=\"nofollow ugc\">Group Field\u003C\u002Fa> – Group fields together and display them conditionally based on selected options.\u003Cbr \u002F>\n○      \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator-plugin\u002Fvalidate-form\u002F\" rel=\"nofollow ugc\">Validated Form\u003C\u002Fa> – Lets users create forms with fields for emails, numbers, and URLs.\u003Cbr \u002F>\n○      \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator-plugin\u002Fform-estimation-email\u002F\" rel=\"nofollow ugc\">Email Templates\u003C\u002Fa> – Send personalized emails to clients after form submissions.\u003Cbr \u002F>\n○      \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator-plugin\u002Fwoocommerce\u002F\" rel=\"nofollow ugc\">WooCommerce Integration\u003C\u002Fa> – Let customers calculate the price of your WooCommerce products depending on cost calculator variables and custom formulas.\u003Cbr \u002F>\n○      \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator-plugin\u002Fstep-by-step\u002F\" rel=\"nofollow ugc\">Page Breaker\u003C\u002Fa> – Improve long forms by splitting them into multiple steps.\u003Cbr \u002F>\n○      \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator-plugin\u002Fpayment-methods\u002F\" rel=\"nofollow ugc\">PayPal\u003C\u002Fa> – Get paid online using PayPal accounts.\u003Cbr \u002F>\n○      \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator-plugin\u002Fpayment-methods\u002F\" rel=\"nofollow ugc\">Stripe\u003C\u002Fa> – Accepts payments with credit\u002Fdebit cards and digital wallets.\u003Cbr \u002F>\n○      \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator-plugin\u002Fpayment-methods\u002F\" rel=\"nofollow ugc\">Razorpay\u003C\u002Fa> – Add support for various Indian payment methods.\u003Cbr \u002F>\n○      \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator-plugin\u002Fpayment-methods\u002F\" rel=\"nofollow ugc\">Cash payments\u003C\u002Fa> – Give flexibility to customers with cash payment options.\u003Cbr \u002F>\n○      \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator-plugin\u002Ffiles\u002F\" rel=\"nofollow ugc\">File Upload\u003C\u002Fa> – Set a module where the users attach any type of file to the calculator.\u003Cbr \u002F>\n○      \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator-plugin\u002Fsticky-calculator\u002F\" rel=\"nofollow ugc\">Sticky Calculator\u003C\u002Fa> – Add a floating button or sticky banner that keeps the calculator visible as users scroll.\u003Cbr \u002F>\n○      \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator-plugin\u002Fdiscounts-feature\u002F\" rel=\"nofollow ugc\">Discounts\u003C\u002Fa> – Offer discounts for a specific period or by using a promo code.\u003Cbr \u002F>\n○      \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator-plugin\u002Fgeolocation-element\u002F\" rel=\"nofollow ugc\">Geolocation\u003C\u002Fa> – Automatically detect the user’s location or allow them to calculate cost by selecting two points on the map.\u003Cbr \u002F>\n○      \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator-plugin\u002Fpdf\u002F\" rel=\"nofollow ugc\">PDF Entries\u003C\u002Fa> – Generate downloadable and printable PDF invoices from user submissions.\u003Cbr \u002F>\n○      \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator-plugin\u002Forders\u002F\" rel=\"nofollow ugc\">Orders Dashboard\u003C\u002Fa> – Track and manage your customers’ orders in Dashboard.\u003Cbr \u002F>\n○      \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator-plugin\u002Fcustom-order-form\u002F\" rel=\"nofollow ugc\">Order Form Manager\u003C\u002Fa> – Collect and process customer order details.\u003Cbr \u002F>\n○      Contact Form 7 Integration – Seamless communication with your customers.\u003Cbr \u002F>\n○      \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator-plugin\u002Fcustom-webhooks\u002F\" rel=\"nofollow ugc\">Custom Webhooks\u003C\u002Fa> – Automate business workflows with Zapier, Make, IFTTT, and more.\u003Cbr \u002F>\n○      \u003Ca href=\"https:\u002F\u002Fdocs.stylemixthemes.com\u002Fcost-calculator-builder\u002Fcost-calculator-settings\u002Fglobal-settings\u002Frecaptcha\" rel=\"nofollow ugc\">reCAPTCHA\u003C\u002Fa> – Protect forms from spam and bots using Google reCAPTCHA.\u003Cbr \u002F>\n○      \u003Ca href=\"https:\u002F\u002Fdocs.stylemixthemes.com\u002Fcost-calculator-builder\u002Fcalculator-elements\u002Fdate-picker-pro-feature\" rel=\"nofollow ugc\">Date Picker\u003C\u002Fa> – Add a compact calendar with a range of days to your calculator.\u003Cbr \u002F>\n○      \u003Ca href=\"https:\u002F\u002Fdocs.stylemixthemes.com\u002Fcost-calculator-builder\u002Fcalculator-elements\u002Ftime-picker-pro-feature\" rel=\"nofollow ugc\">Time Picker\u003C\u002Fa> – Allow to choose a specific time or a time range to provide a service or make an appointment.\u003Cbr \u002F>\n○      \u003Ca href=\"https:\u002F\u002Fdocs.stylemixthemes.com\u002Fcost-calculator-builder\u002Fcalculator-elements\u002Fmulti-range\" rel=\"nofollow ugc\">Multi-Range Slider\u003C\u002Fa> – Let users select a range of values using two adjustable handles.\u003Cbr \u002F>\n○      \u003Ca href=\"https:\u002F\u002Fdocs.stylemixthemes.com\u002Fcost-calculator-builder\u002Fcalculator-elements\u002Fdrop-down-with-image\" rel=\"nofollow ugc\">Image Dropdown\u003C\u002Fa> – Show dropdown options with images for more visual selections.\u003Cbr \u002F>\n○      \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator-plugin\u002Fform-estimation-email\u002F\" rel=\"nofollow ugc\">Share Quote Form\u003C\u002Fa> – Send a generated invoice\u002Forder (after calculations) to a client’s email in one click.\u003Cbr \u002F>\n○      \u003Ca href=\"https:\u002F\u002Fdocs.stylemixthemes.com\u002Fcost-calculator-builder\u002Fcalculator-elements\u002Fcheckbox-1\" rel=\"nofollow ugc\">Image Checkbox\u003C\u002Fa> – Improve checkbox options by showing images next to each item.\u003Cbr \u002F>\n○      \u003Ca href=\"https:\u002F\u002Fdocs.stylemixthemes.com\u002Fcost-calculator-builder\u002Fcalculator-elements\u002Fradio-button-1\" rel=\"nofollow ugc\">Image Radio\u003C\u002Fa> – Similar to image checkboxes, but only one option can be selected.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator\u002F?utm_source=wporg-calc&utm_medium=en&utm_campaign=2025\" rel=\"nofollow ugc\">Explore the Plugin Demo here\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FXZKJE1CcYxo?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Cp>You can assign values to any form element, and WP Cost Calculator will instantly calculate the total. You also have full control to create custom formulas using addition, subtraction, multiplication, or division. Easily embed your calculators anywhere using shortcodes.\u003C\u002Fp>\n\u003Cp>Don’t worry about customization! Adjust colors, fonts, and background freely to match your website’s style and brand without limitations.\u003C\u002Fp>\n\u003Ch3>100+ Ready-made Form Templates\u003C\u002Fh3>\n\u003Cp>Cost Calculator plugin for WordPress comes with a library of form templates. They make it easy for various businesses to create, edit, save and use contact, booking, payment order, or pricing form without designing from scratch.\u003C\u002Fp>\n\u003Cp>There are over 100 ready-made form templates sorted by business type that you can import and use right away. Whether you’re selling custom products or services with flexible pricing, this calculator plugin helps you create forms tailored to what you offer:\u003Cbr \u002F>\n– \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator\u002Fprinting-service-template\u002F\" rel=\"nofollow ugc\">Printing Service\u003C\u002Fa>\u003Cbr \u002F>\n– \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator\u002Fgraphic-designing-template\u002F\" rel=\"nofollow ugc\">Graphic & Web Designers\u003C\u002Fa>\u003Cbr \u002F>\n– \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator\u002Fcar-rental-booking-template\u002F\" rel=\"nofollow ugc\">Car & Vehicle Rental\u003C\u002Fa>\u003Cbr \u002F>\n– \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator\u002Floan-calculator-template\u002F\" rel=\"nofollow ugc\">Loan Calculator\u003C\u002Fa>\u003Cbr \u002F>\n– \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator\u002Fbeauty-salon-booking-template\u002F\" rel=\"nofollow ugc\">Beauty Salon Service\u003C\u002Fa>\u003Cbr \u002F>\n– \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator\u002Frenovation-template\u002F\" rel=\"nofollow ugc\">Home Remodeling & Renovation\u003C\u002Fa>\u003Cbr \u002F>\n– \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator\u002Fcar-wash-template\u002F\" rel=\"nofollow ugc\">Car Wash Service\u003C\u002Fa>\u003Cbr \u002F>\n– \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator\u002Fdelivery-service-template\u002F\" rel=\"nofollow ugc\">Delivery Service\u003C\u002Fa>\u003Cbr \u002F>\n– \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator\u002Fdental-service-template\u002F\" rel=\"nofollow ugc\">Dental Services\u003C\u002Fa>\u003Cbr \u002F>\n– \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator\u002Fclinic-booking-template\u002F\" rel=\"nofollow ugc\">Medical Services\u003C\u002Fa>\u003Cbr \u002F>\n– \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator\u002Ftuition-fee-template\u002F\" rel=\"nofollow ugc\">Tuition Fees\u003C\u002Fa>\u003Cbr \u002F>\n– \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator\u002Fvenue-rental-template\u002F\" rel=\"nofollow ugc\">Venue Rentals\u003C\u002Fa>\u003Cbr \u002F>\n– \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator\u002Fwedding-planner-booking-template\u002F\" rel=\"nofollow ugc\">Wedding Planners\u003C\u002Fa>\u003Cbr \u002F>\n– \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator\u002Fbmi-body-mass-index-calculator-template\u002F\" rel=\"nofollow ugc\">Body Mass Index (BMI)\u003C\u002Fa>\u003Cbr \u002F>\n– \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator\u002Ffuneral-home-company-template\u002F\" rel=\"nofollow ugc\">Funeral Home Company\u003C\u002Fa>\u003Cbr \u002F>\n– \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator\u002Fenergy-consumption-template\u002F\" rel=\"nofollow ugc\">Energy Consumption\u003C\u002Fa>\u003Cbr \u002F>\n– \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator\u002Finternet-marketing-template\u002F\" rel=\"nofollow ugc\">Internet Marketing\u003C\u002Fa>\u003Cbr \u002F>\n– \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator\u002Ftax-calculator-template\u002F\" rel=\"nofollow ugc\">Tax Calculator\u003C\u002Fa>\u003Cbr \u002F>\n– \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator\u002Fhosting-template\u002F\" rel=\"nofollow ugc\">Web Hosting Services\u003C\u002Fa>\u003Cbr \u002F>\n– \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator\u002Ftrucking-template\u002F\" rel=\"nofollow ugc\">Trucking\u003C\u002Fa>\u003Cbr \u002F>\n– \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator\u002Felectrician-services-template\u002F\" rel=\"nofollow ugc\">Electrician Services\u003C\u002Fa>\u003Cbr \u002F>\n– And even more!\u003C\u002Fp>\n\u003Cp>Explore the ready-to-use \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator-plugin\u002Ftemplates\" rel=\"nofollow ugc\">Templates page\u003C\u002Fa> and try them on our \u003Ca href=\"https:\u002F\u002Fstylemixthemes.com\u002Fcost-calculator-plugin\u002Ftemplates\u002Ftip-calculator-template\u002F\" rel=\"nofollow ugc\">live demo\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Start building quote calculators that convert visitors into paying clients faster and smarter with WP Cost Calculator.\u003C\u002Fp>\n\u003Ch3>Cost Calculator Community on Facebook\u003C\u002Fh3>\n\u003Cp>You can visit our Cost Calculator \u003Ca href=\"https:\u002F\u002Fwww.facebook.com\u002Fgroups\u002Fcostcalculator\u002F\" rel=\"nofollow ugc\">group\u003C\u002Fa> on Facebook to get the latest updates, engage with other users, and share your thoughts.\u003C\u002Fp>\n\u003Ch3>More Awesome Free Plugins by Stylemix\u003C\u002Fh3>\n\u003Cp>⭐ \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmasterstudy-lms-learning-management-system\u002F\" rel=\"ugc\">MasterStudy – All-in-One WordPress LMS Plugin\u003C\u002Fa>\u003Cbr \u002F>\n⭐ \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmotors-car-dealership-classified-listings\u002F\" rel=\"ugc\">Motors – Car Dealership & Classified Listings Plugin\u003C\u002Fa>\u003Cbr \u002F>\n⭐ \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Feroom-zoom-meetings-webinar\u002F\" rel=\"ugc\">Zoom Meetings and Webinars Plugin — eRoom\u003C\u002Fa>\u003Cbr \u002F>\n⭐ \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fulisting\u002F\" rel=\"ugc\">Free Classifieds and Listings Plugin – uListing\u003C\u002Fa>\u003C\u002Fp>\n","WP Cost Calculator is a simple and powerful tool that lets you create price estimation forms. Easily give your clients information about your services &hellip;",30000,2878891,90,391,"2026-03-05T09:16:00.000Z","6.2","8.0.3",[114,115,116,117,118],"calculator","calculator-form-builder","cost-calculator","cost-estimation","shipping-calculator","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcost-calculator-builder\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcost-calculator-builder.3.6.15.zip",82,14,"2026-01-15 20:25:52",{"slug":125,"name":126,"version":127,"author":128,"author_profile":129,"description":130,"short_description":131,"active_installs":132,"downloaded":133,"rating":134,"num_ratings":135,"last_updated":136,"tested_up_to":89,"requires_at_least":137,"requires_php":138,"tags":139,"homepage":145,"download_link":146,"security_score":13,"vuln_count":28,"unpatched_count":28,"last_vuln_date":37,"fetched_at":30},"minmax-quantity-for-woocommerce","Min and Max Quantity for WooCommerce","1.3.8.3","BeRocket","https:\u002F\u002Fprofiles.wordpress.org\u002Fberocket\u002F","\u003Cp>Min and Max Quantity for WooCommerce plugin allow you to setup limits for cost of products in orders and in groups and limits for quantity of products, product variations, products in orders and products in group. You can add products and product variations to group. Infinite amount of groups.\u003C\u002Fp>\n\u003Ch4>Features:\u003C\u002Fh4>\n\u003Cp>✅ Quantity limits for products\u003Cbr \u002F>\n✅ Quantity limits for product variations\u003Cbr \u002F>\n✅ Quantity limits for products in cart\u003Cbr \u002F>\n✅ Cost limits for products in cart\u003C\u002Fp>\n\u003Ch4>Additional Features in Paid Plugin:\u003C\u002Fh4>\n\u003Cp>✅ Quantity limits for groups of products\u003Cbr \u002F>\n✅ Quantity limits for products from categories\u003Cbr \u002F>\n✅ Quantity limits for products from specific attributes\u003Cbr \u002F>\n✅ Cost limits for groups of products\u003Cbr \u002F>\n✅ Cost limits for products from categories\u003Cbr \u002F>\n✅ Cost limits for products from specific attributes\u003Cbr \u002F>\n✅ Infinite groups of products\u003C\u002Fp>\n\u003Ch4>Plugin Links:\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fberocket.com\u002Fwoocommerce-min-max-quantity\u002F?utm_source=wordpress_org&utm_medium=plugin_links&utm_campaign=MM_Quantity\" rel=\"nofollow ugc\">Paid Plugin\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwoocommerce-product-of-day.berocket.com\u002Fshop\u002F?utm_source=wordpress_org&utm_medium=plugin_links&utm_campaign=MM_Quantity\" rel=\"nofollow ugc\">Demo\u003C\u002Fa>\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fdocs.berocket.com\u002Fplugin\u002Fwoocommerce-minmax-quantity?utm_source=wordpress_org&utm_medium=plugin_links&utm_campaign=MM_Quantity\" rel=\"nofollow ugc\">Docs\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>🍬 Wanna try admin side?\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fberocket.com\u002Fwoocommerce-min-max-quantity\u002F?utm_source=wordpress_org&utm_medium=admin_demo&utm_campaign=MM_Quantity#try-admin\" rel=\"nofollow ugc\">Admin Demo\u003C\u002Fa> – Get access to this plugin’s admin and try it from inside. Change things and watch how they work.\u003C\u002Fp>\n\u003Ch4>Premium plugin video\u003C\u002Fh4>\n\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FHJPL94cmX2k?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003Cbr \u002F>\n\u003Cem>we don’t have video with free plugin right now but we are working on it\u003C\u002Fem>\u003C\u002Fp>\n\u003Ch4>Compatibility with WooCommerce plugins\u003C\u002Fh4>\n\u003Cp>Min and Max Quantity for WooCommerce has been tested and compatibility is certain with the following WooCommerce plugins that you can add to your site:\u003C\u002Fp>\n\u003Cp>🔸 \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcart-notices-for-woocommerce\u002F\" rel=\"ugc\">\u003Cstrong>Cart Notices for WooCommerce\u003C\u002Fstrong>\u003C\u002Fa>\u003Cbr \u002F>\n🔸 \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcurrency-exchange-for-woocommerce\u002F\" rel=\"ugc\">\u003Cstrong>Currency Exchange for WooCommerce\u003C\u002Fstrong>\u003C\u002Fa>\u003Cbr \u002F>\n🔸 \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fforce-sell-for-woocommerce\u002F\" rel=\"ugc\">\u003Cstrong>Force Sell for WooCommerce\u003C\u002Fstrong>\u003C\u002Fa>\u003Cbr \u002F>\n🔸 \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcart-products-suggestions-for-woocommerce\u002F\" rel=\"ugc\">\u003Cstrong>Products Suggestions for WooCommerce\u003C\u002Fstrong>\u003C\u002Fa>\u003Cbr \u002F>\n🔸 \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsales-report-for-woocommerce\u002F\" rel=\"ugc\">\u003Cstrong>Sales Report for WooCommerce\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fp>\n","Min and Max Quantity for WooCommerce - set limits for cost of products in orders and in groups and limits for quantity of products, product variations &hellip;",20000,518837,96,217,"2025-10-27T15:04:00.000Z","5.0","7.0",[140,141,142,143,144],"limit-cost","limit-quantity","min-and-max-to-purchase","range-to-buy","woocommerce-limits","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fminmax-quantity-for-woocommerce\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fminmax-quantity-for-woocommerce.1.3.8.3.zip",{"slug":148,"name":149,"version":150,"author":151,"author_profile":152,"description":153,"short_description":154,"active_installs":155,"downloaded":156,"rating":157,"num_ratings":158,"last_updated":159,"tested_up_to":16,"requires_at_least":160,"requires_php":161,"tags":162,"homepage":168,"download_link":169,"security_score":134,"vuln_count":170,"unpatched_count":28,"last_vuln_date":171,"fetched_at":30},"cost-of-goods-for-woocommerce","Cost of Goods: Product Cost & Profit Calculator for WooCommerce","4.1.0","WPFactory","https:\u002F\u002Fprofiles.wordpress.org\u002Fwpcodefactory\u002F","\u003Cblockquote>\n\u003Cp>“Best Plugin There is For Woocommerce Profit Calculation: I cannot believe how amazing this plugin really is! I don’t normally write reviews, but I have tested a couple of plugins to calculate profit etc. But this is by far the best. There are many options to choose from and once you get it all set, it works wonders. Also Pablo from support has been great! Thank you so much in abundance.” – ⭐⭐⭐⭐⭐  \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Fbest-plugin-there-is-for-woocommerce-profit-calculation\u002F\" rel=\"ugc\">shahican\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwpfactory.com\u002Fitem\u002Fcost-of-goods-for-woocommerce\u002F?utm_source=wporg&utm_medium=organic&utm_campaign=readme\" title=\"**Main Page**\" rel=\"nofollow ugc\">Main Page\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwpfactory.com\u002Fsupport\u002Fitem\u002Fcost-of-goods-for-woocommerce\u002F?utm_source=wporg&utm_medium=organic&utm_campaign=readme\" title=\"**Support Forum**\" rel=\"nofollow ugc\">Support Forum\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwpfactory.com\u002Fdocs\u002Fcost-of-goods-for-woocommerce\u002F?utm_source=wporg&utm_medium=organic&utm_campaign=readme\" title=\"**Documentation & How to**\" rel=\"nofollow ugc\">Documentation & How to\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fcogsprofitcalculator.instawp.xyz\u002F\" rel=\"nofollow ugc\">Demo\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Every WooCommerce store owner recognizes the significance of understanding their financial health, but pinpointing exact metrics like Cost of Goods Sold (COGS) can often be a complex chore with the default WooCommerce settings.\u003C\u002Fp>\n\u003Cp>So whether for a product, category, or the whole store, and for a specific period, a month, quarter, or any time frame you can think of, our plugin will give you a holistic overview of financial reporting for your WooCommerce store.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>In a nutshell, this what you’ll expect to get in this plugin:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Customizable Product Costs:\u003C\u002Fstrong> Define the costs of goods for each of your products to track profitability accurately\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Versatile Costs for Variable Products:\u003C\u002Fstrong> Assign costs either to each individual variation or to all variations collectively, offering flexibility based on your product range\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Enhanced Admin Visibility:\u003C\u002Fstrong> Add sortable columns in the WooCommerce admin section, providing insights into product\u002Forder cost and profit directly in product and order lists\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Smooth Data Import\u002FExport:\u003C\u002Fstrong> Effortlessly integrate product costs via CSV files, utilizing the standard WooCommerce Import and Export tools\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Bulk Edit Functionality:\u003C\u002Fstrong> Modify product costs, prices, and stock in bulk from a dedicated page, streamlining inventory management\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Import from Other Metas:\u003C\u002Fstrong> With the specialized import tool, bring in costs from other product metas to ensure consistent pricing data\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Optional Order Meta Box:\u003C\u002Fstrong> Integrate a “Cost of Goods” meta box in the admin order edit page for deeper cost insights at the order level\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Profit Warning:\u003C\u002Fstrong> Receive a notification on the admin order edit page when a particular order’s profit dips below zero\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Flexible Order Costs:\u003C\u002Fstrong> Define additional costs either universally across all orders or on a per-order basis\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Automatic Average Cost Calculation\u003C\u002Fstrong>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Analytics Integration\u003C\u002Fstrong>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🤝 Recommended By\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwpglob.com\u002Fbest-woocommerce-pricing-plugins-for-wordpress-2022\u002F\" title=\"WPGlob: Best WooCommerce Pricing Plugins for WordPress 2023\" rel=\"nofollow ugc\">WPGlob: Best WooCommerce Pricing Plugins for WordPress 2023\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fpasswordprotectwp.com\u002Fcost-of-goods-for-woocommerce\u002F\" title=\"PPWP Pro: Easy Way to Track Cost of Goods in WooCommerce Stores\" rel=\"nofollow ugc\">PPWP Pro: Easy Way to Track Cost of Goods in WooCommerce Stores\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fremovewcfeatures.com\u002Fwoocommerce-cost-of-goods\u002F#cost-of-goods-for-woocommerce\" title=\"WooCommerce Features: Best WooCommerce Cost of Goods Plugins for Tracking Profit\" rel=\"nofollow ugc\">WooCommerce Features: Best WooCommerce Cost of Goods Plugins for Tracking Profit\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fdownloadfreewpplugins.com\u002Fwordpress\u002Fcost-of-goods-for-woocommerce\u002F\" title=\"Download Free WP: Top Cost of Goods for WooCommerce\" rel=\"nofollow ugc\">Download Free WP: Top Cost of Goods for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwpfavs.com\u002Fsingle-plugin-page?slug=cost-of-goods-for-woocommerce\" title=\"WPFavs: Best COGS Plugin\" rel=\"nofollow ugc\">WPFavs: Best COGS Plugin\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Flearnwoo.com\u002Fwoocommerce-reporting-and-analytics-plugins\u002F\" title=\"LearnWoo: Best WooCommerce Reporting and Analytics Plugins\" rel=\"nofollow ugc\">LearnWoo: Best WooCommerce Reporting and Analytics Plugins\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🚀 Main Features: FREE Version\u003C\u002Fh3>\n\u003Ch3>🚀 Product Cost of Goods Sold (COGS) Management\u003C\u002Fh3>\n\u003Ch4>🚀 Cost of Goods Sold (COGS) & Profit Calculation\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\n\u003Cp>Create a cost field for every simple product, variable, or variation to properly calculate profit\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Select to calculate profit based on the price with tax, without tax, or regular price\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Show & customize profit text, select to show profit, profit percentage, profit margin, or any mix of these values\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Get detailed figures by selecting how many decimal points to show in cost field for accurate reporting\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Select cost field location from different placements, you can insert in product page in General tab, pricing section, Inventory & SKU, or Advanced tab\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Show product cost & product profit in WooCommerce Admin list to have a general overview, as well as allowing to sort by cost & profit for all products at once\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>🚀 Save Historical Data for Cost of Goods\u003C\u002Fh4>\n\u003Cp>By preserving past cost data, this feature enables businesses to track how the cost structure of their products has evolved, providing a clear window into shifts in supplier pricing, manufacturing costs, or other contributing factors.\u003C\u002Fp>\n\u003Cp>Such historical data becomes invaluable when analyzing profitability trends, forecasting future expenses, and making informed pricing decisions.\u003C\u002Fp>\n\u003Ch3>🚀 Order Cost of Goods Sold (COGS) & Profit Management\u003C\u002Fh3>\n\u003Ch4>🚀 Calculate Cost & Profit by Order\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\n\u003Cp>Show Profit & Cost of Goods Sold fields in WooCommerce admin orders list to easily track cost & profit per order\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>For accurate reporting, select which order statuses to show costs values\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>For Profit, select what columns to add, include any of profit, profit percentage, profit margin values to the orders columns\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>ِAdd items cost field to order **edit ** page either as editable or just readonly\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Re-adjust order costs even after order is processed if cost changed, for a better & accurate reporting\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Edit order by items, or for the whole order at once\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Enable notification in order edit page in case order profit is below zero\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Import items costs when adding items to orders (in order edit page)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>🚀 Total Order Cost & Profit Calculation\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\n\u003Cp>Define options for order cost and profit calculations based on your financial standards\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Select to calculate order costs to be either subtotal including tax, total including tax, or total excluding tax\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Select to calculate order shipping costs in order profit (by percentage, i.e. including part of shipping cost or all of it)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Add order fees to order profit\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Adds order taxes to the order profit\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Select when to calculate order profit based on order status\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>🚀 Refunded Orders Cost & Profit Calculation\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\n\u003Cp>Calculate orders quantity by excluding refunded items\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Select to calculate refunds from many options: Profits ignoring refunds, subtract total refunded items from profit, subtract each item’s refund amount from profit, or go further and calculate profit by the difference between Net Payment and Cost\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Select to include tax on Net Payment\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>🚀 Orders Extra Costs\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\n\u003Cp>Insert a fixed or percentage (from total order) extra cost to be added to all orders\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Choose to include meta box on order edit page to calculate extra costs like: Handling fees, Shipping Fees, or Payment fees (by order)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Add extra costs by order meta (like Stripe & PayPal transaction fees)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🚀 Payment Gateways Cost Management\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>Add fixed costs and\u002For percentage costs to orders based on the payment gateway which processed the order\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Works on default payment gateways (CoD, Direct transfers, CC) as well as any extra custom gateway used on your store\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🚀 Shipping Methods Cost Management\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>Calculate extra costs associated with each shipping method by fixed and\u002For percentage cost\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Use shipping methods instances (with shipping zones) instead of shipping methods\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Works on all shipping methods available on your store\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🚀 Costs Bulk Edit Tools\u003C\u002Fh3>\n\u003Cp>Navigating the financial aspects of a WooCommerce store can often be complex, especially when it comes to making widespread changes to product costs.\u003C\u002Fp>\n\u003Cp>Our plugin seamlessly addresses this challenge, introducing free tools that empower store owners to apply bulk changes to product costs, without the usual hassles, using these methods:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Manual Edits:\u003C\u002Fstrong> Dive into the details by manually editing the cost, regular price, sale price, stock, and even tags for each product\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>By Price:\u003C\u002Fstrong> Modify product costs based on a set percentage, offering a more uniform approach to price alterations\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>By Profit:\u003C\u002Fstrong> Add a specific percentage to ensure profitability is maintained or optimized across the board\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🚀 Bulk Change Prices by Costs & Desired Profit\u003C\u002Fh3>\n\u003Cp>Once you set product costs, you can use our built-in tool to change product prices based on a desired profit, either by a fixed amount or profit perecentageز\u003C\u002Fp>\n\u003Ch3>🚀 Import & Export Costs\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>Import and export product costs from and to a CSV file with standard WooCommerce Import and Export tools\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>You can also use our import tool if you need to import costs from another product metas\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🚀 More Advanced Options\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>Replace comma by dots when updating cost meta\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Create a new meta box on product page to calculate stock & cost per each stock received\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>View history of Stock & Cost snapshots\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Unlimited costs update hooks that can be used to trigger cost update\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🏆 Do More: PRO Version\u003C\u002Fh3>\n\u003Cp>Everything highlighted above —and much more— is accessible in the complimentary version. However, for those seeking to elevate their experience and dive deeper, we offer the upgraded \u003Ca href=\"https:\u002F\u002Fwpfactory.com\u002Fitem\u002Fcost-of-goods-for-woocommerce\u002F?utm_source=wporg&utm_medium=organic&utm_campaign=readme\" rel=\"nofollow ugc\">Cost of Goods for WooCommerce Pro\u003C\u002Fa> plugin.\u003C\u002Fp>\n\u003Cp>Opt for the Pro version and discover a collection of more features, such as:\u003C\u002Fp>\n\u003Ch3>🏆 Advanced Bulk Edits\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>Add Cost field to product bulk and quick edit\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Add “Add stock” fields (stock and cost) to product bulk and quick edit\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🏆 Include Cost & Profit in Emails\u003C\u002Fh3>\n\u003Cp>Opt in and include the order cost and profit on the admin new order email\u003C\u002Fp>\n\u003Ch3>🏆 Include Shipping Classes Costs\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>Add extra costs for your orders based on product’s shipping classes\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Select fixed cost calculations per product, or per shipping class\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🏆 Handle Multi-Currencies Stores\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>Calculate order cost and profit based on custom exchange rates (Cost and profit will be converted to the shop base currency)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Add extra costs based on the order currency\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🏆 Orders Recalculation Tool\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>Recalculate cost and profit for all orders\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Select to only recalculate cost and profit for orders with no costs\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Recalculate cost and profit for orders within specific time frame\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🏆 Cost & Profit Data in WooCommerce Analytics Reports\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\n\u003Cp>Add cost & profit to the report charts (Analytics > Orders tab)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Add cost, profit & category columns to the report charts (Analytics > Stock tab)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Add cost & profit including charts to the report charts (Analytics > Revenue tab)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🏆 Advanced Compatibility Options\u003C\u002Fh3>\n\u003Cp>The plugin works seamlessly with tons of plugins, but for advanced harmony with some popular plugins, the plugin has advanced & tailored compatibility options with:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fcodecanyon.net\u002Fitem\u002Fopenpos-a-complete-pos-plugins-for-woocomerce\u002F22613341\" title=\"**Openpos - WooCommerce Point Of Sale (POS):**\" rel=\"nofollow ugc\">\u003Cstrong>Openpos – WooCommerce Point Of Sale (POS):\u003C\u002Fstrong>\u003C\u002Fa> Manages POS orders on orders reports\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwoocommerce.com\u002Fproducts\u002Fproduct-add-ons\u002F\" title=\"**Product Add-Ons by WooCommerce:**\" rel=\"nofollow ugc\">\u003Cstrong>Product Add-Ons by WooCommerce:\u003C\u002Fstrong>\u003C\u002Fa> Adds costs fields for the addons and creates an order meta with addons costs\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-multi-currency\u002F\" title=\"**CURCY - Multi Currency for WooCommerce:**\" rel=\"ugc\">\u003Cstrong>CURCY – Multi Currency for WooCommerce:\u003C\u002Fstrong>\u003C\u002Fa> Get currency rates from CURCY plugin instead of the Multicurrency > Order calculation option\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.exchangerate-api.com\u002Fdocs\u002Ffree\" title=\"**ExchangeRate-API:**\" rel=\"nofollow ugc\">\u003Cstrong>ExchangeRate-API:\u003C\u002Fstrong>\u003C\u002Fa> Get currency rates from ExchangeRate-API instead of the Multicurrency > Order calculation option\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fmetorik.com\u002F\" title=\"**Metorik:**\" rel=\"nofollow ugc\">\u003Cstrong>Metorik:\u003C\u002Fstrong>\u003C\u002Fa> Sync cost with _wc_cog_cost meta\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwp-all-import\u002F\" title=\"**WP All Import:**\" rel=\"ugc\">\u003Cstrong>WP All Import:\u003C\u002Fstrong>\u003C\u002Fa> Convert numbers with commas to dots & Remove all invalid characters from a float number, like currency values\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoo-product-bundle\u002F\" title=\"**WPC Product Bundles for WooCommerce:**\" rel=\"ugc\">\u003Cstrong>WPC Product Bundles for WooCommerce:\u003C\u002Fstrong>\u003C\u002Fa> Exclude Smart bundle product type from stock and orders report & properly handle Smart bundle cost from its items\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fatum-stock-manager-for-woocommerce\u002F\" title=\"**ATUM Inventory Management for WooCommerce:**\" rel=\"ugc\">\u003Cstrong>ATUM Inventory Management for WooCommerce:\u003C\u002Fstrong>\u003C\u002Fa> Copy & sync costs from ATUM and properly handle taxes on import\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fexthemes.net\u002Fwoocommerce-food\u002F\" title=\"**WooCommerce Food:**\" rel=\"nofollow ugc\">\u003Cstrong>WooCommerce Food:\u003C\u002Fstrong>\u003C\u002Fa> Add fixed costs to food options\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🏆 Premium Support\u003C\u002Fh3>\n\u003Cp>And much more.\u003C\u002Fp>\n\u003Ch3>What’s Next? Discover More Plugins by WPFactory\u003C\u002Fh3>\n\u003Cp>WPFactory has a diverse range of plugins tailored to enhance your experience, some of our top-selling plugins are:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwpfactory.com\u002Fitem\u002Fproduct-quantity-for-woocommerce\u002F?utm_source=wporg&utm_medium=organic&utm_campaign=readme\" title=\"**Min Max Step Quantity**\" rel=\"nofollow ugc\">\u003Cstrong>Min Max Step Quantity\u003C\u002Fstrong>\u003C\u002Fa>: Set minimum, maximum, step, and default product quantities, including dropdowns and decimal options on WooCommerce (\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fproduct-quantity-for-woocommerce\u002F\" title=\"Free version\" rel=\"ugc\">Free version\u003C\u002Fa>\u003C\u002Fstrong>)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwpfactory.com\u002Fitem\u002Fcost-of-goods-for-woocommerce\u002F?utm_source=wporg&utm_medium=organic&utm_campaign=readme\" title=\"**Cost of Goods WooCommerce**\" rel=\"nofollow ugc\">\u003Cstrong>Cost of Goods for WooCommerce\u003C\u002Fstrong>\u003C\u002Fa>: Enhance profit maximization and financial management by accurately calculating your WooCommerce store’s COGS (\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcost-of-goods-for-woocommerce\u002F\" title=\"Free version\" rel=\"ugc\">Free version\u003C\u002Fa>\u003C\u002Fstrong>)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwpfactory.com\u002Fitem\u002Fmaximum-products-per-user-for-woocommerce\u002F?utm_source=wporg&utm_medium=organic&utm_campaign=readme\" title=\"**Maximum Products per User**\" rel=\"nofollow ugc\">\u003Cstrong>Maximum Products per User\u003C\u002Fstrong>\u003C\u002Fa>: Impose personalized purchase limits based on user roles and date ranges to manage customer buying behavior (\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmaximum-products-per-user-for-woocommerce\u002F\" title=\"Free version\" rel=\"ugc\">Free version\u003C\u002Fa>\u003C\u002Fstrong>)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwpfactory.com\u002Fitem\u002Forder-minimum-maximum-amount-for-woocommerce\u002F?utm_source=wporg&utm_medium=organic&utm_campaign=readme\" title=\"**Order Minimum\u002FMaximum Amount**\" rel=\"nofollow ugc\">\u003Cstrong>Order Minimum\u002FMaximum Amount\u003C\u002Fstrong>\u003C\u002Fa>: Customize order limits by amount, quantity, weight, or volume, including user role, category, and more (\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Forder-minimum-amount-for-woocommerce\u002F\" title=\"Free version\" rel=\"ugc\">Free version\u003C\u002Fa>\u003C\u002Fstrong>)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwpfactory.com\u002Fitem\u002Feu-vat-for-woocommerce\u002F?utm_source=wporg&utm_medium=organic&utm_campaign=readme\" title=\"**EU\u002FUK VAT Manager for WooCommerce**\" rel=\"nofollow ugc\">\u003Cstrong>EU\u002FUK VAT Manager for WooCommerce\u003C\u002Fstrong>\u003C\u002Fa>: Automate VAT compliance for your WooCommerce store, including settings and VIES validation for a seamless experience (\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Feu-vat-for-woocommerce\u002F\" title=\"Free version\" rel=\"ugc\">Free version\u003C\u002Fa>\u003C\u002Fstrong>)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwpfactory.com\u002Fitem\u002Femail-verification-for-woocommerce\u002F?utm_source=wporg&utm_medium=organic&utm_campaign=readme\" title=\"**Email Verification for WooCommerce**\" rel=\"nofollow ugc\">\u003Cstrong>Email Verification for WooCommerce\u003C\u002Fstrong>\u003C\u002Fa>: Boost security and credibility by verifying customer emails, reducing spam, and improving email marketing (\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmaximum-products-per-user-for-woocommerce\u002F\" title=\"Free version\" rel=\"ugc\">Free version\u003C\u002Fa>\u003C\u002Fstrong>)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwpfactory.com\u002Fitem\u002Famount-left-free-shipping-woocommerce\u002F?utm_source=wporg&utm_medium=organic&utm_campaign=readme\" title=\"**Free Shipping Over Amount for WooCommerce**\" rel=\"nofollow ugc\">\u003Cstrong>Free Shipping Over Amount for WooCommerce\u003C\u002Fstrong>\u003C\u002Fa>: Encourage higher spending by offering free shipping based on amount, with a progress bar for customers (\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Famount-left-free-shipping-woocommerce\u002F\" title=\"Free version\" rel=\"ugc\">Free version\u003C\u002Fa>\u003C\u002Fstrong>)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwpfactory.com\u002Fitem\u002Fproduct-price-by-quantity-for-woocommerce\u002F?utm_source=wporg&utm_medium=organic&utm_campaign=readme\" title=\"**Dynamic Pricing & Bulk Quantity Discounts**\" rel=\"nofollow ugc\">\u003Cstrong>Dynamic Pricing & Bulk Quantity Discounts\u003C\u002Fstrong>\u003C\u002Fa>: Advanced dynamic pricing and discount rules for WooCommerce, encouraging bulk purchases and driving more sales (\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwholesale-pricing-woocommerce\u002F\" title=\"Free version\" rel=\"ugc\">Free version\u003C\u002Fa>\u003C\u002Fstrong>)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>❤️ User Testimonials: See What Others Are Saying!\u003C\u002Fh3>\n\u003Cblockquote>\n\u003Cp>“The support is super fast and amazing.\u003Cbr \u002F>\n  Plugin also is great and work really smooth and nice.” – ⭐⭐⭐⭐⭐ \u003Ca href=\"https:\u002F\u002Fwpfactory.com\u002Fitem\u002Fcost-of-goods-for-woocommerce\u002F?utm_source=wporg&utm_medium=organic&utm_campaign=readme\" rel=\"nofollow ugc\">Sina Arzany\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>“Amazingly fast support, added a feature that we needed to work without any delay. Incredible service. Plug-in does exactly what we need it to do.” – ⭐⭐⭐⭐⭐ \u003Ca href=\"https:\u002F\u002Fwpfactory.com\u002Fitem\u002Fcost-of-goods-for-woocommerce\u002F?utm_source=wporg&utm_medium=organic&utm_campaign=readme\" rel=\"nofollow ugc\">Scott\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>“Excellent plugin with so much functionality but yet so easy to use to keep track of profit at an order level! Great work team!” – ⭐⭐⭐⭐⭐ \u003Ca href=\"https:\u002F\u002Fwpfactory.com\u002Fitem\u002Fcost-of-goods-for-woocommerce\u002F?utm_source=wporg&utm_medium=organic&utm_campaign=readme\" rel=\"nofollow ugc\">Tye\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>“Best MUST have plugin: If you need to have a control under the costs of the products you sell, this plugin is a must have. It works perfectly without any conflict with other plugins. Also I would like to point out the support of this plugin. They are always willing to help you and answering any question you could have. TOP TOP TOP” – ⭐⭐⭐⭐⭐ \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Fmust-have-plugin-394\u002F\" rel=\"ugc\">betcazador\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n","Unlock detailed insights into products profitability, calculate COGS & profit margins, and get a better financial analytics insights with our Cost &hellip;",10000,722479,94,41,"2026-03-12T19:11:00.000Z","6.1","",[163,164,165,166,167],"cost","cost-of-goods","profit","profit-calculator","woocommerce","https:\u002F\u002Fwpfactory.com\u002Fitem\u002Fcost-of-goods-for-woocommerce\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcost-of-goods-for-woocommerce.4.1.0.zip",4,"2025-05-19 00:00:00",{"attackSurface":173,"codeSignals":262,"taintFlows":347,"riskAssessment":375,"analyzedAt":386},{"hooks":174,"ajaxHandlers":258,"restRoutes":259,"shortcodes":260,"cronEvents":261,"entryPointCount":28,"unprotectedCount":28},[175,182,185,188,192,196,201,205,210,214,219,223,227,231,235,239,243,246,250,254],{"type":176,"name":177,"callback":178,"priority":179,"file":180,"line":181},"filter","wp_get_attachment_url","cos_add_suffix_to_attachment_url",10,"sync-qcloud-cos.php",166,{"type":176,"name":183,"callback":178,"priority":179,"file":180,"line":184},"wp_get_attachment_thumb_url",167,{"type":176,"name":186,"callback":178,"priority":179,"file":180,"line":187},"wp_get_original_image_url",168,{"type":176,"name":189,"callback":190,"priority":179,"file":180,"line":191},"wp_prepare_attachment_for_js","cos_add_suffix_to_attachment",169,{"type":176,"name":193,"callback":194,"file":180,"line":195},"image_get_intermediate_size","cos_add_suffix_for_media_send_to_editor",170,{"type":176,"name":197,"callback":198,"priority":199,"file":180,"line":200},"wp_handle_upload","cos_upload_attachments",50,405,{"type":176,"name":202,"callback":203,"priority":13,"file":180,"line":204},"wp_generate_attachment_metadata","cos_upload_thumbs",406,{"type":176,"name":206,"callback":207,"priority":208,"file":180,"line":209},"wp_save_image_editor_file","cos_save_image_editor_file",101,407,{"type":176,"name":211,"callback":212,"file":180,"line":213},"wp_update_attachment_metadata","cos_image_editor_file_do",482,{"type":215,"name":216,"callback":217,"file":180,"line":218},"action","delete_attachment","cos_delete_remote_attachment",560,{"type":176,"name":177,"callback":220,"priority":221,"file":180,"line":222},"cos_modify_img_url",30,570,{"type":176,"name":224,"callback":225,"priority":179,"file":180,"line":226},"sanitize_file_name","cos_sanitize_file_name",586,{"type":176,"name":228,"callback":229,"priority":179,"file":180,"line":230},"plugin_action_links","cos_plugin_action_links",636,{"type":176,"name":232,"callback":233,"file":180,"line":234},"the_content","cos_setting_content_ci",638,{"type":176,"name":236,"callback":237,"priority":179,"file":180,"line":238},"post_thumbnail_html","cos_setting_post_thumbnail_ci",639,{"type":176,"name":240,"callback":241,"priority":179,"file":180,"line":242},"wp_calculate_image_srcset","cos_custom_image_srcset",640,{"type":176,"name":189,"callback":244,"file":180,"line":245},"cos_wp_prepare_attachment_for_js",641,{"type":176,"name":247,"callback":248,"priority":52,"file":180,"line":249},"preprocess_comment","cos_process_comments",1309,{"type":176,"name":251,"callback":252,"file":180,"line":253},"pre_comment_approved","__return_zero",1319,{"type":215,"name":255,"callback":256,"file":180,"line":257},"admin_menu","cos_add_setting_page",1491,[],[],[],[],{"dangerousFunctions":263,"sqlUsage":264,"outputEscaping":266,"fileOperations":14,"externalRequests":28,"nonceChecks":27,"capabilityChecks":27,"bundledLibraries":343},[],{"prepared":170,"raw":28,"locations":265},[],{"escaped":267,"rawEcho":268,"locations":269},71,37,[270,273,275,277,279,281,283,285,287,289,291,293,295,297,298,300,302,304,306,308,310,311,313,315,317,319,321,323,325,327,329,331,333,335,337,339,341],{"file":180,"line":271,"context":272},138,"raw output",{"file":180,"line":274,"context":272},863,{"file":180,"line":276,"context":272},998,{"file":180,"line":278,"context":272},1002,{"file":180,"line":280,"context":272},1054,{"file":180,"line":282,"context":272},1057,{"file":180,"line":284,"context":272},1226,{"file":180,"line":286,"context":272},1388,{"file":180,"line":288,"context":272},1391,{"file":180,"line":290,"context":272},1533,{"file":180,"line":292,"context":272},1551,{"file":180,"line":294,"context":272},1631,{"file":180,"line":296,"context":272},1645,{"file":180,"line":296,"context":272},{"file":180,"line":299,"context":272},1700,{"file":180,"line":301,"context":272},1713,{"file":180,"line":303,"context":272},1726,{"file":180,"line":305,"context":272},1751,{"file":180,"line":307,"context":272},1761,{"file":180,"line":309,"context":272},1765,{"file":180,"line":309,"context":272},{"file":180,"line":312,"context":272},1777,{"file":180,"line":314,"context":272},1780,{"file":180,"line":316,"context":272},1806,{"file":180,"line":318,"context":272},1824,{"file":180,"line":320,"context":272},1826,{"file":180,"line":322,"context":272},1828,{"file":180,"line":324,"context":272},1830,{"file":180,"line":326,"context":272},1852,{"file":180,"line":328,"context":272},1853,{"file":180,"line":330,"context":272},1854,{"file":180,"line":332,"context":272},1855,{"file":180,"line":334,"context":272},1858,{"file":180,"line":336,"context":272},1859,{"file":180,"line":338,"context":272},1863,{"file":180,"line":340,"context":272},1867,{"file":180,"line":342,"context":272},1873,[344],{"name":345,"version":37,"knownCves":346},"Guzzle",[],[348,367],{"entryPoint":349,"graph":350,"unsanitizedCount":28,"severity":366},"cos_setting_page (sync-qcloud-cos.php:1494)",{"nodes":351,"edges":363},[352,357],{"id":353,"type":354,"label":355,"file":180,"line":356},"n0","source","$_POST (x2)",1588,{"id":358,"type":359,"label":360,"file":180,"line":361,"wp_function":362},"n1","sink","update_option() [Settings Manipulation]",1590,"update_option",[364],{"from":353,"to":358,"sanitized":365},true,"low",{"entryPoint":368,"graph":369,"unsanitizedCount":28,"severity":366},"\u003Csync-qcloud-cos> (sync-qcloud-cos.php:0)",{"nodes":370,"edges":373},[371,372],{"id":353,"type":354,"label":355,"file":180,"line":356},{"id":358,"type":359,"label":360,"file":180,"line":361,"wp_function":362},[374],{"from":353,"to":358,"sanitized":365},{"summary":376,"deductions":377},"The sync-qcloud-cos plugin, version 2.6.6, exhibits a generally positive security posture with no identified critical or high-severity vulnerabilities in static analysis or taint flows. The plugin demonstrates good practices by utilizing prepared statements for all SQL queries and performing a reasonable number of output escaping operations, although the escaping rate is not perfect. The presence of nonce and capability checks suggests an effort to secure certain operations. The limited attack surface with no exposed AJAX handlers, REST API routes, or shortcodes further contributes to its defensibility.",[378,380,383],{"reason":379,"points":170},"Output escaping not fully implemented",{"reason":381,"points":382},"Bundled library (Guzzle) may be outdated",3,{"reason":384,"points":385},"One medium severity CVE in history",8,"2026-03-16T19:42:15.900Z",{"wat":388,"direct":401},{"assetPaths":389,"generatorPatterns":394,"scriptPaths":395,"versionParams":396},[390,391,392,393],"\u002Fwp-content\u002Fplugins\u002Fsync-qcloud-cos\u002Fcss\u002Fadmin.css","\u002Fwp-content\u002Fplugins\u002Fsync-qcloud-cos\u002Fcss\u002Fsettings.css","\u002Fwp-content\u002Fplugins\u002Fsync-qcloud-cos\u002Fjs\u002Fadmin.js","\u002Fwp-content\u002Fplugins\u002Fsync-qcloud-cos\u002Fjs\u002Fsettings.js",[],[392,393],[397,398,399,400],"sync-qcloud-cos\u002Fcss\u002Fadmin.css?ver=","sync-qcloud-cos\u002Fcss\u002Fsettings.css?ver=","sync-qcloud-cos\u002Fjs\u002Fadmin.js?ver=","sync-qcloud-cos\u002Fjs\u002Fsettings.js?ver=",{"cssClasses":402,"htmlComments":416,"htmlAttributes":434,"restEndpoints":438,"jsGlobals":440,"shortcodeOutput":443},[403,404,405,406,407,408,409,410,411,412,413,414,415],"cos-upload-subdirectory-tr","cos-upload-subdirectory-td","cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos-cos- (This is a very long and likely auto-generated class name, suggesting a complex plugin structure or potentially an obfuscation technique. It's highly specific.)","cos-ci-audit-tr","cos-ci-audit-td","cos-ci-preview-tr","cos-ci-preview-td","cos-ci-slim-tr","cos-ci-slim-td","cos-ci-origin-protect-tr","cos-ci-origin-protect-td","cos-options-tr","cos-options-td",[417,418,419,420,421,422,423,424,425,426,427,428,429,429,430,431,432,433,431,431,431,431,419,420,421,422,423,424,425,426,427,428,429,429,430,431,432,433,431,431,431,431],"\u003C!-- COS_PLUGIN_PAGE -->","\u003C!-- 仅用于检查Bucket是否存在 -->","\u003C!-- 腾讯云对象存储同步插件 by 沈唁 -->","\u003C!-- 来源保护 -->","\u003C!-- CI 审计 -->","\u003C!-- CI 文件预览 -->","\u003C!-- CI 图片优化 -->","\u003C!-- CI 文本审核 -->","\u003C!-- CI 文本审核策略 -->","\u003C!-- CI 文本审核校验登录 -->","\u003C!-- CI 文本审核角色 -->","\u003C!-- 升级提示 -->","\u003C!-- 检查Bucket是否存在 -->","\u003C!-- 替换 COS Client Region -->","\u003C!-- COS SDK v5 -->","\u003C!-- 插入 COS SDK v5 -->","\u003C!-- 检查COS Client Region -->",[435,436,437],"data-cos-version","data-cos-plugin-slug","data-cos-plugin-page",[439],"\u002Fwp-json\u002Fsync-qcloud-cos\u002Fv1\u002Foptions",[441,442],"syncQcloudCOSAdmin","syncQcloudCOSSettings",[]]