JFIF   ( %!1!%)+...383,7(-.+  ++-+++++-++-++--+--+-+-------+-++-+--+---+++--+7+-+"F!1AQaq"2BRb#3Sr$CDsT&!Q1Aa"2Rbq ?򉄘ǷLR HR,nNb .&W)fJbMOYxj-\bT2(4CQ"qiC/ " %0Jl"e2V  0SDd2@TV^{cW&F͉x9#l,.XɳvRZ C8S 6ml!@!E! `FS!M #(d)Q lml1ml Ų&x(ʨ2NFmj@D<dN5UN˄uTB emLAy#` ` ` I!I 6āHBxL & J#7BQ.$hv h q+tC"EJ) 8R e2U2Y@j%6PF^4LnNBp"8)4JI-ֲvK ^؊)hz[T5˗",Rҥf8ڤS4ʘ!`D ` X+ L,(hl)*S##`6[`0*L T H*HA@I&&r1kr*r*)N$#L  1#ZFSl `[( ("((he`4 Ch [="A R / 0I`twCDcWh"i) cLad\BcLKHZ"ZEW$Ƚ@A~i^`S *A&h:+c Y6vϕGClRPs.`H`(@<$qDe pL@DpLX, E2MP A  `II m& AQ "AT rbg# g2!SiLj*3L \ G;TFL`K BMy 2S`YLh1 d >-"ZfD^Q DH" RAbEV#Lfq,(rETp64-IJ!*p4F$q;G8DQ/TKP2$jp3KW]FtLtƉ1ol]VBgػJH6 )h61GJR7Nj.Z4piJRDd]t]0dP]:N.b'⹙SvDSz]L,_#ugT&[~?cS^"{Bh{/=ۑxOk̳O59o dar793`)SeYM@\ "$E(Tm&)N2Ih)F5EDed(FS,Pa @!@#@lea HCD$11jCLJqcod S3yd*,lL+QEfsgW1nw)cT#dS HXkFJB"6(ʝH)H"#EZh:Y`khݳh%Sc<mlAko2]gDqQtro=3OƸU9_-t8UvW3sGəg*#:c)><"wc\ASmT|6Ę>9~#1Ƈ~ڒE1vVi# I MM#u$8W 5ǍfƬΜg*Qpi1ȩFOf۔S,/⎯(Lrմ`(Z LsbA \6 6dm[I=!r:REI.wgzG)ԇSbӑxuׇTyyL^e'x^ty4Z&eB]I|v59Jjhm;Ng񷫳n<ϞҼѝjk;׹DlY^ҍ\+x9V!j([cmS.NO6jxNζrm&oײizT$N>?~ Sl-:iڥk\at#E!CL`.O0a*w/WV7/r)DŽt7'Nĵ#7O1 ]{[/-2bA<$&Gm_4t)_>)mjG;V^'k59o>ɌM,ؾf9z6 4v_3T.5V/RD-5 %T5XTޫ4TaZ`U *ƱUƲ UG"5+sJJ2E9#܎kr2G3Bb,XM6H: ?@p!'\4V02aԙ) hbZ]:` ev3ʘ'}!ohȒ*TJjr[RFyQ*#{h{R]J]Lr-.D-.җfo$D ?X0%~1P.Og{cWϫ22&Ϭ_V.W3nmiOl}+!˫#`kR33aUb0-g:qmsέ+0HO|&nhOn+}n5QF_"gvLm/z'+r'n_oC语i|1}Gi|}_D~9JZ_%DVQp\koۅjAs~/c0ksUJi^W9W5!>?O:q|ˣSIB/&K<(lg(%Wg$|LW7vߤW߇q|jef3D H\S6(eJb*@&sTKTW/*@v:.N- @ITʓ1Zg&-eꓝM r]EMס{q$b]'7Z7N:O~lNlP7iͲk)$O^퉢<YSD*hr'Z#5e6t[Fdh AJǔP9P 1\R).Il+jI*,(ܢ22N*OwKFX gc?\mB7iA+εe8 "ġ/p5pW-$މ-[a 5ViAW/V{/&UsF./՞ҕ*)rZg.^_+gt_z-oAbqQn*WlHyZ*\TaEewlLR3ԹȭN}MM}aih"5ܕRT$:~'TcT|*)xGC>n+r{XU xuF"<~67у'fxlf`r3D*#Z1ђfH`2dIWo/qB| 63xxW6^m%Kvg>\>x>!H5Nr8J/FJ9Wx(Hou" S'kWاC\9ְ#^OaҮ+~gnkuЉ,aWU*1 읍jnb|e= :2.UL`Q}YS&gI.c=a`%j:C%2@^>])25/ܙ<lzwɛ)ݣS4h3=J tyϬ.E7 8ڞGZu\_JHsݢϑ}IZ"ӳ=X<Ɖ2{a:{7L+>V}c)*lo Yv&+|L;>+/Sj26K+澡*;>-s"}M2] Ig5aCL*r"&\} #^R.7_Mgf}.ߌy(}Z\gP&ʠHj%</{.]rߙQ`>;5g;u6dԛ %xb|oՋTJ5Ϥ(]XqP>f{Jk2,8'~ZU6tMQsg XKg^2ϓ3},[wo۴I|ܷ%[Ol\Pkr]Y//cg6U⧻/VПi8ys_n<\~cze!!H~x;QJZKȮ^ȧG|cS~8ji,Fo+,y~?pk)u /in3JmkX(Mj1N 4c Epc>BO *LfQO&` c;LjcYf 1ɻ)CLsY^Y5" lP/wuEln&dav,(;'W9ej ku`-KHI՟%ԁʁ 1\}?OjsF^Xn$Ё.օC>D:?I @aGE.ĩ1 $ et~T`߸Ir'RX.Zwc%~U=r>-UaFbǺ?R=Z?i'[ASS;siJrzy>nxu$[_B\4}:r'ҵj1_v-[;y?ֹ0I16 . M%4^!S&t ! h !zQð.bBT ?@]?CHq(rd!.$>/x+bnʎNN#w)` )*f!-ɂ\(طYLHzc`Uq7BfCcE0ԉ4Fم쏠ce5T r͸GVlФ?ѣ} mhrkly.Ts㷖)Mө S^%'g>wk%bP[}j~ǾV#K -Fgv켼ǨgɼeSz/6{M=BPZFu\Q75n3Iݤ.W9QfF{vJwF't[@iVj4G~KOnH߿_Do=.c.One?E+GfGN⧭H?4;u`ua|V-+j4?48n ɦ=-]puv&Jc}K>b%U x8pz6L8AXFsW]N55ҦbIWZQ7ï Ԗ3cjz匩ӺOTɖƴ%a'MI}cdR$ݚIζ̝ LIu>J3{^෠㜦˯xܿe\b"2y'x{ RDW b+o2KFhR0:U늞En>լRӉt Iڹ\ wշQEv"v;EJ)yl[5:F0=b4,\PqKtv4{bQz:>C7"8W#Zjdd| cjz%K %Z 9dD{=NFʳAƩtI)kS*s$`:A\ʬ*ֹ9{Nl|eJ١rQnM%z_#x_•TO><)kyD %GN<~y>vfǧB)F)c\lې(#\ h`fgfjTBdhhHL2Y0^ Y0^-"D!QaI15 m~ gՒd|;#gMn(P$l H.R2^PU")pN` N8󫅂OJ;^jz\uumJMF|ηq[]$Vrrt:Q^;QPkHՠ{]HwˆMuIr7!r&- j%"9LtUb56+^TWBqdhHAD7 HwKH^F3LIq #hK`]IWKiH?کǴeԥQ>g{^q^>HKoOB||8aݏS}{S_]ϸ/X~ܵw'OSPAf֩ܟ[>7 @[ֵ;G߇QU*Cթ *OKU^zz[fRnpcJX9u<iq8B]u8 ]I,;[G#2W.¸D8rPG Y%PBJ= wo;PJgx6;yB`3zZGPAͫy{5Nb_re*ONHR]Ji)U{Ӓ:qqɏ[mB4࢒I$ 2vpBADY`DIVAn"Bh$&&cMbdB 鮆wHR'E(ѸZA*H~{B M҅n\@N{7ISCp Vd( r+bg|ns:qg:|J|ɪV.UVaAS͓FyRuLѦT騬 `3􏳕{eo/Tz8DkW?,cl~TqLne֠[B*D +t 6˦S;5KjV3e WBrT.XSHm sl5F%NGM`Y )": J!W4]HTrPX2 QYɕ\m2VLd+`,^ѺiPztUGY6+cӧ6] U%u/ˈFOiB*nFF#ұJ Z/c')?Q͟5.8E~G6e<\?}GkhMFUظOqhEA - "`dQ#(4Ԧf VLmc@q5J8K; M^JZnn)9Zm\ qIJqS: i[9~Oaƒ]Z4F&+666( N]쁼LM(oyvUI/Χ[ھ]hTˉG".SeYgu;hRDtڬv=5 ׁqMS\Ȭi5D]1$*0UL1QY`QdLb[+z9";'yi`OT/4{@EZ'Y0>4I*d nM#5hі.vrM[]Ä;]\ʦS,叕DQZq0fӌI͋]TNK"#;?F;aURx_4WDm+F*0XJE@){ 1R-E2(@Qh l D rT.Q;[J;[`30`ɀ 2#=JeSsxRjG=`H rLJ@ Y$JaB2/x( "Id'6O0CI$:Ol+}I>[L|iK+]ZrH*2Aʶ uHRd)OrrbSx=5dmue1neܬ"e>Lw94勲u ҏ_4GuоJw]QtgSk(qW(6h|v= 1=P/\YZ|R>"*5W/ίR'o %R$5= .!VIRMf4*aR5nv% Usj:V Lj]Bn/TZ&.2„ܒBP)aYRʌW!#ErGf';tW$czI*\KI,c7Zc-ўj|p+-ђ{eg 2;R_{VLM]7sؒFmԻy853gҾqJG!E̤ӏqzs༿? U#R)ŧU(,>,&,-^e^۔.b EW^n<)\9.QeJuFiSh2"EL8yeCKQD\5R,D5.P]c1STt*ZFJ.T:N #%]M}khOe(͓iEMsɆ3( YF<"Ly^*[ry6.ɸm k݊iT%nM8 $Q#F# q 1*?% iS^4oܗ wWPS,aNޖxOxڽqp#F6&o,7LJuMΤK(Td{U Ƹf|q5U{3[FLNK6ӵQY5+'>Q3FSk).&:5z yZq/*q$d+Ge+$lO@Nڤy5eBvˌ䖥shS:JksgksF ꧸oi-FYxy9[Vȼĝ'_.[y2U*c?E+:TsWՀgOS> z75>ncߏ-Kz8ԋ,Ϧ70Z9_1h$Xiu10)0$+$! qsE4wRkh2*T.s%DH:`:=k.'WB{ ȮRGҷ7чVg)CHS}1ݍԳۂ<8g_4y*-Ml\]mZT)mJ~|k<6zWjf4'*u%RNRȉZA) .VLtp 4 V&mtJ#l˅;&{]8>TmhoLXOeD^_J>]jsSej﫦iOM SK([!Vc5zn-A@p]Ӄ \3kmK>#-sܧ?NLar@Js?…Xldny]݌E5•9.8hh69#7js׳R,'pqt:kgPhRԄ+ՕG9}="ֲ\kǁm R73pg$t3+o |o\]'ee5ɐ.7ѐ|ZعSF{qkx5-$Q h5*1yM$ 7)hJ2Kg`-hn*>)EYDIkBpȩAzfǪ>7O K#lߤg]:u~huُ۵u}(mjGIj܏6ES~/5CiRy|kVKGBޭ3;w /jꏈUu>iƪi:WRo'yr4C/?c:w!?\'?#Q:>u/?uEeuG*xY2)?־CAr*23_ץ}գk1%(_ _6aԗ _4 $ϗ+ϫɆzǾIgu?Y<#_xS>i\uɇ۽r}[ͫyRoWCC!H,iD։"Cj5 4] cTk2YZRBvRY~FqQt^RO-g"QP]Ih/t:ljs YӹqI] wqXp KV+8j} uu8PGP&zF:;8+ Sx9(. Q}:ƻWr,Ũ*'shfƧ-6__5,DH{* qp묘G MA}QRe{dyMucǨɾ7߈Avϩe͜jmUi p3\5,ާbf:o+7#ܾ~iU#up=}˄k{NV8m!ҌiptޜBvKi}!ש3UK)`igӞVMR'J[ky~g&6vǍ7ķ>uXd(3瓓[]QTTqnͮz1~_͓k俸0~Z1գ =18cL 5^lf^k^<ҲJɬcC-[^;J8j_q=WpeA_6 4.Ntc>Sv2Jf;G8. 5[,;ArSTˬmpmzjGe EoǩOgDWaGhz<|kT\$Q=u/ci˜S mN&Ok~'0,a} s + NC-G'(*>vw~&*wYG Ŷ K-L/$߮l/A/^:Z@X- Q-D2`@M2+w$Q"胊"47&+Dh'9Y* L7VhT+ -?K]Ik \Ϣgy) s v z)Z ˦2&ލ OjmG9@8F_u䊜r>3K%Yg-FFI]e+Kxkzװy"\Q4Ri'0+P=V&Sw3N/U|UEt*uS c M*tsBE 2ʃ@Kir(˫LRr璜Zy@].%NbXvz덟 hӰNMe#|g͒po9^licxB[e' {U? mlt%?霋ǒxZc X]ϗ15SeE{-Ӕi~DƯO|ë5a@G=%<ƧAs*+tzo, IpȔ|:X6J3Z5JXd]2 3%v*GvE@(S&SX7D0^{5t Z{ﮄsh- ]ɑqEV=^Ki9äBtI@&pEg*O<`F-}ǎ51H,<~qibQѓɳx#l$G9td1U+Sq%B[jOq+^ޏ7K >YY  $KK{*˝e"|$g"6v,,9.DaA,qэI~ܨ|kdv; hz2]x5{M5M~yלqTzUl9Mӏ.WVnkun !jzKO!v|& ;gۇ2BrI閵C tqHe[Zkގ=Q;OԶiᵞBcIU eN cOGz S__>.hNgG6).J$_Taѯ5^LqeB]O?A]H;ò{^0ٺuޚxB|:q'xu4"9Ο7k^eZ_fQOmzm̗{c3ٵKO|m*ek(8"yO(ٵ{LJb2Ǩkgg1_/qrDՆ[_l\ I~Bsc/x ),,̿@PFޞ>O)<<=5m=^x6}~6qoYGޣiY{uN+<,CǚwVxe~c!,5R4u/9In=G•^PF6ɼM򿶤$"\|78ؖYU cXFOKc4s-=6O<;.ϴ޶$q>e? qY}StirX?e/&R'ʑ[ѯMi{?8\g^>\!-VZCf.ȾzRWMh_{^H)mz}V%չM.EJUz7z>ZW6\BW~:W3!S_4~m ǚ! ;VeGKFڵ858Buj:ZZ(/H׭eav!$gpLV)țAJO~YBꤞ厅XJdjg{hR9~_f '5U+}W5%ZjzgTtozYD @%JK\qymeЪKIIp"xoz\B1$G)8Ԅ Jeyc".yyVBR-%BEA-k^Luj cYwԄ%X!e-4ZRḡlJvYsB԰˗0?RM\TlaߏVu4BmY!UyYylgd!m2$i=[hN,6)_~7͖CDF2zÕ{?l;Hܲk׋!/XAłrCXEI{]P[e! ?%Ktqܱ5! jַĞ*TvAG)fuxTҖV7~ 4=r! ob%jTwU$Bnqed䤿@0P&V]HJ)^YrޯĿbsY8=1! n}UD*7uƫi~!s[W{V9J;~Ӯ|[3s۷dڔIj?qJ'O,IkE]G(5\ۖ7)-g,ŶǗ=~e>k쐁%(g˦o[fxN_baGBm:܆VGЗ,G_D!/og,ҢVܤ_iS_~@ SkidSec Webshell

SkidSec WebShell

Server Address : 172.31.38.4

Web Server : Apache/2.4.58 (Ubuntu)

Uname : Linux ip-172-31-38-4 6.14.0-1017-aws #17~24.04.1-Ubuntu SMP Wed Nov 5 10:48:17 UTC 2025 x86_64

PHP Version : 7.4.33



Current Path : /usr/share/zsh/vendor-completions/



Current File : //usr/share/zsh/vendor-completions/_systemctl
#compdef systemctl
# SPDX-License-Identifier: LGPL-2.1-or-later

(( $+functions[_systemctl_commands] )) || _systemctl_commands()
{
    local expl i

    local -a unit_commands=(
        # Unit Commands
        "list-automounts:List automounts"
        "list-paths:List paths"
        "list-sockets:List sockets"
        "list-timers:List timers"
        "list-units:List units"
        "start:Start (activate) one or more units"
        "stop:Stop (deactivate) one or more units"
        "reload:Reload one or more units"
        "restart:Start or restart one or more units"
        "condrestart:Restart one or more units if active"
        "try-restart:Restart one or more units if active"
        "reload-or-restart:Reload one or more units if possible, otherwise start or restart"
        "force-reload:Reload one or more units if possible, otherwise restart if active"
        "try-reload-or-restart:Reload one or more units if possible, otherwise restart if active"
        "isolate:Start one unit and stop all others"
        "kill:Send signal to processes of a unit"
        "is-active:Check whether units are active"
        "is-failed:Check whether units are failed"
        "status:Show runtime status of one or more units"
        "show:Show properties of one or more units/jobs or the manager"
        "cat:Show the source unit files and drop-ins"
        "set-property:Sets one or more properties of a unit"
        "service-log-level:Get or set the logging threshold for service"
        "service-log-target:Get or set the logging target for service"
        "help:Show documentation for specified units"
        "reset-failed:Reset failed state for all, one, or more units"
        "list-dependencies:Show unit dependency tree"
        "clean:Remove configuration, state, cache, logs or runtime data of units"
        "bind:Bind mount a path from the host into a unit's namespace"
        "mount-image:Mount an image from the host into a unit's namespace"
        "whoami:Determines as part of which unit the command is being invoked"
    )

    local -a machine_commands=(
        # Machine Commands
        "list-machines:List the host and all running local containers"
    )

    local -a unit_file_commands=(
        # Unit File Commands
        "list-unit-files:List installed unit files"
        "enable:Enable one or more unit files"
        "disable:Disable one or more unit files"
        "reenable:Reenable one or more unit files"
        "preset:Enable/disable one or more unit files based on preset configuration"
        "preset-all:Enable/disable all unit files based on preset configuration"
        "is-enabled:Check whether unit files are enabled"
        "mask:Mask one or more units"
        "unmask:Unmask one or more units"
        "link:Link one or more units files into the search path"
        "revert:Revert unit files to their vendor versions"
        "add-wants:Add Wants= dependencies to a unit"
        "add-requires:Add Requires= dependencies to a unit"
        "set-default:Set the default target"
        "get-default:Query the default target"
        "edit:Edit one or more unit files"
    )

    local -a job_commands=(
        # Job Commands
        "list-jobs:List jobs"
        "cancel:Cancel all, one, or more jobs"
    )

    local -a environment_commands=(
        # Environment Commands
        "show-environment:Dump environment"
        "set-environment:Set one or more environment variables"
        "unset-environment:Unset one or more environment variables"
        "import-environment:Import environment variables set on the client"
    )

    local -a manager_state_commands=(
        # Manager State Commands
        "daemon-reload:Reload systemd manager configuration"
        "daemon-reexec:Reexecute systemd manager"
        "log-level:Get or set the log level"
        "log-target:Get or set the log target"
        "service-watchdogs:Get or set the state of software watchdogs"
    )

    local -a system_commands=(
        # System Commands
        "is-system-running:Query overall status of the system"
        "default:Enter system default mode"
        "rescue:Enter system rescue mode"
        "emergency:Enter system emergency mode"
        "halt:Shut down and halt the system"
        "suspend:Suspend the system"
        "poweroff:Shut down and power-off the system"
        "reboot:Shut down and reboot the system"
        "soft-reboot:Shut down and reboot the userspace"
        "kexec:Shut down and reboot the system with kexec"
        "exit:Ask for user instance termination"
        "switch-root:Change root directory"
        "hibernate:Hibernate the system"
        "hybrid-sleep:Hibernate and suspend the system"
        "suspend-then-hibernate:Suspend the system for a period of time, and then hibernate it"
    )

    local -a groups=( unit machine unit_file job environment manager_state system )
    local -a _systemctl_cmds
    for i in $groups; do
        _systemctl_cmds+=( "${(@P)${:-"${i}_commands"}}" )
    done

    if (( CURRENT == 1 )); then
        _tags ${^groups//_/-}-commands
        while _tags; do
            for i in $groups; do
                if _requested ${i//_/-}-commands; then
                    _describe -t ${i//_/-}-commands "${i//_/ } command" ${i}_commands \
                        && ret=0
                fi
            done
        done
    else
        local curcontext="$curcontext"

        cmd="${${_systemctl_cmds[(r)$words[1]:*]%%:*}}"
        # Deal with any aliases
        case $cmd in
            condrestart) cmd="try-restart";;
            force-reload) cmd="try-reload-or-restart";;
        esac

        if (( $#cmd )); then
            curcontext="${curcontext%:*:*}:systemctl-${cmd}:"

            local update_policy
            zstyle -s ":completion:${curcontext}:" cache-policy update_policy
            if [[ -z "$update_policy" ]]; then
                zstyle ":completion:${curcontext}:" cache-policy _systemctl_caching_policy
            fi

            _call_function ret _systemctl_$cmd || _message 'no more arguments'
        else
            _message "unknown systemctl command: $words[1]"
        fi
        return ret
    fi
}

# @todo _systemd-run has a helper with the same name, so we must redefine
__systemctl()
{
    command systemctl $_sys_service_mgr --full --legend=no --no-pager --plain "$@" 2>/dev/null
}


# Fills the unit list
(( $+functions[_systemctl_all_units] )) ||
    _systemctl_all_units()
{
    if _cache_invalid SYS_ALL_UNITS$_sys_service_mgr || ! _retrieve_cache SYS_ALL_UNITS$_sys_service_mgr;
    then
        _sys_all_units=( ${${(f)"$(__systemctl list-units --all)"}%% *} )
        _store_cache SYS_ALL_UNITS$_sys_service_mgr _sys_all_units
    fi
}

# Fills the unit list including all file units
(( $+functions[_systemctl_really_all_units] )) ||
    _systemctl_really_all_units()
{
    local -a all_unit_files;
    local -a really_all_units;
    if _cache_invalid SYS_REALLY_ALL_UNITS$_sys_service_mgr || ! _retrieve_cache SYS_REALLY_ALL_UNITS$_sys_service_mgr;
    then
        all_unit_files=( ${${(f)"$(__systemctl list-unit-files)"}%% *} )
        _systemctl_all_units
        really_all_units=($_sys_all_units $all_unit_files)
        _sys_really_all_units=(${(u)really_all_units})
        _store_cache SYS_REALLY_ALL_UNITS$_sys_service_mgr _sys_really_all_units
    fi
}

(( $+functions[_filter_units_by_property] )) ||
    _filter_units_by_property() {
        local property=$1 value=$2; shift 2
        local -a units; units=("${(q-)@}")
        local -A props
        props=(${(f)"$(_call_program units "$service $_sys_service_mgr show --no-pager --property=\"Id,$property\" -- ${units} 2>/dev/null")"})
        echo -E - "${(@g:o:)${(k@)props[(Re)$property=$value]}#Id=}"
    }

(( $+functions[_systemctl_get_non_template_names] )) ||
    _systemctl_get_non_template_names() {
        _systemctl_really_all_units
        print -r - ${_sys_really_all_units:#*@.*}
    }

(( $+functions[_systemctl_get_template_names] )) ||
    _systemctl_get_template_names() {
        local pathkind=systemd-search-${_sys_service_mgr##*--}-unit
        print -r - ${(s-:-)^$(_call_program $pathkind systemd-path $pathkind)}/*@.(${(~j.|.)$(__systemctl --type=help)})(N:t:r)
    }

(( $+functions[_systemctl_active_units] )) ||
    _systemctl_active_units()  {
        local pattern
        if zstyle -T ":completion:$curcontext" use-pattern; then
            pattern="$PREFIX*$SUFFIX"
        fi
        _sys_active_units=(  ${${(f)"$(__systemctl list-units $pattern)"}%% *} )
    }

(( $+functions[_systemctl_startable_units] )) ||
    _systemctl_startable_units(){
        local pattern
        if zstyle -T ":completion:$curcontext" use-pattern; then
            pattern="$PREFIX*$SUFFIX"
        fi
        _sys_startable_units=( $( _filter_units_by_property ActiveState inactive $(
                                      _filter_units_by_property CanStart yes ${${${(f)"$(
      __systemctl list-unit-files --state enabled,enabled-runtime,linked,linked-runtime,static,indirect,disabled,generated,transient $pattern
      __systemctl list-units --state inactive,failed $pattern
    )"}:#*@.*}%%[[:space:]]*}
                                                            )) )
    }

(( $+functions[_systemctl_restartable_units] )) ||
    _systemctl_restartable_units(){
        local pattern
        if zstyle -T ":completion:$curcontext" use-pattern; then
            pattern="$PREFIX*$SUFFIX"
        fi
        _sys_restartable_units=( $( _filter_units_by_property CanStart yes ${${${(f)"$(
    __systemctl list-unit-files --state enabled,disabled,static $pattern
    __systemctl list-units $pattern
  )"}:#*@.*}%%[[:space:]]*} ) )
    }

(( $+functions[_systemctl_failed_units] )) ||
    _systemctl_failed_units()  {_sys_failed_units=( ${${(f)"$(__systemctl list-units --state=failed)"}%% *} ) }

(( $+functions[_systemctl_unit_state] )) ||
    _systemctl_unit_state() {
        setopt localoptions extendedglob
        local pattern
        if zstyle -T ":completion:$curcontext" use-pattern; then
            pattern="$PREFIX*$SUFFIX"
        fi
        typeset -gA _sys_unit_state
        _sys_unit_state=( ${=${${(f)"$(__systemctl list-unit-files $pattern)"}%%[[:space:]]#}% *} )
    }

local fun
# Completion functions for ALL_UNITS
for fun in cat mask ; do
    (( $+functions[_systemctl_$fun] )) || _systemctl_$fun()
    {
        _systemctl_really_all_units
        _wanted systemd-units expl unit \
                compadd "$@" -a - _sys_really_all_units
    }
done

# Completion functions for NONTEMPLATE_UNITS
for fun in is-active is-failed is-enabled status show preset help list-dependencies edit revert add-wants add-requires set-property; do
    (( $+functions[_systemctl_$fun] )) || _systemctl_$fun()
    {
        _wanted systemd-units expl unit \
                compadd "$@" - $(_systemctl_get_non_template_names)
    }
done

# Completion functions for ENABLED_UNITS
(( $+functions[_systemctl_disable] )) || _systemctl_disable()
{
    local _sys_unit_state; _systemctl_unit_state
    _wanted systemd-units expl 'enabled unit' \
            compadd "$@" - ${(k)_sys_unit_state[(R)enabled]}
}

(( $+functions[_systemctl_reenable] )) || _systemctl_reenable()
{
    local _sys_unit_state; _systemctl_unit_state
    _wanted systemd-units expl 'enabled/disabled unit' \
            compadd "$@" - ${(k)_sys_unit_state[(R)(enabled|disabled)]} $(_systemctl_get_template_names)
}

# Completion functions for DISABLED_UNITS
(( $+functions[_systemctl_enable] )) || _systemctl_enable()
{
    local _sys_unit_state; _systemctl_unit_state
    _wanted systemd-units expl 'disabled unit' \
            compadd "$@" - ${(k)_sys_unit_state[(R)disabled]} $(_systemctl_get_template_names)
}

# Completion functions for FAILED_UNITS
(( $+functions[_systemctl_reset-failed] )) || _systemctl_reset-failed()
{
    local _sys_failed_units; _systemctl_failed_units
    _wanted systemd-units expl 'failed unit' \
            compadd "$@" -a - _sys_failed_units || _message "no failed unit found"
}

# Completion functions for STARTABLE_UNITS
(( $+functions[_systemctl_start] )) || _systemctl_start()
{
    local _sys_startable_units; _systemctl_startable_units
    _wanted systemd-units expl 'startable unit' \
            compadd "$@" - ${_sys_startable_units[*]}
}

# Completion functions for STOPPABLE_UNITS
for fun in stop kill try-restart condrestart ; do
    (( $+functions[_systemctl_$fun] )) || _systemctl_$fun()
    {
        local _sys_active_units; _systemctl_active_units
        _wanted systemd-units expl 'stoppable unit' \
                compadd "$@" - $( _filter_units_by_property CanStop yes \
                                                            ${_sys_active_units[*]} )
    }
done

(( $+functions[_systemctl_service-log-level] )) ||
    _systemctl_service-log-level() {
        local -a log_levels=( emerg alert crit err warning notice info debug )
        local _sys_active_units; _systemctl_active_units
        if (( CURRENT == 2 )); then
            _wanted systemd-units expl 'active unit' \
                compadd "$@" -a - _sys_active_units || _message "no units found"
        else
            compadd "$@" -a - log_levels
        fi
}

(( $+functions[_systemctl_service-log-target] )) ||
    _systemctl_service-log-target() {
        local -a log_targets=( console kmsg journal syslog null auto )
        local _sys_active_units; _systemctl_active_units
        if (( CURRENT == 2 )); then
            _wanted systemd-units expl 'active unit' \
                compadd "$@" -a - _sys_active_units || _message "no units found"
        else
            compadd "$@" -a - log_targets
        fi
}

# Completion functions for ISOLATABLE_UNITS
(( $+functions[_systemctl_isolate] )) || _systemctl_isolate()
{
    _systemctl_all_units
    _wanted systemd-units expl 'isolatable unit' \
            compadd "$@" - $( _filter_units_by_property AllowIsolate yes \
                                                        ${_sys_all_units[*]} )
}

# Completion functions for RELOADABLE_UNITS
for fun in reload try-reload-or-restart force-reload ; do
    (( $+functions[_systemctl_$fun] )) || _systemctl_$fun()
    {
        local _sys_active_units; _systemctl_active_units
        _wanted systemd-units expl 'reloadable unit' \
                compadd "$@" - $( _filter_units_by_property CanReload yes \
                                                            ${_sys_active_units[*]} )
    }
done

# Completion functions for RESTARTABLE_UNITS
for fun in restart reload-or-restart ; do
    (( $+functions[_systemctl_$fun] )) || _systemctl_$fun()
    {
        local _sys_restartable_units; _systemctl_restartable_units
        _wanted systemd-units expl 'restartable unit' \
                compadd "$@" - ${_sys_restartable_units[*]}
    }
done

# Completion functions for MASKED_UNITS
(( $+functions[_systemctl_unmask] )) || _systemctl_unmask()
{
    local _sys_unit_state; _systemctl_unit_state
    _wanted systemd-units expl 'masked unit' \
            compadd "$@" - ${(k)_sys_unit_state[(R)masked]} || _message "no masked units found"
}

# Completion functions for JOBS
(( $+functions[_systemctl_cancel] )) || _systemctl_cancel()
{
    _wanted systemd-jobs expl job \
            compadd "$@" - ${${(f)"$(__systemctl list-jobs)"}%% *} ||
        _message "no jobs found"
}

# Completion functions for TARGETS
(( $+functions[_systemctl_set-default] )) || _systemctl_set-default()
{
    _wanted systemd-targets expl target \
            compadd "$@" - ${${(f)"$(__systemctl list-unit-files --type target --all)"}%% *} ||
        _message "no targets found"
}

# Completion functions for ENVS
for fun in set-environment unset-environment ; do
    (( $+functions[_systemctl_$fun] )) || _systemctl_$fun()
    {
        local fun=$0 ; fun=${fun##_systemctl_}
        local suf
        if [[ "${fun}" = "set-environment" ]]; then
            suf='-S='
        fi
        _wanted systemd-environment expl 'environment variable' \
                compadd "$@" ${suf} - ${${(f)"$(systemctl show-environment)"}%%=*}
    }
done

(( $+functions[_systemctl_import-environment] )) || _systemctl_import-environment()
{
    _parameters
}

(( $+functions[_systemctl_link] )) || _systemctl_link() {
        _sd_unit_files
    }

(( $+functions[_systemctl_switch-root] )) || _systemctl_switch-root() {
        _files
    }

(( $+functions[_systemctl_bind] )) || _systemctl_bind() {
        _files
    }

(( $+functions[_systemctl_mount-image] )) || _systemctl_mount-image() {
        _files
    }

# no systemctl completion for:
#    [STANDALONE]='daemon-reexec daemon-reload default
#                  emergency exit halt kexec list-jobs list-units
#                  list-unit-files poweroff reboot rescue show-environment'

(( $+functions[_systemctl_caching_policy] )) ||
    _systemctl_caching_policy()
{
    # rebuild if cache is more than a day old
    [[ -n $1(#qNmd+1) ]] && return 0

    local pathkind=systemd-search-${1##*--}-unit
    for dir in ${(s-:-)^$(_call_program $pathkind systemd-path $pathkind)}; do
        [[ $dir -nt $1 ]] && return 0
    done

    return 1
}

(( $+functions[_systemctl_unit_states] )) ||
    _systemctl_unit_states() {
        local -a _states
        _states=("${(fo)$(__systemctl --state=help)}")
        _values -s , "${_states[@]}"
    }

(( $+functions[_systemctl_unit_types] )) ||
    _systemctl_unit_types() {
        local -a _types
        _types=("${(fo)$(__systemctl -t help)}")
        _values -s , "${_types[@]}"
    }

(( $+functions[_systemctl_unit_properties] )) ||
    _systemctl_unit_properties() {
		local -a _sys_all_properties=( ${(f)"$(/usr/lib/systemd/systemd --no-pager --dump-bus-properties 2>/dev/null)"} )
        _wanted systemd-unit-properties expl 'unit property' \
			_values -s , "${_sys_all_properties[@]}"
    }

(( $+functions[_systemctl_job_modes] )) ||
    _systemctl_job_modes() {
        local -a _modes
        _modes=(fail replace replace-irreversibly isolate ignore-dependencies ignore-requirements flush)
        _values -s , "${_modes[@]}"
    }

(( $+functions[_systemctl_timestamp] )) ||
    _systemctl_timestamp() {
        local -a _styles
        _styles=(help pretty us µs utc us+utc µs+utc)
        _values -s , "${_styles[@]}"
    }

(( $+functions[_systemctl_check_inhibitors] )) ||
    _systemctl_check_inhibitors() {
        local -a _modes
        _modes=(auto yes no)
        _values -s , "${_modes[@]}"
    }

# Build arguments for "systemctl" to be used in completion.
# Use the last mode, or --system (they are exclusive and the last one is used).
local _sys_service_mgr=${words[(R)(--user|--system)]:---system}
_arguments -s \
    {-h,--help}'[Show help]' \
    '--version[Show package version]' \
    {-t+,--type=}'[List only units of a particular type]:unit type:_systemctl_unit_types' \
    '--state=[Display units in the specified state]:unit state:_systemctl_unit_states' \
    '--job-mode=[Specify how to deal with other jobs]:mode:_systemctl_job_modes' \
    {-p+,--property=}'[Show only properties by specific name]:unit property:_systemctl_unit_properties' \
    {-a,--all}'[Show all units/properties, including dead/empty ones]' \
    '--reverse[Show reverse dependencies]' \
    '--after[Show units ordered after]' \
    '--before[Show units ordered before]' \
    {-l,--full}"[Don't ellipsize unit names on output]" \
    '--show-types[When showing sockets, show socket type]' \
    '--check-inhibitors[Specify if inhibitors should be checked]:mode:_systemctl_check_inhibitors' \
    {-q,--quiet}'[Suppress output]' \
    '--no-warn[Suppress several warnings shown by default]' \
    '--no-block[Do not wait until operation finished]' \
    '--legend=no[Do not print a legend, i.e. the column headers and the footer with hints]' \
    '--no-pager[Do not pipe output into a pager]' \
    '--system[Connect to system manager]' \
    '--user[Connect to user service manager]' \
    "--no-wall[Don't send wall message before halt/power-off/reboot]" \
    '--global[Enable/disable/mask default user unit files globally]' \
    "--no-reload[When enabling/disabling unit files, don't reload daemon configuration]" \
    '--no-ask-password[Do not ask for system passwords]' \
    '--kill-whom=[Whom to send signal to]:killwhom:(main control all)' \
    {-s+,--signal=}'[Which signal to send]:signal:_signals' \
    {-f,--force}'[When enabling unit files, override existing symlinks. When shutting down, execute action immediately]' \
    '--root=[Enable/disable/mask unit files in the specified root directory]:directory:_directories' \
    '--runtime[Enable/disable/mask unit files only temporarily until next reboot]' \
    {-H+,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \
    {-P,--privileged}'[Acquire privileges before execution]' \
    {-n+,--lines=}'[Journal entries to show]:number of entries' \
    {-o+,--output=}'[Change journal output mode]:modes:_sd_outputmodes' \
    '--firmware-setup[Tell the firmware to show the setup menu on next boot]' \
    '--plain[When used with list-dependencies, print output as a list]' \
    '--failed[Show failed units]' \
    '--timestamp=[Change format of printed timestamps]:style:_systemctl_timestamp' \
    '*::systemctl command:_systemctl_commands'