Xj*ddlZejdZddZdZdZdZdZdZd Z eeeeee d Z iZ dd Z dd Z dd ZddZddZy)NzY('[^']*'|"[^"]*"|::|//?|\.\.|\(\)|[/.*:\[\]\(\)@=])|((?:\{[^}]+\})?[^/\[\]\(\)@=\s]+)|\s+c#K|r$|jdxs|jdnd}d}tj|D]{}|\}}|ri|ddk7rad|vr0|r.|jdd\}} |st|d||d| fn*|j r|n|r|s |d|d|fn|d}s||d k(}}y#t$rt d|zwxYww) NFr{:}z!prefix %r not found in prefix map@)getxpath_tokenizer_refindallsplitKeyError SyntaxError isdecimal) pattern namespaces with_prefixesdefault_namespaceparsing_attributetokenttypetagprefixuris e/mnt/ssd/data/Dropbox/adrian/vault-secondbrain/venv/lib/python3.12/site-packages/lxml/_elementpath.pyxpath_tokenizerrIsHR-C1CX\#++G4- s 3q6S=czm!iiQ/ T%&Z-?!EEE "+<):C@@@ % K % )- T%&IF&RSSTsA-C0C:CCCc|dfd}|S)Nrc3RK|D]}|jEd{y7wN iterchildrenresultelemrs rselectzprepare_child..selectfs- .D((- - - . - '%'nextrr%rs @r prepare_childr*ds (C. Mc d}|S)Nc3PK|D]}|jdEd{y7w)N*r )r#r$s rr%zprepare_star..selectls, .D((- - - . -s &$&r'r)rr%s r prepare_starr0ks. Mr+c d}|S)Nc|Srr')r#s rr%zprepare_self..selectrs r+r'r/s r prepare_selfr3qs  Mr+cb|}|ddk(rdn|ds|dn tdfd}|S)Nrr.rzinvalid descendantc3RK|D]}|jEd{y7wr)iterdescendantsr"s rr%z"prepare_descendant..select~s- 1D++C0 0 0 1 0r&)rr(s @rprepare_descendantr7vsB FE Qx3 1XAh.//1 Mr+c d}|S)Nc3HK|D]}|j}||ywr) getparent)r#r$parents rr%zprepare_parent..selects, D^^%F!  s""r'r/s rprepare_parentr<s Mr+c d}g} |}|ddk(rn@|dk(r|dr|ddddvr d|dddf}||dxsd z }|j|dP|d k(r |dfd }|S|d k(r|d|dfd }|S|d k(r%tjd|ds |dfd}|S|dk(s|dk(r4tjd|ds|d|drfd}|Sfd}|S|d k(s |dk(s|dk(rj|d k(r1t|ddz dkrHdk(r t dt d|ddk7r t d|dk(r t|ddz ndfd}|St d#t $r t dwxYw)Nrrr])rrz'"'-z@-c3HK|D]}|j|ywrr )r#r$keys rr%z!prepare_predicate..selects) 88C=,J s""z@-='c3NK|D]}|jk(s|ywrrC)r#r$rDvalues rr%z!prepare_predicate..selects+ 88C=E)J s%%z-?\d+$c3RK|D]}|jD]}|ywrr )r#r$_rs rr%z!prepare_predicate..selects8 **3/AJ s$'z.='z-='c3K|D]@}|jD]*}dj|jk(s&|@BywNr)r!joinitertext)r#r$errFs rr%z!prepare_predicate..selectsO""D!..s3"771::<0E9"&J!""s .selects2"#Dwwt}}/58" #s(33z-()z-()-z3indices in path predicates are 1-based, not 0-basedzpath index >= 1 expectedlastzunsupported functionzunsupported expressionc3K|D]E}|j}| t|j|j}||ur|Gy#t$rYTwxYwwr)r:listr!r IndexError)r#r$r;elemsindexs rr%z!prepare_predicate..selectsm )> !4!4TXX!>?EU|t+"  "s(A/A A AAAAzinvalid predicate)appendrematchintr ValueError) r)r signature predicater%rUrDrrFs @@@@rprepare_predicater]sII  8s?  H   8a! -q!B'EU1X_$ q" Dl  Fl"   CIaL Al   Ei50)YWX\9Zl"   "  # C9-f1D   ! %)EqyB;%MOO&&@AA|v%!"899F"@ ! -1E  ) **#"@%&>??@s E..F)rr..z..z//[c t|dddk(r|dz }|f}|rd|vrZd|vr"|d|dk7rtd|dd|d||dfttd|jDzz }n%|tt|jz } t|S#t $rYnwxYwt td kDrtj|dd dk(r td tt||| } |j}n#t$r|j}YnwxYw |}n#t$r td wxYwg} |jt!|d||n#t$r tdwxYw |}|ddk(r|}n#t$rYnwxYwc|t|<|S)zcompile selector patternr@N/r.rz&Ambiguous default namespace provided: z versus c3,K|] }|d |yw)rNr').0items r z'_build_path_iterator.. s rsv RZZ  -6  `+F        3r2r+