{"id":41,"date":"2008-11-24T01:07:37","date_gmt":"2008-11-24T01:07:37","guid":{"rendered":"http:\/\/www.backupassist.com\/blog\/support\/rsync-how-effective-is-it\/"},"modified":"2019-11-13T09:40:28","modified_gmt":"2019-11-13T09:40:28","slug":"rsync-how-effective-is-it","status":"publish","type":"post","link":"https:\/\/www.backupassist.com\/blog\/rsync-how-effective-is-it","title":{"rendered":"Rsync &#8211; how effective is it?"},"content":{"rendered":"<p>There&#8217;s much excitement here as we&#8217;re about to release our Rsync Engine, which will enable data to be synchronized offsite in a bandwidth efficient manner.<\/p>\n<p>I&#8217;ve written up some findings on Rsync in terms of how it performs for typical Windows data, including Exchange Information Store backups and SQL database backups. You can see the results here:<\/p>\n<p><a href=\"http:\/\/www.backupassist.com\/SBS\/documents\/4%20Rsync.pdf\">Rsync presentation<\/a><\/p>\n<p>[Note &#8211; this is actually an excerpt from my full presentation on Server 2008 backup, available here: <a href=\"http:\/\/www.backupassist.com\/SBS\/sbspresentation.html\">http:\/\/www.backupassist.com\/SBS\/sbspresentation.html<\/a>]<\/p>\n<p>To illustrate the point, I created a 100MB uncompressible file (actually a TrueCrypt container). I then Rsynced it across to a data host. I then changed one byte of the file, somewhere in the middle, and then reran the Rsync job. These were the results:<\/p>\n<p>Data backed up: 100.00 MB<\/p>\n<p>Bandwidth efficiency report:<br \/>\nFiles transferred: 0<br \/>\nSize of changed files: 0.00 B<br \/>\nTotal bytes sent: 2.13 kB<br \/>\nTotal bytes received: 26.00 B<br \/>\nSpeedup factor: 47468.36<\/p>\n<p>Fantastic &#8211; if one byte in the file changes, Rsync will only transmit the relevant changed block.<\/p>\n<p>I then decided to insert 5 bytes at the start of the file. This means that the entire file is shifted right by 5 bytes. Normally, a block level incremental backup algorithm (like those found in drive imaging programs) will actually need to backup the entire file again because of the shift in data (every single block is affected). However, Rsync is correctly able to identify the shift. These are the results:<\/p>\n<p>Data backed up: 100.00 MB<\/p>\n<p>Bandwidth efficiency report:<br \/>\nFiles transferred: 1<br \/>\nSize of changed files: 100.00 MB<br \/>\nTotal bytes sent: 12.20 kB<br \/>\nTotal bytes received: 70.05 kB<br \/>\nSpeedup factor: 1245.06<\/p>\n<p>So we see here that 70kB was received, and 12kB was sent. Most of this data would have been checksums to try to detect what part of the file changed. Still an outstanding result! 12kB sent compared to 100MB.<\/p>\n<p>So overall, Rsync is quite simply a sound choice for bandwidth efficient block-level delta incremental data transfers.<\/p>\n<p>We&#8217;ll be releasing our Rsync engine for Beta testing in the coming days. Stay tuned!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>There&#8217;s much excitement here as we&#8217;re about to release our Rsync Engine, which will enable data to be synchronized offsite in a bandwidth efficient manner. I&#8217;ve written up some findings on Rsync in terms of how it performs for typical Windows data, including Exchange Information Store backups and SQL database backups. You can see the &#8230; <a title=\"Rsync &#8211; how effective is it?\" class=\"read-more\" href=\"https:\/\/www.backupassist.com\/blog\/rsync-how-effective-is-it\">Read more <span class=\"screen-reader-text\">Rsync &#8211; how effective is it?<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":13831,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,3,760],"tags":[],"class_list":["post-41","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev","category-support","category-legacy"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Rsync - how effective is it? - Cyber Resilience Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.backupassist.com\/blog\/rsync-how-effective-is-it\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Rsync - how effective is it? - Cyber Resilience Blog\" \/>\n<meta property=\"og:description\" content=\"There&#8217;s much excitement here as we&#8217;re about to release our Rsync Engine, which will enable data to be synchronized offsite in a bandwidth efficient manner. I&#8217;ve written up some findings on Rsync in terms of how it performs for typical Windows data, including Exchange Information Store backups and SQL database backups. You can see the ... Read more Rsync &#8211; how effective is it?\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.backupassist.com\/blog\/rsync-how-effective-is-it\" \/>\n<meta property=\"og:site_name\" content=\"Cyber Resilience Blog\" \/>\n<meta property=\"article:published_time\" content=\"2008-11-24T01:07:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-11-13T09:40:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.backupassist.com\/app\/uploads\/sites\/3\/2008\/05\/tile-placeholder1-01.png\" \/>\n\t<meta property=\"og:image:width\" content=\"842\" \/>\n\t<meta property=\"og:image:height\" content=\"596\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Linus Chang\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Linus Chang\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.backupassist.com\/blog\/rsync-how-effective-is-it#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.backupassist.com\/blog\/rsync-how-effective-is-it\"},\"author\":{\"name\":\"Linus Chang\",\"@id\":\"https:\/\/www.backupassist.com\/blog\/#\/schema\/person\/523a9a01769da254de228dbd4b1328d3\"},\"headline\":\"Rsync &#8211; how effective is it?\",\"datePublished\":\"2008-11-24T01:07:37+00:00\",\"dateModified\":\"2019-11-13T09:40:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.backupassist.com\/blog\/rsync-how-effective-is-it\"},\"wordCount\":339,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/www.backupassist.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.backupassist.com\/blog\/rsync-how-effective-is-it#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.backupassist.com\/app\/uploads\/sites\/3\/2008\/05\/tile-placeholder1-01.png\",\"articleSection\":[\"Developer\",\"Support\",\"Z-Legacy\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.backupassist.com\/blog\/rsync-how-effective-is-it#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.backupassist.com\/blog\/rsync-how-effective-is-it\",\"url\":\"https:\/\/www.backupassist.com\/blog\/rsync-how-effective-is-it\",\"name\":\"Rsync - how effective is it? - Cyber Resilience Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.backupassist.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.backupassist.com\/blog\/rsync-how-effective-is-it#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.backupassist.com\/blog\/rsync-how-effective-is-it#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.backupassist.com\/app\/uploads\/sites\/3\/2008\/05\/tile-placeholder1-01.png\",\"datePublished\":\"2008-11-24T01:07:37+00:00\",\"dateModified\":\"2019-11-13T09:40:28+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.backupassist.com\/blog\/rsync-how-effective-is-it#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.backupassist.com\/blog\/rsync-how-effective-is-it\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.backupassist.com\/blog\/rsync-how-effective-is-it#primaryimage\",\"url\":\"https:\/\/www.backupassist.com\/app\/uploads\/sites\/3\/2008\/05\/tile-placeholder1-01.png\",\"contentUrl\":\"https:\/\/www.backupassist.com\/app\/uploads\/sites\/3\/2008\/05\/tile-placeholder1-01.png\",\"width\":842,\"height\":596},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.backupassist.com\/blog\/rsync-how-effective-is-it#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.backupassist.com\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Rsync &#8211; how effective is it?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.backupassist.com\/blog\/#website\",\"url\":\"https:\/\/www.backupassist.com\/blog\/\",\"name\":\"Cyber Resilience Blog\",\"description\":\"Protect Your Cloud Data with BackupAssist\",\"publisher\":{\"@id\":\"https:\/\/www.backupassist.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.backupassist.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.backupassist.com\/blog\/#organization\",\"name\":\"Cyber Resilience Blog\",\"url\":\"https:\/\/www.backupassist.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.backupassist.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.backupassist.com\/app\/uploads\/sites\/3\/2019\/09\/BA-Logo-Full-Logo.svg\",\"contentUrl\":\"https:\/\/www.backupassist.com\/app\/uploads\/sites\/3\/2019\/09\/BA-Logo-Full-Logo.svg\",\"caption\":\"Cyber Resilience Blog\"},\"image\":{\"@id\":\"https:\/\/www.backupassist.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.backupassist.com\/blog\/#\/schema\/person\/523a9a01769da254de228dbd4b1328d3\",\"name\":\"Linus Chang\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.backupassist.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/58a69ed0d0b9928d91dec6132dccfb646cc4230839af779f185531c722b0d017?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/58a69ed0d0b9928d91dec6132dccfb646cc4230839af779f185531c722b0d017?s=96&d=mm&r=g\",\"caption\":\"Linus Chang\"},\"description\":\"*Founder &amp; Creator, BackupAssist* Linus Chang has been writing software since he was eight years old. He founded BackupAssist in 2002 \u2014 making him one of the longest-standing voices in Windows backup and data protection \u2014 and has spent the decades since talking to IT administrators around the world about what actually goes wrong, and why. His interest in data loss isn't abstract. Early in his career, he was working at the Monash University help desk when a student came in with a floppy disk that wouldn't read. They tried everything. None of their drives could read it either. The disk held her entire PhD dissertation \u2014 years of work \u2014 and it was the only copy. She broke down in tears. There was nothing he could do. Five years later, he wrote the first version of BackupAssist. Linus holds a Bachelor of Science in Computer Science and has held Microsoft Certified Solution Developer and Sun Certified Java Programmer credentials. More recently, he has completed digital forensics and cyber-security courses through the Black Hat Conference. He has spoken on information security and cryptography at Infosecurity Europe, addressed politicians and policymakers at Australian Parliament House, presented to SMB IT administrators at the IT Pro Experts Conference, and served as a guest lecturer to Cyber Security master's students at the University of Melbourne. On this blog, Linus writes about backup strategy and the technical side of cyber-resilience \u2014 drawing on 24 years of product development and direct conversation with the IT professionals BackupAssist is built for. [Connect with Linus on LinkedIn](https:\/\/www.linkedin.com\/in\/linuschang\/)\",\"url\":\"https:\/\/www.backupassist.com\/blog\/author\/linus-chang\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Rsync - how effective is it? - Cyber Resilience Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.backupassist.com\/blog\/rsync-how-effective-is-it","og_locale":"en_US","og_type":"article","og_title":"Rsync - how effective is it? - Cyber Resilience Blog","og_description":"There&#8217;s much excitement here as we&#8217;re about to release our Rsync Engine, which will enable data to be synchronized offsite in a bandwidth efficient manner. I&#8217;ve written up some findings on Rsync in terms of how it performs for typical Windows data, including Exchange Information Store backups and SQL database backups. You can see the ... Read more Rsync &#8211; how effective is it?","og_url":"https:\/\/www.backupassist.com\/blog\/rsync-how-effective-is-it","og_site_name":"Cyber Resilience Blog","article_published_time":"2008-11-24T01:07:37+00:00","article_modified_time":"2019-11-13T09:40:28+00:00","og_image":[{"width":842,"height":596,"url":"https:\/\/www.backupassist.com\/app\/uploads\/sites\/3\/2008\/05\/tile-placeholder1-01.png","type":"image\/png"}],"author":"Linus Chang","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Linus Chang","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.backupassist.com\/blog\/rsync-how-effective-is-it#article","isPartOf":{"@id":"https:\/\/www.backupassist.com\/blog\/rsync-how-effective-is-it"},"author":{"name":"Linus Chang","@id":"https:\/\/www.backupassist.com\/blog\/#\/schema\/person\/523a9a01769da254de228dbd4b1328d3"},"headline":"Rsync &#8211; how effective is it?","datePublished":"2008-11-24T01:07:37+00:00","dateModified":"2019-11-13T09:40:28+00:00","mainEntityOfPage":{"@id":"https:\/\/www.backupassist.com\/blog\/rsync-how-effective-is-it"},"wordCount":339,"commentCount":1,"publisher":{"@id":"https:\/\/www.backupassist.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.backupassist.com\/blog\/rsync-how-effective-is-it#primaryimage"},"thumbnailUrl":"https:\/\/www.backupassist.com\/app\/uploads\/sites\/3\/2008\/05\/tile-placeholder1-01.png","articleSection":["Developer","Support","Z-Legacy"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.backupassist.com\/blog\/rsync-how-effective-is-it#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.backupassist.com\/blog\/rsync-how-effective-is-it","url":"https:\/\/www.backupassist.com\/blog\/rsync-how-effective-is-it","name":"Rsync - how effective is it? - Cyber Resilience Blog","isPartOf":{"@id":"https:\/\/www.backupassist.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.backupassist.com\/blog\/rsync-how-effective-is-it#primaryimage"},"image":{"@id":"https:\/\/www.backupassist.com\/blog\/rsync-how-effective-is-it#primaryimage"},"thumbnailUrl":"https:\/\/www.backupassist.com\/app\/uploads\/sites\/3\/2008\/05\/tile-placeholder1-01.png","datePublished":"2008-11-24T01:07:37+00:00","dateModified":"2019-11-13T09:40:28+00:00","breadcrumb":{"@id":"https:\/\/www.backupassist.com\/blog\/rsync-how-effective-is-it#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.backupassist.com\/blog\/rsync-how-effective-is-it"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.backupassist.com\/blog\/rsync-how-effective-is-it#primaryimage","url":"https:\/\/www.backupassist.com\/app\/uploads\/sites\/3\/2008\/05\/tile-placeholder1-01.png","contentUrl":"https:\/\/www.backupassist.com\/app\/uploads\/sites\/3\/2008\/05\/tile-placeholder1-01.png","width":842,"height":596},{"@type":"BreadcrumbList","@id":"https:\/\/www.backupassist.com\/blog\/rsync-how-effective-is-it#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.backupassist.com\/blog"},{"@type":"ListItem","position":2,"name":"Rsync &#8211; how effective is it?"}]},{"@type":"WebSite","@id":"https:\/\/www.backupassist.com\/blog\/#website","url":"https:\/\/www.backupassist.com\/blog\/","name":"Cyber Resilience Blog","description":"Protect Your Cloud Data with BackupAssist","publisher":{"@id":"https:\/\/www.backupassist.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.backupassist.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.backupassist.com\/blog\/#organization","name":"Cyber Resilience Blog","url":"https:\/\/www.backupassist.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.backupassist.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.backupassist.com\/app\/uploads\/sites\/3\/2019\/09\/BA-Logo-Full-Logo.svg","contentUrl":"https:\/\/www.backupassist.com\/app\/uploads\/sites\/3\/2019\/09\/BA-Logo-Full-Logo.svg","caption":"Cyber Resilience Blog"},"image":{"@id":"https:\/\/www.backupassist.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.backupassist.com\/blog\/#\/schema\/person\/523a9a01769da254de228dbd4b1328d3","name":"Linus Chang","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.backupassist.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/58a69ed0d0b9928d91dec6132dccfb646cc4230839af779f185531c722b0d017?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/58a69ed0d0b9928d91dec6132dccfb646cc4230839af779f185531c722b0d017?s=96&d=mm&r=g","caption":"Linus Chang"},"description":"*Founder &amp; Creator, BackupAssist* Linus Chang has been writing software since he was eight years old. He founded BackupAssist in 2002 \u2014 making him one of the longest-standing voices in Windows backup and data protection \u2014 and has spent the decades since talking to IT administrators around the world about what actually goes wrong, and why. His interest in data loss isn't abstract. Early in his career, he was working at the Monash University help desk when a student came in with a floppy disk that wouldn't read. They tried everything. None of their drives could read it either. The disk held her entire PhD dissertation \u2014 years of work \u2014 and it was the only copy. She broke down in tears. There was nothing he could do. Five years later, he wrote the first version of BackupAssist. Linus holds a Bachelor of Science in Computer Science and has held Microsoft Certified Solution Developer and Sun Certified Java Programmer credentials. More recently, he has completed digital forensics and cyber-security courses through the Black Hat Conference. He has spoken on information security and cryptography at Infosecurity Europe, addressed politicians and policymakers at Australian Parliament House, presented to SMB IT administrators at the IT Pro Experts Conference, and served as a guest lecturer to Cyber Security master's students at the University of Melbourne. On this blog, Linus writes about backup strategy and the technical side of cyber-resilience \u2014 drawing on 24 years of product development and direct conversation with the IT professionals BackupAssist is built for. [Connect with Linus on LinkedIn](https:\/\/www.linkedin.com\/in\/linuschang\/)","url":"https:\/\/www.backupassist.com\/blog\/author\/linus-chang"}]}},"_links":{"self":[{"href":"https:\/\/www.backupassist.com\/blog\/wp-json\/wp\/v2\/posts\/41","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.backupassist.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.backupassist.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.backupassist.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.backupassist.com\/blog\/wp-json\/wp\/v2\/comments?post=41"}],"version-history":[{"count":2,"href":"https:\/\/www.backupassist.com\/blog\/wp-json\/wp\/v2\/posts\/41\/revisions"}],"predecessor-version":[{"id":14158,"href":"https:\/\/www.backupassist.com\/blog\/wp-json\/wp\/v2\/posts\/41\/revisions\/14158"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.backupassist.com\/blog\/wp-json\/wp\/v2\/media\/13831"}],"wp:attachment":[{"href":"https:\/\/www.backupassist.com\/blog\/wp-json\/wp\/v2\/media?parent=41"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.backupassist.com\/blog\/wp-json\/wp\/v2\/categories?post=41"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.backupassist.com\/blog\/wp-json\/wp\/v2\/tags?post=41"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}