import{s as sa,a as U,o as ia,n as B}from"../chunks/scheduler.eb244325.js";import{S as na,i as oa,e as r,s as i,c as b,h as ra,a,d as l,b as n,f as la,g as $,j as u,k as C,u as L,l as aa,m as s,n as M,t as d,o as g,p as w}from"../chunks/index.3fe63ad3.js";import{C as ma}from"../chunks/CopyLLMTxtMenu.88bde5f2.js";import{C as J}from"../chunks/CodeBlock.934d290d.js";import{H,E as pa}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.341974a5.js";import{H as Hl,a as Z}from"../chunks/HfOption.0914e9f3.js";function ua(T){let m,f="Example output:",o,c,p,h,x="Where the found port is: <code>/dev/tty.usbmodem575E0032081</code> corresponding to your leader or follower arm.",_;return c=new J({props:{code:"RmluZGluZyUyMGFsbCUyMGF2YWlsYWJsZSUyMHBvcnRzJTIwZm9yJTIwdGhlJTIwTW90b3JCdXMuJTBBJTVCJyUyRmRldiUyRnR0eS51c2Jtb2RlbTU3NUUwMDMyMDgxJyUyQyUyMCclMkZkZXYlMkZ0dHkudXNibW9kZW01NzVFMDAzMTc1MSclNUQlMEFSZW1vdmUlMjB0aGUlMjBVU0IlMjBjYWJsZSUyMGZyb20lMjB5b3VyJTIwTW90b3JzQnVzJTIwYW5kJTIwcHJlc3MlMjBFbnRlciUyMHdoZW4lMjBkb25lLiUwQSUwQSU1Qi4uLkRpc2Nvbm5lY3QlMjBjb3JyZXNwb25kaW5nJTIwbGVhZGVyJTIwb3IlMjBmb2xsb3dlciUyMGFybSUyMGFuZCUyMHByZXNzJTIwRW50ZXIuLi4lNUQlMEElMEFUaGUlMjBwb3J0JTIwb2YlMjB0aGlzJTIwTW90b3JzQnVzJTIwaXMlMjAlMkZkZXYlMkZ0dHkudXNibW9kZW01NzVFMDAzMjA4MSUwQVJlY29ubmVjdCUyMHRoZSUyMFVTQiUyMGNhYmxlLg==",highlighted:`<span class="hljs-symbol">Finding</span> all available ports for the <span class="hljs-symbol">MotorBus</span>.
[<span class="hljs-string">&#x27;/dev/tty.usbmodem575E0032081&#x27;</span>, <span class="hljs-string">&#x27;/dev/tty.usbmodem575E0031751&#x27;</span>]
<span class="hljs-symbol">Remove</span> the <span class="hljs-symbol">USB</span> cable from your <span class="hljs-symbol">MotorsBus</span> and press <span class="hljs-symbol">Enter</span> when done.

[...<span class="hljs-symbol">Disconnect</span> corresponding leader or follower arm and press <span class="hljs-symbol">Enter</span>...]

<span class="hljs-symbol">The</span> port of this <span class="hljs-symbol">MotorsBus</span> is /dev/tty.usbmodem575E0032081
<span class="hljs-symbol">Reconnect</span> the <span class="hljs-symbol">USB</span> cable.`,wrap:!1}}),{c(){m=r("p"),m.textContent=f,o=i(),b(c.$$.fragment),p=i(),h=r("p"),h.innerHTML=x},l(v){m=a(v,"P",{"data-svelte-h":!0}),u(m)!=="svelte-c9hbnf"&&(m.textContent=f),o=n(v),$(c.$$.fragment,v),p=n(v),h=a(v,"P",{"data-svelte-h":!0}),u(h)!=="svelte-cknsqd"&&(h.innerHTML=x)},m(v,I){s(v,m,I),s(v,o,I),M(c,v,I),s(v,p,I),s(v,h,I),_=!0},p:B,i(v){_||(d(c.$$.fragment,v),_=!0)},o(v){g(c.$$.fragment,v),_=!1},d(v){v&&(l(m),l(o),l(p),l(h)),w(c,v)}}}function fa(T){let m,f="On Linux, you might need to give access to the USB ports by running:",o,c,p,h,x="Example output:",_,v,I,j,S="Where the found port is: <code>/dev/ttyACM1</code> corresponding to your leader or follower arm.",R;return c=new J({props:{code:"c3VkbyUyMGNobW9kJTIwNjY2JTIwJTJGZGV2JTJGdHR5QUNNMCUwQXN1ZG8lMjBjaG1vZCUyMDY2NiUyMCUyRmRldiUyRnR0eUFDTTE=",highlighted:`sudo <span class="hljs-built_in">chmod</span> 666 /dev/ttyACM0
sudo <span class="hljs-built_in">chmod</span> 666 /dev/ttyACM1`,wrap:!1}}),v=new J({props:{code:"RmluZGluZyUyMGFsbCUyMGF2YWlsYWJsZSUyMHBvcnRzJTIwZm9yJTIwdGhlJTIwTW90b3JCdXMuJTBBJTVCJyUyRmRldiUyRnR0eUFDTTAnJTJDJTIwJyUyRmRldiUyRnR0eUFDTTEnJTVEJTBBUmVtb3ZlJTIwdGhlJTIwdXNiJTIwY2FibGUlMjBmcm9tJTIweW91ciUyME1vdG9yc0J1cyUyMGFuZCUyMHByZXNzJTIwRW50ZXIlMjB3aGVuJTIwZG9uZS4lMEElMEElNUIuLi5EaXNjb25uZWN0JTIwY29ycmVzcG9uZGluZyUyMGxlYWRlciUyMG9yJTIwZm9sbG93ZXIlMjBhcm0lMjBhbmQlMjBwcmVzcyUyMEVudGVyLi4uJTVEJTBBJTBBVGhlJTIwcG9ydCUyMG9mJTIwdGhpcyUyME1vdG9yc0J1cyUyMGlzJTIwJTJGZGV2JTJGdHR5QUNNMSUwQVJlY29ubmVjdCUyMHRoZSUyMFVTQiUyMGNhYmxlLg==",highlighted:`<span class="hljs-symbol">Finding</span> all available ports for the <span class="hljs-symbol">MotorBus</span>.
[<span class="hljs-string">&#x27;/dev/ttyACM0&#x27;</span>, <span class="hljs-string">&#x27;/dev/ttyACM1&#x27;</span>]
<span class="hljs-symbol">Remove</span> the usb cable from your <span class="hljs-symbol">MotorsBus</span> and press <span class="hljs-symbol">Enter</span> when done.

[...<span class="hljs-symbol">Disconnect</span> corresponding leader or follower arm and press <span class="hljs-symbol">Enter</span>...]

<span class="hljs-symbol">The</span> port of this <span class="hljs-symbol">MotorsBus</span> is /dev/ttyACM1
<span class="hljs-symbol">Reconnect</span> the <span class="hljs-symbol">USB</span> cable.`,wrap:!1}}),{c(){m=r("p"),m.textContent=f,o=i(),b(c.$$.fragment),p=i(),h=r("p"),h.textContent=x,_=i(),b(v.$$.fragment),I=i(),j=r("p"),j.innerHTML=S},l(y){m=a(y,"P",{"data-svelte-h":!0}),u(m)!=="svelte-q7p48l"&&(m.textContent=f),o=n(y),$(c.$$.fragment,y),p=n(y),h=a(y,"P",{"data-svelte-h":!0}),u(h)!=="svelte-c9hbnf"&&(h.textContent=x),_=n(y),$(v.$$.fragment,y),I=n(y),j=a(y,"P",{"data-svelte-h":!0}),u(j)!=="svelte-bj510z"&&(j.innerHTML=S)},m(y,G){s(y,m,G),s(y,o,G),M(c,y,G),s(y,p,G),s(y,h,G),s(y,_,G),M(v,y,G),s(y,I,G),s(y,j,G),R=!0},p:B,i(y){R||(d(c.$$.fragment,y),d(v.$$.fragment,y),R=!0)},o(y){g(c.$$.fragment,y),g(v.$$.fragment,y),R=!1},d(y){y&&(l(m),l(o),l(p),l(h),l(_),l(I),l(j)),w(c,y),w(v,y)}}}function ha(T){let m,f,o,c;return m=new Z({props:{id:"example",option:"Mac",$$slots:{default:[ua]},$$scope:{ctx:T}}}),o=new Z({props:{id:"example",option:"Linux",$$slots:{default:[fa]},$$scope:{ctx:T}}}),{c(){b(m.$$.fragment),f=i(),b(o.$$.fragment)},l(p){$(m.$$.fragment,p),f=n(p),$(o.$$.fragment,p)},m(p,h){M(m,p,h),s(p,f,h),M(o,p,h),c=!0},p(p,h){const x={};h&2&&(x.$$scope={dirty:h,ctx:p}),m.$set(x);const _={};h&2&&(_.$$scope={dirty:h,ctx:p}),o.$set(_)},i(p){c||(d(m.$$.fragment,p),d(o.$$.fragment,p),c=!0)},o(p){g(m.$$.fragment,p),g(o.$$.fragment,p),c=!1},d(p){p&&l(f),w(m,p),w(o,p)}}}function ca(T){let m,f;return m=new J({props:{code:"bGVyb2JvdC1zZXR1cC1tb3RvcnMlMjAlNUMlMEElMjAlMjAlMjAlMjAtLXJvYm90LnR5cGUlM0RzbzEwMF9mb2xsb3dlciUyMCU1QyUwQSUyMCUyMCUyMCUyMC0tcm9ib3QucG9ydCUzRCUyRmRldiUyRnR0eS51c2Jtb2RlbTU4NUEwMDc2ODQxJTIwJTIwJTIzJTIwJTNDLSUyMHBhc3RlJTIwaGVyZSUyMHRoZSUyMHBvcnQlMjBmb3VuZCUyMGF0JTIwcHJldmlvdXMlMjBzdGVw",highlighted:`lerobot-setup-motors \\
    --robot.type=so100_follower \\
    --robot.port=/dev/tty.usbmodem585A0076841  <span class="hljs-comment"># &lt;- paste here the port found at previous step</span>`,wrap:!1}}),{c(){b(m.$$.fragment)},l(o){$(m.$$.fragment,o)},m(o,c){M(m,o,c),f=!0},p:B,i(o){f||(d(m.$$.fragment,o),f=!0)},o(o){g(m.$$.fragment,o),f=!1},d(o){w(m,o)}}}function ba(T){let m,f;return m=new J({props:{code:"ZnJvbSUyMGxlcm9ib3Qucm9ib3RzLnNvX2ZvbGxvd2VyJTIwaW1wb3J0JTIwU08xMDBGb2xsb3dlciUyQyUyMFNPMTAwRm9sbG93ZXJDb25maWclMEElMEFjb25maWclMjAlM0QlMjBTTzEwMEZvbGxvd2VyQ29uZmlnKCUwQSUyMCUyMCUyMCUyMHBvcnQlM0QlMjIlMkZkZXYlMkZ0dHkudXNibW9kZW01ODVBMDA3Njg0MSUyMiUyQyUwQSUyMCUyMCUyMCUyMGlkJTNEJTIybXlfYXdlc29tZV9mb2xsb3dlcl9hcm0lMjIlMkMlMEEpJTBBZm9sbG93ZXIlMjAlM0QlMjBTTzEwMEZvbGxvd2VyKGNvbmZpZyklMEFmb2xsb3dlci5zZXR1cF9tb3RvcnMoKQ==",highlighted:`<span class="hljs-keyword">from</span> lerobot.robots.so_follower <span class="hljs-keyword">import</span> SO100Follower, SO100FollowerConfig

config = SO100FollowerConfig(
    port=<span class="hljs-string">&quot;/dev/tty.usbmodem585A0076841&quot;</span>,
    <span class="hljs-built_in">id</span>=<span class="hljs-string">&quot;my_awesome_follower_arm&quot;</span>,
)
follower = SO100Follower(config)
follower.setup_motors()`,wrap:!1}}),{c(){b(m.$$.fragment)},l(o){$(m.$$.fragment,o)},m(o,c){M(m,o,c),f=!0},p:B,i(o){f||(d(m.$$.fragment,o),f=!0)},o(o){g(m.$$.fragment,o),f=!1},d(o){w(m,o)}}}function $a(T){let m,f,o,c;return m=new Z({props:{id:"setup_motors",option:"Command",$$slots:{default:[ca]},$$scope:{ctx:T}}}),o=new Z({props:{id:"setup_motors",option:"API example",$$slots:{default:[ba]},$$scope:{ctx:T}}}),{c(){b(m.$$.fragment),f=i(),b(o.$$.fragment)},l(p){$(m.$$.fragment,p),f=n(p),$(o.$$.fragment,p)},m(p,h){M(m,p,h),s(p,f,h),M(o,p,h),c=!0},p(p,h){const x={};h&2&&(x.$$scope={dirty:h,ctx:p}),m.$set(x);const _={};h&2&&(_.$$scope={dirty:h,ctx:p}),o.$set(_)},i(p){c||(d(m.$$.fragment,p),d(o.$$.fragment,p),c=!0)},o(p){g(m.$$.fragment,p),g(o.$$.fragment,p),c=!1},d(p){p&&l(f),w(m,p),w(o,p)}}}function Ma(T){let m,f;return m=new J({props:{code:"bGVyb2JvdC1zZXR1cC1tb3RvcnMlMjAlNUMlMEElMjAlMjAlMjAlMjAtLXRlbGVvcC50eXBlJTNEc28xMDBfbGVhZGVyJTIwJTVDJTBBJTIwJTIwJTIwJTIwLS10ZWxlb3AucG9ydCUzRCUyRmRldiUyRnR0eS51c2Jtb2RlbTU3NUUwMDMxNzUxJTIwJTIwJTIzJTIwJTNDLSUyMHBhc3RlJTIwaGVyZSUyMHRoZSUyMHBvcnQlMjBmb3VuZCUyMGF0JTIwcHJldmlvdXMlMjBzdGVw",highlighted:`lerobot-setup-motors \\
    --teleop.type=so100_leader \\
    --teleop.port=/dev/tty.usbmodem575E0031751  <span class="hljs-comment"># &lt;- paste here the port found at previous step</span>`,wrap:!1}}),{c(){b(m.$$.fragment)},l(o){$(m.$$.fragment,o)},m(o,c){M(m,o,c),f=!0},p:B,i(o){f||(d(m.$$.fragment,o),f=!0)},o(o){g(m.$$.fragment,o),f=!1},d(o){w(m,o)}}}function da(T){let m,f;return m=new J({props:{code:"ZnJvbSUyMGxlcm9ib3QudGVsZW9wZXJhdG9ycy5zb19sZWFkZXIlMjBpbXBvcnQlMjBTTzEwMExlYWRlciUyQyUyMFNPMTAwTGVhZGVyQ29uZmlnJTBBJTBBY29uZmlnJTIwJTNEJTIwU08xMDBMZWFkZXJDb25maWcoJTBBJTIwJTIwJTIwJTIwcG9ydCUzRCUyMiUyRmRldiUyRnR0eS51c2Jtb2RlbTU4NUEwMDc2ODQxJTIyJTJDJTBBJTIwJTIwJTIwJTIwaWQlM0QlMjJteV9hd2Vzb21lX2xlYWRlcl9hcm0lMjIlMkMlMEEpJTBBbGVhZGVyJTIwJTNEJTIwU08xMDBMZWFkZXIoY29uZmlnKSUwQWxlYWRlci5zZXR1cF9tb3RvcnMoKQ==",highlighted:`<span class="hljs-keyword">from</span> lerobot.teleoperators.so_leader <span class="hljs-keyword">import</span> SO100Leader, SO100LeaderConfig

config = SO100LeaderConfig(
    port=<span class="hljs-string">&quot;/dev/tty.usbmodem585A0076841&quot;</span>,
    <span class="hljs-built_in">id</span>=<span class="hljs-string">&quot;my_awesome_leader_arm&quot;</span>,
)
leader = SO100Leader(config)
leader.setup_motors()`,wrap:!1}}),{c(){b(m.$$.fragment)},l(o){$(m.$$.fragment,o)},m(o,c){M(m,o,c),f=!0},p:B,i(o){f||(d(m.$$.fragment,o),f=!0)},o(o){g(m.$$.fragment,o),f=!1},d(o){w(m,o)}}}function ga(T){let m,f,o,c;return m=new Z({props:{id:"setup_motors",option:"Command",$$slots:{default:[Ma]},$$scope:{ctx:T}}}),o=new Z({props:{id:"setup_motors",option:"API example",$$slots:{default:[da]},$$scope:{ctx:T}}}),{c(){b(m.$$.fragment),f=i(),b(o.$$.fragment)},l(p){$(m.$$.fragment,p),f=n(p),$(o.$$.fragment,p)},m(p,h){M(m,p,h),s(p,f,h),M(o,p,h),c=!0},p(p,h){const x={};h&2&&(x.$$scope={dirty:h,ctx:p}),m.$set(x);const _={};h&2&&(_.$$scope={dirty:h,ctx:p}),o.$set(_)},i(p){c||(d(m.$$.fragment,p),d(o.$$.fragment,p),c=!0)},o(p){g(m.$$.fragment,p),g(o.$$.fragment,p),c=!1},d(p){p&&l(f),w(m,p),w(o,p)}}}function wa(T){let m,f;return m=new J({props:{code:"bGVyb2JvdC1jYWxpYnJhdGUlMjAlNUMlMEElMjAlMjAlMjAlMjAtLXJvYm90LnR5cGUlM0RzbzEwMF9mb2xsb3dlciUyMCU1QyUwQSUyMCUyMCUyMCUyMC0tcm9ib3QucG9ydCUzRCUyRmRldiUyRnR0eS51c2Jtb2RlbTU4NzYwNDMxNTUxJTIwJTVDJTIwJTIzJTIwJTNDLSUyMFRoZSUyMHBvcnQlMjBvZiUyMHlvdXIlMjByb2JvdCUwQSUyMCUyMCUyMCUyMC0tcm9ib3QuaWQlM0RteV9hd2Vzb21lX2ZvbGxvd2VyX2FybSUyMCUyMyUyMCUzQy0lMjBHaXZlJTIwdGhlJTIwcm9ib3QlMjBhJTIwdW5pcXVlJTIwbmFtZQ==",highlighted:`lerobot-calibrate \\
    --robot.type=so100_follower \\
    --robot.port=/dev/tty.usbmodem58760431551 \\ <span class="hljs-comment"># &lt;- The port of your robot</span>
    --robot.id=my_awesome_follower_arm <span class="hljs-comment"># &lt;- Give the robot a unique name</span>`,wrap:!1}}),{c(){b(m.$$.fragment)},l(o){$(m.$$.fragment,o)},m(o,c){M(m,o,c),f=!0},p:B,i(o){f||(d(m.$$.fragment,o),f=!0)},o(o){g(m.$$.fragment,o),f=!1},d(o){w(m,o)}}}function ya(T){let m,f;return m=new J({props:{code:"ZnJvbSUyMGxlcm9ib3Qucm9ib3RzLnNvX2ZvbGxvd2VyJTIwaW1wb3J0JTIwU08xMDBGb2xsb3dlckNvbmZpZyUyQyUyMFNPMTAwRm9sbG93ZXIlMEElMEFjb25maWclMjAlM0QlMjBTTzEwMEZvbGxvd2VyQ29uZmlnKCUwQSUyMCUyMCUyMCUyMHBvcnQlM0QlMjIlMkZkZXYlMkZ0dHkudXNibW9kZW01ODVBMDA3Njg5MSUyMiUyQyUwQSUyMCUyMCUyMCUyMGlkJTNEJTIybXlfYXdlc29tZV9mb2xsb3dlcl9hcm0lMjIlMkMlMEEpJTBBJTBBZm9sbG93ZXIlMjAlM0QlMjBTTzEwMEZvbGxvd2VyKGNvbmZpZyklMEFmb2xsb3dlci5jb25uZWN0KGNhbGlicmF0ZSUzREZhbHNlKSUwQWZvbGxvd2VyLmNhbGlicmF0ZSgpJTBBZm9sbG93ZXIuZGlzY29ubmVjdCgp",highlighted:`<span class="hljs-keyword">from</span> lerobot.robots.so_follower <span class="hljs-keyword">import</span> SO100FollowerConfig, SO100Follower

config = SO100FollowerConfig(
    port=<span class="hljs-string">&quot;/dev/tty.usbmodem585A0076891&quot;</span>,
    <span class="hljs-built_in">id</span>=<span class="hljs-string">&quot;my_awesome_follower_arm&quot;</span>,
)

follower = SO100Follower(config)
follower.connect(calibrate=<span class="hljs-literal">False</span>)
follower.calibrate()
follower.disconnect()`,wrap:!1}}),{c(){b(m.$$.fragment)},l(o){$(m.$$.fragment,o)},m(o,c){M(m,o,c),f=!0},p:B,i(o){f||(d(m.$$.fragment,o),f=!0)},o(o){g(m.$$.fragment,o),f=!1},d(o){w(m,o)}}}function va(T){let m,f,o,c;return m=new Z({props:{id:"calibrate_follower",option:"Command",$$slots:{default:[wa]},$$scope:{ctx:T}}}),o=new Z({props:{id:"calibrate_follower",option:"API example",$$slots:{default:[ya]},$$scope:{ctx:T}}}),{c(){b(m.$$.fragment),f=i(),b(o.$$.fragment)},l(p){$(m.$$.fragment,p),f=n(p),$(o.$$.fragment,p)},m(p,h){M(m,p,h),s(p,f,h),M(o,p,h),c=!0},p(p,h){const x={};h&2&&(x.$$scope={dirty:h,ctx:p}),m.$set(x);const _={};h&2&&(_.$$scope={dirty:h,ctx:p}),o.$set(_)},i(p){c||(d(m.$$.fragment,p),d(o.$$.fragment,p),c=!0)},o(p){g(m.$$.fragment,p),g(o.$$.fragment,p),c=!1},d(p){p&&l(f),w(m,p),w(o,p)}}}function Ta(T){let m,f;return m=new J({props:{code:"bGVyb2JvdC1jYWxpYnJhdGUlMjAlNUMlMEElMjAlMjAlMjAlMjAtLXRlbGVvcC50eXBlJTNEc28xMDBfbGVhZGVyJTIwJTVDJTBBJTIwJTIwJTIwJTIwLS10ZWxlb3AucG9ydCUzRCUyRmRldiUyRnR0eS51c2Jtb2RlbTU4NzYwNDMxNTUxJTIwJTVDJTIwJTIzJTIwJTNDLSUyMFRoZSUyMHBvcnQlMjBvZiUyMHlvdXIlMjByb2JvdCUwQSUyMCUyMCUyMCUyMC0tdGVsZW9wLmlkJTNEbXlfYXdlc29tZV9sZWFkZXJfYXJtJTIwJTIzJTIwJTNDLSUyMEdpdmUlMjB0aGUlMjByb2JvdCUyMGElMjB1bmlxdWUlMjBuYW1l",highlighted:`lerobot-calibrate \\
    --teleop.type=so100_leader \\
    --teleop.port=/dev/tty.usbmodem58760431551 \\ <span class="hljs-comment"># &lt;- The port of your robot</span>
    --teleop.id=my_awesome_leader_arm <span class="hljs-comment"># &lt;- Give the robot a unique name</span>`,wrap:!1}}),{c(){b(m.$$.fragment)},l(o){$(m.$$.fragment,o)},m(o,c){M(m,o,c),f=!0},p:B,i(o){f||(d(m.$$.fragment,o),f=!0)},o(o){g(m.$$.fragment,o),f=!1},d(o){w(m,o)}}}function _a(T){let m,f;return m=new J({props:{code:"ZnJvbSUyMGxlcm9ib3QudGVsZW9wZXJhdG9ycy5zb19sZWFkZXIlMjBpbXBvcnQlMjBTTzEwMExlYWRlckNvbmZpZyUyQyUyMFNPMTAwTGVhZGVyJTBBJTBBY29uZmlnJTIwJTNEJTIwU08xMDBMZWFkZXJDb25maWcoJTBBJTIwJTIwJTIwJTIwcG9ydCUzRCUyMiUyRmRldiUyRnR0eS51c2Jtb2RlbTU4NzYwNDMxNTUxJTIyJTJDJTBBJTIwJTIwJTIwJTIwaWQlM0QlMjJteV9hd2Vzb21lX2xlYWRlcl9hcm0lMjIlMkMlMEEpJTBBJTBBbGVhZGVyJTIwJTNEJTIwU08xMDBMZWFkZXIoY29uZmlnKSUwQWxlYWRlci5jb25uZWN0KGNhbGlicmF0ZSUzREZhbHNlKSUwQWxlYWRlci5jYWxpYnJhdGUoKSUwQWxlYWRlci5kaXNjb25uZWN0KCk=",highlighted:`<span class="hljs-keyword">from</span> lerobot.teleoperators.so_leader <span class="hljs-keyword">import</span> SO100LeaderConfig, SO100Leader

config = SO100LeaderConfig(
    port=<span class="hljs-string">&quot;/dev/tty.usbmodem58760431551&quot;</span>,
    <span class="hljs-built_in">id</span>=<span class="hljs-string">&quot;my_awesome_leader_arm&quot;</span>,
)

leader = SO100Leader(config)
leader.connect(calibrate=<span class="hljs-literal">False</span>)
leader.calibrate()
leader.disconnect()`,wrap:!1}}),{c(){b(m.$$.fragment)},l(o){$(m.$$.fragment,o)},m(o,c){M(m,o,c),f=!0},p:B,i(o){f||(d(m.$$.fragment,o),f=!0)},o(o){g(m.$$.fragment,o),f=!1},d(o){w(m,o)}}}function xa(T){let m,f,o,c;return m=new Z({props:{id:"calibrate_leader",option:"Command",$$slots:{default:[Ta]},$$scope:{ctx:T}}}),o=new Z({props:{id:"calibrate_leader",option:"API example",$$slots:{default:[_a]},$$scope:{ctx:T}}}),{c(){b(m.$$.fragment),f=i(),b(o.$$.fragment)},l(p){$(m.$$.fragment,p),f=n(p),$(o.$$.fragment,p)},m(p,h){M(m,p,h),s(p,f,h),M(o,p,h),c=!0},p(p,h){const x={};h&2&&(x.$$scope={dirty:h,ctx:p}),m.$set(x);const _={};h&2&&(_.$$scope={dirty:h,ctx:p}),o.$set(_)},i(p){c||(d(m.$$.fragment,p),d(o.$$.fragment,p),c=!0)},o(p){g(m.$$.fragment,p),g(o.$$.fragment,p),c=!1},d(p){p&&l(f),w(m,p),w(o,p)}}}function Ca(T){let m,f,o,c,p,h,x,_,v,I="In the steps below, we explain how to assemble the SO-100 robot.",j,S,R,y,G='Follow this <a href="https://github.com/TheRobotStudio/SO-ARM100/blob/main/SO100.md" rel="nofollow">README</a>. It contains the bill of materials, with a link to source the parts, as well as the instructions to 3D print the parts. And advise if it’s your first time printing or if you don’t own a 3D printer.',Jl,D,Il,Y,Rn='To install LeRobot, follow our <a href="./installation">Installation Guide</a>',jl,q,kn="In addition to these instructions, you need to install the Feetech SDK:",Gl,O,Sl,K,Zl,ee,An=`<strong>Note:</strong>
Unlike the SO-101, the motor connectors are not easily accessible once the arm is assembled, so the configuration step must be done beforehand.`,Bl,te,Rl,le,En="To find the port for each bus servo adapter, run this script:",kl,se,Al,k,El,ie,Pl,ne,Pn="Each motor is identified by a unique id on the bus. When brand new, motors usually come with a default id of <code>1</code>. For the communication to work properly between the motors and the controller, we first need to set a unique, different id to each motor. Additionally, the speed at which data is transmitted on the bus is determined by the baudrate. In order to talk to each other, the controller and all the motors need to be configured with the same baudrate.",Vl,oe,Vn="To that end, we first need to connect to each motor individually with the controller in order to set these. Since we will write these parameters in the non-volatile section of the motors’ internal memory (EEPROM), we’ll only need to do this once.",Nl,re,Nn="If you are repurposing motors from another robot, you will probably also need to perform this step as the ids and baudrate likely won’t match.",Wl,ae,Fl,me,Wn="Connect the usb cable from your computer and the power supply to the follower arm’s controller board. Then, run the following command or run the API example with the port you got from the previous step. You’ll also need to give your leader arm a name with the <code>id</code> parameter.",zl,pe,Fn='For a visual reference on how to set the motor ids please refer to <a href="https://huggingface.co/docs/lerobot/en/so101#setup-motors-video" rel="nofollow">this video</a> where we follow the process for the SO101 arm.',Ql,A,Xl,ue,zn="You should see the following instruction",Dl,fe,Yl,he,Qn="As instructed, plug the gripper’s motor. Make sure it’s the only motor connected to the board, and that the motor itself is not yet daisy-chained to any other motor. As you press <code>[Enter]</code>, the script will automatically set the id and baudrate for that motor.",ql,ce,Xn="<summary>Troubleshooting</summary> <p>If you get an error at that point, check your cables and make sure they are plugged in properly:</p> <ul><li>Power supply</li> <li>USB cable between your computer and the controller board</li> <li>The 3-pin cable from the controller board to the motor</li></ul> <p>If you are using a Waveshare controller board, make sure that the two jumpers are set on the <code>B</code> channel (USB).</p>",Ol,be,Dn="You should then see the following message:",Kl,$e,es,Me,Yn="Followed by the next instruction:",ts,de,ls,ge,qn="You can disconnect the 3-pin cable from the controller board, but you can leave it connected to the gripper motor on the other end, as it will already be in the right place. Now, plug in another 3-pin cable to the wrist roll motor and connect it to the controller board. As with the previous motor, make sure it is the only motor connected to the board and that the motor itself isn’t connected to any other one.",ss,we,On="Repeat the operation for each motor as instructed.",is,E,Kn="<p>Check your cabling at each step before pressing Enter. For instance, the power supply cable might disconnect as you manipulate the board.</p>",ns,ye,eo="When you are done, the script will simply finish, at which point the motors are ready to be used. You can now plug the 3-pin cable from each motor to the next one, and the cable from the first motor (the ‘shoulder pan’ with id=1) to the controller board, which can now be attached to the base of the arm.",os,ve,rs,Te,to="Do the same steps for the leader arm.",as,P,ms,_e,ps,xe,us,Ce,lo='<summary><strong>Video removing gears</strong></summary> <div class="video-container"><video controls="" width="600"><source src="https://github.com/user-attachments/assets/0c95b88c-5b85-413d-ba19-aee2f864f2a7" type="video/mp4"/></video></div>',fs,Le,so="Follow the video for removing gears. You need to remove the gear for the motors of the leader arm. As a result, you will only use the position encoding of the motor and reduce friction to more easily operate the leader arm.",hs,Ue,cs,He,io="Remove all support material from the 3D-printed parts. The easiest way to do this is using a small screwdriver to get underneath the support material.",bs,Je,$s,Ie,no='<summary><strong>Video assembling arms</strong></summary> <div class="video-container"><video controls="" width="600"><source src="https://github.com/user-attachments/assets/488a39de-0189-4461-9de3-05b015f90cca" type="video/mp4"/></video></div>',Ms,je,oo=`<strong>Note:</strong>
This video provides visual guidance for assembling the arms, but it doesn’t specify when or how to do the wiring. Inserting the cables beforehand is much easier than doing it afterward. The first arm may take a bit more than 1 hour to assemble, but once you get used to it, you can assemble the second arm in under 1 hour.`,ds,gs,ws,Ge,ys,Se,ro="<strong>Step 2: Insert Wires</strong>",vs,Ze,ao="<li>Insert two wires into the first motor.</li>",Ts,Be,mo,_s,Re,po="<strong>Step 3: Install in Base</strong>",xs,ke,uo="<li>Place the first motor into the base.</li>",Cs,Ae,fo,Ls,Ee,ho="<strong>Step 4: Secure Motor</strong>",Us,Pe,co="<li>Fasten the motor with 4 screws. Two from the bottom and two from top.</li>",Hs,Ve,bo="<strong>Step 5: Attach Motor Holder</strong>",Js,Ne,$o="<li>Slide over the first motor holder and fasten it using two screws (one on each side).</li>",Is,We,Mo,js,Fe,go="<strong>Step 6: Attach Motor Horns</strong>",Gs,ze,wo="<li>Install both motor horns, securing the top horn with a screw. Try not to move the motor position when attaching the motor horn, especially for the leader arms, where we removed the gears.</li>",Ss,Qe,yo,Zs,Xe,vo='<summary><strong>Video adding motor horn</strong></summary> <video src="https://github.com/user-attachments/assets/ef3391a4-ad05-4100-b2bd-1699bf86c969"></video>',Bs,De,To="<strong>Step 7: Attach Shoulder Part</strong>",Rs,Ye,_o="<li>Route one wire to the back of the robot and the other to the left or towards you (see photo).</li> <li>Attach the shoulder part.</li>",ks,qe,xo,As,Oe,Co="<strong>Step 8: Secure Shoulder</strong>",Es,Ke,Lo=`<li>Tighten the shoulder part with 4 screws on top and 4 on the bottom
<em>(access bottom holes by turning the shoulder).</em></li>`,Ps,Vs,Ns,et,Ws,tt,Uo="<strong>Step 9: Install Motor 2</strong>",Fs,lt,Ho="<li>Slide the second motor in from the top and link the wire from motor 1 to motor 2.</li>",zs,st,Jo,Qs,it,Io="<strong>Step 10: Attach Shoulder Holder</strong>",Xs,nt,jo="<li>Add the shoulder motor holder.</li> <li>Ensure the wire from motor 1 to motor 2 goes behind the holder while the other wire is routed upward (see photo).</li> <li>This part can be tight to assemble, you can use a workbench like the image or a similar setup to push the part around the motor.</li>",Ds,V,Go='<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/lerobot/so100_assembly_9.webp" style="height:250px;"/> <img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/lerobot/so100_assembly_10.webp" style="height:250px;"/> <img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/lerobot/so100_assembly_12.webp" style="height:250px;"/>',Ys,ot,So="<strong>Step 11: Secure Motor 2</strong>",qs,rt,Zo="<li>Fasten the second motor with 4 screws.</li>",Os,at,Bo="<strong>Step 12: Attach Motor Horn</strong>",Ks,mt,Ro="<li>Attach both motor horns to motor 2, again use the horn screw.</li>",ei,pt,ko="<strong>Step 13: Attach Base</strong>",ti,ut,Ao="<li>Install the base attachment using 2 screws.</li>",li,ft,Eo,si,ht,Po="<strong>Step 14: Attach Upper Arm</strong>",ii,ct,Vo="<li>Attach the upper arm with 4 screws on each side.</li>",ni,bt,No,oi,ri,ai,$t,mi,Mt,Wo="<strong>Step 15: Install Motor 3</strong>",pi,dt,Fo="<li>Route the motor cable from motor 2 through the cable holder to motor 3, then secure motor 3 with 4 screws.</li>",ui,gt,zo="<strong>Step 16: Attach Motor Horn</strong>",fi,wt,Qo="<li>Attach both motor horns to motor 3 and secure one again with a horn screw.</li>",hi,yt,Xo,ci,vt,Do="<strong>Step 17: Attach Forearm</strong>",bi,Tt,Yo="<li>Connect the forearm to motor 3 using 4 screws on each side.</li>",$i,_t,qo,Mi,di,gi,xt,wi,Ct,Oo="<strong>Step 18: Install Motor 4</strong>",yi,Lt,Ko="<li>Slide in motor 4, attach the cable from motor 3, and secure the cable in its holder with a screw.</li>",vi,N,er='<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/lerobot/so100_assembly_16.webp" style="height:300px;"/> <img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/lerobot/so100_assembly_19.webp" style="height:300px;"/>',Ti,Ut,tr="<strong>Step 19: Attach Motor Holder 4</strong>",_i,Ht,lr="<li>Install the fourth motor holder (a tight fit). Ensure one wire is routed upward and the wire from motor 3 is routed downward (see photo).</li>",xi,Jt,sr,Ci,It,ir="<strong>Step 20: Secure Motor 4 &amp; Attach Horn</strong>",Li,jt,nr="<li>Fasten motor 4 with 4 screws and attach its motor horns, use for one a horn screw.</li>",Ui,Gt,or,Hi,Ji,Ii,St,ji,Zt,rr="<strong>Step 21: Install Motor 5</strong>",Gi,Bt,ar="<li>Insert motor 5 into the wrist holder and secure it with 2 front screws.</li>",Si,Rt,mr,Zi,kt,pr="<strong>Step 22: Attach Wrist</strong>",Bi,At,ur="<li>Connect the wire from motor 4 to motor 5. And already insert the other wire for the gripper.</li> <li>Secure the wrist to motor 4 using 4 screws on both sides.</li>",Ri,Et,fr,ki,Pt,hr="<strong>Step 23: Attach Wrist Horn</strong>",Ai,Vt,cr="<li>Install only one motor horn on the wrist motor and secure it with a horn screw.</li>",Ei,Nt,br,Pi,Vi,Ni,Wt,Wi,Ft,$r="<strong>Step 24: Attach Gripper</strong>",Fi,zt,Mr="<li>Attach the gripper to motor 5.</li>",zi,Qt,dr,Qi,Xt,gr="<strong>Step 25: Install Gripper Motor</strong>",Xi,Dt,wr="<li>Insert the gripper motor, connect the motor wire from motor 5 to motor 6, and secure it with 3 screws on each side.</li>",Di,Yt,yr,Yi,qt,vr="<strong>Step 26: Attach Gripper Horn &amp; Claw</strong>",qi,Ot,Tr="<li>Attach the motor horns and again use a horn screw.</li> <li>Install the gripper claw and secure it with 4 screws on both sides.</li>",Oi,Kt,_r,Ki,el,xr="<strong>Step 27: Mount Controller</strong>",en,tl,Cr="<li>Attach the motor controller to the back of the robot.</li>",tn,W,Lr='<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/lerobot/so100_assembly_27.webp" style="height:300px;"/> <img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/lerobot/so100_assembly_28.webp" style="height:300px;"/>',ln,ll,Ur="<em>Assembly complete – proceed to Leader arm assembly.</em>",sn,nn,on,sl,rn,il,Hr="For the leader configuration, perform <strong>Steps 1–23</strong>. Make sure that you removed the motor gears from the motors.",an,nl,Jr="<strong>Step 24: Attach Leader Holder</strong>",mn,ol,Ir="<li>Mount the leader holder onto the wrist and secure it with a screw.</li>",pn,rl,jr,un,al,Gr="<strong>Step 25: Attach Handle</strong>",fn,ml,Sr="<li>Attach the handle to motor 5 using 4 screws.</li>",hn,pl,Zr,cn,ul,Br="<strong>Step 26: Install Gripper Motor</strong>",bn,fl,Rr="<li>Insert the gripper motor, secure it with 3 screws on each side, attach a motor horn using a horn screw, and connect the motor wire.</li>",$n,hl,kr,Mn,cl,Ar="<strong>Step 27: Attach Trigger</strong>",dn,bl,Er="<li>Attach the follower trigger with 4 screws.</li>",gn,$l,Pr,wn,Ml,Vr="<strong>Step 28: Mount Controller</strong>",yn,dl,Nr="<li>Attach the motor controller to the back of the robot.</li>",vn,F,Wr='<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/lerobot/so100_assembly_27.webp" style="height:300px;"/> <img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/lerobot/so100_assembly_28.webp" style="height:300px;"/>',Tn,gl,_n,wl,Fr=`Next, you’ll need to calibrate your robot to ensure that the leader and follower arms have the same position values when they are in the same physical position.
The calibration process is very important because it allows a neural network trained on one robot to work on another.`,xn,yl,Cn,vl,zr="Run the following command or API example to calibrate the follower arm:",Ln,z,Un,Tl,Qr='We unified the calibration method for most robots. Thus, the calibration steps for this SO100 arm are the same as the steps for the Koch and SO101. First, we have to move the robot to the position where each joint is in the middle of its range, then we press <code>Enter</code>. Secondly, we move all joints through their full range of motion. A video of this same process for the SO101 as reference can be found <a href="https://huggingface.co/docs/lerobot/en/so101#calibration-video" rel="nofollow">here</a>',Hn,_l,Jn,xl,Xr="Do the same steps to calibrate the leader arm, run the following command or API example:",In,Q,jn,Cl,Dr='Congrats 🎉, your robot is all set to learn a task on its own. Start training it by following this tutorial: <a href="./il_robots">Getting started with real-world robots</a>',Gn,X,Yr='<p>If you have any questions or need help, please reach out on <a href="https://discord.com/invite/s3KuuzsPFb" rel="nofollow">Discord</a>.</p>',Sn,Ll,Zn,Ul,Bn;return p=new ma({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),x=new H({props:{title:"SO-100",local:"so-100",headingTag:"h1"}}),S=new H({props:{title:"Source the parts",local:"source-the-parts",headingTag:"h2"}}),D=new H({props:{title:"Install LeRobot 🤗",local:"install-lerobot-",headingTag:"h2"}}),O=new J({props:{code:"cGlwJTIwaW5zdGFsbCUyMC1lJTIwJTIyLiU1QmZlZXRlY2glNUQlMjI=",highlighted:'pip install -e <span class="hljs-string">&quot;.[feetech]&quot;</span>',wrap:!1}}),K=new H({props:{title:"Configure the motors",local:"configure-the-motors",headingTag:"h2"}}),te=new H({props:{title:"1. Find the USB ports associated with each arm",local:"1-find-the-usb-ports-associated-with-each-arm",headingTag:"h3"}}),se=new J({props:{code:"bGVyb2JvdC1maW5kLXBvcnQ=",highlighted:"lerobot-find-port",wrap:!1}}),k=new Hl({props:{id:"example",options:["Mac","Linux"],$$slots:{default:[ha]},$$scope:{ctx:T}}}),ie=new H({props:{title:"2. Set the motors ids and baudrates",local:"2-set-the-motors-ids-and-baudrates",headingTag:"h3"}}),ae=new H({props:{title:"Follower",local:"follower",headingTag:"h4"}}),A=new Hl({props:{id:"setup_motors",options:["Command","API example"],$$slots:{default:[$a]},$$scope:{ctx:T}}}),fe=new J({props:{code:"Q29ubmVjdCUyMHRoZSUyMGNvbnRyb2xsZXIlMjBib2FyZCUyMHRvJTIwdGhlJTIwJ2dyaXBwZXInJTIwbW90b3IlMjBvbmx5JTIwYW5kJTIwcHJlc3MlMjBlbnRlci4=",highlighted:'Connect <span class="hljs-keyword">the</span> controller board <span class="hljs-built_in">to</span> <span class="hljs-keyword">the</span> <span class="hljs-string">&#x27;gripper&#x27;</span> motor only <span class="hljs-keyword">and</span> press enter.',wrap:!1}}),$e=new J({props:{code:"J2dyaXBwZXInJTIwbW90b3IlMjBpZCUyMHNldCUyMHRvJTIwNg==",highlighted:'<span class="hljs-string">&#x27;gripper&#x27;</span> motor id <span class="hljs-built_in">set</span> <span class="hljs-keyword">to</span> 6',wrap:!1}}),de=new J({props:{code:"Q29ubmVjdCUyMHRoZSUyMGNvbnRyb2xsZXIlMjBib2FyZCUyMHRvJTIwdGhlJTIwJ3dyaXN0X3JvbGwnJTIwbW90b3IlMjBvbmx5JTIwYW5kJTIwcHJlc3MlMjBlbnRlci4=",highlighted:'Connect <span class="hljs-keyword">the</span> controller board <span class="hljs-built_in">to</span> <span class="hljs-keyword">the</span> <span class="hljs-string">&#x27;wrist_roll&#x27;</span> motor only <span class="hljs-keyword">and</span> press enter.',wrap:!1}}),ve=new H({props:{title:"Leader",local:"leader",headingTag:"h4"}}),P=new Hl({props:{id:"setup_motors",options:["Command","API example"],$$slots:{default:[ga]},$$scope:{ctx:T}}}),_e=new H({props:{title:"Step-by-Step Assembly Instructions",local:"step-by-step-assembly-instructions",headingTag:"h2"}}),xe=new H({props:{title:"Remove the gears of the 6 leader motors",local:"remove-the-gears-of-the-6-leader-motors",headingTag:"h2"}}),Ue=new H({props:{title:"Clean Parts",local:"clean-parts",headingTag:"h3"}}),Je=new H({props:{title:"Additional Guidance",local:"additional-guidance",headingTag:"h3"}}),Ge=new H({props:{title:"First Motor",local:"first-motor",headingTag:"h3"}}),et=new H({props:{title:"Second Motor Assembly",local:"second-motor-assembly",headingTag:"h3"}}),$t=new H({props:{title:"Third Motor Assembly",local:"third-motor-assembly",headingTag:"h3"}}),xt=new H({props:{title:"Fourth Motor Assembly",local:"fourth-motor-assembly",headingTag:"h3"}}),St=new H({props:{title:"Wrist Assembly",local:"wrist-assembly",headingTag:"h3"}}),Wt=new H({props:{title:"Follower Configuration",local:"follower-configuration",headingTag:"h3"}}),sl=new H({props:{title:"Leader Configuration",local:"leader-configuration",headingTag:"h3"}}),gl=new H({props:{title:"Calibrate",local:"calibrate",headingTag:"h2"}}),yl=new H({props:{title:"Follower",local:"follower",headingTag:"h4"}}),z=new Hl({props:{id:"calibrate_follower",options:["Command","API example"],$$slots:{default:[va]},$$scope:{ctx:T}}}),_l=new H({props:{title:"Leader",local:"leader",headingTag:"h4"}}),Q=new Hl({props:{id:"calibrate_leader",options:["Command","API example"],$$slots:{default:[xa]},$$scope:{ctx:T}}}),Ll=new pa({props:{source:"https://github.com/huggingface/lerobot/blob/main/docs/source/so100.mdx"}}),{c(){m=r("meta"),f=i(),o=r("p"),c=i(),b(p.$$.fragment),h=i(),b(x.$$.fragment),_=i(),v=r("p"),v.textContent=I,j=i(),b(S.$$.fragment),R=i(),y=r("p"),y.innerHTML=G,Jl=i(),b(D.$$.fragment),Il=i(),Y=r("p"),Y.innerHTML=Rn,jl=i(),q=r("p"),q.textContent=kn,Gl=i(),b(O.$$.fragment),Sl=i(),b(K.$$.fragment),Zl=i(),ee=r("p"),ee.innerHTML=An,Bl=i(),b(te.$$.fragment),Rl=i(),le=r("p"),le.textContent=En,kl=i(),b(se.$$.fragment),Al=i(),b(k.$$.fragment),El=i(),b(ie.$$.fragment),Pl=i(),ne=r("p"),ne.innerHTML=Pn,Vl=i(),oe=r("p"),oe.textContent=Vn,Nl=i(),re=r("p"),re.textContent=Nn,Wl=i(),b(ae.$$.fragment),Fl=i(),me=r("p"),me.innerHTML=Wn,zl=i(),pe=r("p"),pe.innerHTML=Fn,Ql=i(),b(A.$$.fragment),Xl=i(),ue=r("p"),ue.textContent=zn,Dl=i(),b(fe.$$.fragment),Yl=i(),he=r("p"),he.innerHTML=Qn,ql=i(),ce=r("details"),ce.innerHTML=Xn,Ol=i(),be=r("p"),be.textContent=Dn,Kl=i(),b($e.$$.fragment),es=i(),Me=r("p"),Me.textContent=Yn,ts=i(),b(de.$$.fragment),ls=i(),ge=r("p"),ge.textContent=qn,ss=i(),we=r("p"),we.textContent=On,is=i(),E=r("blockquote"),E.innerHTML=Kn,ns=i(),ye=r("p"),ye.textContent=eo,os=i(),b(ve.$$.fragment),rs=i(),Te=r("p"),Te.textContent=to,as=i(),b(P.$$.fragment),ms=i(),b(_e.$$.fragment),ps=i(),b(xe.$$.fragment),us=i(),Ce=r("details"),Ce.innerHTML=lo,fs=i(),Le=r("p"),Le.textContent=so,hs=i(),b(Ue.$$.fragment),cs=i(),He=r("p"),He.textContent=io,bs=i(),b(Je.$$.fragment),$s=i(),Ie=r("details"),Ie.innerHTML=no,Ms=i(),je=r("p"),je.innerHTML=oo,ds=i(),gs=r("hr"),ws=i(),b(Ge.$$.fragment),ys=i(),Se=r("p"),Se.innerHTML=ro,vs=i(),Ze=r("ul"),Ze.innerHTML=ao,Ts=i(),Be=r("img"),_s=i(),Re=r("p"),Re.innerHTML=po,xs=i(),ke=r("ul"),ke.innerHTML=uo,Cs=i(),Ae=r("img"),Ls=i(),Ee=r("p"),Ee.innerHTML=ho,Us=i(),Pe=r("ul"),Pe.innerHTML=co,Hs=i(),Ve=r("p"),Ve.innerHTML=bo,Js=i(),Ne=r("ul"),Ne.innerHTML=$o,Is=i(),We=r("img"),js=i(),Fe=r("p"),Fe.innerHTML=go,Gs=i(),ze=r("ul"),ze.innerHTML=wo,Ss=i(),Qe=r("img"),Zs=i(),Xe=r("details"),Xe.innerHTML=vo,Bs=i(),De=r("p"),De.innerHTML=To,Rs=i(),Ye=r("ul"),Ye.innerHTML=_o,ks=i(),qe=r("img"),As=i(),Oe=r("p"),Oe.innerHTML=Co,Es=i(),Ke=r("ul"),Ke.innerHTML=Lo,Ps=i(),Vs=r("hr"),Ns=i(),b(et.$$.fragment),Ws=i(),tt=r("p"),tt.innerHTML=Uo,Fs=i(),lt=r("ul"),lt.innerHTML=Ho,zs=i(),st=r("img"),Qs=i(),it=r("p"),it.innerHTML=Io,Xs=i(),nt=r("ul"),nt.innerHTML=jo,Ds=i(),V=r("div"),V.innerHTML=Go,Ys=i(),ot=r("p"),ot.innerHTML=So,qs=i(),rt=r("ul"),rt.innerHTML=Zo,Os=i(),at=r("p"),at.innerHTML=Bo,Ks=i(),mt=r("ul"),mt.innerHTML=Ro,ei=i(),pt=r("p"),pt.innerHTML=ko,ti=i(),ut=r("ul"),ut.innerHTML=Ao,li=i(),ft=r("img"),si=i(),ht=r("p"),ht.innerHTML=Po,ii=i(),ct=r("ul"),ct.innerHTML=Vo,ni=i(),bt=r("img"),oi=i(),ri=r("hr"),ai=i(),b($t.$$.fragment),mi=i(),Mt=r("p"),Mt.innerHTML=Wo,pi=i(),dt=r("ul"),dt.innerHTML=Fo,ui=i(),gt=r("p"),gt.innerHTML=zo,fi=i(),wt=r("ul"),wt.innerHTML=Qo,hi=i(),yt=r("img"),ci=i(),vt=r("p"),vt.innerHTML=Do,bi=i(),Tt=r("ul"),Tt.innerHTML=Yo,$i=i(),_t=r("img"),Mi=i(),di=r("hr"),gi=i(),b(xt.$$.fragment),wi=i(),Ct=r("p"),Ct.innerHTML=Oo,yi=i(),Lt=r("ul"),Lt.innerHTML=Ko,vi=i(),N=r("div"),N.innerHTML=er,Ti=i(),Ut=r("p"),Ut.innerHTML=tr,_i=i(),Ht=r("ul"),Ht.innerHTML=lr,xi=i(),Jt=r("img"),Ci=i(),It=r("p"),It.innerHTML=ir,Li=i(),jt=r("ul"),jt.innerHTML=nr,Ui=i(),Gt=r("img"),Hi=i(),Ji=r("hr"),Ii=i(),b(St.$$.fragment),ji=i(),Zt=r("p"),Zt.innerHTML=rr,Gi=i(),Bt=r("ul"),Bt.innerHTML=ar,Si=i(),Rt=r("img"),Zi=i(),kt=r("p"),kt.innerHTML=pr,Bi=i(),At=r("ul"),At.innerHTML=ur,Ri=i(),Et=r("img"),ki=i(),Pt=r("p"),Pt.innerHTML=hr,Ai=i(),Vt=r("ul"),Vt.innerHTML=cr,Ei=i(),Nt=r("img"),Pi=i(),Vi=r("hr"),Ni=i(),b(Wt.$$.fragment),Wi=i(),Ft=r("p"),Ft.innerHTML=$r,Fi=i(),zt=r("ul"),zt.innerHTML=Mr,zi=i(),Qt=r("img"),Qi=i(),Xt=r("p"),Xt.innerHTML=gr,Xi=i(),Dt=r("ul"),Dt.innerHTML=wr,Di=i(),Yt=r("img"),Yi=i(),qt=r("p"),qt.innerHTML=vr,qi=i(),Ot=r("ul"),Ot.innerHTML=Tr,Oi=i(),Kt=r("img"),Ki=i(),el=r("p"),el.innerHTML=xr,en=i(),tl=r("ul"),tl.innerHTML=Cr,tn=i(),W=r("div"),W.innerHTML=Lr,ln=i(),ll=r("p"),ll.innerHTML=Ur,sn=i(),nn=r("hr"),on=i(),b(sl.$$.fragment),rn=i(),il=r("p"),il.innerHTML=Hr,an=i(),nl=r("p"),nl.innerHTML=Jr,mn=i(),ol=r("ul"),ol.innerHTML=Ir,pn=i(),rl=r("img"),un=i(),al=r("p"),al.innerHTML=Gr,fn=i(),ml=r("ul"),ml.innerHTML=Sr,hn=i(),pl=r("img"),cn=i(),ul=r("p"),ul.innerHTML=Br,bn=i(),fl=r("ul"),fl.innerHTML=Rr,$n=i(),hl=r("img"),Mn=i(),cl=r("p"),cl.innerHTML=Ar,dn=i(),bl=r("ul"),bl.innerHTML=Er,gn=i(),$l=r("img"),wn=i(),Ml=r("p"),Ml.innerHTML=Vr,yn=i(),dl=r("ul"),dl.innerHTML=Nr,vn=i(),F=r("div"),F.innerHTML=Wr,Tn=i(),b(gl.$$.fragment),_n=i(),wl=r("p"),wl.textContent=Fr,xn=i(),b(yl.$$.fragment),Cn=i(),vl=r("p"),vl.textContent=zr,Ln=i(),b(z.$$.fragment),Un=i(),Tl=r("p"),Tl.innerHTML=Qr,Hn=i(),b(_l.$$.fragment),Jn=i(),xl=r("p"),xl.textContent=Xr,In=i(),b(Q.$$.fragment),jn=i(),Cl=r("p"),Cl.innerHTML=Dr,Gn=i(),X=r("blockquote"),X.innerHTML=Yr,Sn=i(),b(Ll.$$.fragment),Zn=i(),Ul=r("p"),this.h()},l(e){const t=ra("svelte-u9bgzb",document.head);m=a(t,"META",{name:!0,content:!0}),t.forEach(l),f=n(e),o=a(e,"P",{}),la(o).forEach(l),c=n(e),$(p.$$.fragment,e),h=n(e),$(x.$$.fragment,e),_=n(e),v=a(e,"P",{"data-svelte-h":!0}),u(v)!=="svelte-pyr84b"&&(v.textContent=I),j=n(e),$(S.$$.fragment,e),R=n(e),y=a(e,"P",{"data-svelte-h":!0}),u(y)!=="svelte-jnscar"&&(y.innerHTML=G),Jl=n(e),$(D.$$.fragment,e),Il=n(e),Y=a(e,"P",{"data-svelte-h":!0}),u(Y)!=="svelte-141t05y"&&(Y.innerHTML=Rn),jl=n(e),q=a(e,"P",{"data-svelte-h":!0}),u(q)!=="svelte-upuyxa"&&(q.textContent=kn),Gl=n(e),$(O.$$.fragment,e),Sl=n(e),$(K.$$.fragment,e),Zl=n(e),ee=a(e,"P",{"data-svelte-h":!0}),u(ee)!=="svelte-16360hy"&&(ee.innerHTML=An),Bl=n(e),$(te.$$.fragment,e),Rl=n(e),le=a(e,"P",{"data-svelte-h":!0}),u(le)!=="svelte-1qt1z72"&&(le.textContent=En),kl=n(e),$(se.$$.fragment,e),Al=n(e),$(k.$$.fragment,e),El=n(e),$(ie.$$.fragment,e),Pl=n(e),ne=a(e,"P",{"data-svelte-h":!0}),u(ne)!=="svelte-19hhhh8"&&(ne.innerHTML=Pn),Vl=n(e),oe=a(e,"P",{"data-svelte-h":!0}),u(oe)!=="svelte-7rhllm"&&(oe.textContent=Vn),Nl=n(e),re=a(e,"P",{"data-svelte-h":!0}),u(re)!=="svelte-efyae4"&&(re.textContent=Nn),Wl=n(e),$(ae.$$.fragment,e),Fl=n(e),me=a(e,"P",{"data-svelte-h":!0}),u(me)!=="svelte-1mcn9cu"&&(me.innerHTML=Wn),zl=n(e),pe=a(e,"P",{"data-svelte-h":!0}),u(pe)!=="svelte-1q2z42z"&&(pe.innerHTML=Fn),Ql=n(e),$(A.$$.fragment,e),Xl=n(e),ue=a(e,"P",{"data-svelte-h":!0}),u(ue)!=="svelte-kl9pz"&&(ue.textContent=zn),Dl=n(e),$(fe.$$.fragment,e),Yl=n(e),he=a(e,"P",{"data-svelte-h":!0}),u(he)!=="svelte-9nq0x0"&&(he.innerHTML=Qn),ql=n(e),ce=a(e,"DETAILS",{"data-svelte-h":!0}),u(ce)!=="svelte-uj5pem"&&(ce.innerHTML=Xn),Ol=n(e),be=a(e,"P",{"data-svelte-h":!0}),u(be)!=="svelte-nrvfwv"&&(be.textContent=Dn),Kl=n(e),$($e.$$.fragment,e),es=n(e),Me=a(e,"P",{"data-svelte-h":!0}),u(Me)!=="svelte-1qmpg9r"&&(Me.textContent=Yn),ts=n(e),$(de.$$.fragment,e),ls=n(e),ge=a(e,"P",{"data-svelte-h":!0}),u(ge)!=="svelte-97c9xv"&&(ge.textContent=qn),ss=n(e),we=a(e,"P",{"data-svelte-h":!0}),u(we)!=="svelte-85ylx7"&&(we.textContent=On),is=n(e),E=a(e,"BLOCKQUOTE",{class:!0,"data-svelte-h":!0}),u(E)!=="svelte-rwsljd"&&(E.innerHTML=Kn),ns=n(e),ye=a(e,"P",{"data-svelte-h":!0}),u(ye)!=="svelte-cwdauv"&&(ye.textContent=eo),os=n(e),$(ve.$$.fragment,e),rs=n(e),Te=a(e,"P",{"data-svelte-h":!0}),u(Te)!=="svelte-pxzpok"&&(Te.textContent=to),as=n(e),$(P.$$.fragment,e),ms=n(e),$(_e.$$.fragment,e),ps=n(e),$(xe.$$.fragment,e),us=n(e),Ce=a(e,"DETAILS",{"data-svelte-h":!0}),u(Ce)!=="svelte-qh6nk7"&&(Ce.innerHTML=lo),fs=n(e),Le=a(e,"P",{"data-svelte-h":!0}),u(Le)!=="svelte-86a8fu"&&(Le.textContent=so),hs=n(e),$(Ue.$$.fragment,e),cs=n(e),He=a(e,"P",{"data-svelte-h":!0}),u(He)!=="svelte-k1r3x2"&&(He.textContent=io),bs=n(e),$(Je.$$.fragment,e),$s=n(e),Ie=a(e,"DETAILS",{"data-svelte-h":!0}),u(Ie)!=="svelte-1ne72h9"&&(Ie.innerHTML=no),Ms=n(e),je=a(e,"P",{"data-svelte-h":!0}),u(je)!=="svelte-1aqq0w7"&&(je.innerHTML=oo),ds=n(e),gs=a(e,"HR",{}),ws=n(e),$(Ge.$$.fragment,e),ys=n(e),Se=a(e,"P",{"data-svelte-h":!0}),u(Se)!=="svelte-16xeq3i"&&(Se.innerHTML=ro),vs=n(e),Ze=a(e,"UL",{"data-svelte-h":!0}),u(Ze)!=="svelte-q12z3w"&&(Ze.innerHTML=ao),Ts=n(e),Be=a(e,"IMG",{src:!0,style:!0}),_s=n(e),Re=a(e,"P",{"data-svelte-h":!0}),u(Re)!=="svelte-lwrtjd"&&(Re.innerHTML=po),xs=n(e),ke=a(e,"UL",{"data-svelte-h":!0}),u(ke)!=="svelte-8bkoss"&&(ke.innerHTML=uo),Cs=n(e),Ae=a(e,"IMG",{src:!0,style:!0}),Ls=n(e),Ee=a(e,"P",{"data-svelte-h":!0}),u(Ee)!=="svelte-mzq58x"&&(Ee.innerHTML=ho),Us=n(e),Pe=a(e,"UL",{"data-svelte-h":!0}),u(Pe)!=="svelte-12s4qkx"&&(Pe.innerHTML=co),Hs=n(e),Ve=a(e,"P",{"data-svelte-h":!0}),u(Ve)!=="svelte-4wdp46"&&(Ve.innerHTML=bo),Js=n(e),Ne=a(e,"UL",{"data-svelte-h":!0}),u(Ne)!=="svelte-14dzuay"&&(Ne.innerHTML=$o),Is=n(e),We=a(e,"IMG",{src:!0,style:!0}),js=n(e),Fe=a(e,"P",{"data-svelte-h":!0}),u(Fe)!=="svelte-1u8o0nd"&&(Fe.innerHTML=go),Gs=n(e),ze=a(e,"UL",{"data-svelte-h":!0}),u(ze)!=="svelte-16hwy02"&&(ze.innerHTML=wo),Ss=n(e),Qe=a(e,"IMG",{src:!0,style:!0}),Zs=n(e),Xe=a(e,"DETAILS",{"data-svelte-h":!0}),u(Xe)!=="svelte-170os9m"&&(Xe.innerHTML=vo),Bs=n(e),De=a(e,"P",{"data-svelte-h":!0}),u(De)!=="svelte-i3wq6m"&&(De.innerHTML=To),Rs=n(e),Ye=a(e,"UL",{"data-svelte-h":!0}),u(Ye)!=="svelte-1vk7fd5"&&(Ye.innerHTML=_o),ks=n(e),qe=a(e,"IMG",{src:!0,style:!0}),As=n(e),Oe=a(e,"P",{"data-svelte-h":!0}),u(Oe)!=="svelte-1603tem"&&(Oe.innerHTML=Co),Es=n(e),Ke=a(e,"UL",{"data-svelte-h":!0}),u(Ke)!=="svelte-18v3f8i"&&(Ke.innerHTML=Lo),Ps=n(e),Vs=a(e,"HR",{}),Ns=n(e),$(et.$$.fragment,e),Ws=n(e),tt=a(e,"P",{"data-svelte-h":!0}),u(tt)!=="svelte-1sic8l8"&&(tt.innerHTML=Uo),Fs=n(e),lt=a(e,"UL",{"data-svelte-h":!0}),u(lt)!=="svelte-9jqlxu"&&(lt.innerHTML=Ho),zs=n(e),st=a(e,"IMG",{src:!0,style:!0}),Qs=n(e),it=a(e,"P",{"data-svelte-h":!0}),u(it)!=="svelte-74jrvj"&&(it.innerHTML=Io),Xs=n(e),nt=a(e,"UL",{"data-svelte-h":!0}),u(nt)!=="svelte-towt0c"&&(nt.innerHTML=jo),Ds=n(e),V=a(e,"DIV",{style:!0,"data-svelte-h":!0}),u(V)!=="svelte-192x96b"&&(V.innerHTML=Go),Ys=n(e),ot=a(e,"P",{"data-svelte-h":!0}),u(ot)!=="svelte-f5z5c1"&&(ot.innerHTML=So),qs=n(e),rt=a(e,"UL",{"data-svelte-h":!0}),u(rt)!=="svelte-o3hsmf"&&(rt.innerHTML=Zo),Os=n(e),at=a(e,"P",{"data-svelte-h":!0}),u(at)!=="svelte-1liiv5h"&&(at.innerHTML=Bo),Ks=n(e),mt=a(e,"UL",{"data-svelte-h":!0}),u(mt)!=="svelte-1m138sx"&&(mt.innerHTML=Ro),ei=n(e),pt=a(e,"P",{"data-svelte-h":!0}),u(pt)!=="svelte-1cg5w4v"&&(pt.innerHTML=ko),ti=n(e),ut=a(e,"UL",{"data-svelte-h":!0}),u(ut)!=="svelte-1q5dls0"&&(ut.innerHTML=Ao),li=n(e),ft=a(e,"IMG",{src:!0,style:!0}),si=n(e),ht=a(e,"P",{"data-svelte-h":!0}),u(ht)!=="svelte-qr5w0f"&&(ht.innerHTML=Po),ii=n(e),ct=a(e,"UL",{"data-svelte-h":!0}),u(ct)!=="svelte-lozj5v"&&(ct.innerHTML=Vo),ni=n(e),bt=a(e,"IMG",{src:!0,style:!0}),oi=n(e),ri=a(e,"HR",{}),ai=n(e),$($t.$$.fragment,e),mi=n(e),Mt=a(e,"P",{"data-svelte-h":!0}),u(Mt)!=="svelte-14fnrrq"&&(Mt.innerHTML=Wo),pi=n(e),dt=a(e,"UL",{"data-svelte-h":!0}),u(dt)!=="svelte-yjnt7v"&&(dt.innerHTML=Fo),ui=n(e),gt=a(e,"P",{"data-svelte-h":!0}),u(gt)!=="svelte-rvcm1t"&&(gt.innerHTML=zo),fi=n(e),wt=a(e,"UL",{"data-svelte-h":!0}),u(wt)!=="svelte-d4ynq7"&&(wt.innerHTML=Qo),hi=n(e),yt=a(e,"IMG",{src:!0,style:!0}),ci=n(e),vt=a(e,"P",{"data-svelte-h":!0}),u(vt)!=="svelte-c8lmps"&&(vt.innerHTML=Do),bi=n(e),Tt=a(e,"UL",{"data-svelte-h":!0}),u(Tt)!=="svelte-pq4nnb"&&(Tt.innerHTML=Yo),$i=n(e),_t=a(e,"IMG",{src:!0,style:!0}),Mi=n(e),di=a(e,"HR",{}),gi=n(e),$(xt.$$.fragment,e),wi=n(e),Ct=a(e,"P",{"data-svelte-h":!0}),u(Ct)!=="svelte-ifo2rm"&&(Ct.innerHTML=Oo),yi=n(e),Lt=a(e,"UL",{"data-svelte-h":!0}),u(Lt)!=="svelte-1wwcurl"&&(Lt.innerHTML=Ko),vi=n(e),N=a(e,"DIV",{style:!0,"data-svelte-h":!0}),u(N)!=="svelte-1q2g8lv"&&(N.innerHTML=er),Ti=n(e),Ut=a(e,"P",{"data-svelte-h":!0}),u(Ut)!=="svelte-1vfbnx9"&&(Ut.innerHTML=tr),_i=n(e),Ht=a(e,"UL",{"data-svelte-h":!0}),u(Ht)!=="svelte-1wdnk3y"&&(Ht.innerHTML=lr),xi=n(e),Jt=a(e,"IMG",{src:!0,style:!0}),Ci=n(e),It=a(e,"P",{"data-svelte-h":!0}),u(It)!=="svelte-1yz35lv"&&(It.innerHTML=ir),Li=n(e),jt=a(e,"UL",{"data-svelte-h":!0}),u(jt)!=="svelte-3ayzw1"&&(jt.innerHTML=nr),Ui=n(e),Gt=a(e,"IMG",{src:!0,style:!0}),Hi=n(e),Ji=a(e,"HR",{}),Ii=n(e),$(St.$$.fragment,e),ji=n(e),Zt=a(e,"P",{"data-svelte-h":!0}),u(Zt)!=="svelte-bs3gdz"&&(Zt.innerHTML=rr),Gi=n(e),Bt=a(e,"UL",{"data-svelte-h":!0}),u(Bt)!=="svelte-20iaxx"&&(Bt.innerHTML=ar),Si=n(e),Rt=a(e,"IMG",{src:!0,style:!0}),Zi=n(e),kt=a(e,"P",{"data-svelte-h":!0}),u(kt)!=="svelte-1ol67nr"&&(kt.innerHTML=pr),Bi=n(e),At=a(e,"UL",{"data-svelte-h":!0}),u(At)!=="svelte-k4wqep"&&(At.innerHTML=ur),Ri=n(e),Et=a(e,"IMG",{src:!0,style:!0}),ki=n(e),Pt=a(e,"P",{"data-svelte-h":!0}),u(Pt)!=="svelte-1e8lsyr"&&(Pt.innerHTML=hr),Ai=n(e),Vt=a(e,"UL",{"data-svelte-h":!0}),u(Vt)!=="svelte-15a1xn9"&&(Vt.innerHTML=cr),Ei=n(e),Nt=a(e,"IMG",{src:!0,style:!0}),Pi=n(e),Vi=a(e,"HR",{}),Ni=n(e),$(Wt.$$.fragment,e),Wi=n(e),Ft=a(e,"P",{"data-svelte-h":!0}),u(Ft)!=="svelte-5ph5vl"&&(Ft.innerHTML=$r),Fi=n(e),zt=a(e,"UL",{"data-svelte-h":!0}),u(zt)!=="svelte-1z67od"&&(zt.innerHTML=Mr),zi=n(e),Qt=a(e,"IMG",{src:!0,style:!0}),Qi=n(e),Xt=a(e,"P",{"data-svelte-h":!0}),u(Xt)!=="svelte-18mmxl7"&&(Xt.innerHTML=gr),Xi=n(e),Dt=a(e,"UL",{"data-svelte-h":!0}),u(Dt)!=="svelte-16l8vta"&&(Dt.innerHTML=wr),Di=n(e),Yt=a(e,"IMG",{src:!0,style:!0}),Yi=n(e),qt=a(e,"P",{"data-svelte-h":!0}),u(qt)!=="svelte-ijjajh"&&(qt.innerHTML=vr),qi=n(e),Ot=a(e,"UL",{"data-svelte-h":!0}),u(Ot)!=="svelte-184hvlj"&&(Ot.innerHTML=Tr),Oi=n(e),Kt=a(e,"IMG",{src:!0,style:!0}),Ki=n(e),el=a(e,"P",{"data-svelte-h":!0}),u(el)!=="svelte-1lbap99"&&(el.innerHTML=xr),en=n(e),tl=a(e,"UL",{"data-svelte-h":!0}),u(tl)!=="svelte-rum6od"&&(tl.innerHTML=Cr),tn=n(e),W=a(e,"DIV",{style:!0,"data-svelte-h":!0}),u(W)!=="svelte-78z7nj"&&(W.innerHTML=Lr),ln=n(e),ll=a(e,"P",{"data-svelte-h":!0}),u(ll)!=="svelte-10m3hz3"&&(ll.innerHTML=Ur),sn=n(e),nn=a(e,"HR",{}),on=n(e),$(sl.$$.fragment,e),rn=n(e),il=a(e,"P",{"data-svelte-h":!0}),u(il)!=="svelte-2044e5"&&(il.innerHTML=Hr),an=n(e),nl=a(e,"P",{"data-svelte-h":!0}),u(nl)!=="svelte-15acynr"&&(nl.innerHTML=Jr),mn=n(e),ol=a(e,"UL",{"data-svelte-h":!0}),u(ol)!=="svelte-nccq40"&&(ol.innerHTML=Ir),pn=n(e),rl=a(e,"IMG",{src:!0,style:!0}),un=n(e),al=a(e,"P",{"data-svelte-h":!0}),u(al)!=="svelte-n607u7"&&(al.innerHTML=Gr),fn=n(e),ml=a(e,"UL",{"data-svelte-h":!0}),u(ml)!=="svelte-11tys3h"&&(ml.innerHTML=Sr),hn=n(e),pl=a(e,"IMG",{src:!0,style:!0}),cn=n(e),ul=a(e,"P",{"data-svelte-h":!0}),u(ul)!=="svelte-1igsqea"&&(ul.innerHTML=Br),bn=n(e),fl=a(e,"UL",{"data-svelte-h":!0}),u(fl)!=="svelte-1nrdl0a"&&(fl.innerHTML=Rr),$n=n(e),hl=a(e,"IMG",{src:!0,style:!0}),Mn=n(e),cl=a(e,"P",{"data-svelte-h":!0}),u(cl)!=="svelte-1krdgx7"&&(cl.innerHTML=Ar),dn=n(e),bl=a(e,"UL",{"data-svelte-h":!0}),u(bl)!=="svelte-1ff3k08"&&(bl.innerHTML=Er),gn=n(e),$l=a(e,"IMG",{src:!0,style:!0}),wn=n(e),Ml=a(e,"P",{"data-svelte-h":!0}),u(Ml)!=="svelte-1dxjcdo"&&(Ml.innerHTML=Vr),yn=n(e),dl=a(e,"UL",{"data-svelte-h":!0}),u(dl)!=="svelte-rum6od"&&(dl.innerHTML=Nr),vn=n(e),F=a(e,"DIV",{style:!0,"data-svelte-h":!0}),u(F)!=="svelte-78z7nj"&&(F.innerHTML=Wr),Tn=n(e),$(gl.$$.fragment,e),_n=n(e),wl=a(e,"P",{"data-svelte-h":!0}),u(wl)!=="svelte-jmtuc1"&&(wl.textContent=Fr),xn=n(e),$(yl.$$.fragment,e),Cn=n(e),vl=a(e,"P",{"data-svelte-h":!0}),u(vl)!=="svelte-lnreu8"&&(vl.textContent=zr),Ln=n(e),$(z.$$.fragment,e),Un=n(e),Tl=a(e,"P",{"data-svelte-h":!0}),u(Tl)!=="svelte-1fpn8w0"&&(Tl.innerHTML=Qr),Hn=n(e),$(_l.$$.fragment,e),Jn=n(e),xl=a(e,"P",{"data-svelte-h":!0}),u(xl)!=="svelte-1mr2rqs"&&(xl.textContent=Xr),In=n(e),$(Q.$$.fragment,e),jn=n(e),Cl=a(e,"P",{"data-svelte-h":!0}),u(Cl)!=="svelte-19zk1vh"&&(Cl.innerHTML=Dr),Gn=n(e),X=a(e,"BLOCKQUOTE",{class:!0,"data-svelte-h":!0}),u(X)!=="svelte-so5vtc"&&(X.innerHTML=Yr),Sn=n(e),$(Ll.$$.fragment,e),Zn=n(e),Ul=a(e,"P",{}),la(Ul).forEach(l),this.h()},h(){C(m,"name","hf:doc:metadata"),C(m,"content",La),C(E,"class","tip"),U(Be.src,mo="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/lerobot/so100_assembly_1.webp")||C(Be,"src",mo),L(Be,"height","300px"),U(Ae.src,fo="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/lerobot/so100_assembly_2.webp")||C(Ae,"src",fo),L(Ae,"height","300px"),U(We.src,Mo="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/lerobot/so100_assembly_4.webp")||C(We,"src",Mo),L(We,"height","300px"),U(Qe.src,yo="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/lerobot/so100_assembly_5.webp")||C(Qe,"src",yo),L(Qe,"height","300px"),U(qe.src,xo="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/lerobot/so100_assembly_6.webp")||C(qe,"src",xo),L(qe,"height","300px"),U(st.src,Jo="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/lerobot/so100_assembly_8.webp")||C(st,"src",Jo),L(st,"height","300px"),L(V,"display","flex"),U(ft.src,Eo="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/lerobot/so100_assembly_11.webp")||C(ft,"src",Eo),L(ft,"height","300px"),U(bt.src,No="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/lerobot/so100_assembly_13.webp")||C(bt,"src",No),L(bt,"height","300px"),U(yt.src,Xo="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/lerobot/so100_assembly_14.webp")||C(yt,"src",Xo),L(yt,"height","300px"),U(_t.src,qo="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/lerobot/so100_assembly_15.webp")||C(_t,"src",qo),L(_t,"height","300px"),L(N,"display","flex"),U(Jt.src,sr="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/lerobot/so100_assembly_17.webp")||C(Jt,"src",sr),L(Jt,"height","300px"),U(Gt.src,or="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/lerobot/so100_assembly_18.webp")||C(Gt,"src",or),L(Gt,"height","300px"),U(Rt.src,mr="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/lerobot/so100_assembly_20.webp")||C(Rt,"src",mr),L(Rt,"height","300px"),U(Et.src,fr="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/lerobot/so100_assembly_22.webp")||C(Et,"src",fr),L(Et,"height","300px"),U(Nt.src,br="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/lerobot/so100_assembly_23.webp")||C(Nt,"src",br),L(Nt,"height","300px"),U(Qt.src,dr="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/lerobot/so100_assembly_24.webp")||C(Qt,"src",dr),L(Qt,"height","300px"),U(Yt.src,yr="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/lerobot/so100_assembly_25.webp")||C(Yt,"src",yr),L(Yt,"height","300px"),U(Kt.src,_r="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/lerobot/so100_assembly_26.webp")||C(Kt,"src",_r),L(Kt,"height","300px"),L(W,"display","flex"),U(rl.src,jr="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/lerobot/so100_assembly_29.webp")||C(rl,"src",jr),L(rl,"height","300px"),U(pl.src,Zr="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/lerobot/so100_assembly_30.webp")||C(pl,"src",Zr),L(pl,"height","300px"),U(hl.src,kr="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/lerobot/so100_assembly_31.webp")||C(hl,"src",kr),L(hl,"height","300px"),U($l.src,Pr="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/lerobot/so100_assembly_32.webp")||C($l,"src",Pr),L($l,"height","300px"),L(F,"display","flex"),C(X,"class","tip")},m(e,t){aa(document.head,m),s(e,f,t),s(e,o,t),s(e,c,t),M(p,e,t),s(e,h,t),M(x,e,t),s(e,_,t),s(e,v,t),s(e,j,t),M(S,e,t),s(e,R,t),s(e,y,t),s(e,Jl,t),M(D,e,t),s(e,Il,t),s(e,Y,t),s(e,jl,t),s(e,q,t),s(e,Gl,t),M(O,e,t),s(e,Sl,t),M(K,e,t),s(e,Zl,t),s(e,ee,t),s(e,Bl,t),M(te,e,t),s(e,Rl,t),s(e,le,t),s(e,kl,t),M(se,e,t),s(e,Al,t),M(k,e,t),s(e,El,t),M(ie,e,t),s(e,Pl,t),s(e,ne,t),s(e,Vl,t),s(e,oe,t),s(e,Nl,t),s(e,re,t),s(e,Wl,t),M(ae,e,t),s(e,Fl,t),s(e,me,t),s(e,zl,t),s(e,pe,t),s(e,Ql,t),M(A,e,t),s(e,Xl,t),s(e,ue,t),s(e,Dl,t),M(fe,e,t),s(e,Yl,t),s(e,he,t),s(e,ql,t),s(e,ce,t),s(e,Ol,t),s(e,be,t),s(e,Kl,t),M($e,e,t),s(e,es,t),s(e,Me,t),s(e,ts,t),M(de,e,t),s(e,ls,t),s(e,ge,t),s(e,ss,t),s(e,we,t),s(e,is,t),s(e,E,t),s(e,ns,t),s(e,ye,t),s(e,os,t),M(ve,e,t),s(e,rs,t),s(e,Te,t),s(e,as,t),M(P,e,t),s(e,ms,t),M(_e,e,t),s(e,ps,t),M(xe,e,t),s(e,us,t),s(e,Ce,t),s(e,fs,t),s(e,Le,t),s(e,hs,t),M(Ue,e,t),s(e,cs,t),s(e,He,t),s(e,bs,t),M(Je,e,t),s(e,$s,t),s(e,Ie,t),s(e,Ms,t),s(e,je,t),s(e,ds,t),s(e,gs,t),s(e,ws,t),M(Ge,e,t),s(e,ys,t),s(e,Se,t),s(e,vs,t),s(e,Ze,t),s(e,Ts,t),s(e,Be,t),s(e,_s,t),s(e,Re,t),s(e,xs,t),s(e,ke,t),s(e,Cs,t),s(e,Ae,t),s(e,Ls,t),s(e,Ee,t),s(e,Us,t),s(e,Pe,t),s(e,Hs,t),s(e,Ve,t),s(e,Js,t),s(e,Ne,t),s(e,Is,t),s(e,We,t),s(e,js,t),s(e,Fe,t),s(e,Gs,t),s(e,ze,t),s(e,Ss,t),s(e,Qe,t),s(e,Zs,t),s(e,Xe,t),s(e,Bs,t),s(e,De,t),s(e,Rs,t),s(e,Ye,t),s(e,ks,t),s(e,qe,t),s(e,As,t),s(e,Oe,t),s(e,Es,t),s(e,Ke,t),s(e,Ps,t),s(e,Vs,t),s(e,Ns,t),M(et,e,t),s(e,Ws,t),s(e,tt,t),s(e,Fs,t),s(e,lt,t),s(e,zs,t),s(e,st,t),s(e,Qs,t),s(e,it,t),s(e,Xs,t),s(e,nt,t),s(e,Ds,t),s(e,V,t),s(e,Ys,t),s(e,ot,t),s(e,qs,t),s(e,rt,t),s(e,Os,t),s(e,at,t),s(e,Ks,t),s(e,mt,t),s(e,ei,t),s(e,pt,t),s(e,ti,t),s(e,ut,t),s(e,li,t),s(e,ft,t),s(e,si,t),s(e,ht,t),s(e,ii,t),s(e,ct,t),s(e,ni,t),s(e,bt,t),s(e,oi,t),s(e,ri,t),s(e,ai,t),M($t,e,t),s(e,mi,t),s(e,Mt,t),s(e,pi,t),s(e,dt,t),s(e,ui,t),s(e,gt,t),s(e,fi,t),s(e,wt,t),s(e,hi,t),s(e,yt,t),s(e,ci,t),s(e,vt,t),s(e,bi,t),s(e,Tt,t),s(e,$i,t),s(e,_t,t),s(e,Mi,t),s(e,di,t),s(e,gi,t),M(xt,e,t),s(e,wi,t),s(e,Ct,t),s(e,yi,t),s(e,Lt,t),s(e,vi,t),s(e,N,t),s(e,Ti,t),s(e,Ut,t),s(e,_i,t),s(e,Ht,t),s(e,xi,t),s(e,Jt,t),s(e,Ci,t),s(e,It,t),s(e,Li,t),s(e,jt,t),s(e,Ui,t),s(e,Gt,t),s(e,Hi,t),s(e,Ji,t),s(e,Ii,t),M(St,e,t),s(e,ji,t),s(e,Zt,t),s(e,Gi,t),s(e,Bt,t),s(e,Si,t),s(e,Rt,t),s(e,Zi,t),s(e,kt,t),s(e,Bi,t),s(e,At,t),s(e,Ri,t),s(e,Et,t),s(e,ki,t),s(e,Pt,t),s(e,Ai,t),s(e,Vt,t),s(e,Ei,t),s(e,Nt,t),s(e,Pi,t),s(e,Vi,t),s(e,Ni,t),M(Wt,e,t),s(e,Wi,t),s(e,Ft,t),s(e,Fi,t),s(e,zt,t),s(e,zi,t),s(e,Qt,t),s(e,Qi,t),s(e,Xt,t),s(e,Xi,t),s(e,Dt,t),s(e,Di,t),s(e,Yt,t),s(e,Yi,t),s(e,qt,t),s(e,qi,t),s(e,Ot,t),s(e,Oi,t),s(e,Kt,t),s(e,Ki,t),s(e,el,t),s(e,en,t),s(e,tl,t),s(e,tn,t),s(e,W,t),s(e,ln,t),s(e,ll,t),s(e,sn,t),s(e,nn,t),s(e,on,t),M(sl,e,t),s(e,rn,t),s(e,il,t),s(e,an,t),s(e,nl,t),s(e,mn,t),s(e,ol,t),s(e,pn,t),s(e,rl,t),s(e,un,t),s(e,al,t),s(e,fn,t),s(e,ml,t),s(e,hn,t),s(e,pl,t),s(e,cn,t),s(e,ul,t),s(e,bn,t),s(e,fl,t),s(e,$n,t),s(e,hl,t),s(e,Mn,t),s(e,cl,t),s(e,dn,t),s(e,bl,t),s(e,gn,t),s(e,$l,t),s(e,wn,t),s(e,Ml,t),s(e,yn,t),s(e,dl,t),s(e,vn,t),s(e,F,t),s(e,Tn,t),M(gl,e,t),s(e,_n,t),s(e,wl,t),s(e,xn,t),M(yl,e,t),s(e,Cn,t),s(e,vl,t),s(e,Ln,t),M(z,e,t),s(e,Un,t),s(e,Tl,t),s(e,Hn,t),M(_l,e,t),s(e,Jn,t),s(e,xl,t),s(e,In,t),M(Q,e,t),s(e,jn,t),s(e,Cl,t),s(e,Gn,t),s(e,X,t),s(e,Sn,t),M(Ll,e,t),s(e,Zn,t),s(e,Ul,t),Bn=!0},p(e,[t]){const qr={};t&2&&(qr.$$scope={dirty:t,ctx:e}),k.$set(qr);const Or={};t&2&&(Or.$$scope={dirty:t,ctx:e}),A.$set(Or);const Kr={};t&2&&(Kr.$$scope={dirty:t,ctx:e}),P.$set(Kr);const ea={};t&2&&(ea.$$scope={dirty:t,ctx:e}),z.$set(ea);const ta={};t&2&&(ta.$$scope={dirty:t,ctx:e}),Q.$set(ta)},i(e){Bn||(d(p.$$.fragment,e),d(x.$$.fragment,e),d(S.$$.fragment,e),d(D.$$.fragment,e),d(O.$$.fragment,e),d(K.$$.fragment,e),d(te.$$.fragment,e),d(se.$$.fragment,e),d(k.$$.fragment,e),d(ie.$$.fragment,e),d(ae.$$.fragment,e),d(A.$$.fragment,e),d(fe.$$.fragment,e),d($e.$$.fragment,e),d(de.$$.fragment,e),d(ve.$$.fragment,e),d(P.$$.fragment,e),d(_e.$$.fragment,e),d(xe.$$.fragment,e),d(Ue.$$.fragment,e),d(Je.$$.fragment,e),d(Ge.$$.fragment,e),d(et.$$.fragment,e),d($t.$$.fragment,e),d(xt.$$.fragment,e),d(St.$$.fragment,e),d(Wt.$$.fragment,e),d(sl.$$.fragment,e),d(gl.$$.fragment,e),d(yl.$$.fragment,e),d(z.$$.fragment,e),d(_l.$$.fragment,e),d(Q.$$.fragment,e),d(Ll.$$.fragment,e),Bn=!0)},o(e){g(p.$$.fragment,e),g(x.$$.fragment,e),g(S.$$.fragment,e),g(D.$$.fragment,e),g(O.$$.fragment,e),g(K.$$.fragment,e),g(te.$$.fragment,e),g(se.$$.fragment,e),g(k.$$.fragment,e),g(ie.$$.fragment,e),g(ae.$$.fragment,e),g(A.$$.fragment,e),g(fe.$$.fragment,e),g($e.$$.fragment,e),g(de.$$.fragment,e),g(ve.$$.fragment,e),g(P.$$.fragment,e),g(_e.$$.fragment,e),g(xe.$$.fragment,e),g(Ue.$$.fragment,e),g(Je.$$.fragment,e),g(Ge.$$.fragment,e),g(et.$$.fragment,e),g($t.$$.fragment,e),g(xt.$$.fragment,e),g(St.$$.fragment,e),g(Wt.$$.fragment,e),g(sl.$$.fragment,e),g(gl.$$.fragment,e),g(yl.$$.fragment,e),g(z.$$.fragment,e),g(_l.$$.fragment,e),g(Q.$$.fragment,e),g(Ll.$$.fragment,e),Bn=!1},d(e){e&&(l(f),l(o),l(c),l(h),l(_),l(v),l(j),l(R),l(y),l(Jl),l(Il),l(Y),l(jl),l(q),l(Gl),l(Sl),l(Zl),l(ee),l(Bl),l(Rl),l(le),l(kl),l(Al),l(El),l(Pl),l(ne),l(Vl),l(oe),l(Nl),l(re),l(Wl),l(Fl),l(me),l(zl),l(pe),l(Ql),l(Xl),l(ue),l(Dl),l(Yl),l(he),l(ql),l(ce),l(Ol),l(be),l(Kl),l(es),l(Me),l(ts),l(ls),l(ge),l(ss),l(we),l(is),l(E),l(ns),l(ye),l(os),l(rs),l(Te),l(as),l(ms),l(ps),l(us),l(Ce),l(fs),l(Le),l(hs),l(cs),l(He),l(bs),l($s),l(Ie),l(Ms),l(je),l(ds),l(gs),l(ws),l(ys),l(Se),l(vs),l(Ze),l(Ts),l(Be),l(_s),l(Re),l(xs),l(ke),l(Cs),l(Ae),l(Ls),l(Ee),l(Us),l(Pe),l(Hs),l(Ve),l(Js),l(Ne),l(Is),l(We),l(js),l(Fe),l(Gs),l(ze),l(Ss),l(Qe),l(Zs),l(Xe),l(Bs),l(De),l(Rs),l(Ye),l(ks),l(qe),l(As),l(Oe),l(Es),l(Ke),l(Ps),l(Vs),l(Ns),l(Ws),l(tt),l(Fs),l(lt),l(zs),l(st),l(Qs),l(it),l(Xs),l(nt),l(Ds),l(V),l(Ys),l(ot),l(qs),l(rt),l(Os),l(at),l(Ks),l(mt),l(ei),l(pt),l(ti),l(ut),l(li),l(ft),l(si),l(ht),l(ii),l(ct),l(ni),l(bt),l(oi),l(ri),l(ai),l(mi),l(Mt),l(pi),l(dt),l(ui),l(gt),l(fi),l(wt),l(hi),l(yt),l(ci),l(vt),l(bi),l(Tt),l($i),l(_t),l(Mi),l(di),l(gi),l(wi),l(Ct),l(yi),l(Lt),l(vi),l(N),l(Ti),l(Ut),l(_i),l(Ht),l(xi),l(Jt),l(Ci),l(It),l(Li),l(jt),l(Ui),l(Gt),l(Hi),l(Ji),l(Ii),l(ji),l(Zt),l(Gi),l(Bt),l(Si),l(Rt),l(Zi),l(kt),l(Bi),l(At),l(Ri),l(Et),l(ki),l(Pt),l(Ai),l(Vt),l(Ei),l(Nt),l(Pi),l(Vi),l(Ni),l(Wi),l(Ft),l(Fi),l(zt),l(zi),l(Qt),l(Qi),l(Xt),l(Xi),l(Dt),l(Di),l(Yt),l(Yi),l(qt),l(qi),l(Ot),l(Oi),l(Kt),l(Ki),l(el),l(en),l(tl),l(tn),l(W),l(ln),l(ll),l(sn),l(nn),l(on),l(rn),l(il),l(an),l(nl),l(mn),l(ol),l(pn),l(rl),l(un),l(al),l(fn),l(ml),l(hn),l(pl),l(cn),l(ul),l(bn),l(fl),l($n),l(hl),l(Mn),l(cl),l(dn),l(bl),l(gn),l($l),l(wn),l(Ml),l(yn),l(dl),l(vn),l(F),l(Tn),l(_n),l(wl),l(xn),l(Cn),l(vl),l(Ln),l(Un),l(Tl),l(Hn),l(Jn),l(xl),l(In),l(jn),l(Cl),l(Gn),l(X),l(Sn),l(Zn),l(Ul)),l(m),w(p,e),w(x,e),w(S,e),w(D,e),w(O,e),w(K,e),w(te,e),w(se,e),w(k,e),w(ie,e),w(ae,e),w(A,e),w(fe,e),w($e,e),w(de,e),w(ve,e),w(P,e),w(_e,e),w(xe,e),w(Ue,e),w(Je,e),w(Ge,e),w(et,e),w($t,e),w(xt,e),w(St,e),w(Wt,e),w(sl,e),w(gl,e),w(yl,e),w(z,e),w(_l,e),w(Q,e),w(Ll,e)}}}const La='{"title":"SO-100","local":"so-100","sections":[{"title":"Source the parts","local":"source-the-parts","sections":[],"depth":2},{"title":"Install LeRobot 🤗","local":"install-lerobot-","sections":[],"depth":2},{"title":"Configure the motors","local":"configure-the-motors","sections":[{"title":"1. Find the USB ports associated with each arm","local":"1-find-the-usb-ports-associated-with-each-arm","sections":[],"depth":3},{"title":"2. Set the motors ids and baudrates","local":"2-set-the-motors-ids-and-baudrates","sections":[{"title":"Follower","local":"follower","sections":[],"depth":4},{"title":"Leader","local":"leader","sections":[],"depth":4}],"depth":3}],"depth":2},{"title":"Step-by-Step Assembly Instructions","local":"step-by-step-assembly-instructions","sections":[],"depth":2},{"title":"Remove the gears of the 6 leader motors","local":"remove-the-gears-of-the-6-leader-motors","sections":[{"title":"Clean Parts","local":"clean-parts","sections":[],"depth":3},{"title":"Additional Guidance","local":"additional-guidance","sections":[],"depth":3},{"title":"First Motor","local":"first-motor","sections":[],"depth":3},{"title":"Second Motor Assembly","local":"second-motor-assembly","sections":[],"depth":3},{"title":"Third Motor Assembly","local":"third-motor-assembly","sections":[],"depth":3},{"title":"Fourth Motor Assembly","local":"fourth-motor-assembly","sections":[],"depth":3},{"title":"Wrist Assembly","local":"wrist-assembly","sections":[],"depth":3},{"title":"Follower Configuration","local":"follower-configuration","sections":[],"depth":3},{"title":"Leader Configuration","local":"leader-configuration","sections":[],"depth":3}],"depth":2},{"title":"Calibrate","local":"calibrate","sections":[{"title":"Follower","local":"follower","sections":[],"depth":4},{"title":"Leader","local":"leader","sections":[],"depth":4}],"depth":2}],"depth":1}';function Ua(T){return ia(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Za extends na{constructor(m){super(),oa(this,m,Ua,Ca,sa,{})}}export{Za as component};
