diff --git a/coverage/coverage.out b/coverage/coverage.out index 8d4243f..175ecf5 100644 --- a/coverage/coverage.out +++ b/coverage/coverage.out @@ -1,86 +1,80 @@ mode: set -github.com/echovault/echovault/pkg/modules/connection/commands.go:26.108,27.18 1 1 -github.com/echovault/echovault/pkg/modules/connection/commands.go:28.10,29.54 1 1 -github.com/echovault/echovault/pkg/modules/connection/commands.go:30.9,31.34 1 1 -github.com/echovault/echovault/pkg/modules/connection/commands.go:32.9,33.72 1 1 -github.com/echovault/echovault/pkg/modules/connection/commands.go:37.33,45.60 1 0 -github.com/echovault/echovault/pkg/modules/connection/commands.go:45.60,47.5 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:58.72,60.23 2 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:60.23,62.3 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:63.2,64.16 2 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:64.16,66.3 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:67.2,67.45 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:70.56,72.16 2 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:72.16,74.3 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:75.2,75.45 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:78.78,81.21 2 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:81.21,83.3 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:83.8,85.3 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:87.2,87.24 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:87.24,89.3 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:91.2,91.20 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:91.20,93.3 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:95.2,95.24 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:95.24,97.3 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:99.2,99.23 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:99.23,101.3 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:103.2,103.23 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:103.23,105.3 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:107.2,107.27 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:107.27,109.3 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:111.2,111.53 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:111.53,113.3 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:115.2,115.56 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:115.56,117.3 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:119.2,119.52 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:119.52,121.3 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:123.2,123.55 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:123.55,125.3 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:127.2,127.53 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:127.53,129.3 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:131.2,131.53 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:131.53,133.3 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:135.2,135.50 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:135.50,137.3 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:139.2,139.50 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:139.50,141.3 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:143.2,143.51 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:143.51,145.3 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:147.2,147.46 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:147.46,149.3 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:151.2,151.47 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:151.47,153.3 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:155.2,155.50 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:155.50,157.3 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:159.2,159.50 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:159.50,161.3 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:163.2,164.16 2 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:164.16,166.3 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:168.2,168.40 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:171.84,173.16 2 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:173.16,175.3 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:177.2,179.16 3 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:179.16,181.3 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:183.2,186.35 3 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:186.35,192.35 4 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:192.35,194.4 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:197.2,197.20 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:200.75,203.16 3 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:203.16,205.3 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:206.2,206.40 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:209.55,211.16 2 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:211.16,213.3 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:214.2,214.45 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:217.75,219.9 2 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:220.21,221.29 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:222.23,223.31 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:224.10,225.31 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:228.2,229.16 2 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:229.16,231.3 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:233.2,233.40 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:236.53,238.16 2 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:238.16,240.3 1 0 -github.com/echovault/echovault/pkg/echovault/api_acl.go:241.2,241.40 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:125.72,127.23 2 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:127.23,129.3 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:130.2,131.16 2 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:131.16,133.3 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:134.2,134.45 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:138.56,140.16 2 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:140.16,142.3 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:143.2,143.45 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:154.65,157.18 2 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:157.18,159.3 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:159.8,161.3 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:163.2,163.21 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:163.21,165.3 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:167.2,167.17 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:167.17,169.3 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:171.2,171.21 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:171.21,173.3 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:175.2,175.20 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:175.20,177.3 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:179.2,179.20 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:179.20,181.3 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:183.2,183.24 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:183.24,185.3 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:187.2,187.50 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:187.50,189.3 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:191.2,191.53 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:191.53,193.3 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:195.2,195.49 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:195.49,197.3 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:199.2,199.52 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:199.52,201.3 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:203.2,203.50 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:203.50,205.3 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:207.2,207.50 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:207.50,209.3 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:211.2,211.47 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:211.47,213.3 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:215.2,215.47 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:215.47,217.3 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:219.2,219.48 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:219.48,221.3 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:223.2,223.43 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:223.43,225.3 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:227.2,227.44 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:227.44,229.3 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:231.2,231.47 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:231.47,233.3 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:235.2,235.47 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:235.47,237.3 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:239.2,240.16 2 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:240.16,242.3 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:244.2,244.40 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:291.84,293.16 2 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:293.16,295.3 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:297.2,299.16 3 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:299.16,301.3 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:303.2,306.35 3 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:306.35,312.35 4 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:312.35,314.4 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:317.2,317.20 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:327.75,330.16 3 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:330.16,332.3 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:333.2,333.40 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:337.55,339.16 2 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:339.16,341.3 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:342.2,342.45 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:353.75,355.9 2 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:356.21,357.29 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:358.23,359.31 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:360.10,361.31 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:364.2,365.16 2 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:365.16,367.3 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:369.2,369.40 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:375.53,377.16 2 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:377.16,379.3 1 0 +github.com/echovault/echovault/pkg/echovault/api_acl.go:380.2,380.40 1 0 github.com/echovault/echovault/pkg/echovault/api_admin.go:39.85,42.9 2 0 github.com/echovault/echovault/pkg/echovault/api_admin.go:43.28,44.71 1 0 github.com/echovault/echovault/pkg/echovault/api_admin.go:45.29,46.73 1 0 @@ -1249,429 +1243,6 @@ github.com/echovault/echovault/pkg/modules/admin/commands.go:284.60,286.5 1 0 github.com/echovault/echovault/pkg/modules/admin/commands.go:287.113,288.47 1 0 github.com/echovault/echovault/pkg/modules/admin/commands.go:288.47,290.6 1 0 github.com/echovault/echovault/pkg/modules/admin/commands.go:291.5,291.45 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:34.108,35.34 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:35.34,37.3 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:38.2,39.9 2 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:39.9,41.3 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:42.2,42.67 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:42.67,44.3 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:45.2,45.42 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:48.106,49.19 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:49.19,51.3 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:53.2,54.9 2 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:54.9,56.3 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:58.2,60.30 3 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:60.30,61.27 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:61.27,64.9 3 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:68.2,68.16 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:68.16,70.3 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:73.2,77.18 3 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:77.18,79.3 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:79.8,81.3 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:82.2,82.21 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:82.21,84.3 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:85.2,85.17 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:85.17,87.3 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:89.2,90.29 2 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:90.29,92.3 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:95.2,96.51 2 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:96.51,97.22 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:97.22,99.12 2 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:101.3,101.49 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:103.2,103.51 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:103.51,104.22 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:104.22,106.12 2 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:108.3,108.49 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:112.2,113.48 2 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:113.48,114.21 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:114.21,116.12 2 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:118.3,118.47 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:120.2,120.48 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:120.48,121.21 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:121.21,123.12 2 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:125.3,125.47 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:129.2,130.79 2 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:130.79,131.37 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:131.37,133.4 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:135.2,136.30 2 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:136.30,137.10 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:138.100,140.53 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:141.53,143.52 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:144.52,146.52 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:151.2,153.54 2 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:153.54,155.3 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:156.2,156.54 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:156.54,158.3 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:160.2,162.25 2 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:165.102,166.18 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:166.18,168.3 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:170.2,174.35 3 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:174.35,175.36 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:175.36,176.48 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:176.48,178.5 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:179.4,179.12 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:181.3,181.50 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:181.50,182.51 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:182.51,185.5 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:189.2,189.19 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:189.19,192.34 3 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:192.34,195.4 2 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:196.3,197.28 2 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:197.28,199.24 2 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:199.24,201.5 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:203.3,203.26 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:206.2,206.19 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:206.19,208.46 2 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:208.46,209.43 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:209.43,211.38 2 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:211.38,213.30 2 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:213.30,215.7 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:217.5,217.28 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:222.2,222.74 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:225.102,227.9 2 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:227.9,229.3 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:230.2,231.33 2 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:231.33,233.3 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:234.2,235.25 2 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:238.106,240.9 2 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:240.9,242.3 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:243.2,243.45 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:243.45,245.3 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:246.2,246.42 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:249.108,250.18 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:250.18,252.3 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:253.2,254.9 2 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:254.9,256.3 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:257.2,257.53 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:257.53,259.3 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:260.2,260.42 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:263.106,265.9 2 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:265.9,267.3 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:268.2,269.74 2 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:272.103,273.18 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:273.18,275.3 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:276.2,277.9 2 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:277.9,279.3 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:280.2,282.33 3 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:282.33,285.19 2 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:285.19,287.4 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:287.9,289.4 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:291.3,291.22 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:291.22,293.4 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:295.3,295.18 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:295.18,297.4 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:299.3,299.43 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:299.43,300.61 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:300.61,302.5 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:303.4,303.58 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:303.58,305.5 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:308.3,308.52 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:308.52,309.23 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:309.23,311.13 2 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:313.4,313.39 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:316.3,316.52 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:316.52,317.23 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:317.23,319.13 2 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:321.4,321.39 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:324.3,324.49 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:324.49,325.22 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:325.22,327.13 2 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:329.4,329.37 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:332.3,332.49 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:332.49,333.22 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:333.22,335.13 2 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:337.4,337.37 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:340.3,340.45 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:340.45,341.52 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:341.52,343.13 2 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:345.4,345.41 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:348.3,348.45 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:348.45,349.52 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:349.52,351.5 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:354.3,354.55 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:354.55,356.4 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:358.3,358.55 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:358.55,360.4 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:361.3,361.54 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:364.2,365.25 2 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:368.103,369.19 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:369.19,371.3 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:373.2,374.9 2 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:374.9,376.3 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:378.2,382.16 4 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:382.16,384.3 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:386.2,386.15 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:386.15,387.35 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:387.35,389.4 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:392.2,396.20 3 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:396.20,397.59 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:397.59,399.4 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:402.2,402.37 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:402.37,403.59 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:403.59,405.4 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:409.2,409.29 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:409.29,413.31 3 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:413.31,414.35 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:414.35,417.43 2 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:417.43,419.6 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:419.11,422.6 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:423.5,423.10 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:427.3,427.17 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:427.17,429.4 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:432.2,432.42 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:435.103,436.18 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:436.18,438.3 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:440.2,441.9 2 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:441.9,443.3 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:445.2,449.16 4 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:449.16,451.3 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:453.2,453.15 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:453.15,454.35 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:454.35,456.4 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:459.2,461.20 2 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:461.20,464.17 2 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:464.17,466.4 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:467.3,468.17 2 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:468.17,470.4 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:473.2,473.37 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:473.37,476.17 2 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:476.17,478.4 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:479.3,480.17 2 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:480.17,482.4 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:485.2,486.16 2 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:486.16,488.3 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:490.2,490.42 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:493.33,501.60 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:501.60,503.5 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:512.60,514.5 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:523.62,525.7 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:534.62,536.7 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:545.62,547.7 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:556.62,558.7 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:567.62,569.7 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:578.62,580.7 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:589.62,591.7 1 1 -github.com/echovault/echovault/pkg/modules/acl/commands.go:603.62,605.7 1 0 -github.com/echovault/echovault/pkg/modules/acl/commands.go:614.62,616.7 1 0 -github.com/echovault/echovault/pkg/modules/list/commands.go:30.105,32.16 2 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:32.16,34.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:36.2,38.33 2 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:38.33,41.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:43.2,43.52 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:43.52,45.3 1 0 -github.com/echovault/echovault/pkg/modules/list/commands.go:46.2,48.63 2 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:48.63,50.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:52.2,52.57 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:55.110,57.16 2 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:57.16,59.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:61.2,64.9 3 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:64.9,66.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:68.2,68.33 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:68.33,70.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:72.2,72.52 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:72.52,74.3 1 0 -github.com/echovault/echovault/pkg/modules/list/commands.go:75.2,78.9 3 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:78.9,80.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:82.2,82.40 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:82.40,84.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:86.2,86.57 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:89.110,91.16 2 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:91.16,93.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:95.2,99.24 4 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:99.24,101.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:103.2,103.33 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:103.33,105.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:107.2,107.52 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:107.52,109.3 1 0 -github.com/echovault/echovault/pkg/modules/list/commands.go:110.2,113.9 3 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:113.9,115.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:118.2,118.40 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:118.40,120.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:123.2,123.51 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:123.51,125.3 1 0 -github.com/echovault/echovault/pkg/modules/list/commands.go:127.2,130.15 2 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:130.15,132.43 2 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:132.43,135.4 2 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:136.3,136.20 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:140.2,140.18 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:140.18,142.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:147.2,151.17 4 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:151.17,153.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:155.2,155.13 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:155.13,158.18 3 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:158.18,160.4 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:160.9,162.4 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:165.2,165.19 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:168.108,170.16 2 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:170.16,172.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:174.2,177.9 3 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:177.9,179.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:181.2,181.33 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:181.33,183.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:185.2,185.51 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:185.51,187.3 1 0 -github.com/echovault/echovault/pkg/modules/list/commands.go:188.2,191.9 3 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:191.9,193.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:195.2,195.40 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:195.40,197.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:199.2,200.55 2 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:200.55,202.3 1 0 -github.com/echovault/echovault/pkg/modules/list/commands.go:204.2,204.42 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:207.109,209.16 2 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:209.16,211.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:213.2,217.24 4 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:217.24,219.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:221.2,221.30 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:221.30,223.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:225.2,225.33 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:225.33,227.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:229.2,229.51 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:229.51,231.3 1 0 -github.com/echovault/echovault/pkg/modules/list/commands.go:232.2,235.9 3 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:235.9,237.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:239.2,239.40 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:239.40,241.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:243.2,243.34 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:243.34,244.64 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:244.64,246.4 1 0 -github.com/echovault/echovault/pkg/modules/list/commands.go:247.3,247.43 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:250.2,250.66 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:250.66,252.3 1 0 -github.com/echovault/echovault/pkg/modules/list/commands.go:253.2,253.42 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:256.108,258.16 2 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:258.16,260.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:262.2,266.9 4 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:266.9,268.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:270.2,272.33 2 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:272.33,274.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:276.2,276.51 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:276.51,278.3 1 0 -github.com/echovault/echovault/pkg/modules/list/commands.go:279.2,282.9 3 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:282.9,284.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:286.2,286.9 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:287.10,287.10 0 0 -github.com/echovault/echovault/pkg/modules/list/commands.go:289.17,291.34 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:291.34,292.26 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:292.26,293.10 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:295.4,295.43 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:295.43,298.5 2 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:300.17,302.39 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:302.39,303.26 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:303.26,304.10 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:306.4,306.43 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:306.43,309.5 2 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:313.2,313.61 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:313.61,315.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:317.2,317.55 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:317.55,319.3 1 0 -github.com/echovault/echovault/pkg/modules/list/commands.go:321.2,321.42 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:324.109,326.16 2 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:326.16,328.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:330.2,335.116 5 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:335.116,337.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:339.2,339.75 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:339.75,341.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:343.2,343.54 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:343.54,345.3 1 0 -github.com/echovault/echovault/pkg/modules/list/commands.go:346.2,349.16 3 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:349.16,351.3 1 0 -github.com/echovault/echovault/pkg/modules/list/commands.go:352.2,357.33 4 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:357.33,359.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:361.2,361.19 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:362.14,364.24 2 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:364.24,366.4 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:366.9,366.32 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:366.32,368.4 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:369.15,371.24 2 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:371.24,373.4 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:373.9,373.32 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:373.32,375.4 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:378.2,378.16 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:378.16,380.3 1 0 -github.com/echovault/echovault/pkg/modules/list/commands.go:382.2,382.42 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:385.106,387.16 2 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:387.16,389.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:391.2,393.31 2 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:393.31,395.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:397.2,399.33 2 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:399.33,400.34 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:401.17,402.61 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:403.11,404.62 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:404.62,406.5 1 0 -github.com/echovault/echovault/pkg/modules/list/commands.go:407.4,407.68 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:407.68,409.5 1 0 -github.com/echovault/echovault/pkg/modules/list/commands.go:411.8,412.52 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:412.52,414.4 1 0 -github.com/echovault/echovault/pkg/modules/list/commands.go:416.2,421.9 4 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:421.9,423.3 1 0 -github.com/echovault/echovault/pkg/modules/list/commands.go:425.2,425.73 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:425.73,427.3 1 0 -github.com/echovault/echovault/pkg/modules/list/commands.go:428.2,428.42 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:431.109,433.16 2 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:433.16,435.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:437.2,441.31 3 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:441.31,443.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:445.2,445.33 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:445.33,446.34 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:447.17,448.61 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:449.11,450.62 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:450.62,452.5 1 0 -github.com/echovault/echovault/pkg/modules/list/commands.go:453.4,454.68 2 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:454.68,456.5 1 0 -github.com/echovault/echovault/pkg/modules/list/commands.go:458.8,459.52 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:459.52,461.4 1 0 -github.com/echovault/echovault/pkg/modules/list/commands.go:462.3,462.35 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:465.2,469.9 3 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:469.9,471.3 1 0 -github.com/echovault/echovault/pkg/modules/list/commands.go:473.2,473.73 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:473.73,475.3 1 0 -github.com/echovault/echovault/pkg/modules/list/commands.go:476.2,476.42 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:479.104,481.16 2 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:481.16,483.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:485.2,487.33 2 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:487.33,489.3 1 0 -github.com/echovault/echovault/pkg/modules/list/commands.go:491.2,491.51 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:491.51,493.3 1 0 -github.com/echovault/echovault/pkg/modules/list/commands.go:494.2,497.9 3 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:497.9,499.3 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:501.2,501.33 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:502.10,503.60 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:503.60,505.4 1 0 -github.com/echovault/echovault/pkg/modules/list/commands.go:506.3,506.54 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:507.14,508.70 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:508.70,510.4 1 0 -github.com/echovault/echovault/pkg/modules/list/commands.go:511.3,511.64 1 1 -github.com/echovault/echovault/pkg/modules/list/commands.go:515.33,635.2 1 0 -github.com/echovault/echovault/pkg/modules/list/key_funcs.go:22.51,23.18 1 1 -github.com/echovault/echovault/pkg/modules/list/key_funcs.go:23.18,25.3 1 1 -github.com/echovault/echovault/pkg/modules/list/key_funcs.go:26.2,26.30 1 1 -github.com/echovault/echovault/pkg/modules/list/key_funcs.go:29.49,30.19 1 1 -github.com/echovault/echovault/pkg/modules/list/key_funcs.go:30.19,32.3 1 1 -github.com/echovault/echovault/pkg/modules/list/key_funcs.go:33.2,33.30 1 1 -github.com/echovault/echovault/pkg/modules/list/key_funcs.go:36.50,37.19 1 1 -github.com/echovault/echovault/pkg/modules/list/key_funcs.go:37.19,39.3 1 1 -github.com/echovault/echovault/pkg/modules/list/key_funcs.go:40.2,40.30 1 1 -github.com/echovault/echovault/pkg/modules/list/key_funcs.go:43.52,44.19 1 1 -github.com/echovault/echovault/pkg/modules/list/key_funcs.go:44.19,46.3 1 1 -github.com/echovault/echovault/pkg/modules/list/key_funcs.go:47.2,47.30 1 1 -github.com/echovault/echovault/pkg/modules/list/key_funcs.go:50.52,51.19 1 1 -github.com/echovault/echovault/pkg/modules/list/key_funcs.go:51.19,53.3 1 1 -github.com/echovault/echovault/pkg/modules/list/key_funcs.go:54.2,54.30 1 1 -github.com/echovault/echovault/pkg/modules/list/key_funcs.go:57.50,58.19 1 1 -github.com/echovault/echovault/pkg/modules/list/key_funcs.go:58.19,60.3 1 1 -github.com/echovault/echovault/pkg/modules/list/key_funcs.go:61.2,61.30 1 1 -github.com/echovault/echovault/pkg/modules/list/key_funcs.go:64.51,65.19 1 1 -github.com/echovault/echovault/pkg/modules/list/key_funcs.go:65.19,67.3 1 1 -github.com/echovault/echovault/pkg/modules/list/key_funcs.go:68.2,68.30 1 1 -github.com/echovault/echovault/pkg/modules/list/key_funcs.go:71.50,72.19 1 1 -github.com/echovault/echovault/pkg/modules/list/key_funcs.go:72.19,74.3 1 1 -github.com/echovault/echovault/pkg/modules/list/key_funcs.go:75.2,75.30 1 1 -github.com/echovault/echovault/pkg/modules/list/key_funcs.go:78.51,79.18 1 1 -github.com/echovault/echovault/pkg/modules/list/key_funcs.go:79.18,81.3 1 1 -github.com/echovault/echovault/pkg/modules/list/key_funcs.go:82.2,82.30 1 1 -github.com/echovault/echovault/pkg/modules/list/key_funcs.go:85.51,86.19 1 1 -github.com/echovault/echovault/pkg/modules/list/key_funcs.go:86.19,88.3 1 1 -github.com/echovault/echovault/pkg/modules/list/key_funcs.go:89.2,89.38 1 1 github.com/echovault/echovault/pkg/modules/generic/commands.go:34.13,35.34 1 1 github.com/echovault/echovault/pkg/modules/generic/commands.go:35.34,39.3 2 1 github.com/echovault/echovault/pkg/modules/generic/commands.go:41.2,42.29 2 0 @@ -1926,6 +1497,435 @@ github.com/echovault/echovault/pkg/modules/generic/utils.go:106.3,108.17 3 1 github.com/echovault/echovault/pkg/modules/generic/utils.go:108.17,110.4 1 1 github.com/echovault/echovault/pkg/modules/generic/utils.go:111.3,112.46 2 1 github.com/echovault/echovault/pkg/modules/generic/utils.go:114.10,115.95 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:30.105,32.16 2 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:32.16,34.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:36.2,38.33 2 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:38.33,41.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:43.2,43.52 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:43.52,45.3 1 0 +github.com/echovault/echovault/pkg/modules/list/commands.go:46.2,48.63 2 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:48.63,50.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:52.2,52.57 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:55.110,57.16 2 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:57.16,59.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:61.2,64.9 3 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:64.9,66.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:68.2,68.33 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:68.33,70.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:72.2,72.52 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:72.52,74.3 1 0 +github.com/echovault/echovault/pkg/modules/list/commands.go:75.2,78.9 3 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:78.9,80.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:82.2,82.40 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:82.40,84.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:86.2,86.57 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:89.110,91.16 2 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:91.16,93.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:95.2,99.24 4 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:99.24,101.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:103.2,103.33 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:103.33,105.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:107.2,107.52 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:107.52,109.3 1 0 +github.com/echovault/echovault/pkg/modules/list/commands.go:110.2,113.9 3 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:113.9,115.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:118.2,118.40 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:118.40,120.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:123.2,123.51 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:123.51,125.3 1 0 +github.com/echovault/echovault/pkg/modules/list/commands.go:127.2,130.15 2 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:130.15,132.43 2 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:132.43,135.4 2 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:136.3,136.20 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:140.2,140.18 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:140.18,142.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:147.2,151.17 4 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:151.17,153.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:155.2,155.13 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:155.13,158.18 3 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:158.18,160.4 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:160.9,162.4 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:165.2,165.19 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:168.108,170.16 2 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:170.16,172.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:174.2,177.9 3 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:177.9,179.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:181.2,181.33 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:181.33,183.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:185.2,185.51 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:185.51,187.3 1 0 +github.com/echovault/echovault/pkg/modules/list/commands.go:188.2,191.9 3 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:191.9,193.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:195.2,195.40 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:195.40,197.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:199.2,200.55 2 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:200.55,202.3 1 0 +github.com/echovault/echovault/pkg/modules/list/commands.go:204.2,204.42 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:207.109,209.16 2 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:209.16,211.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:213.2,217.24 4 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:217.24,219.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:221.2,221.30 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:221.30,223.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:225.2,225.33 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:225.33,227.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:229.2,229.51 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:229.51,231.3 1 0 +github.com/echovault/echovault/pkg/modules/list/commands.go:232.2,235.9 3 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:235.9,237.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:239.2,239.40 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:239.40,241.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:243.2,243.34 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:243.34,244.64 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:244.64,246.4 1 0 +github.com/echovault/echovault/pkg/modules/list/commands.go:247.3,247.43 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:250.2,250.66 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:250.66,252.3 1 0 +github.com/echovault/echovault/pkg/modules/list/commands.go:253.2,253.42 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:256.108,258.16 2 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:258.16,260.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:262.2,266.9 4 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:266.9,268.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:270.2,272.33 2 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:272.33,274.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:276.2,276.51 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:276.51,278.3 1 0 +github.com/echovault/echovault/pkg/modules/list/commands.go:279.2,282.9 3 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:282.9,284.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:286.2,286.9 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:287.10,287.10 0 0 +github.com/echovault/echovault/pkg/modules/list/commands.go:289.17,291.34 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:291.34,292.26 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:292.26,293.10 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:295.4,295.43 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:295.43,298.5 2 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:300.17,302.39 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:302.39,303.26 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:303.26,304.10 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:306.4,306.43 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:306.43,309.5 2 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:313.2,313.61 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:313.61,315.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:317.2,317.55 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:317.55,319.3 1 0 +github.com/echovault/echovault/pkg/modules/list/commands.go:321.2,321.42 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:324.109,326.16 2 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:326.16,328.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:330.2,335.116 5 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:335.116,337.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:339.2,339.75 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:339.75,341.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:343.2,343.54 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:343.54,345.3 1 0 +github.com/echovault/echovault/pkg/modules/list/commands.go:346.2,349.16 3 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:349.16,351.3 1 0 +github.com/echovault/echovault/pkg/modules/list/commands.go:352.2,357.33 4 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:357.33,359.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:361.2,361.19 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:362.14,364.24 2 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:364.24,366.4 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:366.9,366.32 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:366.32,368.4 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:369.15,371.24 2 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:371.24,373.4 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:373.9,373.32 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:373.32,375.4 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:378.2,378.16 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:378.16,380.3 1 0 +github.com/echovault/echovault/pkg/modules/list/commands.go:382.2,382.42 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:385.106,387.16 2 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:387.16,389.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:391.2,393.31 2 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:393.31,395.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:397.2,399.33 2 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:399.33,400.34 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:401.17,402.61 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:403.11,404.62 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:404.62,406.5 1 0 +github.com/echovault/echovault/pkg/modules/list/commands.go:407.4,407.68 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:407.68,409.5 1 0 +github.com/echovault/echovault/pkg/modules/list/commands.go:411.8,412.52 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:412.52,414.4 1 0 +github.com/echovault/echovault/pkg/modules/list/commands.go:416.2,421.9 4 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:421.9,423.3 1 0 +github.com/echovault/echovault/pkg/modules/list/commands.go:425.2,425.73 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:425.73,427.3 1 0 +github.com/echovault/echovault/pkg/modules/list/commands.go:428.2,428.42 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:431.109,433.16 2 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:433.16,435.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:437.2,441.31 3 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:441.31,443.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:445.2,445.33 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:445.33,446.34 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:447.17,448.61 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:449.11,450.62 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:450.62,452.5 1 0 +github.com/echovault/echovault/pkg/modules/list/commands.go:453.4,454.68 2 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:454.68,456.5 1 0 +github.com/echovault/echovault/pkg/modules/list/commands.go:458.8,459.52 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:459.52,461.4 1 0 +github.com/echovault/echovault/pkg/modules/list/commands.go:462.3,462.35 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:465.2,469.9 3 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:469.9,471.3 1 0 +github.com/echovault/echovault/pkg/modules/list/commands.go:473.2,473.73 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:473.73,475.3 1 0 +github.com/echovault/echovault/pkg/modules/list/commands.go:476.2,476.42 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:479.104,481.16 2 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:481.16,483.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:485.2,487.33 2 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:487.33,489.3 1 0 +github.com/echovault/echovault/pkg/modules/list/commands.go:491.2,491.51 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:491.51,493.3 1 0 +github.com/echovault/echovault/pkg/modules/list/commands.go:494.2,497.9 3 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:497.9,499.3 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:501.2,501.33 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:502.10,503.60 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:503.60,505.4 1 0 +github.com/echovault/echovault/pkg/modules/list/commands.go:506.3,506.54 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:507.14,508.70 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:508.70,510.4 1 0 +github.com/echovault/echovault/pkg/modules/list/commands.go:511.3,511.64 1 1 +github.com/echovault/echovault/pkg/modules/list/commands.go:515.33,635.2 1 0 +github.com/echovault/echovault/pkg/modules/list/key_funcs.go:22.51,23.18 1 1 +github.com/echovault/echovault/pkg/modules/list/key_funcs.go:23.18,25.3 1 1 +github.com/echovault/echovault/pkg/modules/list/key_funcs.go:26.2,26.30 1 1 +github.com/echovault/echovault/pkg/modules/list/key_funcs.go:29.49,30.19 1 1 +github.com/echovault/echovault/pkg/modules/list/key_funcs.go:30.19,32.3 1 1 +github.com/echovault/echovault/pkg/modules/list/key_funcs.go:33.2,33.30 1 1 +github.com/echovault/echovault/pkg/modules/list/key_funcs.go:36.50,37.19 1 1 +github.com/echovault/echovault/pkg/modules/list/key_funcs.go:37.19,39.3 1 1 +github.com/echovault/echovault/pkg/modules/list/key_funcs.go:40.2,40.30 1 1 +github.com/echovault/echovault/pkg/modules/list/key_funcs.go:43.52,44.19 1 1 +github.com/echovault/echovault/pkg/modules/list/key_funcs.go:44.19,46.3 1 1 +github.com/echovault/echovault/pkg/modules/list/key_funcs.go:47.2,47.30 1 1 +github.com/echovault/echovault/pkg/modules/list/key_funcs.go:50.52,51.19 1 1 +github.com/echovault/echovault/pkg/modules/list/key_funcs.go:51.19,53.3 1 1 +github.com/echovault/echovault/pkg/modules/list/key_funcs.go:54.2,54.30 1 1 +github.com/echovault/echovault/pkg/modules/list/key_funcs.go:57.50,58.19 1 1 +github.com/echovault/echovault/pkg/modules/list/key_funcs.go:58.19,60.3 1 1 +github.com/echovault/echovault/pkg/modules/list/key_funcs.go:61.2,61.30 1 1 +github.com/echovault/echovault/pkg/modules/list/key_funcs.go:64.51,65.19 1 1 +github.com/echovault/echovault/pkg/modules/list/key_funcs.go:65.19,67.3 1 1 +github.com/echovault/echovault/pkg/modules/list/key_funcs.go:68.2,68.30 1 1 +github.com/echovault/echovault/pkg/modules/list/key_funcs.go:71.50,72.19 1 1 +github.com/echovault/echovault/pkg/modules/list/key_funcs.go:72.19,74.3 1 1 +github.com/echovault/echovault/pkg/modules/list/key_funcs.go:75.2,75.30 1 1 +github.com/echovault/echovault/pkg/modules/list/key_funcs.go:78.51,79.18 1 1 +github.com/echovault/echovault/pkg/modules/list/key_funcs.go:79.18,81.3 1 1 +github.com/echovault/echovault/pkg/modules/list/key_funcs.go:82.2,82.30 1 1 +github.com/echovault/echovault/pkg/modules/list/key_funcs.go:85.51,86.19 1 1 +github.com/echovault/echovault/pkg/modules/list/key_funcs.go:86.19,88.3 1 1 +github.com/echovault/echovault/pkg/modules/list/key_funcs.go:89.2,89.38 1 1 +github.com/echovault/echovault/pkg/modules/connection/commands.go:26.108,27.18 1 1 +github.com/echovault/echovault/pkg/modules/connection/commands.go:28.10,29.54 1 1 +github.com/echovault/echovault/pkg/modules/connection/commands.go:30.9,31.34 1 1 +github.com/echovault/echovault/pkg/modules/connection/commands.go:32.9,33.72 1 1 +github.com/echovault/echovault/pkg/modules/connection/commands.go:37.33,45.60 1 0 +github.com/echovault/echovault/pkg/modules/connection/commands.go:45.60,47.5 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:34.108,35.34 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:35.34,37.3 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:38.2,39.9 2 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:39.9,41.3 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:42.2,42.67 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:42.67,44.3 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:45.2,45.42 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:48.106,49.19 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:49.19,51.3 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:53.2,54.9 2 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:54.9,56.3 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:58.2,60.30 3 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:60.30,61.27 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:61.27,64.9 3 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:68.2,68.16 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:68.16,70.3 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:73.2,77.18 3 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:77.18,79.3 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:79.8,81.3 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:82.2,82.21 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:82.21,84.3 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:85.2,85.17 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:85.17,87.3 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:89.2,90.29 2 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:90.29,92.3 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:95.2,96.51 2 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:96.51,97.22 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:97.22,99.12 2 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:101.3,101.49 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:103.2,103.51 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:103.51,104.22 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:104.22,106.12 2 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:108.3,108.49 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:112.2,113.48 2 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:113.48,114.21 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:114.21,116.12 2 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:118.3,118.47 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:120.2,120.48 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:120.48,121.21 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:121.21,123.12 2 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:125.3,125.47 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:129.2,130.79 2 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:130.79,131.37 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:131.37,133.4 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:135.2,136.30 2 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:136.30,137.10 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:138.100,140.53 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:141.53,143.52 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:144.52,146.52 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:151.2,153.54 2 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:153.54,155.3 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:156.2,156.54 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:156.54,158.3 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:160.2,162.25 2 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:165.102,166.18 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:166.18,168.3 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:170.2,174.35 3 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:174.35,175.36 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:175.36,176.48 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:176.48,178.5 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:179.4,179.12 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:181.3,181.50 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:181.50,182.51 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:182.51,185.5 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:189.2,189.19 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:189.19,192.34 3 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:192.34,195.4 2 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:196.3,197.28 2 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:197.28,199.24 2 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:199.24,201.5 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:203.3,203.26 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:206.2,206.19 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:206.19,208.46 2 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:208.46,209.43 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:209.43,211.38 2 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:211.38,213.30 2 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:213.30,215.7 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:217.5,217.28 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:222.2,222.74 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:225.102,227.9 2 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:227.9,229.3 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:230.2,231.33 2 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:231.33,233.3 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:234.2,235.25 2 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:238.106,240.9 2 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:240.9,242.3 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:243.2,243.45 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:243.45,245.3 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:246.2,246.42 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:249.108,250.18 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:250.18,252.3 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:253.2,254.9 2 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:254.9,256.3 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:257.2,257.53 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:257.53,259.3 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:260.2,260.42 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:263.106,265.9 2 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:265.9,267.3 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:268.2,269.74 2 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:272.103,273.18 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:273.18,275.3 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:276.2,277.9 2 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:277.9,279.3 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:280.2,282.33 3 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:282.33,285.19 2 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:285.19,287.4 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:287.9,289.4 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:291.3,291.22 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:291.22,293.4 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:295.3,295.18 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:295.18,297.4 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:299.3,299.43 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:299.43,300.61 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:300.61,302.5 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:303.4,303.58 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:303.58,305.5 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:308.3,308.52 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:308.52,309.23 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:309.23,311.13 2 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:313.4,313.39 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:316.3,316.52 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:316.52,317.23 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:317.23,319.13 2 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:321.4,321.39 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:324.3,324.49 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:324.49,325.22 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:325.22,327.13 2 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:329.4,329.37 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:332.3,332.49 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:332.49,333.22 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:333.22,335.13 2 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:337.4,337.37 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:340.3,340.45 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:340.45,341.52 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:341.52,343.13 2 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:345.4,345.41 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:348.3,348.45 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:348.45,349.52 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:349.52,351.5 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:354.3,354.55 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:354.55,356.4 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:358.3,358.55 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:358.55,360.4 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:361.3,361.54 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:364.2,365.25 2 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:368.103,369.19 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:369.19,371.3 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:373.2,374.9 2 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:374.9,376.3 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:378.2,382.16 4 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:382.16,384.3 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:386.2,386.15 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:386.15,387.35 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:387.35,389.4 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:392.2,396.20 3 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:396.20,397.59 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:397.59,399.4 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:402.2,402.37 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:402.37,403.59 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:403.59,405.4 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:409.2,409.29 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:409.29,413.31 3 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:413.31,414.35 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:414.35,417.43 2 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:417.43,419.6 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:419.11,422.6 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:423.5,423.10 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:427.3,427.17 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:427.17,429.4 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:432.2,432.42 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:435.103,436.18 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:436.18,438.3 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:440.2,441.9 2 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:441.9,443.3 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:445.2,449.16 4 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:449.16,451.3 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:453.2,453.15 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:453.15,454.35 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:454.35,456.4 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:459.2,461.20 2 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:461.20,464.17 2 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:464.17,466.4 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:467.3,468.17 2 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:468.17,470.4 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:473.2,473.37 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:473.37,476.17 2 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:476.17,478.4 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:479.3,480.17 2 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:480.17,482.4 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:485.2,486.16 2 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:486.16,488.3 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:490.2,490.42 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:493.33,501.60 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:501.60,503.5 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:512.60,514.5 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:523.62,525.7 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:534.62,536.7 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:545.62,547.7 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:556.62,558.7 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:567.62,569.7 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:578.62,580.7 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:589.62,591.7 1 1 +github.com/echovault/echovault/pkg/modules/acl/commands.go:603.62,605.7 1 0 +github.com/echovault/echovault/pkg/modules/acl/commands.go:614.62,616.7 1 0 github.com/echovault/echovault/pkg/modules/pubsub/commands.go:28.113,30.9 2 1 github.com/echovault/echovault/pkg/modules/pubsub/commands.go:30.9,32.3 1 0 github.com/echovault/echovault/pkg/modules/pubsub/commands.go:34.2,36.24 2 1 diff --git a/internal/raft/fms_snapshot.go b/internal/raft/fms_snapshot.go index 249f97e..6d4fe90 100644 --- a/internal/raft/fms_snapshot.go +++ b/internal/raft/fms_snapshot.go @@ -24,11 +24,11 @@ import ( ) type SnapshotOpts struct { - config config.Config - data map[string]internal.KeyData - startSnapshot func() - finishSnapshot func() - setLatestSnapshot func(msec int64) + config config.Config + data map[string]internal.KeyData + startSnapshot func() + finishSnapshot func() + setLatestSnapshotTime func(msec int64) } type Snapshot struct { @@ -68,7 +68,7 @@ func (s *Snapshot) Persist(sink raft.SnapshotSink) error { return err } - s.options.setLatestSnapshot(int64(msec)) + s.options.setLatestSnapshotTime(int64(msec)) return nil } diff --git a/internal/raft/fsm.go b/internal/raft/fsm.go index 19a7741..1979e7e 100644 --- a/internal/raft/fsm.go +++ b/internal/raft/fsm.go @@ -28,11 +28,14 @@ import ( ) type FSMOpts struct { - Config config.Config - EchoVault types.EchoVault - GetState func() map[string]internal.KeyData - GetCommand func(command string) (types.Command, error) - DeleteKey func(ctx context.Context, key string) error + Config config.Config + EchoVault types.EchoVault + GetState func() map[string]internal.KeyData + GetCommand func(command string) (types.Command, error) + DeleteKey func(ctx context.Context, key string) error + StartSnapshot func() + FinishSnapshot func() + SetLatestSnapshotTime func(msec int64) } type FSM struct { @@ -119,11 +122,11 @@ func (fsm *FSM) Apply(log *raft.Log) interface{} { // Snapshot implements raft.FSM interface func (fsm *FSM) Snapshot() (raft.FSMSnapshot, error) { return NewFSMSnapshot(SnapshotOpts{ - config: fsm.options.Config, - startSnapshot: fsm.options.EchoVault.StartSnapshot, - finishSnapshot: fsm.options.EchoVault.FinishSnapshot, - setLatestSnapshot: fsm.options.EchoVault.SetLatestSnapshot, - data: fsm.options.GetState(), + config: fsm.options.Config, + startSnapshot: fsm.options.StartSnapshot, + finishSnapshot: fsm.options.FinishSnapshot, + setLatestSnapshotTime: fsm.options.SetLatestSnapshotTime, + data: fsm.options.GetState(), }), nil } @@ -159,7 +162,7 @@ func (fsm *FSM) Restore(snapshot io.ReadCloser) error { fsm.options.EchoVault.KeyUnlock(ctx, k) } // Set latest snapshot milliseconds - fsm.options.EchoVault.SetLatestSnapshot(data.LatestSnapshotMilliseconds) + fsm.options.SetLatestSnapshotTime(data.LatestSnapshotMilliseconds) return nil } diff --git a/internal/raft/raft.go b/internal/raft/raft.go index c6667c9..3a11354 100644 --- a/internal/raft/raft.go +++ b/internal/raft/raft.go @@ -33,11 +33,14 @@ import ( ) type Opts struct { - Config config.Config - EchoVault types.EchoVault - GetState func() map[string]internal.KeyData - GetCommand func(command string) (types.Command, error) - DeleteKey func(ctx context.Context, key string) error + Config config.Config + EchoVault types.EchoVault + GetState func() map[string]internal.KeyData + GetCommand func(command string) (types.Command, error) + DeleteKey func(ctx context.Context, key string) error + StartSnapshot func() + FinishSnapshot func() + SetLatestSnapshotTime func(msec int64) } type Raft struct { @@ -109,11 +112,14 @@ func (r *Raft) RaftInit(ctx context.Context) { raftServer, err := raft.NewRaft( raftConfig, NewFSM(FSMOpts{ - Config: r.options.Config, - EchoVault: r.options.EchoVault, - GetState: r.options.GetState, - GetCommand: r.options.GetCommand, - DeleteKey: r.options.DeleteKey, + Config: r.options.Config, + EchoVault: r.options.EchoVault, + GetState: r.options.GetState, + GetCommand: r.options.GetCommand, + DeleteKey: r.options.DeleteKey, + StartSnapshot: r.options.StartSnapshot, + FinishSnapshot: r.options.FinishSnapshot, + SetLatestSnapshotTime: r.options.SetLatestSnapshotTime, }), logStore, stableStore, diff --git a/pkg/echovault/echovault.go b/pkg/echovault/echovault.go index 53ba5cd..a3753b7 100644 --- a/pkg/echovault/echovault.go +++ b/pkg/echovault/echovault.go @@ -89,24 +89,35 @@ type EchoVault struct { aofEngine *aof.Engine // AOF engine for standalone mode } +// WithContext is an options that for the NewEchoVault function that allows you to +// configure a custom context object to be used in EchoVault. If you don't provide this +// option, EchoVault will create its own internal context object. func WithContext(ctx context.Context) func(echovault *EchoVault) { return func(echovault *EchoVault) { echovault.context = ctx } } +// WithConfig is an option for the NewEchoVault function that allows you to pass a +// custom configuration to EchoVault. If not specified, EchoVault will use the default +// configuration from config.DefaultConfig(). func WithConfig(config config.Config) func(echovault *EchoVault) { return func(echovault *EchoVault) { echovault.config = config } } +// WithCommands is an options for the NewEchoVault function that allows you to pass a +// list of commands that should be supported by your EchoVault instance. If you don't pass +// this option, EchoVault will start with no commands loaded. func WithCommands(commands []types.Command) func(echovault *EchoVault) { return func(echovault *EchoVault) { echovault.commands = commands } } +// NewEchoVault creates a new EchoVault instance. +// This functions accepts the WithContext, WithConfig and WithCommands options. func NewEchoVault(options ...func(echovault *EchoVault)) (*EchoVault, error) { echovault := &EchoVault{ context: context.Background(), @@ -131,10 +142,13 @@ func NewEchoVault(options ...func(echovault *EchoVault)) (*EchoVault, error) { if echovault.isInCluster() { echovault.raft = raft.NewRaft(raft.Opts{ - Config: echovault.config, - EchoVault: echovault, - GetCommand: echovault.getCommand, - DeleteKey: echovault.DeleteKey, + Config: echovault.config, + EchoVault: echovault, + GetCommand: echovault.getCommand, + DeleteKey: echovault.DeleteKey, + StartSnapshot: echovault.startSnapshot, + FinishSnapshot: echovault.finishSnapshot, + SetLatestSnapshotTime: echovault.setLatestSnapshot, GetState: func() map[string]internal.KeyData { state := make(map[string]internal.KeyData) for k, v := range echovault.getState() { @@ -160,10 +174,10 @@ func NewEchoVault(options ...func(echovault *EchoVault)) (*EchoVault, error) { snapshot.WithDirectory(echovault.config.DataDir), snapshot.WithThreshold(echovault.config.SnapShotThreshold), snapshot.WithInterval(echovault.config.SnapshotInterval), - snapshot.WithStartSnapshotFunc(echovault.StartSnapshot), - snapshot.WithFinishSnapshotFunc(echovault.FinishSnapshot), - snapshot.WithSetLatestSnapshotTimeFunc(echovault.SetLatestSnapshot), - snapshot.WithGetLatestSnapshotTimeFunc(echovault.GetLatestSnapshot), + snapshot.WithStartSnapshotFunc(echovault.startSnapshot), + snapshot.WithFinishSnapshotFunc(echovault.finishSnapshot), + snapshot.WithSetLatestSnapshotTimeFunc(echovault.setLatestSnapshot), + snapshot.WithGetLatestSnapshotTimeFunc(echovault.getLatestSnapshotTime), snapshot.WithGetStateFunc(func() map[string]internal.KeyData { state := make(map[string]internal.KeyData) for k, v := range echovault.getState() { @@ -189,8 +203,8 @@ func NewEchoVault(options ...func(echovault *EchoVault)) (*EchoVault, error) { echovault.aofEngine = aof.NewAOFEngine( aof.WithDirectory(echovault.config.DataDir), aof.WithStrategy(echovault.config.AOFSyncStrategy), - aof.WithStartRewriteFunc(echovault.StartRewriteAOF), - aof.WithFinishRewriteFunc(echovault.FinishRewriteAOF), + aof.WithStartRewriteFunc(echovault.startRewriteAOF), + aof.WithFinishRewriteFunc(echovault.finishRewriteAOF), aof.WithGetStateFunc(func() map[string]internal.KeyData { state := make(map[string]internal.KeyData) for k, v := range echovault.getState() { @@ -416,10 +430,16 @@ func (server *EchoVault) handleConnection(conn net.Conn) { } } +// Start starts the EchoVault instance's TCP listener. +// This allows the instance to accept connections handle client commands over TCP. +// +// You can still use command functions like echovault.SET if you're embedding EchoVault in you application. +// However, if you'd like to also accept TCP request on the same instance, you must call this function. func (server *EchoVault) Start() { server.startTCP() } +// TakeSnapshot triggers a snapshot when called. func (server *EchoVault) TakeSnapshot() error { if server.snapshotInProgress.Load() { return errors.New("snapshot already in progress") @@ -442,27 +462,27 @@ func (server *EchoVault) TakeSnapshot() error { return nil } -func (server *EchoVault) StartSnapshot() { +func (server *EchoVault) startSnapshot() { server.snapshotInProgress.Store(true) } -func (server *EchoVault) FinishSnapshot() { +func (server *EchoVault) finishSnapshot() { server.snapshotInProgress.Store(false) } -func (server *EchoVault) SetLatestSnapshot(msec int64) { +func (server *EchoVault) setLatestSnapshot(msec int64) { server.latestSnapshotMilliseconds.Store(msec) } -func (server *EchoVault) GetLatestSnapshot() int64 { +func (server *EchoVault) getLatestSnapshotTime() int64 { return server.latestSnapshotMilliseconds.Load() } -func (server *EchoVault) StartRewriteAOF() { +func (server *EchoVault) startRewriteAOF() { server.rewriteAOFInProgress.Store(true) } -func (server *EchoVault) FinishRewriteAOF() { +func (server *EchoVault) finishRewriteAOF() { server.rewriteAOFInProgress.Store(false) } diff --git a/pkg/types/types.go b/pkg/types/types.go index b1c98df..440649a 100644 --- a/pkg/types/types.go +++ b/pkg/types/types.go @@ -37,11 +37,11 @@ type EchoVault interface { GetACL() interface{} GetPubSub() interface{} TakeSnapshot() error - StartSnapshot() - FinishSnapshot() - SetLatestSnapshot(msec int64) - GetLatestSnapshot() int64 RewriteAOF() error + //StartSnapshot() + //FinishSnapshot() + //SetLatestSnapshot(msec int64) + //GetLatestSnapshot() int64 } type KeyExtractionFunc func(cmd []string) ([]string, error)