]q(cpygments.token _TokenType qX Punctuationqqqq}q(Xsubtypesqcbuiltins set q]q hhX Indicatorq q q q }q(hh]qqRqXparentqhubaqRqhh)qq}q(hh]q(hhXOtherqqqq}q(hh]qqRq hhubhXErrorq!q"q#q$}q%(hh]q&q'Rq(hhubhXKeywordq)q*q+q,}q-(hh]q.(hh)XWordq/q0q1q2}q3(hh]q4q5Rq6hh,ubhh)h)q7q8q9}q:(hh]q;qq?q@qA}qB(hh]qCqDRqEhh,ubhh)XReservedqFqGqHqI}qJ(hh]qKqLRqMhh,ubhh)X NamespaceqNqOqPqQ}qR(hh]qSqTRqUhh,ubhh)XTypeqVqWqXqY}qZ(hh]q[q\Rq]hh,ubhh)XPreProcq^q_q`qa}qb(hh]qcqdRqehh,ubhh)XControlqfqgqhqi}qj(hh]qkqlRqmhh,ubhh)XPseudoqnqoqpqq}qr(hh]qsqtRquhh,ubhh)X Declarationqvqwqxqy}qz(hh]q{q|Rq}hh,ubeq~Rqhhh>hAhvhyhNhQhnhqhFhIhVhYhfhih)h9h^hah/h2ubhXCommentqqqq}q(hh]q(hhX Directiveqqqq}q(hh]qqRqhhubhhX Multilineqqqq}q(hh]qqRqhhubhhXDocqqqq}q(hh]qqRqhhubhhXMultiqqqq}q(hh]qqRqhhubhhX Singlelineqqqq}q(hh]qqRqhhubhhXPreprocqqqq}q(hh]qqRqhhubhhXHashbangqqqq}q(hh]qqRqhhubhhXSingleqqqq}q(hh]qÅqRqhhubhhX PreprocFileqƆqDžqȁq}q(hh]q˅qRqhhubhhX SingleLineqΆqυqЁq}q(hh]qӅqRqhhubhhXSpecialqֆqׅq؁q}q(hh]qۅqRqhhubeqRqhhhhhhhhhhhhhhhhhhhhhhhhubhXLiteralqqqq}q(hh]q(hhXCharqqqq}q(hh]qqRqhhubhhXScalarqqqq}q(hh]qhhhXPlainqqqq}q(hh]qqRqhhubaqRqhhhhubhhXStringqqrr}r(hh]r(hhhXMomentrrrr}r(hh]r r Rr hjubhhhhr r r}r(hh]rrRrhjubhhhX Delimeterrrrr}r(hh]rrRrhjubhhhhrrr}r(hh]rr Rr!hjubhhhXInterpolr"r#r$r%}r&(hh]r'r(Rr)hjubhhhXEscaper*r+r,r-}r.(hh]r/r0Rr1hjubhhhhr2r3r4}r5(hh]r6r7Rr8hjubhhhXHeredocr9r:r;r<}r=(hh]r>r?Rr@hjubhhhXBacktickrArBrCrD}rE(hh]rFrGRrHhjubhhhXBooleanrIrJrKrL}rM(hh]rNrORrPhjubhhhX CharacterrQrRrSrT}rU(hh]rVrWRrXhjubhhhXAtomrYrZr[r\}r](hh]r^r_Rr`hjubhhhXAffixrarbrcrd}re(hh]rfrgRrhhjubhhhXDoublerirjrkrl}rm(hh]rnroRrphjubhhhXSymbolrqrrrsrt}ru(hh]rvrwRrxhjubhhhXInterpryrzr{r|}r}(hh]r~rRrhjubhhhXRegexrrrr}r(hh]rrRrhjubhhhXNamerrrr}r(hh]rrRrhjubhhhX Delimiterrrrr}r(hh]rrRrhjubhhhhrrr}r(hh]rrRrhjuberRrhhjajdjAjDhjjjhj4jijlj*j-j9j<j"j%hjjjhjjqjtjQjTjjjyj|jIjLjjjYj\jjubhhhrrr}r(hh]rrRrhhubhhXNumberrrrr}r(hh]r(hhjXIntegerrrrr}r(hh]rh(hjjXLongrtrrr}r(hh]rrRrhjubarRrhjjjubhhjXFloatrrrr}r(hh]rrRrhjubhhjXBinrrrr}r(hh]rrRrhjubhhjXDecrrrr}r(hh]rrRrhjubhhjXRadixrrrr}r(hh]rrRrhjubhhjXDecimalrrrr}r(hh]rrRrhjubhhjXOctrrrr}r(hh]rrRrhjubhhjXHexrrrr}r(hh]rrRrhjubhhjX Attributerrrr}r(hh]rrRrhjuberRrhhjjjjjjjjjjjjjjjjjjubhhXDaterrrr}r(hh]rrRrhhuber Rr hhhjjjjjhhhjhhubhjr r r }r(hh]r(hjXBlubbrrrr}r(hh]rrRrhj ubhjXBuiltinrrrr}r(hh]r(hjjhnrrr }r!(hh]r"r#Rr$hjubhjjhVr%r&r'}r((hh]r)r*Rr+hjuber,Rr-hj hnj hVj'ubhjXEntityr.r/r0r1}r2(hh]r3hjj.XDBSr4r5r6r7}r8(hh]r9r:Rr;hj1ubar<Rr=hj j4j7ubhjh>r>r?r@}rA(hh]rBrCRrDhj ubhjXClassrErFrGrH}rI(hh]rJ(hjjEXStartrKrLrMrN}rO(hh]rPrQRrRhjHubhjjEj4rSrTrU}rV(hh]rWrXRrYhjHuberZRr[hj jKjNj4jUubhjX Decoratorr\r]r^r_}r`(hh]rarbRrchj ubhjXFunctionrdrerfrg}rh(hh]rihjjdXMagicrjrkrlrm}rn(hh]rorpRrqhjgubarrRrshj jjjmubhjXOperatorrtrurvrw}rx(hh]ryrzRr{hj ubhjXPropertyr|r}r~r}r(hh]rrRrhj ubhjXClassesrrrr}r(hh]rrRrhj ubhjjqrrr}r(hh]rrRrhj ubhjhVrrr}r(hh]rrRrhj ubhjhNrrr}r(hh]rrRrhj ubhjjrrr}r(hh]rhjjXVariablerrrr}r(hh]rrRrhjubarRrhj jjubhjXFieldrrrr}r(hh]rrRrhj ubhjX Exceptionrrrr}r(hh]rrRrhj ubhjjrrr}r(hh]r(hjjX Anonymousrrrr}r(hh]rrRrhjubhjjXInstancerrrr}r(hh]rrRrhjubhjjXGlobalrrrr}r(hh]rrRrhjubhjjjjrrr}r(hh]rrRrhjubhjjjErrr}r(hh]rrRrhjuberRrhj jEjjjjjjjjjjubhjXTagrrrr}r(hh]rrRrhj ubhjhrrr}r(hh]rhjhXMemberrrrr}r(hh]rrRrhjubarRrhj jjubhjXLabelrrrr}r(hh]r r Rr hj ubhjhnr r r}r(hh]rrRrhj uberRrhhjjjjjEjHh>j@j\j_j.j1jjjdjgj|jjjhNjhjjjjjjjjqjhnjjtjwjjhVjjjubhXGenericrrrr}r(hh]r(hjX Subheadingrrrr}r(hh]r r!Rr"hjubhjXPromptr#r$r%r&}r'(hh]r(r)Rr*hjubhjXOutputr+r,r-r.}r/(hh]r0r1Rr2hjubhjXStrongr3r4r5r6}r7(hh]r8r9Rr:hjubhjh!r;r<r=}r>(hh]r?r@RrAhjubhjX TracebackrBrCrDrE}rF(hh]rGrHRrIhjubhjXEmphrJrKrLrM}rN(hh]rOrPRrQhjubhjXDeletedrRrSrTrU}rV(hh]rWrXRrYhjubhjXInsertedrZr[r\r]}r^(hh]r_r`RrahjubhjXHeadingrbrcrdre}rf(hh]rgrhRrihjuberjRrkhhjRjUjJjMh!j=jbjejZj]j+j.j#j&j3j6jjjBjEubhjtrlrmrn}ro(hh]rp(hjtj4rqrrrs}rt(hh]rurvRrwhjnubhjth/rxryrz}r{(hh]r|r}Rr~hjnuberRrhhh/jzj4jsubhj*rrr}r(hh]rrRrhhubhXTextrrrr}r(hh]r(hjjqrrr}r(hh]rrRrhjubhjhrrr}r(hh]rrRrhjubhjXRagrrrr}r(hh]rrRrhjubhjX Whitespacerrrr}r(hh]rrRrhjubhjXBeerrrrr}r(hh]rrRrhjubhjXRootrrrr}r(hh]rrRrhjuberRrhhjjhjjqjjjjjjjuberRrjjj*jh!h$hhh)h,jj hhhhjtjnhhjjXTokenrhhjjjubh h ubXrrjX rrhjrjXheadrrhjrjjrhjrjXscriptrrhjrjXrrjX rrhyXfunctionrrjX rrjX initCodeBlockrrhX(rrjXidrrhX)rrhX;rrjjrhX{rrjX rrhyXvarrrjjrjXelrrjjrjnX=rrjjrjXdocumentrrhX.rrjXgetElementByIdrrhjrjXidrrhjrhjrjX rrhX}rrjjrhjrhX/rrjXscriptrrhjrjjrhjr jXstyler r hjr jjr hjrjHXsyntaxrrjjrhjrjjrh,XborderrrhX:rrjjrjX1rrhYXpxrrjjrhAXsolidrrjjr jX#d0d0d0r!r"hjr#jjr$h,Xbackground-colorr%r&hjr'jjr(jX#f0f0f0r)r*hjr+jX r,r-h,X margin-leftr.r/hjr0jjr1jX10r2r3hYXpxr4r5hjr6jjr7h,X margin-rightr8r9hjr:jjr;jX10r<r=hYXpxr>r?hjr@jjrAhjrBjX rCrDhjrEjHX syntaxheaderrFrGjjrHhjrIjjrJh,X margin-toprKrLhjrMjjrNjX15rOrPhYXpxrQrRhjrSjjrTh,X margin-bottomrUrVhjrWjjrXjX0rYrZhYXpxr[r\hjr]jX r^r_h,X text-alignr`rahjrbjjrchAXrightrdrehjrfjjrgh,X font-sizerhrihjrjjjrkjX11rlrmhYXpxrnrohjrpjX rqrrh,X border-bottomrsrthjrujjrvjjYrwhjrxjjryh,Xpaddingrzr{hjr|jjr}jX3r~rhYXpxrrhjrjjrhjrjX rrhjrjHXlinenosrrjjrhjrjjrh,XfloatrrhjrjjrhAXleftrrhjrjjrh,XdisplayrrhjrjjrhAXblockrrhjrjjrhjrjjrhjrjHXlinenosrrjjrjXprerrjjrhjrjjrh,X padding-rightrrhjrjjrjX7rrhYXpxrrhjrjjrh,X padding-leftrrhjrjjrjjrhYXpxrrhjrjX rrh,XcolorrrhjrjjrjX#666rrhjrjjrhjrjX rrjXprerrhjrjHXsyntaxrrjjrhjrjjrh,XpaddingrrhjrjjrjX5rrhYXpxrrhjrjjrh,X margin-toprrhjrjjrjjYrhYXpxrrhjrjjrhjrjX rrhjrjHXsyntaxrrjjrhjrjHXcmrrjjrhjrjjrh,XcolorrrhjrjjrjX#60a0b0rrhjrjjrh,X font-stylerrhjrjjrhAXitalicrrhjrjjrhjrjX rrhX/* comments */rrjjrhjrjHXsyntaxrrjjrhjr jHXcm-procr r jjr hjr jjrh,XcolorrrhjrjjrjX#007020rrhjrjjrh,X font-stylerrhjrjjrhAXnormalrrhjrjjrhjrjX r r!hX /* preproc */r"r#jjr$hjr%jHXsyntaxr&r'jjr(hjr)jHXkwr*r+jjr,hjr-jjr.h,Xcolorr/r0hjr1jjr2jX#007020r3r4hjr5jjr6h,X font-weightr7r8hjr9jjr:hAXboldr;r<hjr=jjr>hjr?jX r@rAhX/* keywords */rBrCjjrDhjrEjHXsyntaxrFrGjjrHhjrIjHX kw-pseudorJrKjjrLhjrMjjrNh,X font-weightrOrPhjrQjjrRhAXnormalrSrThjrUjjrVhjrWjX rXrYhX/* pseudo keywords */rZr[jjr\hjr]jHXsyntaxr^r_jjr`hjrajHXoprbrcjjrdhjrejjrfh,XcolorrgrhhjrijjrjjX#666666rkrlhjrmjjrnhjrojX! rprqhX/* operators */rrrsjjrthjrujHXsyntaxrvrwjjrxhjryjHXop-wordrzr{jjr|hjr}jjr~h,XcolorrrhjrjjrjX#007020rrhjrjjrh,X font-weightrrhjrjjrhAXboldrrhjrjjrhjrjX rrhX/* word operators */rrjjrhjrjHXsyntaxrrjjrhjrjHXbnrrjjrhjrjjrh,XcolorrrhjrjjrjX#007020rrhjrjjrhjrjX" rrhX/* builtins */rrjjrhjrjHXsyntaxrrjjrhjrjHXfunrrjjrhjrjjrh,XcolorrrhjrjjrjX#06287errhjrjjrhjrjX rrhX/* func name */rrjjrhjrjHXsyntaxrrjjrhjrjHXclsrrjjrhjrjjrh,XcolorrrhjrjjrjX#0e84b5rrhjrjjrh,X font-weightrrhjrjjrhAXboldrrhjrjjrhjrjX rrhX/* class names */rrjjrhjrjHXsyntaxrrjjrhjrjHXexcrrjjrhjrjjrh,XcolorrrhjrjjrjX#007020rrhjrjjrhjrjX rrhX/* exceptions */rrjjrhjrjHXsyntaxrrjjrhjrjHXvarrrjjrhjrjjrh,Xcolorrrhjr jjr jX#bb60d5r r hjr jjrhjrjX rrhX/* variables */rrjjrhjrjHXsyntaxrrjjrhjrjHXconstrrjjrhjrjjrh,Xcolorrr hjr!jjr"jX#60add5r#r$hjr%jjr&hjr'jX r(r)hX/* constants */r*r+jjr,hjr-jHXsyntaxr.r/jjr0hjr1jHXentityr2r3jjr4hjr5jjr6h,Xcolorr7r8hjr9jjr:jX#d55537r;r<hjr=jjr>h,X font-weightr?r@hjrAjjrBhAXboldrCrDhjrEjjrFhjrGjX rHrIhX/* entities */rJrKjjrLhjrMjHXsyntaxrNrOjjrPhjrQjHXattrrRrSjjrThjrUjjrVh,XcolorrWrXhjrYjjrZjX#4070a0r[r\hjr]jjr^hjr_jX r`rahX/* attributes */rbrcjjrdhjrejHXsyntaxrfrgjjrhhjrijHXtagrjrkjjrlhjrmjjrnh,XcolorrorphjrqjjrrjX#062873rsrthjrujjrvh,X font-weightrwrxhjryjjrzhAXboldr{r|hjr}jjr~hjrjX rrhX/* tag names */rrjjrhjrjHXsyntaxrrjjrhjrjHXdecorrjjrhjrjjrh,XcolorrrhjrjjrjX#555555rrhjrjjrh,X font-weightrrhjrjjrhAXboldrrhjrjjrhjrjX rrhX/* decorators */rrjjrhjrjHXsyntaxrrjjrhjrjHXstrrjjrhjrjjrh,XcolorrrhjrjjrjX#4070a0rrhjrjjrhjrjX# rrhX /* strings */rrjjrhjrjHXsyntaxrrjjrhjrjHXst-intrrjjrhjrjjrh,XcolorrrhjrjjrjX#70a0d0rrhjrjjrh,X font-stylerrhjrjjrhAXitalicrrhjrjjrhjrjX rrhX/* interpolated str */rrjjrhjrjHXsyntaxrrjjrhjrjHXst-escrrjjrhjrjjrh,XcolorrrhjrjjrjX#4070a0rrhjrjjrh,X font-weightrrhjrjjrhAXboldrrhjrjjrhjrjX rrhX/* escaped str */rrjjrhjrjHXsyntaxrrjjrhjrjHXst-rerrjjrhjrjjrh,Xcolorrrhjr jjr jX#235388r r hjr jjrhjrjX rrhX/* regular expr */rrjjrhjrjHXsyntaxrrjjrhjrjHXst-symrrjjrhjrjjrh,Xcolorrr hjr!jjr"jX#517918r#r$hjr%jjr&hjr'jX r(r)hX /* symbols */r*r+jjr,hjr-jHXsyntaxr.r/jjr0hjr1jHXst-othr2r3jjr4hjr5jjr6h,Xcolorr7r8hjr9jjr:jX#c65d09r;r<hjr=jjr>hjr?jX r@rAhX/* other strings */rBrCjjrDhjrEjHXsyntaxrFrGjjrHhjrIjHXnbrJrKjjrLhjrMjjrNh,XcolorrOrPhjrQjjrRjX#40a070rSrThjrUjjrVhjrWjX# rXrYhX /* numbers */rZr[jX r\r]hjr^jHXsyntaxr_r`jjrahjrbjHXgen-hdrcrdjjrehjrfjjrgh,X font-weightrhrihjrjjjrkhAXboldrlrmhjrnjjroh,XcolorrprqhjrrjjrshAXbluertruhjrvjjrwhjrxjX ryrzhX/* headings */r{r|jjr}hjr~jHXsyntaxrrjjrhjrjHXgen-shrrjjrhjrjjrh,X font-weightrrhjrjjrhAXboldrrhjrjjrh,XcolorrrhjrjjrhAXpurplerrhjrjjrhjrjX rrhX/* subheadings */rrjjrhjrjHXsyntaxrrjjrhjrjHXgen-delrrjjrhjrjjrh,XcolorrrhjrjjrhAXredrrhjrjjrhjrjX rrhX/* deleted text */rrjjrhjrjHXsyntaxrrjjrhjrjHXgen-insrrjjrhjrjjrh,XcolorrrhjrjjrhAXgreenrrhjrjjrhjrjX rrhX/* inserted text */rrjjrhjrjHXsyntaxrrjjrhjrjHXgen-emrrjjrhjrjjrh,X font-stylerrhjrjjrhAXitalicrrhjrjjrhjrjX rrhX/* emphasized text */rrjjrhjrjHXsyntaxrrjjrhjrjHXgen-srrrjjrhjrjjrh,X font-weightrrhjrjjrhAXboldrrhjrjjrhjrjX rrhX/* strong emph. text */rrjX rrhjrjHXsyntaxrrjjrhjrjHXerrrrjjrhjrjjrh,Xborderr r hjr jjr jjr hYXpxrrjjrhAXsolidrrjjrhAXredrrhjrjjrhjrjX rrhX/* parser errors */rrjjrhjrhjrjXstyler r!hjr"jjr#hjr$hjr%jXheadr&r'hjr(jjr)hjr*jXbodyr+r,hjr-jjr.hjr/jXprer0r1jjr2jXidr3r4jnjr5jX "code-block"r6r7jjr8jXclassr9r:jnjr;jX"syntax"r<r=hjr>hjr?jXspanr@rAjjrBjXclassrCrDjnjrEjX"cm"rFrGhjrHjX# -*- coding: utf-8 -*-rIrJhjrKhjrLjXspanrMrNhjrOjjrPhjrQjXspanrRrSjjrTjXclassrUrVjnjrWjX "st st-db"rXrYhjrZj1X"r[r\j1X"r]r^j1X"r_r`hjrahjrbjXspanrcrdhjrehjrfjXspanrgrhjjrijXclassrjrkjnjrljX"st"rmrnhjrojXG pocoo.pkg.core.acl ~~~~~~~~~~~~~~~~~~ Pocoo ACL System. rprqhjrrhjrsjXspanrtruhjrvhjrwjXspanrxryjjrzjXclassr{r|jnjr}jX "st st-db"r~rhjrj1X"rrj1X"rrj1X"rrhjrhjrjXspanrrhjrjX rrhjrjXspanrrjjrjXclassrrjnjrjX"kw"rrhjrjXfrom rrhjrhjrjXspanrrhjrhjrjXspanrrjjrjXclassrrjnjrjX"cls"rrhjrjXpocoo.dbrrhjrhjrjXspanrrhjrhjrjXspanrrjjrjXclassrrjnjrjX"kw"rrhjrjX importrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXmetarrhjrhjrjXspanrrhjrjX rrhjrjXspanrrjjrjXclassrrjnjrjX"kw"rrhjrjXfrom rrhjrhjrjXspanrrhjrhjrjXspanrrjjrjXclassrrjnjrjX"cls"rrhjrjXpocoo.pkg.core.forumrrhjrhjrjXspanrrhjrhjrjXspanrrjjrjXclassrrjnjrjX"kw"rrhjr jX importr r hjr hjr jXspanr r hjr jjr hjr jXspanr r jjr jXclassr r jnjr jX"name"r r hjr jXSiter r hjr hjr jXspanr r hjr jX, r r hjr e(jXspanr r jjr jXclassr r! jnjr" jX"name"r# r$ hjr% jXForumr& r' hjr( hjr) jXspanr* r+ hjr, jX, r- r. hjr/ jXspanr0 r1 jjr2 jXclassr3 r4 jnjr5 jX"name"r6 r7 hjr8 jXThreadr9 r: hjr; hjr< jXspanr= r> hjr? jjr@ hjrA jXspanrB rC jjrD jXclassrE rF jnjrG jX"kw"rH rI hjrJ jXfrom rK rL hjrM hjrN jXspanrO rP hjrQ hjrR jXspanrS rT jjrU jXclassrV rW jnjrX jX"cls"rY rZ hjr[ jXpocoo.pkg.core.userr\ r] hjr^ hjr_ jXspanr` ra hjrb hjrc jXspanrd re jjrf jXclassrg rh jnjri jX"kw"rj rk hjrl jX importrm rn hjro hjrp jXspanrq rr hjrs jjrt hjru jXspanrv rw jjrx jXclassry rz jnjr{ jX"name"r| r} hjr~ jXUserr r hjr hjr jXspanr r hjr jX, r r hjr jXspanr r jjr jXclassr r jnjr jX"name"r r hjr jXGroupr r hjr hjr jXspanr r hjr jX r r hjr jXspanr r jjr jXclassr r jnjr jX"kw"r r hjr jXfrom r r hjr hjr jXspanr r hjr hjr jXspanr r jjr jXclassr r jnjr jX"cls"r r hjr jXpocoo.pkg.core.dbr r hjr hjr jXspanr r hjr hjr jXspanr r jjr jXclassr r jnjr jX"kw"r r hjr jX importr r hjr hjr jXspanr r hjr jjr hjr jXspanr r jjr jXclassr r jnjr jX"name"r r hjr jXusersr r hjr hjr jXspanr r hjr jX, r r hjr jXspanr r jjr jXclassr r jnjr jX"name"r r hjr jXgroupsr r hjr hjr jXspanr r hjr jX, r r hjr jXspanr r jjr jXclassr r jnjr jX"name"r r hjr jX group_membersr r hjr hjr jXspanr r hjr jX, r r hjr jXspanr r jjr jXclassr r jnjr jX"name"r r hjr jX privilegesr r hjr hjr jXspanr r hjr jX , \ r r hjr jXspanr r jjr jXclassr r jnjr! jX"name"r" r# hjr$ jXforumsr% r& hjr' hjr( jXspanr) r* hjr+ jX, r, r- hjr. jXspanr/ r0 jjr1 jXclassr2 r3 jnjr4 jX"name"r5 r6 hjr7 jXpostsr8 r9 hjr: hjr; jXspanr< r= hjr> jX, r? r@ hjrA jXspanrB rC jjrD jXclassrE rF jnjrG jX"name"rH rI hjrJ jX acl_mappingrK rL hjrM hjrN jXspanrO rP hjrQ jX, rR rS hjrT jXspanrU rV jjrW jXclassrX rY jnjrZ jX"name"r[ r\ hjr] jX acl_subjectsr^ r_ hjr` hjra jXspanrb rc hjrd jX, re rf hjrg jXspanrh ri jjrj jXclassrk rl jnjrm jX"name"rn ro hjrp jX acl_objectsrq rr hjrs hjrt jXspanru rv hjrw jX rx ry hjrz jXspanr{ r| jjr} jXclassr~ r jnjr jX"kw"r r hjr jXclass r r hjr hjr jXspanr r hjr hjr jXspanr r jjr jXclassr r jnjr jX"cls"r r hjr jX AclManagerr r hjr hjr jXspanr r hjr jjr hjr jXspanr r jjr jXclassr r jnjr jX"bn"r r hjr jXobjectr r hjr hjr jXspanr r hjr jX): r r hjr jXspanr r jjr jXclassr r jnjr jX "st st-db"r r hjr j1X"r r j1X"r r j1X"r r hjr hjr jXspanr r hjr hjr jXspanr r jjr jXclassr r jnjr jX"st"r r hjr jX( Manager object to manage ALCs. r r hjr hjr jXspanr r hjr hjr jXspanr r jjr jXclassr r jnjr jX "st st-db"r r hjr j1X"r r j1X"r r j1X"r r hjr hjr jXspanr r hjr jX r r hjr jXspanr r jjr jXclassr r jnjr jX"name"r r hjr jX STRONG_NOr r hjr hjr jXspanr r hjr jjr hjr jXspanr r jjr jXclassr r jnjr jX"op"r r hjr jjr hjr hjr jXspanr r hjr jjr hjr jXspanr r jjr jXclassr r jnjr jX"op"r r hjr jX-r r hjr hjr jXspanr r hjr hjr! jXspanr" r# jjr$ jXclassr% r& jnjr' jX "nb nb-int"r( r) hjr* jjr+ hjr, hjr- jXspanr. r/ hjr0 jX r1 r2 hjr3 jXspanr4 r5 jjr6 jXclassr7 r8 jnjr9 jX"name"r: r; hjr< jXWEAK_NOr= r> hjr? hjr@ jXspanrA rB hjrC jjrD hjrE jXspanrF rG jjrH jXclassrI rJ jnjrK jX"op"rL rM hjrN jjrO hjrP hjrQ jXspanrR rS hjrT jjrU hjrV jXspanrW rX jjrY jXclassrZ r[ jnjr\ jX "nb nb-int"r] r^ hjr_ jjYr` hjra hjrb jXspanrc rd hjre jX rf rg hjrh jXspanri rj jjrk jXclassrl rm jnjrn jX"name"ro rp hjrq jXWEAK_YESrr rs hjrt hjru jXspanrv rw hjrx jjry hjrz jXspanr{ r| jjr} jXclassr~ r jnjr jX"op"r r hjr jjr hjr hjr jXspanr r hjr jjr hjr jXspanr r jjr jXclassr r jnjr jX "nb nb-int"r r hjr jjr hjr hjr jXspanr r hjr jX r r hjr jXspanr r jjr jXclassr r jnjr jX"name"r r hjr jX STRONG_YESr r hjr hjr jXspanr r hjr jjr hjr jXspanr r jjr jXclassr r jnjr jX"op"r r hjr jjr hjr hjr jXspanr r hjr jjr hjr jXspanr r jjr jXclassr r jnjr jX "nb nb-int"r r hjr jX2r r hjr hjr jXspanr r hjr jX r r hjr jXspanr r jjr jXclassr r jnjr jX"kw"r r hjr jXdef r r hjr hjr jXspanr r hjr hjr jXspanr r jjr jXclassr r jnjr jX"fun"r r hjr jX__init__r r hjr hjr jXspanr r hjr jjr hjr jXspanr r jjr jXclassr r jnjr jX"bn bn-pseudo"r r hjr jXselfr r hjr hjr jXspanr r hjr jX, r r hjr jXspanr r jjr jXclassr r jnjr jX"name"r r hjr jXctxr r hjr hjr jXspanr r hjr jX, r r hjr jXspanr r jjr jXclassr r! jnjr" jX"name"r# r$ hjr% jXsubjectr& r' hjr( hjr) jXspanr* r+ hjr, jX ): r- r. hjr/ jXspanr0 r1 jjr2 jXclassr3 r4 jnjr5 jX"bn bn-pseudo"r6 r7 hjr8 jXselfr9 r: hjr; hjr< jXspanr= r> hjr? jjr@ hjrA jXspanrB rC jjrD jXclassrE rF jnjrG jX"name"rH rI hjrJ jXctxrK rL hjrM hjrN jXspanrO rP hjrQ jjrR hjrS jXspanrT rU jjrV jXclassrW rX jnjrY jX"op"rZ r[ hjr\ jjr] hjr^ hjr_ jXspanr` ra hjrb jjrc hjrd jXspanre rf jjrg jXclassrh ri jnjrj jX"name"rk rl hjrm jXctxrn ro hjrp hjrq jXspanrr rs hjrt jX ru rv hjrw jXspanrx ry jjrz jXclassr{ r| jnjr} jX"bn bn-pseudo"r~ r hjr jXselfr r hjr hjr jXspanr r hjr jjr hjr jXspanr r jjr jXclassr r jnjr jX"name"r r hjr jXsubjectr r hjr hjr jXspanr r hjr jjr hjr jXspanr r jjr jXclassr r jnjr jX"op"r r hjr jjr hjr hjr jXspanr r hjr jjr hjr jXspanr r jjr jXclassr r jnjr jX"name"r r hjr jXsubjectr r hjr hjr jXspanr r hjr jX r r hjr jXspanr r jjr jXclassr r jnjr jX"kw"r r hjr jXifr r hjr hjr jXspanr r hjr jjr hjr jXspanr r jjr jXclassr r jnjr jX"bn"r r hjr jX isinstancer r hjr hjr jXspanr r hjr jjr hjr jXspanr r jjr jXclassr r jnjr jX"name"r r hjr jXsubjectr r hjr hjr jXspanr r hjr jX, r r hjr jXspanr r jjr jXclassr r jnjr jX"name"r r hjr jXUserr r hjr hjr jXspanr r hjr jX): r r hjr jXspanr r jjr jXclassr r jnjr jX"bn bn-pseudo"r r hjr jXselfr r hjr hjr jXspanr r hjr jjr hjr jXspanr r jjr jXclassr r jnjr! jX"name"r" r# hjr$ jX_typer% r& hjr' hjr( jXspanr) r* hjr+ jjr, hjr- jXspanr. r/ jjr0 jXclassr1 r2 jnjr3 jX"op"r4 r5 hjr6 jjr7 hjr8 hjr9 jXspanr: r; hjr< jjr= hjr> jXspanr? r@ jjrA jXclassrB rC jnjrD jX "st st-sg"rE rF hjrG j1X'rH rI hjrJ hjrK jXspanrL rM hjrN hjrO jXspanrP rQ jjrR jXclassrS rT jnjrU jX"st"rV rW hjrX jXuserrY rZ hjr[ hjr\ jXspanr] r^ hjr_ hjr` jXspanra rb jjrc jXclassrd re jnjrf jX "st st-sg"rg rh hjri j1X'rj rk hjrl hjrm jXspanrn ro hjrp jX rq rr hjrs jXspanrt ru jjrv jXclassrw rx jnjry jX"kw"rz r{ hjr| jXelifr} r~ hjr hjr jXspanr r hjr jjr hjr jXspanr r jjr jXclassr r jnjr jX"bn"r r hjr jX isinstancer r hjr hjr jXspanr r hjr jjr hjr jXspanr r jjr jXclassr r jnjr jX"name"r r hjr jXsubjectr r hjr hjr jXspanr r hjr jX, r r hjr jXspanr r jjr jXclassr r jnjr jX"name"r r hjr jXGroupr r hjr hjr jXspanr r hjr jX): r r hjr jXspanr r jjr jXclassr r jnjr jX"bn bn-pseudo"r r hjr jXselfr r hjr hjr jXspanr r hjr jjr hjr jXspanr r jjr jXclassr r jnjr jX"name"r r hjr jX_typer r hjr hjr jXspanr r hjr jjr hjr jXspanr r jjr jXclassr r jnjr jX"op"r r hjr jjr hjr hjr jXspanr r hjr jjr hjr jXspanr r jjr jXclassr r jnjr jX "st st-sg"r r hjr j1X'r r hjr hjr jXspanrrhjrhjrjXspanrrjjrjXclassrrjnjr jX"st"r r hjr jXgroupr rhjrhjrjXspanrrhjrhjrjXspanrrjjrjXclassrrjnjrjX "st st-sg"rrhjrj1X'rrhjr hjr!jXspanr"r#hjr$jX r%r&hjr'jXspanr(r)jjr*jXclassr+r,jnjr-jX"kw"r.r/hjr0jXelser1r2hjr3hjr4jXspanr5r6hjr7jX: r8r9hjr:jXspanr;r<jjr=jXclassr>r?jnjr@jX"kw"rArBhjrCjXraiserDrEhjrFhjrGjXspanrHrIhjrJjjrKhjrLjXspanrMrNjjrOjXclassrPrQjnjrRjX"exc"rSrThjrUjX ValueErrorrVrWhjrXhjrYjXspanrZr[hjr\jjr]hjr^jXspanr_r`jjrajXclassrbrcjnjrdjX "st st-sg"rerfhjrgj1X'rhrihjrjhjrkjXspanrlrmhjrnhjrojXspanrprqjjrrjXclassrsrtjnjrujX"st"rvrwhjrxjXneither user or group specifiedryrzhjr{hjr|jXspanr}r~hjrhjrjXspanrrjjrjXclassrrjnjrjX "st st-sg"rrhjrj1X'rrhjrhjrjXspanrrhjrjX) rrhjrjXspanrrjjrjXclassrrjnjrjX"kw"rrhjrjXdef rrhjrhjrjXspanrre(hjrhjrjXspanrrjjrjXclassrrjnjrjX"fun"rrhjrjXallowrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"bn bn-pseudo"rrhjrjXselfrrhjrhjrjXspanrrhjrjX, rrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjX privilegerrhjrhjrjXspanrrhjrjX, rrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXobjrrhjrhjrjXspanrrhjrjX, rrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXforcerrhjrhjrjXspanrrhjrhjrjXspanrrjjrjXclassrrjnjrjX"op"rrhjr jjr hjr hjr jXspanr rhjrhjrjXspanrrjjrjXclassrrjnjrjX"bn bn-pseudo"rrhjrjXFalserrhjrhjrjXspanrrhjr jX ): r!r"hjr#jXspanr$r%jjr&jXclassr'r(jnjr)jX "st st-db"r*r+hjr,j1X"r-r.j1X"r/r0j1X"r1r2hjr3hjr4jXspanr5r6hjr7hjr8jXspanr9r:jjr;jXclassr<r=jnjr>jX"st"r?r@hjrAjX$Allows the subject privilege on obj.rBrChjrDhjrEjXspanrFrGhjrHhjrIjXspanrJrKjjrLjXclassrMrNjnjrOjX "st st-db"rPrQhjrRj1X"rSrTj1X"rUrVj1X"rWrXhjrYhjrZjXspanr[r\hjr]jX r^r_hjr`jXspanrarbjjrcjXclassrdrejnjrfjX"kw"rgrhhjrijXreturnrjrkhjrlhjrmjXspanrnrohjrpjjrqhjrrjXspanrsrtjjrujXclassrvrwjnjrxjX"bn bn-pseudo"ryrzhjr{jXselfr|r}hjr~hjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjX_setrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjX privilegerrhjrhjrjXspanrrhjrjX, rrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXobjrrhjrhjrjXspanrrhjrjX, rrhjrjXspanrrjjrjXclassrrjnjrjX "nb nb-int"rrhjrjjrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"op"rrhjrjX+rrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"bn"rrhjrjXboolrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXforcerrhjrhjrjXspanrrhjrjX)) rrhjrjXspanrrjjrjXclassrr jnjr jX"kw"r r hjr jXdef rrhjrhjrjXspanrrhjrhjrjXspanrrjjrjXclassrrjnjrjX"fun"rrhjrjXdefaultrr hjr!hjr"jXspanr#r$hjr%jjr&hjr'jXspanr(r)jjr*jXclassr+r,jnjr-jX"bn bn-pseudo"r.r/hjr0jXselfr1r2hjr3hjr4jXspanr5r6hjr7jX, r8r9hjr:jXspanr;r<jjr=jXclassr>r?jnjr@jX"name"rArBhjrCjX privilegerDrEhjrFhjrGjXspanrHrIhjrJjX, rKrLhjrMjXspanrNrOjjrPjXclassrQrRjnjrSjX"name"rTrUhjrVjXobjrWrXhjrYhjrZjXspanr[r\hjr]jX ): r^r_hjr`jXspanrarbjjrcjXclassrdrejnjrfjX "st st-db"rgrhhjrij1X"rjrkj1X"rlrmj1X"rnrohjrphjrqjXspanrrrshjrthjrujXspanrvrwjjrxjXclassryrzjnjr{jX"st"r|r}hjr~jX5Sets the state for privilege on obj back to weak yes.rrhjrhjrjXspanrrhjrhjrjXspanrrjjrjXclassrrjnjrjX "st st-db"rrhjrj1X"rrj1X"rrj1X"rrhjrhjrjXspanrrhjrjX rrhjrjXspanrrjjrjXclassrrjnjrjX"kw"rrhjrjXreturnrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"bn bn-pseudo"rrhjrjXselfrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjX_setrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjX privilegerrhjrhjrjXspanrrhjrjX, rrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXobjrrhjrhjrjXspanrrhjrjX, rrhjrjXspanrrjjrjXclassrrjnjrjX "nb nb-int"rrhjrjjYrhjrhjrjXspanrrhjrjX) r r hjr jXspanr r jjrjXclassrrjnjrjX"kw"rrhjrjXdef rrhjrhjrjXspanrrhjrhjrjXspanrrjjrjXclassr r!jnjr"jX"fun"r#r$hjr%jXdenyr&r'hjr(hjr)jXspanr*r+hjr,jjr-hjr.jXspanr/r0jjr1jXclassr2r3jnjr4jX"bn bn-pseudo"r5r6hjr7jXselfr8r9hjr:hjr;jXspanr<r=hjr>jX, r?r@hjrAjXspanrBrCjjrDjXclassrErFjnjrGjX"name"rHrIhjrJjX privilegerKrLhjrMhjrNjXspanrOrPhjrQjX, rRrShjrTjXspanrUrVjjrWjXclassrXrYjnjrZjX"name"r[r\hjr]jXobjr^r_hjr`hjrajXspanrbrchjrdjX, rerfhjrgjXspanrhrijjrjjXclassrkrljnjrmjX"name"rnrohjrpjXforcerqrrhjrshjrtjXspanrurvhjrwhjrxjXspanryrzjjr{jXclassr|r}jnjr~jX"op"rrhjrjjrhjrhjrjXspanrrhjrhjrjXspanrrjjrjXclassrrjnjrjX"bn bn-pseudo"rrhjrjXFalserrhjrhjrjXspanrrhjrjX ): rrhjrjXspanrrjjrjXclassrrjnjrjX "st st-db"rrhjrj1X"rrj1X"rrj1X"rrhjrhjrjXspanrrhjrhjrjXspanrrjjrjXclassrrjnjrjX"st"rrhjrjX$Denies the subject privilege on obj.rrhjrhjrjXspanrrhjrhjrjXspanrrjjrjXclassrrjnjrjX "st st-db"rrhjrj1X"rrj1X"rrj1X"rrhjrhjrjXspanrrhjrjX rrhjrjXspanrrjjrjXclassrrjnjrjX"kw"rrhjrjXreturnrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"bn bn-pseudo"rrhjrjXselfrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjX_setrrhjrhjr jXspanr r hjr jjr hjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjX privilegerrhjrhjrjXspanrrhjrjX, rr hjr!jXspanr"r#jjr$jXclassr%r&jnjr'jX"name"r(r)hjr*jXobjr+r,hjr-hjr.jXspanr/r0hjr1jX, r2r3hjr4jXspanr5r6jjr7jXclassr8r9jnjr:jX"op"r;r<hjr=jj r>hjr?hjr@jXspanrArBhjrChjrDjXspanrErFjjrGjXclassrHrIjnjrJjX "nb nb-int"rKrLhjrMjjrNhjrOhjrPjXspanrQrRhjrSjjrThjrUjXspanrVrWjjrXjXclassrYrZjnjr[jX"op"r\r]hjr^jj r_hjr`hjrajXspanrbrchjrdjjrehjrfjXspanrgrhjjrijXclassrjrkjnjrljX"bn"rmrnhjrojXboolrprqhjrrhjrsjXspanrtruhjrvjjrwhjrxjXspanryrzjjr{jXclassr|r}jnjr~jX"name"rrhjrjXforcerrhjrhjrjXspanrrhjrjX)) rrhjrjXspanrrjjrjXclassrrjnjrjX"kw"rrhjrjXdef rrhjrhjrjXspanrrhjrhjrjXspanrrjjrjXclassrrjnjrjX"fun"rrhjrjX can_accessrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"bn bn-pseudo"rrhjrjXselfrrhjrhjrjXspanrrhjrjX, rrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjX privilegerrhjrhjrjXspanrrhjrjX, rrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXobjrrhjrhjrjXspanrrhjrjX ): rrhjrjXspanrrjjrjXclassrrjnjrjX "st st-db"rrhjrj1X"rrj1X"rrj1X"rrhjrhjrjXspanrrhjrhjrjXspanrrjjrjXclassrrjnjrjX"st"rrhjrjXChecks if the current subject with the required privilege somehow. Either directly or when the subject is a user and one of its groups can access it.rrhjrhjr jXspanr r hjr hjr jXspanrrjjrjXclassrrjnjrjX "st st-db"rrhjrj1X"rrj1X"rrj1X"rrhjrhjrjXspanrr hjr!jX r"r#hjr$jXspanr%r&jjr'jXclassr(r)jnjr*jX"cm"r+r,hjr-jX4#XXX: maybe this could be one big query instead of 4r.r/hjr0hjr1jXspanr2r3hjr4jX r5r6hjr7jXspanr8r9jjr:jXclassr;r<jnjr=jX"cm"r>r?hjr@jXC#XXX: this currently does not work correctly, therefore return TruerArBhjrChjrDjXspanrErFhjrGjX rHrIhjrJjXspanrKrLjjrMjXclassrNrOjnjrPjX"kw"rQrRhjrSjXreturnrTrUhjrVhjrWjXspanrXrYhjrZjjr[hjr\jXspanr]r^jjr_jXclassr`rajnjrbjX"bn bn-pseudo"rcrdhjrejXTruerfrghjrhhjrijXspanrjrkhjrljX rmrnhjrojXspanrprqjjrrjXclassrsrtjnjrujX"kw"rvrwhjrxjXifryrzhjr{hjr|jXspanr}r~hjrjjrhjrjXspanrrjjrjXclassrrjnjrjX "op op-word"rrhjrjXnotrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"bn"rrhjrjX isinstancerrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXobjrrhjrhjrjXspanrrhjrjX, (rrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXForumrrhjrhjrjXspanrrhjrjX, rrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXThreadrrhjrhjrjXspanrrhjrjX, rrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXSiterrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjX __class__rrhjrhjrjXspanrrhjrjX)): rrhjrjXspanrrjjrjXclassrrjnjr jX"kw"r r hjr jXraiser rhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"exc"rrhjrjX TypeErrorrr hjr!hjr"jXspanr#r$hjr%jjr&hjr'jXspanr(r)jjr*jXclassr+r,jnjr-jX "st st-sg"r.r/hjr0j1X'r1r2hjr3hjr4jXspanr5r6e(hjr7hjr8jXspanr9r:jjr;jXclassr<r=jnjr>jX"st"r?r@hjrAjX#obj must be a forum, thread or siterBrChjrDhjrEjXspanrFrGhjrHhjrIjXspanrJrKjjrLjXclassrMrNjnjrOjX "st st-sg"rPrQhjrRj1X'rSrThjrUhjrVjXspanrWrXhjrYjX ) rZr[hjr\jXspanr]r^jjr_jXclassr`rajnjrbjX"name"rcrdhjrejX privilegerfrghjrhhjrijXspanrjrkhjrljjrmhjrnjXspanrorpjjrqjXclassrrrsjnjrtjX"op"rurvhjrwjjrxhjryhjrzjXspanr{r|hjr}jjr~hjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjX privilegerrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXupperrrhjrhjrjXspanrrhjrjX () rrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXsrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"op"rrhjrjjrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"bn bn-pseudo"rrhjrjXselfrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjX_get_subject_joinrrhjrhjrjXspanrrhjrjX().rrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXaliasrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX "st st-sg"rrhjrj1X'rr hjr hjr jXspanr r hjrhjrjXspanrrjjrjXclassrrjnjrjX"st"rrhjrjjrhjrhjrjXspanrrhjrhjrjXspanr r!jjr"jXclassr#r$jnjr%jX "st st-sg"r&r'hjr(j1X'r)r*hjr+hjr,jXspanr-r.hjr/jX).r0r1hjr2jXspanr3r4jjr5jXclassr6r7jnjr8jX"name"r9r:hjr;jXcr<r=hjr>hjr?jXspanr@rAhjrBjX rCrDhjrEjXspanrFrGjjrHjXclassrIrJjnjrKjX"kw"rLrMhjrNjXdef rOrPhjrQhjrRjXspanrSrThjrUhjrVjXspanrWrXjjrYjXclassrZr[jnjr\jX"fun"r]r^hjr_jXdo_checkr`rahjrbhjrcjXspanrdrehjrfjjrghjrhjXspanrirjjjrkjXclassrlrmjnjrnjX"name"rorphjrqjXobjrrrshjrthjrujXspanrvrwhjrxjX, ryrzhjr{jXspanr|r}jjr~jXclassrrjnjrjX"name"rrhjrjXtendencyrrhjrhjrjXspanrrhjrjX): rrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXdbrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"op"rrhjrjjrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"bn bn-pseudo"rrhjrjXselfrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXctxrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXenginerrhjrhjrjXspanrrhjrjX rrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXorrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"op"rrhjrjjrhjrhjrjXspanrrhjr jjr hjr jXspanr r jjrjXclassrrjnjrjX"bn bn-pseudo"rrhjrjXselfrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjr jXclassr!r"jnjr#jX"name"r$r%hjr&jX_get_object_joinr'r(hjr)hjr*jXspanr+r,hjr-jjr.hjr/jXspanr0r1jjr2jXclassr3r4jnjr5jX"name"r6r7hjr8jXobjr9r:hjr;hjr<jXspanr=r>hjr?jX).r@rAhjrBjXspanrCrDjjrEjXclassrFrGjnjrHjX"name"rIrJhjrKjXaliasrLrMhjrNhjrOjXspanrPrQhjrRjjrShjrTjXspanrUrVjjrWjXclassrXrYjnjrZjX "st st-sg"r[r\hjr]j1X'r^r_hjr`hjrajXspanrbrchjrdhjrejXspanrfrgjjrhjXclassrirjjnjrkjX"st"rlrmhjrnjjrohjrphjrqjXspanrrrshjrthjrujXspanrvrwjjrxjXclassryrzjnjr{jX "st st-sg"r|r}hjr~j1X'rrhjrhjrjXspanrrhjrjX).rrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjj<rhjrhjrjXspanrrhjrjX rrhjrjXspanrrjjrjXclassrrjnjrjX"cm"rrhjrjX # self checkrrhjrhjrjXspanrrhjrjX rrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXrrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"op"rrhjrjjrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXdbrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXexecuterrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXmetarrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjr jXclassr r jnjr jX"name"r rhjrjXselectrrhjrhjrjXspanrrhjrjX([rrhjrjXspanrrjjrjXclassrrjnjrjX"name"r r!hjr"jX acl_mappingr#r$hjr%hjr&jXspanr'r(hjr)jjr*hjr+jXspanr,r-jjr.jXclassr/r0jnjr1jX"name"r2r3hjr4jj<r5hjr6hjr7jXspanr8r9hjr:jjr;hjr<jXspanr=r>jjr?jXclassr@rAjnjrBjX"name"rCrDhjrEjXstaterFrGhjrHhjrIjXspanrJrKhjrLjX], (rMrNhjrOjXspanrPrQjjrRjXclassrSrTjnjrUjX"name"rVrWhjrXjX acl_mappingrYrZhjr[hjr\jXspanr]r^hjr_jjr`hjrajXspanrbrcjjrdjXclassrerfjnjrgjX"name"rhrihjrjjj<rkhjrlhjrmjXspanrnrohjrpjjrqhjrrjXspanrsrtjjrujXclassrvrwjnjrxjX"name"ryrzhjr{jXpriv_idr|r}hjr~hjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"op"rrhjrjX==rrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjX privilegesrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjj<rhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXpriv_idrrhjrhjrjXspanrrhjrjX) rrhjrjXspanrrjjrjXclassrrjnjrjX"op"rrhjrj1X&rrhjrhjrjXspanrrhjrjX (rrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjX acl_mappingrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjj<rhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"r r hjr jX subject_idr r hjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"op"rrhjrjX==rrhjr hjr!jXspanr"r#hjr$jjr%hjr&jXspanr'r(jjr)jXclassr*r+jnjr,jX"name"r-r.hjr/jjr0hjr1hjr2jXspanr3r4hjr5jjr6hjr7jXspanr8r9jjr:jXclassr;r<jnjr=jX"name"r>r?hjr@jX subject_idrArBhjrChjrDjXspanrErFhjrGjX) rHrIhjrJjXspanrKrLjjrMjXclassrNrOjnjrPjX"op"rQrRhjrSj1X&rTrUhjrVhjrWjXspanrXrYhjrZjX (r[r\hjr]jXspanr^r_jjr`jXclassrarbjnjrcjX"name"rdrehjrfjX acl_mappingrgrhhjrihjrjjXspanrkrlhjrmjjrnhjrojXspanrprqjjrrjXclassrsrtjnjrujX"name"rvrwhjrxjj<ryhjrzhjr{jXspanr|r}hjr~jjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjX object_idrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"op"rrhjrjX==rrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjjrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjX object_idrrhjrhjrjXspanrrhjrjX) rrhjrjXspanrrjjrjXclassrrjnjrjX"op"rrhjrj1X&rrhjrhjrjXspanrrhjrjX (rrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjX privilegesrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjj<rhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXnamerr hjr hjr jXspanr r hjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"op"rrhjrjX==rrhjrhjrjXspanrrhjr jjr!hjr"jXspanr#r$jjr%jXclassr&r'jnjr(jX"name"r)r*hjr+jX privileger,r-hjr.hjr/jXspanr0r1hjr2jX) )) r3r4hjr5jXspanr6r7jjr8jXclassr9r:jnjr;jX"name"r<r=hjr>jXrowr?r@hjrAhjrBjXspanrCrDhjrEjjrFhjrGjXspanrHrIjjrJjXclassrKrLjnjrMjX"op"rNrOhjrPjjrQhjrRhjrSjXspanrTrUhjrVjjrWhjrXjXspanrYrZjjr[jXclassr\r]jnjr^jX"name"r_r`hjrajjrbhjrchjrdjXspanrerfhjrgjjrhhjrijXspanrjrkjjrljXclassrmrnjnjrojX"name"rprqhjrrjXfetchonersrthjruhjrvjXspanrwrxhjryjX() rzr{hjr|jXspanr}r~jjrjXclassrrjnjrjX"kw"rrhjrjXifrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXrowrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrre(jnjrjX "op op-word"rrhjrjXisrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX "op op-word"rrhjrjXnotrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"bn bn-pseudo"rrhjrjXNonerrhjrhjrjXspanrrhjrjX: rrhjrjXspanrrjjrjXclassrrjnjrjX"kw"rrhjrjXifrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXrowrrhjrhjrjXspanrrhjrjX[rrhjrjXspanrrjjrjXclassrrjnjrjX "st st-sg"rrhjrj1X'rrhjrhjr jXspanr r hjr hjr jXspanrrjjrjXclassrrjnjrjX"st"rrhjrjXstaterrhjrhjrjXspanrrhjrhjrjXspanrr jjr!jXclassr"r#jnjr$jX "st st-sg"r%r&hjr'j1X'r(r)hjr*hjr+jXspanr,r-hjr.jX] r/r0hjr1jXspanr2r3jjr4jXclassr5r6jnjr7jX "op op-word"r8r9hjr:jXinr;r<hjr=hjr>jXspanr?r@hjrAjX (rBrChjrDjXspanrErFjjrGjXclassrHrIjnjrJjX"bn bn-pseudo"rKrLhjrMjXselfrNrOhjrPhjrQjXspanrRrShjrTjjrUhjrVjXspanrWrXjjrYjXclassrZr[jnjr\jX"name"r]r^hjr_jX STRONG_NOr`rahjrbhjrcjXspanrdrehjrfjX, rgrhhjrijXspanrjrkjjrljXclassrmrnjnjrojX"bn bn-pseudo"rprqhjrrjXselfrsrthjruhjrvjXspanrwrxhjryjjrzhjr{jXspanr|r}jjr~jXclassrrjnjrjX"name"rrhjrjX STRONG_YESrrhjrhjrjXspanrrhjrjX): rrhjrjXspanrrjjrjXclassrrjnjrjX"kw"rrhjrjXreturnrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXrowrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX "st st-sg"rrhjrj1X'rrhjrhjrjXspanrrhjrhjrjXspanrrjjrjXclassrrjnjrjX"st"rrhjrjXstaterrhjrhjrjXspanrrhjrhjrjXspanrrjjrjXclassrrjnjrjX "st st-sg"rrhjrj1X'rrhjrhjrjXspanrrhjrjX] rrhjrjXspanrrjjrjXclassrrjnjrjX"op"rrhjrjX==rrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"bn bn-pseudo"rrhjrjXselfrrhjrhjrjXspanrrhjr jjr hjr jXspanr r jjrjXclassrrjnjrjX"name"rrhjrjX STRONG_YESrrhjrhjrjXspanrrhjrjX rrhjrjXspanrr jjr!jXclassr"r#jnjr$jX"name"r%r&hjr'jXtendencyr(r)hjr*hjr+jXspanr,r-hjr.jjr/hjr0jXspanr1r2jjr3jXclassr4r5jnjr6jX"op"r7r8hjr9jjr:hjr;hjr<jXspanr=r>hjr?jjr@hjrAjXspanrBrCjjrDjXclassrErFjnjrGjX"name"rHrIhjrJjXrowrKrLhjrMhjrNjXspanrOrPhjrQjjrRhjrSjXspanrTrUjjrVjXclassrWrXjnjrYjX "st st-sg"rZr[hjr\j1X'r]r^hjr_hjr`jXspanrarbhjrchjrdjXspanrerfjjrgjXclassrhrijnjrjjX"st"rkrlhjrmjXstaternrohjrphjrqjXspanrrrshjrthjrujXspanrvrwjjrxjXclassryrzjnjr{jX "st st-sg"r|r}hjr~j1X'rrhjrhjrjXspanrrhjrjX] rrhjrjXspanrrjjrjXclassrrjnjrjX"cm"rrhjrjX6# if the controlled subject is a user check all groupsrrhjrhjrjXspanrrhjrjX rrhjrjXspanrrjjrjXclassrrjnjrjX"kw"rrhjrjXifrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"bn"rrhjrjX isinstancerrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"bn bn-pseudo"rrhjrjXselfrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXsubjectrrhjrhjrjXspanrrhjrjX, rrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXUserrrhjrhjrjXspanrrhjrjX): rrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjjrhjrhjrjXspanrrhjrjjrhjrjXspanr r jjr jXclassr r jnjrjX"op"rrhjrjjrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"r r!hjr"jXdbr#r$hjr%hjr&jXspanr'r(hjr)jjr*hjr+jXspanr,r-jjr.jXclassr/r0jnjr1jX"name"r2r3hjr4jXexecuter5r6hjr7hjr8jXspanr9r:hjr;jjr<hjr=jXspanr>r?jjr@jXclassrArBjnjrCjX"name"rDrEhjrFjXmetarGrHhjrIhjrJjXspanrKrLhjrMjjrNhjrOjXspanrPrQjjrRjXclassrSrTjnjrUjX"name"rVrWhjrXjXselectrYrZhjr[hjr\jXspanr]r^hjr_jX([r`rahjrbjXspanrcrdjjrejXclassrfrgjnjrhjX"name"rirjhjrkjX acl_mappingrlrmhjrnhjrojXspanrprqhjrrjjrshjrtjXspanrurvjjrwjXclassrxryjnjrzjX"name"r{r|hjr}jj<r~hjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXstaterrhjrhjrjXspanrrhjrjX], (rrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjX acl_mappingrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjj<rhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjX object_idrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"op"rrhjrjX==rrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjjrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjX object_idrrhjrhjrjXspanrrhjrjX) rrhjrjXspanrrjjrjXclassrrjnjr jX"op"r r hjr j1X&r rhjrhjrjXspanrrhjrjX (rrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjX acl_mappingr r!hjr"hjr#jXspanr$r%hjr&jjr'hjr(jXspanr)r*jjr+jXclassr,r-jnjr.jX"name"r/r0hjr1jj<r2hjr3hjr4jXspanr5r6hjr7jjr8hjr9jXspanr:r;jjr<jXclassr=r>jnjr?jX"name"r@rAhjrBjX subject_idrCrDhjrEhjrFjXspanrGrHhjrIjjrJhjrKjXspanrLrMjjrNjXclassrOrPjnjrQjX"op"rRrShjrTjX==rUrVhjrWhjrXjXspanrYrZhjr[jjr\hjr]jXspanr^r_jjr`jXclassrarbjnjrcjX"name"rdrehjrfjXgroupsrgrhhjrihjrjjXspanrkrlhjrmjjrnhjrojXspanrprqjjrrjXclassrsrtjnjrujX"name"rvrwhjrxjj<ryhjrzhjr{jXspanr|r}hjr~jjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjX subject_idrrhjrhjrjXspanrrhjrjX) rrhjrjXspanrrjjrjXclassrrjnjrjX"op"rrhjrj1X&rrhjrhjrjXspanrrhjrjX (rrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXgroupsrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjj<rhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXgroup_idrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"op"rrhjrjX==rrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjX group_membersrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjj<r hjr hjr jXspanr r hjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXgroup_idrrhjrhjrjXspanrrhjr jX) r!r"hjr#jXspanr$r%jjr&jXclassr'r(jnjr)jX"op"r*r+hjr,j1X&r-r.hjr/hjr0jXspanr1r2hjr3jX (r4r5hjr6jXspanr7r8jjr9jXclassr:r;jnjr<jX"name"r=r>hjr?jX group_membersr@rAhjrBhjrCjXspanrDrEhjrFjjrGhjrHjXspanrIrJjjrKjXclassrLrMjnjrNjX"name"rOrPhjrQjj<rRhjrShjrTjXspanrUrVhjrWjjrXhjrYjXspanrZr[jjr\jXclassr]r^jnjr_jX"name"r`rahjrbjXuser_idrcrdhjrehjrfjXspanrgrhhjrijjrjhjrkjXspanrlrmjjrnjXclassrorpjnjrqjX"op"rrrshjrtjX==rurvhjrwhjrxjXspanryrzhjr{jjr|hjr}jXspanr~rjjrjXclassrrjnjrjX"bn bn-pseudo"rrhjrjXselfrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXsubjectrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXuser_idrrhjrhjrjXspanrrhjrjX%) )) rrhjrjXspanrrjjrjXclassrrjnjrjX"kw"rrhjrjXwhilerrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"bn bn-pseudo"rrhjrjXTruerrhjrhjrjXspanrrhjrjX: rrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXrowrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"op"rrhjrjjrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjjrhjrhjrjXspanr r hjr jjr hjr jXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXfetchonerrhjre(hjrjXspanrrhjrjX() rrhjr jXspanr!r"jjr#jXclassr$r%jnjr&jX"kw"r'r(hjr)jXifr*r+hjr,hjr-jXspanr.r/hjr0jjr1hjr2jXspanr3r4jjr5jXclassr6r7jnjr8jX"name"r9r:hjr;jXrowr<r=hjr>hjr?jXspanr@rAhjrBjjrChjrDjXspanrErFjjrGjXclassrHrIjnjrJjX "op op-word"rKrLhjrMjXisrNrOhjrPhjrQjXspanrRrShjrTjjrUhjrVjXspanrWrXjjrYjXclassrZr[jnjr\jX"bn bn-pseudo"r]r^hjr_jXNoner`rahjrbhjrcjXspanrdrehjrfjX: rgrhhjrijXspanrjrkjjrljXclassrmrnjnjrojX"kw"rprqhjrrjXbreakrsrthjruhjrvjXspanrwrxhjryjX rzr{hjr|jXspanr}r~jjrjXclassrrjnjrjX"name"rrhjrjXstaterrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"op"rrhjrjjrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXrowrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX "nb nb-int"rrhjrjjYrhjrhjrjXspanrrhjrjX] rrhjrjXspanrrjjrjXclassrrjnjrjX"kw"rrhjrjXifrrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX"name"rrhjrjXstaterrhjrhjrjXspanrrhjrjjrhjrjXspanrrjjrjXclassrrjnjrjX "op op-word"rrhjrjXinrrhjrhjrjXspanrrhjrjX (rrhjrjXspanrrjjrjXclassrrjnjr jX"bn bn-pseudo"r r hjr jXselfr r hjr hjr jXspanr r hjr jjr hjr jXspanr r jjr jXclassr r jnjr jX"name"r r hjr jX STRONG_YESr r hjr hjr jXspanr r hjr jX, r r hjr jXspanr r! jjr" jXclassr# r$ jnjr% jX"bn bn-pseudo"r& r' hjr( jXselfr) r* hjr+ hjr, jXspanr- r. hjr/ jjr0 hjr1 jXspanr2 r3 jjr4 jXclassr5 r6 jnjr7 jX"name"r8 r9 hjr: jX STRONG_NOr; r< hjr= hjr> jXspanr? r@ hjrA jX): rB rC hjrD jXspanrE rF jjrG jXclassrH rI jnjrJ jX"kw"rK rL hjrM jXreturnrN rO hjrP hjrQ jXspanrR rS hjrT jjrU hjrV jXspanrW rX jjrY jXclassrZ r[ jnjr\ jX"name"r] r^ hjr_ jXstater` ra hjrb hjrc jXspanrd re hjrf jjrg hjrh jXspanri rj jjrk jXclassrl rm jnjrn jX"op"ro rp hjrq jX==rr rs hjrt hjru jXspanrv rw hjrx jjry hjrz jXspanr{ r| jjr} jXclassr~ r jnjr jX"bn bn-pseudo"r r hjr jXselfr r hjr hjr jXspanr r hjr jjr hjr jXspanr r jjr jXclassr r jnjr jX"name"r r hjr jX STRONG_YESr r hjr hjr jXspanr r hjr jX r r hjr jXspanr r jjr jXclassr r jnjr jX"kw"r r hjr jXifr r hjr hjr jXspanr r hjr jjr hjr jXspanr r jjr jXclassr r jnjr jX"name"r r hjr jXtendencyr r hjr hjr jXspanr r hjr jjr hjr jXspanr r jjr jXclassr r jnjr jX "op op-word"r r hjr jXisr r hjr hjr jXspanr r hjr jjr hjr jXspanr r jjr jXclassr r jnjr jX"bn bn-pseudo"r r hjr jXNoner r hjr hjr jXspanr r hjr jX: r r hjr jXspanr r jjr jXclassr r jnjr jX"name"r r hjr jXtendencyr r hjr hjr jXspanr r hjr jjr hjr jXspanr r jjr jXclassr r jnjr!jX"op"r!r!hjr!jjr!hjr!hjr!jXspanr!r!hjr !jjr !hjr !jXspanr !r !jjr!jXclassr!r!jnjr!jX"name"r!r!hjr!jXstater!r!hjr!hjr!jXspanr!r!hjr!jX r!r!hjr!jXspanr!r !jjr!!jXclassr"!r#!jnjr$!jX"kw"r%!r&!hjr'!jXelifr(!r)!hjr*!hjr+!jXspanr,!r-!hjr.!jjr/!hjr0!jXspanr1!r2!jjr3!jXclassr4!r5!jnjr6!jX"name"r7!r8!hjr9!jXtendencyr:!r;!hjr!r?!hjr@!jjrA!hjrB!jXspanrC!rD!jjrE!jXclassrF!rG!jnjrH!jX"op"rI!rJ!hjrK!jX==rL!rM!hjrN!hjrO!jXspanrP!rQ!hjrR!jjrS!hjrT!jXspanrU!rV!jjrW!jXclassrX!rY!jnjrZ!jX"bn bn-pseudo"r[!r\!hjr]!jXselfr^!r_!hjr`!hjra!jXspanrb!rc!hjrd!jjre!hjrf!jXspanrg!rh!jjri!jXclassrj!rk!jnjrl!jX"name"rm!rn!hjro!jXWEAK_NOrp!rq!hjrr!hjrs!jXspanrt!ru!hjrv!jjrw!hjrx!jXspanry!rz!jjr{!jXclassr|!r}!jnjr~!jX "op op-word"r!r!hjr!jXandr!r!hjr!hjr!jXspanr!r!hjr!jjr!hjr!jXspanr!r!jjr!jXclassr!r!jnjr!jX"name"r!r!hjr!jXstater!r!hjr!hjr!jXspanr!r!hjr!jjr!hjr!jXspanr!r!jjr!jXclassr!r!jnjr!jX"op"r!r!hjr!jX==r!r!hjr!hjr!jXspanr!r!hjr!jjr!hjr!jXspanr!r!jjr!jXclassr!r!jnjr!jX"bn bn-pseudo"r!r!hjr!jXselfr!r!hjr!hjr!jXspanr!r!hjr!jjr!hjr!jXspanr!r!jjr!jXclassr!r!jnjr!jX"name"r!r!hjr!jXWEAK_YESr!r!hjr!hjr!jXspanr!r!hjr!jX: r!r!hjr!jXspanr!r!jjr!jXclassr!r!jnjr!jX"name"r!r!hjr!jXtendencyr!r!hjr!hjr!jXspanr!r!hjr!jjr!hjr!jXspanr!r!jjr!jXclassr!r!jnjr!jX"op"r!r!hjr!jjr!hjr!hjr!jXspanr!r!hjr!jjr!hjr!jXspanr!r!jjr!jXclassr!r!jnjr!jX"bn bn-pseudo"r!r!hjr!jXselfr"r"hjr"hjr"jXspanr"r"hjr"jjr"hjr"jXspanr "r "jjr "jXclassr "r "jnjr"jX"name"r"r"hjr"jXWEAK_YESr"r"hjr"hjr"jXspanr"r"hjr"jX r"r"hjr"jXspanr"r"jjr"jXclassr"r "jnjr!"jX"cm"r""r#"hjr$"jX# check related objectsr%"r&"hjr'"hjr("jXspanr)"r*"hjr+"jX r,"r-"hjr."jXspanr/"r0"jjr1"jXclassr2"r3"jnjr4"jX"kw"r5"r6"hjr7"jXifr8"r9"hjr:"hjr;"jXspanr<"r="hjr>"jjr?"hjr@"jXspanrA"rB"jjrC"jXclassrD"rE"jnjrF"jX"bn"rG"rH"hjrI"jX isinstancerJ"rK"hjrL"hjrM"jXspanrN"rO"hjrP"jjrQ"hjrR"jXspanrS"rT"jjrU"jXclassrV"rW"jnjrX"jX"name"rY"rZ"hjr["jXobjr\"r]"hjr^"hjr_"jXspanr`"ra"hjrb"jX, rc"rd"hjre"jXspanrf"rg"jjrh"jXclassri"rj"jnjrk"jX"name"rl"rm"hjrn"jXThreadro"rp"hjrq"hjrr"jXspanrs"rt"hjru"jX): rv"rw"hjrx"jXspanry"rz"jjr{"jXclassr|"r}"jnjr~"jX"kw"r"r"hjr"jXreturnr"r"hjr"hjr"jXspanr"r"hjr"jjr"hjr"jXspanr"r"jjr"jXclassr"r"jnjr"jX"name"r"r"hjr"jXdo_checkr"r"hjr"hjr"jXspanr"r"hjr"jjr"hjr"jXspanr"r"jjr"jXclassr"r"jnjr"jX"name"r"r"hjr"jXobjr"r"hjr"hjr"jXspanr"r"hjr"jjr"hjr"jXspanr"r"jjr"jXclassr"r"jnjr"jX"name"r"r"hjr"jXforumr"r"hjr"hjr"jXspanr"r"hjr"jX, r"r"hjr"jXspanr"r"jjr"jXclassr"r"jnjr"jX"name"r"r"hjr"jXtendencyr"r"hjr"hjr"jXspanr"r"hjr"jX) r"r"hjr"jXspanr"r"jjr"jXclassr"r"jnjr"jX"kw"r"r"hjr"jXelifr"r"hjr"hjr"jXspanr"r"hjr"jjr"hjr"jXspanr"r"jjr"jXclassr"r"jnjr"jX"bn"r"r"hjr"jX isinstancer"r"hjr"hjr"jXspanr"r"hjr"jjr"hjr"jXspanr"r"jjr"jXclassr"r"jnjr"jX"name"r"r#hjr#jXobjr#r#hjr#hjr#jXspanr#r#hjr#jX, r #r #hjr #jXspanr #r #jjr#jXclassr#r#jnjr#jX"name"r#r#hjr#jXForumr#r#hjr#hjr#jXspanr#r#hjr#jX): r#r#hjr#jXspanr#r #jjr!#jXclassr"#r##jnjr$#jX"kw"r%#r&#hjr'#jXreturnr(#r)#hjr*#hjr+#jXspanr,#r-#hjr.#jjr/#hjr0#jXspanr1#r2#jjr3#jXclassr4#r5#jnjr6#jX"name"r7#r8#hjr9#jXdo_checkr:#r;#hjr<#hjr=#jXspanr>#r?#hjr@#jjrA#hjrB#jXspanrC#rD#jjrE#jXclassrF#rG#jnjrH#jX"name"rI#rJ#hjrK#jXSiterL#rM#hjrN#hjrO#jXspanrP#rQ#hjrR#jX, rS#rT#hjrU#jXspanrV#rW#jjrX#jXclassrY#rZ#jnjr[#jX"name"r\#r]#hjr^#jXtendencyr_#r`#hjra#hjrb#jXspanrc#rd#hjre#jX) rf#rg#hjrh#jXspanri#rj#jjrk#jXclassrl#rm#jnjrn#jX"kw"ro#rp#hjrq#jXelserr#rs#hjrt#hjru#jXspanrv#rw#hjrx#jX: ry#rz#hjr{#jXspanr|#r}#jjr~#jXclassr#r#jnjr#jX"kw"r#r#hjr#jXreturnr#r#hjr#hjr#jXspanr#r#hjr#jjr#hjr#jXspanr#r#jjr#jXclassr#r#jnjr#jX"name"r#r#hjr#jXtendencyr#r#hjr#hjr#jXspanr#r#hjr#jX r#r#hjr#jXspanr#r#jjr#jXclassr#r#jnjr#jX"kw"r#r#hjr#jXreturnr#r#hjr#hjr#jXspanr#r#hjr#jjr#hjr#jXspanr#r#jjr#jXclassr#r#jnjr#jX"name"r#r#hjr#jXdo_checkr#r#hjr#hjr#jXspanr#r#hjr#jjr#hjr#jXspanr#r#jjr#jXclassr#r#jnjr#jX"name"r#r#hjr#jXobjr#r#hjr#hjr#jXspanr#r#hjr#jX, r#r#hjr#jXspanr#r#jjr#jXclassr#r#jnjr#jX"bn bn-pseudo"r#r#hjr#jXNoner#r#hjr#hjr#jXspanr#r#hjr#jX) r#r#hjr#jXspanr#r#jjr#jXclassr#r#jnjr#jX "op op-word"r#r#hjr#jXinr#r#hjr#hjr#jXspanr#r#hjr#jX (r#r#hjr#jXspanr#r#jjr$jXclassr$r$jnjr$jX"bn bn-pseudo"r$r$hjr$jXselfr$r$hjr $hjr $jXspanr $r $hjr $jjr$hjr$jXspanr$r$jjr$jXclassr$r$jnjr$jX"name"r$r$hjr$jXWEAK_YESr$r$hjr$hjr$jXspanr$r$hjr$jX, r $r!$hjr"$jXspanr#$r$$jjr%$jXclassr&$r'$jnjr($jX"bn bn-pseudo"r)$r*$hjr+$jXselfr,$r-$hjr.$hjr/$jXspanr0$r1$hjr2$jjr3$hjr4$jXspanr5$r6$jjr7$jXclassr8$r9$jnjr:$jX"name"r;$r<$hjr=$jX STRONG_YESr>$r?$hjr@$hjrA$jXspanrB$rC$hjrD$jX) rE$rF$hjrG$jXspanrH$rI$jjrJ$jXclassrK$rL$jnjrM$jX"kw"rN$rO$hjrP$jXdef rQ$rR$hjrS$hjrT$jXspanrU$rV$hjrW$hjrX$jXspanrY$rZ$jjr[$jXclassr\$r]$jnjr^$jX"fun"r_$r`$hjra$jX_setrb$rc$hjrd$hjre$jXspanrf$rg$hjrh$jjri$hjrj$jXspanrk$rl$jjrm$jXclassrn$ro$jnjrp$jX"bn bn-pseudo"rq$rr$hjrs$jXselfrt$ru$hjrv$hjrw$jXspanrx$ry$hjrz$jX, r{$r|$hjr}$jXspanr~$r$jjr$jXclassr$r$jnjr$jX"name"r$r$hjr$jX privileger$r$hjr$hjr$jXspanr$r$hjr$jX, r$r$hjr$jXspanr$r$jjr$jXclassr$r$jnjr$jX"name"r$r$hjr$jXobjr$r$hjr$e(hjr$jXspanr$r$hjr$jX, r$r$hjr$jXspanr$r$jjr$jXclassr$r$jnjr$jX"name"r$r$hjr$jXstater$r$hjr$hjr$jXspanr$r$hjr$jX ): r$r$hjr$jXspanr$r$jjr$jXclassr$r$jnjr$jX "st st-db"r$r$hjr$j1X"r$r$j1X"r$r$j1X"r$r$hjr$hjr$jXspanr$r$hjr$hjr$jXspanr$r$jjr$jXclassr$r$jnjr$jX"st"r$r$hjr$jX)Helper functions for settings privileges.r$r$hjr$hjr$jXspanr$r$hjr$hjr$jXspanr$r$jjr$jXclassr$r$jnjr$jX "st st-db"r$r$hjr$j1X"r$r$j1X"r$r$j1X"r$r$hjr$hjr$jXspanr$r$hjr$jX r$r$hjr$jXspanr$r$jjr$jXclassr$r$jnjr$jX"name"r$r$hjr$jX privileger$r$hjr$hjr%jXspanr%r%hjr%jjr%hjr%jXspanr%r%jjr%jXclassr %r %jnjr %jX"op"r %r %hjr%jjr%hjr%hjr%jXspanr%r%hjr%jjr%hjr%jXspanr%r%jjr%jXclassr%r%jnjr%jX"name"r%r%hjr%jX privileger %r!%hjr"%hjr#%jXspanr$%r%%hjr&%jjr'%hjr(%jXspanr)%r*%jjr+%jXclassr,%r-%jnjr.%jX"name"r/%r0%hjr1%jXupperr2%r3%hjr4%hjr5%jXspanr6%r7%hjr8%jX () r9%r:%hjr;%jXspanr<%r=%jjr>%jXclassr?%r@%jnjrA%jX"kw"rB%rC%hjrD%jXifrE%rF%hjrG%hjrH%jXspanrI%rJ%hjrK%jjrL%hjrM%jXspanrN%rO%jjrP%jXclassrQ%rR%jnjrS%jX"bn bn-pseudo"rT%rU%hjrV%jXselfrW%rX%hjrY%hjrZ%jXspanr[%r\%hjr]%jjr^%hjr_%jXspanr`%ra%jjrb%jXclassrc%rd%jnjre%jX"name"rf%rg%hjrh%jXsubjectri%rj%hjrk%hjrl%jXspanrm%rn%hjro%jjrp%hjrq%jXspanrr%rs%jjrt%jXclassru%rv%jnjrw%jX"name"rx%ry%hjrz%jX subject_idr{%r|%hjr}%hjr~%jXspanr%r%hjr%jjr%hjr%jXspanr%r%jjr%jXclassr%r%jnjr%jX "op op-word"r%r%hjr%jXisr%r%hjr%hjr%jXspanr%r%hjr%jjr%hjr%jXspanr%r%jjr%jXclassr%r%jnjr%jX"bn bn-pseudo"r%r%hjr%jXNoner%r%hjr%hjr%jXspanr%r%hjr%jX: r%r%hjr%jXspanr%r%jjr%jXclassr%r%jnjr%jX"bn bn-pseudo"r%r%hjr%jXselfr%r%hjr%hjr%jXspanr%r%hjr%jjr%hjr%jXspanr%r%jjr%jXclassr%r%jnjr%jX"name"r%r%hjr%jX _bootstrapr%r%hjr%hjr%jXspanr%r%hjr%jX () r%r%hjr%jXspanr%r%jjr%jXclassr%r%jnjr%jX"kw"r%r%hjr%jXifr%r%hjr%hjr%jXspanr%r%hjr%jjr%hjr%jXspanr%r%jjr%jXclassr%r%jnjr%jX"name"r%r%hjr%jXobjr%r%hjr%hjr%jXspanr%r%hjr%jjr%hjr%jXspanr%r%jjr%jXclassr%r%jnjr%jX"name"r%r%hjr%jX object_idr%r%hjr%hjr%jXspanr%r&hjr&jjr&hjr&jXspanr&r&jjr&jXclassr&r&jnjr &jX "op op-word"r &r &hjr &jXisr &r&hjr&hjr&jXspanr&r&hjr&jjr&hjr&jXspanr&r&jjr&jXclassr&r&jnjr&jX"bn bn-pseudo"r&r&hjr&jXNoner&r &hjr!&hjr"&jXspanr#&r$&hjr%&jX: r&&r'&hjr(&jXspanr)&r*&jjr+&jXclassr,&r-&jnjr.&jX"bn bn-pseudo"r/&r0&hjr1&jXselfr2&r3&hjr4&hjr5&jXspanr6&r7&hjr8&jjr9&hjr:&jXspanr;&r<&jjr=&jXclassr>&r?&jnjr@&jX"name"rA&rB&hjrC&jX_bootstrap_objectrD&rE&hjrF&hjrG&jXspanrH&rI&hjrJ&jjrK&hjrL&jXspanrM&rN&jjrO&jXclassrP&rQ&jnjrR&jX"name"rS&rT&hjrU&jXobjrV&rW&hjrX&hjrY&jXspanrZ&r[&hjr\&jX ) r]&r^&hjr_&jXspanr`&ra&jjrb&jXclassrc&rd&jnjre&jX"cm"rf&rg&hjrh&jX# special state ri&rj&j1X"rk&rl&jjYrm&j1X"rn&ro&jX which means deleterp&rq&hjrr&hjrs&jXspanrt&ru&hjrv&jX rw&rx&hjry&jXspanrz&r{&jjr|&jXclassr}&r~&jnjr&jX"kw"r&r&hjr&jXifr&r&hjr&hjr&jXspanr&r&hjr&jjr&hjr&jXspanr&r&jjr&jXclassr&r&jnjr&jX "op op-word"r&r&hjr&jXnotr&r&hjr&hjr&jXspanr&r&hjr&jjr&hjr&jXspanr&r&jjr&jXclassr&r&jnjr&jX"name"r&r&hjr&jXstater&r&hjr&hjr&jXspanr&r&hjr&jX: r&r&hjr&jXspanr&r&jjr&jXclassr&r&jnjr&jX"name"r&r&hjr&jXpr&r&hjr&hjr&jXspanr&r&hjr&jjr&hjr&jXspanr&r&jjr&jXclassr&r&jnjr&jX"op"r&r&hjr&jjr&hjr&hjr&jXspanr&r&hjr&jjr&hjr&jXspanr&r&jjr&jXclassr&r&jnjr&jX"name"r&r&hjr&jXmetar&r&hjr&hjr&jXspanr&r&hjr&jjr&hjr&jXspanr&r&jjr&jXclassr&r&jnjr&jX"name"r&r&hjr&jXselectr&r&hjr&hjr&jXspanr&r&hjr&jX([r&r&hjr&jXspanr&r&jjr&jXclassr&r&jnjr&jX"name"r&r'hjr'jX privilegesr'r'hjr'hjr'jXspanr'r'hjr'jjr 'hjr 'jXspanr 'r 'jjr 'jXclassr'r'jnjr'jX"name"r'r'hjr'jj<r'hjr'hjr'jXspanr'r'hjr'jjr'hjr'jXspanr'r'jjr'jXclassr'r 'jnjr!'jX"name"r"'r#'hjr$'jXpriv_idr%'r&'hjr''hjr('jXspanr)'r*'hjr+'jX], r,'r-'hjr.'jXspanr/'r0'jjr1'jXclassr2'r3'jnjr4'jX"name"r5'r6'hjr7'jX privilegesr8'r9'hjr:'hjr;'jXspanr<'r='hjr>'jjr?'hjr@'jXspanrA'rB'jjrC'jXclassrD'rE'jnjrF'jX"name"rG'rH'hjrI'jj<rJ'hjrK'hjrL'jXspanrM'rN'hjrO'jjrP'hjrQ'jXspanrR'rS'jjrT'jXclassrU'rV'jnjrW'jX"name"rX'rY'hjrZ'jXnamer['r\'hjr]'hjr^'jXspanr_'r`'hjra'jjrb'hjrc'jXspanrd're'jjrf'jXclassrg'rh'jnjri'jX"op"rj'rk'hjrl'jX==rm'rn'hjro'hjrp'jXspanrq'rr'hjrs'jjrt'hjru'jXspanrv'rw'jjrx'jXclassry'rz'jnjr{'jX"name"r|'r}'hjr~'jX privileger'r'hjr'hjr'jXspanr'r'hjr'jX) r'r'hjr'jXspanr'r'jjr'jXclassr'r'jnjr'jX"bn bn-pseudo"r'r'hjr'jXselfr'r'hjr'hjr'jXspanr'r'hjr'jjr'hjr'jXspanr'r'jjr'jXclassr'r'jnjr'jX"name"r'r'hjr'jXctxr'r'hjr'hjr'jXspanr'r'hjr'jjr'hjr'jXspanr'r'jjr'jXclassr'r'jnjr'jX"name"r'r'hjr'jXenginer'r'hjr'hjr'jXspanr'r'hjr'jjr'hjr'jXspanr'r'jjr'jXclassr'r'jnjr'jX"name"r'r'hjr'jXexecuter'r'hjr'hjr'jXspanr'r'hjr'jjr'hjr'jXspanr'r'jjr'jXclassr'r'jnjr'jX"name"r'r'hjr'jX acl_mappingr'r'hjr'hjr'jXspanr'r'hjr'jjr'hjr'jXspanr'r'jjr'jXclassr'r'jnjr'jX"name"r'r'hjr'jXdeleter'r'hjr'hjr'jXspanr'r'hjr'jX( (r'r'hjr'jXspanr'r'jjr'jXclassr'r'jnjr'jX"name"r'r'hjr'jX acl_mappingr'r(hjr(hjr(jXspanr(r(hjr(jjr(hjr(jXspanr(r (jjr (jXclassr (r (jnjr (jX"name"r(r(hjr(jj<r(hjr(hjr(jXspanr(r(hjr(jjr(hjr(jXspanr(r(jjr(jXclassr(r(jnjr(jX"name"r(r (hjr!(jXpriv_idr"(r#(hjr$(hjr%(jXspanr&(r'(hjr((jjr)(hjr*(jXspanr+(r,(jjr-(jXclassr.(r/(jnjr0(jX"op"r1(r2(hjr3(jX==r4(r5(hjr6(hjr7(jXspanr8(r9(hjr:(jjr;(hjr<(jXspanr=(r>(jjr?(jXclassr@(rA(jnjrB(jX"name"rC(rD(hjrE(jj&rF(hjrG(hjrH(jXspanrI(rJ(hjrK(jjrL(hjrM(jXspanrN(rO(jjrP(jXclassrQ(rR(jnjrS(jX"name"rT(rU(hjrV(jj<rW(hjrX(hjrY(jXspanrZ(r[(hjr\(jjr](hjr^(jXspanr_(r`(jjra(jXclassrb(rc(jnjrd(jX"name"re(rf(hjrg(jXpriv_idrh(ri(hjrj(hjrk(jXspanrl(rm(hjrn(jX) ro(rp(hjrq(jXspanrr(rs(jjrt(jXclassru(rv(jnjrw(jX"op"rx(ry(hjrz(j1X&r{(r|(hjr}(hjr~(jXspanr(r(hjr(jX (r(r(hjr(jXspanr(r(jjr(jXclassr(r(jnjr(jX"name"r(r(hjr(jX acl_mappingr(r(hjr(hjr(jXspanr(r(hjr(jjr(hjr(jXspanr(r(jjr(jXclassr(r(jnjr(jX"name"r(r(hjr(jj<r(hjr(hjr(jXspanr(r(hjr(jjr(hjr(jXspanr(r(jjr(jXclassr(r(jnjr(jX"name"r(r(hjr(jX subject_idr(r(hjr(hjr(jXspanr(r(hjr(jjr(hjr(jXspanr(r(jjr(jXclassr(r(jnjr(jX"op"r(r(hjr(jX==r(r(hjr(hjr(jXspanr(r(hjr(jjr(hjr(jXspanr(r(jjr(jXclassr(r(jnjr(jX"bn bn-pseudo"r(r(hjr(jXselfr(r(hjr(hjr(jXspanr(r(hjr(jjr(hjr(jXspanr(r(jjr(jXclassr(r(jnjr(jX"name"r(r(hjr(jXsubjectr(r(hjr(hjr(jXspanr(r(hjr(jjr(hjr(jXspanr(r(jjr(jXclassr(r(jnjr(jX"name"r(r(hjr(jX subject_idr(r(hjr(hjr(jXspanr(r(hjr(jX) r)r)hjr)jXspanr)r)jjr)jXclassr)r)jnjr)jX"op"r )r )hjr )j1X&r )r )hjr)hjr)jXspanr)r)hjr)jX (r)r)hjr)jXspanr)r)jjr)jXclassr)r)jnjr)jX"name"r)r)hjr)jX acl_mappingr)r )hjr!)hjr")jXspanr#)r$)hjr%)jjr&)hjr')jXspanr()r))jjr*)jXclassr+)r,)jnjr-)jX"name"r.)r/)hjr0)jj<r1)hjr2)hjr3)jXspanr4)r5)hjr6)jjr7)hjr8)jXspanr9)r:)jjr;)jXclassr<)r=)jnjr>)jX"name"r?)r@)hjrA)jX object_idrB)rC)hjrD)hjrE)jXspanrF)rG)hjrH)jjrI)hjrJ)jXspanrK)rL)jjrM)jXclassrN)rO)jnjrP)jX"op"rQ)rR)hjrS)jX==rT)rU)hjrV)hjrW)jXspanrX)rY)hjrZ)jjr[)hjr\)jXspanr])r^)jjr_)jXclassr`)ra)jnjrb)jX"name"rc)rd)hjre)jXobjrf)rg)hjrh)hjri)jXspanrj)rk)hjrl)jjrm)hjrn)jXspanro)rp)jjrq)jXclassrr)rs)jnjrt)jX"name"ru)rv)hjrw)jX object_idrx)ry)hjrz)hjr{)jXspanr|)r})hjr~)jX) )) r)r)hjr)jXspanr)r)jjr)jXclassr)r)jnjr)jX"kw"r)r)hjr)jXreturnr)r)hjr)hjr)jXspanr)r)hjr)jX r)r)hjr)jXspanr)r)jjr)jXclassr)r)jnjr)jX"cm"r)r)hjr)jX,# touch privilege and check existing mappingr)r)hjr)hjr)jXspanr)r)hjr)jX r)r)hjr)jXspanr)r)jjr)jXclassr)r)jnjr)jX"name"r)r)hjr)jXpriv_idr)r)hjr)hjr)jXspanr)r)hjr)jjr)hjr)jXspanr)r)jjr)jXclassr)r)jnjr)jX"op"r)r)hjr)jjr)hjr)hjr)jXspanr)r)hjr)jjr)hjr)jXspanr)r)jjr)jXclassr)r)jnjr)jX"bn bn-pseudo"r)r)hjr)jXselfr)r)hjr)hjr)jXspanr)r)hjr)jjr)hjr)jXspanr)r)jjr)jXclassr)r)jnjr)jX"name"r)r)hjr)jX_fetch_privileger)r)hjr)hjr)jXspanr)r)hjr)jjr)hjr)jXspanr)r)jjr)jXclassr)r)jnjr)jX"name"r)r)hjr)jX privileger)r)hjr)hjr)jXspanr)r)hjr)jX ) r)r*hjr*jXspanr*r*jjr*jXclassr*r*jnjr*jX"name"r*r *hjr *jjr *hjr *hjr *jXspanr*r*hjr*jjr*hjr*jXspanr*r*e(jjr*jXclassr*r*jnjr*jX"op"r*r*hjr*jjr*hjr*hjr*jXspanr*r *hjr!*jjr"*hjr#*jXspanr$*r%*jjr&*jXclassr'*r(*jnjr)*jX"bn bn-pseudo"r**r+*hjr,*jXselfr-*r.*hjr/*hjr0*jXspanr1*r2*hjr3*jjr4*hjr5*jXspanr6*r7*jjr8*jXclassr9*r:*jnjr;*jX"name"r<*r=*hjr>*jXctxr?*r@*hjrA*hjrB*jXspanrC*rD*hjrE*jjrF*hjrG*jXspanrH*rI*jjrJ*jXclassrK*rL*jnjrM*jX"name"rN*rO*hjrP*jXenginerQ*rR*hjrS*hjrT*jXspanrU*rV*hjrW*jjrX*hjrY*jXspanrZ*r[*jjr\*jXclassr]*r^*jnjr_*jX"name"r`*ra*hjrb*jXexecuterc*rd*hjre*hjrf*jXspanrg*rh*hjri*jjrj*hjrk*jXspanrl*rm*jjrn*jXclassro*rp*jnjrq*jX"name"rr*rs*hjrt*jXmetaru*rv*hjrw*hjrx*jXspanry*rz*hjr{*jjr|*hjr}*jXspanr~*r*jjr*jXclassr*r*jnjr*jX"name"r*r*hjr*jXselectr*r*hjr*hjr*jXspanr*r*hjr*jX([r*r*hjr*jXspanr*r*jjr*jXclassr*r*jnjr*jX"name"r*r*hjr*jX acl_mappingr*r*hjr*hjr*jXspanr*r*hjr*jjr*hjr*jXspanr*r*jjr*jXclassr*r*jnjr*jX"name"r*r*hjr*jj<r*hjr*hjr*jXspanr*r*hjr*jjr*hjr*jXspanr*r*jjr*jXclassr*r*jnjr*jX"name"r*r*hjr*jXstater*r*hjr*hjr*jXspanr*r*hjr*jX], (r*r*hjr*jXspanr*r*jjr*jXclassr*r*jnjr*jX"name"r*r*hjr*jX acl_mappingr*r*hjr*hjr*jXspanr*r*hjr*jjr*hjr*jXspanr*r*jjr*jXclassr*r*jnjr*jX"name"r*r*hjr*jj<r*hjr*hjr*jXspanr*r*hjr*jjr*hjr*jXspanr*r*jjr*jXclassr*r*jnjr*jX"name"r*r*hjr*jXpriv_idr*r*hjr*hjr*jXspanr*r*hjr*jjr*hjr*jXspanr*r*jjr*jXclassr*r+jnjr+jX"op"r+r+hjr+jX==r+r+hjr+hjr+jXspanr +r +hjr +jjr +hjr +jXspanr+r+jjr+jXclassr+r+jnjr+jX"name"r+r+hjr+jXpriv_idr+r+hjr+hjr+jXspanr+r+hjr+jX) r+r+hjr +jXspanr!+r"+jjr#+jXclassr$+r%+jnjr&+jX"op"r'+r(+hjr)+j1X&r*+r++hjr,+hjr-+jXspanr.+r/+hjr0+jX (r1+r2+hjr3+jXspanr4+r5+jjr6+jXclassr7+r8+jnjr9+jX"name"r:+r;+hjr<+jX acl_mappingr=+r>+hjr?+hjr@+jXspanrA+rB+hjrC+jjrD+hjrE+jXspanrF+rG+jjrH+jXclassrI+rJ+jnjrK+jX"name"rL+rM+hjrN+jj<rO+hjrP+hjrQ+jXspanrR+rS+hjrT+jjrU+hjrV+jXspanrW+rX+jjrY+jXclassrZ+r[+jnjr\+jX"name"r]+r^+hjr_+jX subject_idr`+ra+hjrb+hjrc+jXspanrd+re+hjrf+jjrg+hjrh+jXspanri+rj+jjrk+jXclassrl+rm+jnjrn+jX"op"ro+rp+hjrq+jX==rr+rs+hjrt+hjru+jXspanrv+rw+hjrx+jjry+hjrz+jXspanr{+r|+jjr}+jXclassr~+r+jnjr+jX"bn bn-pseudo"r+r+hjr+jXselfr+r+hjr+hjr+jXspanr+r+hjr+jjr+hjr+jXspanr+r+jjr+jXclassr+r+jnjr+jX"name"r+r+hjr+jXsubjectr+r+hjr+hjr+jXspanr+r+hjr+jjr+hjr+jXspanr+r+jjr+jXclassr+r+jnjr+jX"name"r+r+hjr+jX subject_idr+r+hjr+hjr+jXspanr+r+hjr+jX) r+r+hjr+jXspanr+r+jjr+jXclassr+r+jnjr+jX"op"r+r+hjr+j1X&r+r+hjr+hjr+jXspanr+r+hjr+jX (r+r+hjr+jXspanr+r+jjr+jXclassr+r+jnjr+jX"name"r+r+hjr+jX acl_mappingr+r+hjr+hjr+jXspanr+r+hjr+jjr+hjr+jXspanr+r+jjr+jXclassr+r+jnjr+jX"name"r+r+hjr+jj<r+hjr+hjr+jXspanr+r+hjr+jjr+hjr+jXspanr+r+jjr+jXclassr+r+jnjr+jX"name"r+r+hjr+jX object_idr+r+hjr+hjr+jXspanr+r+hjr+jjr+hjr+jXspanr+r+jjr+jXclassr+r+jnjr+jX"op"r,r,hjr,jX==r,r,hjr,hjr,jXspanr,r,hjr ,jjr ,hjr ,jXspanr ,r ,jjr,jXclassr,r,jnjr,jX"name"r,r,hjr,jXobjr,r,hjr,hjr,jXspanr,r,hjr,jjr,hjr,jXspanr,r,jjr ,jXclassr!,r",jnjr#,jX"name"r$,r%,hjr&,jX object_idr',r(,hjr),hjr*,jXspanr+,r,,hjr-,jX) )) r.,r/,hjr0,jXspanr1,r2,jjr3,jXclassr4,r5,jnjr6,jX"name"r7,r8,hjr9,jXrowr:,r;,hjr<,hjr=,jXspanr>,r?,hjr@,jjrA,hjrB,jXspanrC,rD,jjrE,jXclassrF,rG,jnjrH,jX"op"rI,rJ,hjrK,jjrL,hjrM,hjrN,jXspanrO,rP,hjrQ,jjrR,hjrS,jXspanrT,rU,jjrV,jXclassrW,rX,jnjrY,jX"name"rZ,r[,hjr\,jjr],hjr^,hjr_,jXspanr`,ra,hjrb,jjrc,hjrd,jXspanre,rf,jjrg,jXclassrh,ri,jnjrj,jX"name"rk,rl,hjrm,jXfetchonern,ro,hjrp,hjrq,jXspanrr,rs,hjrt,jX () ru,rv,hjrw,jXspanrx,ry,jjrz,jXclassr{,r|,jnjr},jX"kw"r~,r,hjr,jXifr,r,hjr,hjr,jXspanr,r,hjr,jjr,hjr,jXspanr,r,jjr,jXclassr,r,jnjr,jX"name"r,r,hjr,jXrowr,r,hjr,hjr,jXspanr,r,hjr,jjr,hjr,jXspanr,r,jjr,jXclassr,r,jnjr,jX "op op-word"r,r,hjr,jXisr,r,hjr,hjr,jXspanr,r,hjr,jjr,hjr,jXspanr,r,jjr,jXclassr,r,jnjr,jX "op op-word"r,r,hjr,jXnotr,r,hjr,hjr,jXspanr,r,hjr,jjr,hjr,jXspanr,r,jjr,jXclassr,r,jnjr,jX"bn bn-pseudo"r,r,hjr,jXNoner,r,hjr,hjr,jXspanr,r,hjr,jX: r,r,hjr,jXspanr,r,jjr,jXclassr,r,jnjr,jX"cm"r,r,hjr,jX# this rule exists alreadyr,r,hjr,hjr,jXspanr,r,hjr,jX r,r,hjr,jXspanr,r,jjr,jXclassr,r,jnjr,jX"kw"r,r,hjr,jXifr,r,hjr,hjr,jXspanr,r,hjr,jjr,hjr,jXspanr,r,jjr,jXclassr,r,jnjr,jX"name"r,r,hjr-jXrowr-r-hjr-hjr-jXspanr-r-hjr-jjr-hjr -jXspanr -r -jjr -jXclassr -r-jnjr-jX "st st-sg"r-r-hjr-j1X'r-r-hjr-hjr-jXspanr-r-hjr-hjr-jXspanr-r-jjr-jXclassr-r-jnjr -jX"st"r!-r"-hjr#-jXstater$-r%-hjr&-hjr'-jXspanr(-r)-hjr*-hjr+-jXspanr,-r--jjr.-jXclassr/-r0-jnjr1-jX "st st-sg"r2-r3-hjr4-j1X'r5-r6-hjr7-hjr8-jXspanr9-r:-hjr;-jX] r<-r=-hjr>-jXspanr?-r@-jjrA-jXclassrB-rC-jnjrD-jX"op"rE-rF-hjrG-jX==rH-rI-hjrJ-hjrK-jXspanrL-rM-hjrN-jjrO-hjrP-jXspanrQ-rR-jjrS-jXclassrT-rU-jnjrV-jX"name"rW-rX-hjrY-jXstaterZ-r[-hjr\-hjr]-jXspanr^-r_-hjr`-jX: ra-rb-hjrc-jXspanrd-re-jjrf-jXclassrg-rh-jnjri-jX"kw"rj-rk-hjrl-jXreturnrm-rn-hjro-hjrp-jXspanrq-rr-hjrs-jX rt-ru-hjrv-jXspanrw-rx-jjry-jXclassrz-r{-jnjr|-jX"cm"r}-r~-hjr-jX8# goddamn, same rule - different state, delete old firstr-r-hjr-hjr-jXspanr-r-hjr-jX r-r-hjr-jXspanr-r-jjr-jXclassr-r-jnjr-jX"bn bn-pseudo"r-r-hjr-jXselfr-r-hjr-hjr-jXspanr-r-hjr-jjr-hjr-jXspanr-r-jjr-jXclassr-r-jnjr-jX"name"r-r-hjr-jX_setr-r-hjr-hjr-jXspanr-r-hjr-jjr-hjr-jXspanr-r-jjr-jXclassr-r-jnjr-jX"name"r-r-hjr-jX privileger-r-hjr-hjr-jXspanr-r-hjr-jX, r-r-hjr-jXspanr-r-jjr-jXclassr-r-jnjr-jX"name"r-r-hjr-jXobjr-r-hjr-hjr-jXspanr-r-hjr-jX, r-r-hjr-jXspanr-r-jjr-jXclassr-r-jnjr-jX "nb nb-int"r-r-hjr-jjYr-hjr-hjr-jXspanr-r-hjr-jX ) r-r-hjr-jXspanr-r-jjr-jXclassr-r-jnjr-jX"cm"r-r-hjr-jX# insert new ruler-r-hjr-hjr-jXspanr-r-hjr-jX r-r-hjr-jXspanr-r-jjr-jXclassr-r-jnjr-jX"bn bn-pseudo"r-r.hjr.jXselfr.r.hjr.hjr.jXspanr.r.hjr.jjr .hjr .jXspanr .r .jjr .jXclassr.r.jnjr.jX"name"r.r.hjr.jXctxr.r.hjr.hjr.jXspanr.r.hjr.jjr.hjr.jXspanr.r.jjr.jXclassr .r!.jnjr".jX"name"r#.r$.hjr%.jXenginer&.r'.hjr(.hjr).jXspanr*.r+.hjr,.jjr-.hjr..jXspanr/.r0.jjr1.jXclassr2.r3.jnjr4.jX"name"r5.r6.hjr7.jXexecuter8.r9.hjr:.hjr;.jXspanr<.r=.hjr>.jjr?.hjr@.jXspanrA.rB.jjrC.jXclassrD.rE.jnjrF.jX"name"rG.rH.hjrI.jX acl_mappingrJ.rK.hjrL.hjrM.jXspanrN.rO.hjrP.jjrQ.hjrR.jXspanrS.rT.jjrU.jXclassrV.rW.jnjrX.jX"name"rY.rZ.hjr[.jXinsertr\.r].hjr^.hjr_.jXspanr`.ra.hjrb.jX(), rc.rd.hjre.jXspanrf.rg.jjrh.jXclassri.rj.jnjrk.jX"name"rl.rm.hjrn.jXpriv_idro.rp.hjrq.hjrr.jXspanrs.rt.hjru.jjrv.hjrw.jXspanrx.ry.jjrz.jXclassr{.r|.jnjr}.jX"op"r~.r.hjr.jjr.hjr.hjr.jXspanr.r.hjr.jjr.hjr.jXspanr.r.jjr.jXclassr.r.jnjr.jX"name"r.r.hjr.jXpriv_idr.r.hjr.hjr.jXspanr.r.hjr.jX, r.r.hjr.jXspanr.r.jjr.jXclassr.r.jnjr.jX"name"r.r.hjr.jX subject_idr.r.hjr.hjr.jXspanr.r.hjr.jjr.hjr.jXspanr.r.jjr.jXclassr.r.jnjr.jX"op"r.r.hjr.jjr.hjr.hjr.jXspanr.r.hjr.jjr.hjr.jXspanr.r.jjr.jXclassr.r.jnjr.jX"bn bn-pseudo"r.r.hjr.jXselfr.r.hjr.hjr.jXspanr.r.hjr.jjr.hjr.jXspanr.r.jjr.jXclassr.r.jnjr.jX"name"r.r.hjr.jXsubjectr.r.hjr.hjr.jXspanr.r.hjr.jjr.hjr.jXspanr.r.jjr.jXclassr.r.jnjr.jX"name"r.r.hjr.jX subject_idr.r.hjr.hjr.jXspanr.r.hjr.jX, r.r.hjr.jXspanr.r.jjr.jXclassr.r.jnjr.jX"name"r.r.hjr.jX object_idr.r/hjr/hjr/jXspanr/r/hjr/jjr/hjr/jXspanr/r /jjr /jXclassr /r /jnjr /jX"op"r/r/hjr/jjr/hjr/hjr/jXspanr/r/hjr/jjr/hjr/jXspanr/r/jjr/jXclassr/r/jnjr/jX"name"r/r /hjr!/jXobjr"/r#/hjr$/hjr%/jXspanr&/r'/hjr(/jjr)/hjr*/jXspanr+/r,/jjr-/jXclassr./r//jnjr0/jX"name"r1/r2/hjr3/jX object_idr4/r5/hjr6/hjr7/jXspanr8/r9/hjr:/jX, r;/r/r?/jjr@/jXclassrA/rB/jnjrC/jX"name"rD/rE/hjrF/jXstaterG/rH/hjrI/hjrJ/jXspanrK/rL/hjrM/jjrN/hjrO/jXspanrP/rQ/jjrR/jXclassrS/rT/jnjrU/jX"op"rV/rW/hjrX/jjrY/hjrZ/hjr[/jXspanr\/r]/hjr^/jjr_/hjr`/jXspanra/rb/jjrc/jXclassrd/re/jnjrf/jX"name"rg/rh/hjri/jXstaterj/rk/hjrl/hjrm/jXspanrn/ro/hjrp/jX ) rq/rr/hjrs/jXspanrt/ru/jjrv/jXclassrw/rx/jnjry/jX"kw"rz/r{/hjr|/jXdef r}/r~/hjr/hjr/jXspanr/r/hjr/hjr/jXspanr/r/jjr/jXclassr/r/e(jnjr/jX"fun"r/r/hjr/jX _bootstrapr/r/hjr/hjr/jXspanr/r/hjr/jjr/hjr/jXspanr/r/jjr/jXclassr/r/jnjr/jX"bn bn-pseudo"r/r/hjr/jXselfr/r/hjr/hjr/jXspanr/r/hjr/jX ): r/r/hjr/jXspanr/r/jjr/jXclassr/r/jnjr/jX "st st-db"r/r/hjr/j1X"r/r/j1X"r/r/j1X"r/r/hjr/hjr/jXspanr/r/hjr/hjr/jXspanr/r/jjr/jXclassr/r/jnjr/jX"st"r/r/hjr/jXbThis method is automatically called when subject_id is None and an subject_id is required.r/r/hjr/hjr/jXspanr/r/hjr/hjr/jXspanr/r/jjr/jXclassr/r/jnjr/jX "st st-db"r/r/hjr/j1X"r/r/j1X"r/r/j1X"r/r/hjr/hjr/jXspanr/r/hjr/jX r/r/hjr/jXspanr/r/jjr/jXclassr/r/jnjr/jX"name"r/r/hjr/jjr/hjr/hjr/jXspanr/r/hjr/jjr/hjr/jXspanr/r/jjr/jXclassr/r/jnjr/jX"op"r/r/hjr0jjr0hjr0hjr0jXspanr0r0hjr0jjr0hjr0jXspanr 0r 0jjr 0jXclassr 0r 0jnjr0jX"bn bn-pseudo"r0r0hjr0jXselfr0r0hjr0hjr0jXspanr0r0hjr0jjr0hjr0jXspanr0r0jjr0jXclassr0r0jnjr 0jX"name"r!0r"0hjr#0jXctxr$0r%0hjr&0hjr'0jXspanr(0r)0hjr*0jjr+0hjr,0jXspanr-0r.0jjr/0jXclassr00r10jnjr20jX"name"r30r40hjr50jXenginer60r70hjr80hjr90jXspanr:0r;0hjr<0jjr=0hjr>0jXspanr?0r@0jjrA0jXclassrB0rC0jnjrD0jX"name"rE0rF0hjrG0jXexecuterH0rI0hjrJ0hjrK0jXspanrL0rM0hjrN0jjrO0hjrP0jXspanrQ0rR0jjrS0jXclassrT0rU0jnjrV0jX"name"rW0rX0hjrY0jX acl_subjectsrZ0r[0hjr\0hjr]0jXspanr^0r_0hjr`0jjra0hjrb0jXspanrc0rd0jjre0jXclassrf0rg0jnjrh0jX"name"ri0rj0hjrk0jXinsertrl0rm0hjrn0hjro0jXspanrp0rq0hjrr0jX(), rs0rt0hjru0jXspanrv0rw0jjrx0jXclassry0rz0jnjr{0jX"name"r|0r}0hjr~0jX subject_typer0r0hjr0hjr0jXspanr0r0hjr0jjr0hjr0jXspanr0r0jjr0jXclassr0r0jnjr0jX"op"r0r0hjr0jjr0hjr0hjr0jXspanr0r0hjr0jjr0hjr0jXspanr0r0jjr0jXclassr0r0jnjr0jX"bn bn-pseudo"r0r0hjr0jXselfr0r0hjr0hjr0jXspanr0r0hjr0jjr0hjr0jXspanr0r0jjr0jXclassr0r0jnjr0jX"name"r0r0hjr0jX_typer0r0hjr0hjr0jXspanr0r0hjr0jX ) r0r0hjr0jXspanr0r0jjr0jXclassr0r0jnjr0jX"bn bn-pseudo"r0r0hjr0jXselfr0r0hjr0hjr0jXspanr0r0hjr0jjr0hjr0jXspanr0r0jjr0jXclassr0r0jnjr0jX"name"r0r0hjr0jXsubjectr0r0hjr0hjr0jXspanr0r0hjr0jjr0hjr0jXspanr0r0jjr0jXclassr0r0jnjr0jX"name"r0r0hjr0jX subject_idr0r0hjr0hjr0jXspanr0r0hjr0jjr0hjr0jXspanr0r0jjr0jXclassr0r0jnjr0jX"op"r0r0hjr0jjr0hjr0hjr0jXspanr1r1hjr1jjr1hjr1jXspanr1r1jjr1jXclassr1r 1jnjr 1jX"name"r 1r 1hjr 1jjr1hjr1hjr1jXspanr1r1hjr1jjr1hjr1jXspanr1r1jjr1jXclassr1r1jnjr1jX"name"r1r1hjr1jXlast_inserted_idsr1r 1hjr!1hjr"1jXspanr#1r$1hjr%1jX()[r&1r'1hjr(1jXspanr)1r*1jjr+1jXclassr,1r-1jnjr.1jX "nb nb-int"r/1r01hjr11jjYr21hjr31hjr41jXspanr51r61hjr71jX ] r81r91hjr:1jXspanr;1r<1jjr=1jXclassr>1r?1jnjr@1jX"bn bn-pseudo"rA1rB1hjrC1jXselfrD1rE1hjrF1hjrG1jXspanrH1rI1hjrJ1jjrK1hjrL1jXspanrM1rN1jjrO1jXclassrP1rQ1jnjrR1jX"name"rS1rT1hjrU1jXsubjectrV1rW1hjrX1hjrY1jXspanrZ1r[1hjr\1jjr]1hjr^1jXspanr_1r`1jjra1jXclassrb1rc1jnjrd1jX"name"re1rf1hjrg1jXsaverh1ri1hjrj1hjrk1jXspanrl1rm1hjrn1jX() ro1rp1hjrq1jXspanrr1rs1jjrt1jXclassru1rv1jnjrw1jX"kw"rx1ry1hjrz1jXdef r{1r|1hjr}1hjr~1jXspanr1r1hjr1hjr1jXspanr1r1jjr1jXclassr1r1jnjr1jX"fun"r1r1hjr1jX_bootstrap_objectr1r1hjr1hjr1jXspanr1r1hjr1jjr1hjr1jXspanr1r1jjr1jXclassr1r1jnjr1jX"bn bn-pseudo"r1r1hjr1jXselfr1r1hjr1hjr1jXspanr1r1hjr1jX, r1r1hjr1jXspanr1r1jjr1jXclassr1r1jnjr1jX"name"r1r1hjr1jXobjr1r1hjr1hjr1jXspanr1r1hjr1jX ): r1r1hjr1jXspanr1r1jjr1jXclassr1r1jnjr1jX "st st-db"r1r1hjr1j1X"r1r1j1X"r1r1j1X"r1r1hjr1hjr1jXspanr1r1hjr1hjr1jXspanr1r1jjr1jXclassr1r1jnjr1jX"st"r1r1hjr1jX&Like _bootstrap but works for objects.r1r1hjr1hjr1jXspanr1r1hjr1hjr1jXspanr1r1jjr1jXclassr1r1jnjr1jX "st st-db"r1r1hjr1j1X"r1r1j1X"r1r1j1X"r1r1hjr1hjr1jXspanr1r1hjr1jX r1r1hjr1jXspanr1r1jjr1jXclassr1r1jnjr1jX"name"r1r1hjr2jXobjtyper2r2hjr2hjr2jXspanr2r2hjr2jjr2hjr 2jXspanr 2r 2jjr 2jXclassr 2r2jnjr2jX"op"r2r2hjr2jjr2hjr2hjr2jXspanr2r2hjr2jjr2hjr2jXspanr2r2jjr2jXclassr2r2jnjr 2jX"bn bn-pseudo"r!2r"2hjr#2jXselfr$2r%2hjr&2hjr'2jXspanr(2r)2hjr*2jjr+2hjr,2jXspanr-2r.2jjr/2jXclassr02r12jnjr22jX"name"r32r42hjr52jX_get_object_typer62r72hjr82hjr92jXspanr:2r;2hjr<2jjr=2hjr>2jXspanr?2r@2jjrA2jXclassrB2rC2jnjrD2jX"name"rE2rF2hjrG2jXobjrH2rI2hjrJ2hjrK2jXspanrL2rM2hjrN2jX ) rO2rP2hjrQ2jXspanrR2rS2jjrT2jXclassrU2rV2jnjrW2jX"name"rX2rY2hjrZ2jjr[2hjr\2hjr]2jXspanr^2r_2hjr`2jjra2hjrb2jXspanrc2rd2jjre2jXclassrf2rg2jnjrh2jX"op"ri2rj2hjrk2jjrl2hjrm2hjrn2jXspanro2rp2hjrq2jjrr2hjrs2jXspanrt2ru2jjrv2jXclassrw2rx2jnjry2jX"bn bn-pseudo"rz2r{2hjr|2jXselfr}2r~2hjr2hjr2jXspanr2r2hjr2jjr2hjr2jXspanr2r2jjr2jXclassr2r2jnjr2jX"name"r2r2hjr2jXctxr2r2hjr2hjr2jXspanr2r2hjr2jjr2hjr2jXspanr2r2jjr2jXclassr2r2jnjr2jX"name"r2r2hjr2jXenginer2r2hjr2hjr2jXspanr2r2hjr2jjr2hjr2jXspanr2r2jjr2jXclassr2r2jnjr2jX"name"r2r2hjr2jXexecuter2r2hjr2hjr2jXspanr2r2hjr2jjr2hjr2jXspanr2r2jjr2jXclassr2r2jnjr2jX"name"r2r2hjr2jX acl_objectsr2r2hjr2hjr2jXspanr2r2hjr2jjr2hjr2jXspanr2r2jjr2jXclassr2r2jnjr2jX"name"r2r2hjr2jXinsertr2r2hjr2hjr2jXspanr2r2hjr2jX(), r2r2hjr2jXspanr2r2jjr2jXclassr2r2jnjr2jX"name"r2r2hjr2jX object_typer2r2hjr2hjr2jXspanr2r2hjr2jjr2hjr2jXspanr2r2jjr2jXclassr2r2jnjr2jX"op"r2r2hjr2jjr2hjr2hjr2jXspanr2r3hjr3jjr3hjr3jXspanr3r3jjr3jXclassr3r3jnjr 3jX"name"r 3r 3hjr 3jXobjtyper 3r3hjr3hjr3jXspanr3r3hjr3jX ) r3r3hjr3jXspanr3r3jjr3jXclassr3r3jnjr3jX"name"r3r3hjr3jXobjr 3r!3hjr"3hjr#3jXspanr$3r%3hjr&3jjr'3hjr(3jXspanr)3r*3jjr+3jXclassr,3r-3jnjr.3jX"name"r/3r03hjr13jX object_idr23r33hjr43hjr53jXspanr63r73hjr83jjr93hjr:3jXspanr;3r<3jjr=3jXclassr>3r?3jnjr@3jX"op"rA3rB3hjrC3jjrD3hjrE3hjrF3jXspanrG3rH3hjrI3jjrJ3hjrK3jXspanrL3rM3jjrN3jXclassrO3rP3jnjrQ3jX"name"rR3rS3hjrT3jjrU3hjrV3hjrW3jXspanrX3rY3hjrZ3jjr[3hjr\3jXspanr]3r^3jjr_3jXclassr`3ra3jnjrb3jX"name"rc3rd3hjre3jXlast_inserted_idsrf3rg3hjrh3hjri3jXspanrj3rk3hjrl3jX()[rm3rn3hjro3jXspanrp3rq3jjrr3jXclassrs3rt3jnjru3jX "nb nb-int"rv3rw3hjrx3jjYry3hjrz3hjr{3jXspanr|3r}3hjr~3jX ] r3r3hjr3jXspanr3r3jjr3jXclassr3r3jnjr3jX"name"r3r3hjr3jXobjr3r3hjr3hjr3jXspanr3r3hjr3jjr3hjr3jXspanr3r3jjr3jXclassr3r3jnjr3jX"name"r3r3hjr3jXsaver3r3hjr3hjr3jXspanr3r3hjr3jX() r3r3hjr3jXspanr3r3jjr3jXclassr3r3jnjr3jX"kw"r3r3hjr3jXdef r3r3hjr3hjr3jXspanr3r3hjr3hjr3jXspanr3r3jjr3jXclassr3r3jnjr3jX"fun"r3r3hjr3jX_get_object_typer3r3hjr3hjr3jXspanr3r3hjr3jjr3hjr3jXspanr3r3jjr3jXclassr3r3jnjr3jX"bn bn-pseudo"r3r3hjr3jXselfr3r3hjr3hjr3jXspanr3r3hjr3jX, r3r3hjr3jXspanr3r3jjr3jXclassr3r3jnjr3jX"name"r3r3hjr3jXobjr3r3hjr3hjr3jXspanr3r3hjr3jX ): r3r3hjr3jXspanr3r3jjr3jXclassr3r3jnjr3jX"kw"r3r3hjr3jXifr3r3hjr3hjr3jXspanr3r3hjr3jjr4hjr4jXspanr4r4jjr4jXclassr4r4jnjr4jX"bn"r4r 4hjr 4jX isinstancer 4r 4hjr 4hjr4jXspanr4r4hjr4jjr4hjr4jXspanr4r4jjr4jXclassr4r4jnjr4jX"name"r4r4hjr4jXobjr4r4hjr4hjr 4jXspanr!4r"4hjr#4jX, r$4r%4hjr&4jXspanr'4r(4jjr)4jXclassr*4r+4jnjr,4jX"name"r-4r.4hjr/4jXForumr04r14hjr24hjr34jXspanr44r54hjr64jX): r74r84hjr94jXspanr:4r;4jjr<4jXclassr=4r>4jnjr?4jX"kw"r@4rA4hjrB4jXreturnrC4rD4hjrE4hjrF4jXspanrG4rH4hjrI4jjrJ4hjrK4jXspanrL4rM4jjrN4jXclassrO4rP4jnjrQ4jX "st st-sg"rR4rS4hjrT4j1X'rU4rV4hjrW4hjrX4jXspanrY4rZ4hjr[4hjr\4jXspanr]4r^4jjr_4jXclassr`4ra4jnjrb4jX"st"rc4rd4hjre4jXforumrf4rg4hjrh4hjri4jXspanrj4rk4hjrl4hjrm4jXspanrn4ro4jjrp4jXclassrq4rr4jnjrs4jX "st st-sg"rt4ru4hjrv4j1X'rw4rx4hjry4hjrz4jXspanr{4r|4hjr}4jX r~4r4hjr4jXspanr4r4jjr4jXclassr4r4jnjr4jX"kw"r4r4hjr4jXelifr4r4hjr4hjr4jXspanr4r4hjr4jjr4hjr4jXspanr4r4jjr4jXclassr4r4jnjr4jX"bn"r4r4hjr4jX isinstancer4r4hjr4hjr4jXspanr4r4hjr4jjr4hjr4jXspanr4r4jjr4jXclassr4r4jnjr4jX"name"r4r4hjr4jXobjr4r4hjr4hjr4jXspanr4r4hjr4jX, r4r4hjr4jXspanr4r4jjr4jXclassr4r4jnjr4jX"name"r4r4hjr4jXThreadr4r4hjr4hjr4jXspanr4r4hjr4jX): r4r4hjr4jXspanr4r4jjr4jXclassr4r4jnjr4jX"kw"r4r4hjr4jXreturnr4r4hjr4hjr4jXspanr4r4hjr4jjr4hjr4jXspanr4r4jjr4jXclassr4r4jnjr4jX "st st-sg"r4r4hjr4j1X'r4r4hjr4hjr4jXspanr4r4hjr4hjr4jXspanr4r4jjr4jXclassr4r4jnjr4jX"st"r4r4hjr4jXthreadr4r4hjr4hjr4jXspanr4r4hjr4hjr4jXspanr4r5jjr5jXclassr5r5jnjr5e(jX "st st-sg"r5r5hjr5j1X'r5r 5hjr 5hjr 5jXspanr 5r 5hjr5jX r5r5hjr5jXspanr5r5jjr5jXclassr5r5jnjr5jX"kw"r5r5hjr5jXelifr5r5hjr5hjr5jXspanr5r 5hjr!5jjr"5hjr#5jXspanr$5r%5jjr&5jXclassr'5r(5jnjr)5jX"name"r*5r+5hjr,5jXobjr-5r.5hjr/5hjr05jXspanr15r25hjr35jjr45hjr55jXspanr65r75jjr85jXclassr95r:5jnjr;5jX "op op-word"r<5r=5hjr>5jXisr?5r@5hjrA5hjrB5jXspanrC5rD5hjrE5jjrF5hjrG5jXspanrH5rI5jjrJ5jXclassrK5rL5jnjrM5jX"name"rN5rO5hjrP5jXSiterQ5rR5hjrS5hjrT5jXspanrU5rV5hjrW5jX: rX5rY5hjrZ5jXspanr[5r\5jjr]5jXclassr^5r_5jnjr`5jX"kw"ra5rb5hjrc5jXreturnrd5re5hjrf5hjrg5jXspanrh5ri5hjrj5jjrk5hjrl5jXspanrm5rn5jjro5jXclassrp5rq5jnjrr5jX "st st-sg"rs5rt5hjru5j1X'rv5rw5hjrx5hjry5jXspanrz5r{5hjr|5hjr}5jXspanr~5r5jjr5jXclassr5r5jnjr5jX"st"r5r5hjr5jXsiter5r5hjr5hjr5jXspanr5r5hjr5hjr5jXspanr5r5jjr5jXclassr5r5jnjr5jX "st st-sg"r5r5hjr5j1X'r5r5hjr5hjr5jXspanr5r5hjr5jX r5r5hjr5jXspanr5r5jjr5jXclassr5r5jnjr5jX"kw"r5r5hjr5jXraiser5r5hjr5hjr5jXspanr5r5hjr5jjr5hjr5jXspanr5r5jjr5jXclassr5r5jnjr5jX"exc"r5r5hjr5jX TypeErrorr5r5hjr5hjr5jXspanr5r5hjr5jjr5hjr5jXspanr5r5jjr5jXclassr5r5jnjr5jX "st st-sg"r5r5hjr5j1X'r5r5hjr5hjr5jXspanr5r5hjr5hjr5jXspanr5r5jjr5jXclassr5r5jnjr5jX"st"r5r5hjr5jXobj isnr5r5hjr5hjr5jXspanr5r5hjr5hjr5jXspanr5r5jjr5jXclassr5r5jnjr5jX "st st-esc"r5r5hjr5jX\r5r5j1X'r5r5hjr5hjr5jXspanr5r5hjr5hjr5jXspanr5r5jjr5jXclassr5r5jnjr6jX"st"r6r6hjr6jXt a forum or threadr6r6hjr6hjr6jXspanr6r 6hjr 6hjr 6jXspanr 6r 6jjr6jXclassr6r6jnjr6jX "st st-sg"r6r6hjr6j1X'r6r6hjr6hjr6jXspanr6r6hjr6jX) r6r6hjr6jXspanr6r 6jjr!6jXclassr"6r#6jnjr$6jX"kw"r%6r&6hjr'6jXdef r(6r)6hjr*6hjr+6jXspanr,6r-6hjr.6hjr/6jXspanr06r16jjr26jXclassr36r46jnjr56jX"fun"r66r76hjr86jX_get_object_joinr96r:6hjr;6hjr<6jXspanr=6r>6hjr?6jjr@6hjrA6jXspanrB6rC6jjrD6jXclassrE6rF6jnjrG6jX"bn bn-pseudo"rH6rI6hjrJ6jXselfrK6rL6hjrM6hjrN6jXspanrO6rP6hjrQ6jX, rR6rS6hjrT6jXspanrU6rV6jjrW6jXclassrX6rY6jnjrZ6jX"name"r[6r\6hjr]6jXobjr^6r_6hjr`6hjra6jXspanrb6rc6hjrd6jX ): re6rf6hjrg6jXspanrh6ri6jjrj6jXclassrk6rl6jnjrm6jX "st st-db"rn6ro6hjrp6j1X"rq6rr6j1X"rs6rt6j1X"ru6rv6hjrw6hjrx6jXspanry6rz6hjr{6hjr|6jXspanr}6r~6jjr6jXclassr6r6jnjr6jX"st"r6r6hjr6jX$Returns a subjoin for the object id.r6r6hjr6hjr6jXspanr6r6hjr6hjr6jXspanr6r6jjr6jXclassr6r6jnjr6jX "st st-db"r6r6hjr6j1X"r6r6j1X"r6r6j1X"r6r6hjr6hjr6jXspanr6r6hjr6jX r6r6hjr6jXspanr6r6jjr6jXclassr6r6jnjr6jX"name"r6r6hjr6jXtr6r6hjr6hjr6jXspanr6r6hjr6jjr6hjr6jXspanr6r6jjr6jXclassr6r6jnjr6jX"op"r6r6hjr6jjr6hjr6hjr6jXspanr6r6hjr6jjr6hjr6jXspanr6r6jjr6jXclassr6r6jnjr6jX"bn bn-pseudo"r6r6hjr6jXselfr6r6hjr6hjr6jXspanr6r6hjr6jjr6hjr6jXspanr6r6jjr6jXclassr6r6jnjr6jX"name"r6r6hjr6jX_get_object_typer6r6hjr6hjr6jXspanr6r6hjr6jjr6hjr6jXspanr6r6jjr6jXclassr6r6jnjr6jX"name"r6r6hjr6jXobjr6r6hjr6hjr6jXspanr6r6hjr6jX ) r6r6hjr6jXspanr6r7jjr7jXclassr7r7jnjr7jX"kw"r7r7hjr7jXifr7r 7hjr 7hjr 7jXspanr 7r 7hjr7jjr7hjr7jXspanr7r7jjr7jXclassr7r7jnjr7jX"name"r7r7hjr7jj6r7hjr7hjr7jXspanr7r7hjr7jjr 7hjr!7jXspanr"7r#7jjr$7jXclassr%7r&7jnjr'7jX"op"r(7r)7hjr*7jX==r+7r,7hjr-7hjr.7jXspanr/7r07hjr17jjr27hjr37jXspanr47r57jjr67jXclassr77r87jnjr97jX "st st-sg"r:7r;7hjr<7j1X'r=7r>7hjr?7hjr@7jXspanrA7rB7hjrC7hjrD7jXspanrE7rF7jjrG7jXclassrH7rI7jnjrJ7jX"st"rK7rL7hjrM7jXforumrN7rO7hjrP7hjrQ7jXspanrR7rS7hjrT7hjrU7jXspanrV7rW7jjrX7jXclassrY7rZ7jnjr[7jX "st st-sg"r\7r]7hjr^7j1X'r_7r`7hjra7hjrb7jXspanrc7rd7hjre7jX: rf7rg7hjrh7jXspanri7rj7jjrk7jXclassrl7rm7jnjrn7jX"kw"ro7rp7hjrq7jXreturnrr7rs7hjrt7hjru7jXspanrv7rw7hjrx7jjry7hjrz7jXspanr{7r|7jjr}7jXclassr~7r7jnjr7jX"name"r7r7hjr7jXmetar7r7hjr7hjr7jXspanr7r7hjr7jjr7hjr7jXspanr7r7jjr7jXclassr7r7jnjr7jX"name"r7r7hjr7jXselectr7r7hjr7hjr7jXspanr7r7hjr7jX([r7r7hjr7jXspanr7r7jjr7jXclassr7r7jnjr7jX"name"r7r7hjr7jXforumsr7r7hjr7hjr7jXspanr7r7hjr7jjr7hjr7jXspanr7r7jjr7jXclassr7r7jnjr7jX"name"r7r7hjr7jj<r7hjr7hjr7jXspanr7r7hjr7jjr7hjr7jXspanr7r7jjr7jXclassr7r7jnjr7jX"name"r7r7hjr7jX object_idr7r7hjr7hjr7jXspanr7r7hjr7jX], r7r7hjr7jXspanr7r7jjr7jXclassr7r7jnjr7jX"name"r7r7hjr7jXforumsr7r7hjr7hjr7jXspanr7r7hjr7jjr7hjr7jXspanr7r7jjr7jXclassr7r7jnjr7jX"name"r7r7hjr7jj<r7hjr7hjr7jXspanr7r7hjr7jjr7hjr7jXspanr7r7jjr7jXclassr7r7jnjr7jX"name"r7r8hjr8jXforum_idr8r8hjr8hjr8jXspanr8r8hjr8jjr 8hjr 8jXspanr 8r 8jjr 8jXclassr8r8jnjr8jX"op"r8r8hjr8jX==r8r8hjr8hjr8jXspanr8r8hjr8jjr8hjr8jXspanr8r8jjr8jXclassr 8r!8jnjr"8jX"name"r#8r$8hjr%8jXobjr&8r'8hjr(8hjr)8jXspanr*8r+8hjr,8jjr-8hjr.8jXspanr/8r08jjr18jXclassr28r38jnjr48jX"name"r58r68hjr78jXforum_idr88r98hjr:8hjr;8jXspanr<8r=8hjr>8jX ) r?8r@8hjrA8jXspanrB8rC8jjrD8jXclassrE8rF8jnjrG8jX"kw"rH8rI8hjrJ8jXelifrK8rL8hjrM8hjrN8jXspanrO8rP8hjrQ8jjrR8hjrS8jXspanrT8rU8jjrV8jXclassrW8rX8jnjrY8jX"name"rZ8r[8hjr\8jj6r]8hjr^8hjr_8jXspanr`8ra8hjrb8jjrc8hjrd8jXspanre8rf8jjrg8jXclassrh8ri8jnjrj8jX"op"rk8rl8hjrm8jX==rn8ro8hjrp8hjrq8jXspanrr8rs8hjrt8jjru8hjrv8jXspanrw8rx8jjry8jXclassrz8r{8jnjr|8jX "st st-sg"r}8r~8hjr8j1X'r8r8hjr8hjr8jXspanr8r8hjr8hjr8jXspanr8r8jjr8jXclassr8r8jnjr8jX"st"r8r8hjr8jXthreadr8r8hjr8hjr8jXspanr8r8hjr8hjr8jXspanr8r8jjr8jXclassr8r8jnjr8jX "st st-sg"r8r8hjr8j1X'r8r8hjr8hjr8jXspanr8r8hjr8jX: r8r8hjr8jXspanr8r8jjr8jXclassr8r8jnjr8jX"kw"r8r8hjr8jXreturnr8r8hjr8hjr8jXspanr8r8hjr8jjr8hjr8jXspanr8r8jjr8jXclassr8r8jnjr8jX"name"r8r8hjr8jXmetar8r8hjr8hjr8jXspanr8r8hjr8jjr8hjr8jXspanr8r8jjr8jXclassr8r8jnjr8jX"name"r8r8hjr8jXselectr8r8hjr8hjr8jXspanr8r8hjr8jX([r8r8hjr8jXspanr8r8jjr8jXclassr8r8jnjr8jX"name"r8r8hjr8jXpostsr8r8hjr8hjr8jXspanr8r8hjr8jjr8hjr8jXspanr8r8jjr8jXclassr8r8jnjr8jX"name"r8r8hjr8jj<r8hjr8hjr9jXspanr9r9hjr9jjr9hjr9jXspanr9r9jjr9jXclassr 9r 9jnjr 9jX"name"r 9r 9hjr9jX object_idr9r9hjr9hjr9jXspanr9r9hjr9jX], r9r9hjr9jXspanr9r9jjr9jXclassr9r9jnjr9jX"name"r9r 9hjr!9jXpostsr"9r#9hjr$9hjr%9jXspanr&9r'9hjr(9jjr)9hjr*9jXspanr+9r,9jjr-9jXclassr.9r/9jnjr09jX"name"r19r29hjr39jj<r49hjr59hjr69jXspanr79r89hjr99jjr:9hjr;9jXspanr<9r=9jjr>9jXclassr?9r@9jnjrA9jX"name"rB9rC9hjrD9jXpost_idrE9rF9hjrG9hjrH9jXspanrI9rJ9hjrK9jjrL9hjrM9jXspanrN9rO9jjrP9jXclassrQ9rR9jnjrS9jX"op"rT9rU9hjrV9jX==rW9rX9hjrY9hjrZ9jXspanr[9r\9hjr]9jjr^9hjr_9jXspanr`9ra9jjrb9jXclassrc9rd9jnjre9jX"name"rf9rg9hjrh9jXobjri9rj9hjrk9hjrl9jXspanrm9rn9hjro9jjrp9hjrq9jXspanrr9rs9jjrt9jXclassru9rv9jnjrw9jX"name"rx9ry9hjrz9jXpost_idr{9r|9hjr}9hjr~9jXspanr9r9hjr9jX ) r9r9hjr9jXspanr9r9jjr9jXclassr9r9jnjr9jX"kw"r9r9hjr9jXelser9r9hjr9hjr9jXspanr9r9hjr9jX: r9r9hjr9jXspanr9r9jjr9jXclassr9r9jnjr9jX"cm"r9r9hjr9jX# XXX: it works ^^r9r9hjr9hjr9jXspanr9r9hjr9jX r9r9hjr9jXspanr9r9jjr9jXclassr9r9jnjr9jX"cm"r9r9hjr9jX+# i really want something like meta.select(r9r9j1X'r9r9jX 0 as group_idr9r9j1X'r9r9jjr9hjr9hjr9jXspanr9r9hjr9jX r9r9hjr9jXspanr9r9jjr9jXclassr9r9jnjr9jX"kw"r9r9hjr9jXclass r9r9hjr9hjr9jXspanr9r9hjr9hjr9jXspanr9r9jjr9jXclassr9r9jnjr9jX"cls"r9r9hjr9jXFaker9r9hjr9hjr9jXspanr9r9hjr9jjr9hjr9jXspanr9r9jjr9jXclassr9r9jnjr9jX"bn"r9r9hjr9jXobjectr9r9hjr9hjr9jXspanr9r9hjr9jX): r9r9hjr9jXspanr9r9jjr9jXclassr9r9jnjr:jX"kw"r:r:hjr:jXdef r:r:hjr:hjr:jXspanr:r :hjr :hjr :jXspanr :r :jjr:jXclassr:r:jnjr:jX"fun"r:r:hjr:jXaliasr:r:hjr:hjr:jXspanr:r:hjr:jjr:hjr:jXspanr:r:jjr :jXclassr!:r":jnjr#:jX"bn bn-pseudo"r$:r%:hjr&:jXselfr':r(:hjr):hjr*:jXspanr+:r,:hjr-:jX, r.:r/:hjr0:jXspanr1:r2:jjr3:jXclassr4:r5:jnjr6:jX"name"r7:r8:hjr9:jXnr::r;:hjr<:hjr=:jXspanr>:r?:hjr@:jX): rA:rB:hjrC:jXspanrD:rE:jjrF:jXclassrG:rH:jnjrI:jX"kw"rJ:rK:hjrL:jXclass rM:rN:hjrO:hjrP:jXspanrQ:rR:hjrS:hjrT:jXspanrU:rV:jjrW:jXclassrX:rY:jnjrZ:jX"cls"r[:r\:hjr]:jX_Cr^:r_:hjr`:hjra:jXspanrb:rc:hjrd:jjre:hjrf:jXspanrg:rh:jjri:jXclassrj:rk:jnjrl:jX"bn"rm:rn:hjro:jXobjectrp:rq:hjrr:hjrs:jXspanrt:ru:hjrv:jX): rw:rx:hjry:jXspanrz:r{:jjr|:jXclassr}:r~:jnjr:jX"kw"r:r:hjr:jXclass r:r:hjr:hjr:jXspanr:r:e(hjr:hjr:jXspanr:r:jjr:jXclassr:r:jnjr:jX"cls"r:r:hjr:jj<r:hjr:hjr:jXspanr:r:hjr:jjr:hjr:jXspanr:r:jjr:jXclassr:r:jnjr:jX"bn"r:r:hjr:jXobjectr:r:hjr:hjr:jXspanr:r:hjr:jX): r:r:hjr:jXspanr:r:jjr:jXclassr:r:jnjr:jX"name"r:r:hjr:jX object_idr:r:hjr:hjr:jXspanr:r:hjr:jjr:hjr:jXspanr:r:jjr:jXclassr:r:jnjr:jX"op"r:r:hjr:jjr:hjr:hjr:jXspanr:r:hjr:jjr:hjr:jXspanr:r:jjr:jXclassr:r:jnjr:jX "nb nb-int"r:r:hjr:jjYr:hjr:hjr:jXspanr:r:hjr:jX r:r:hjr:jXspanr:r:jjr:jXclassr:r:jnjr:jX"kw"r:r:hjr:jXreturnr:r:hjr:hjr:jXspanr:r:hjr:jjr:hjr:jXspanr:r:jjr:jXclassr:r:jnjr:jX"name"r:r:hjr:jX_Cr:r;hjr;hjr;jXspanr;r;hjr;jX r;r;hjr;jXspanr ;r ;jjr ;jXclassr ;r ;jnjr;jX"kw"r;r;hjr;jXreturnr;r;hjr;hjr;jXspanr;r;hjr;jjr;hjr;jXspanr;r;jjr;jXclassr;r;jnjr ;jX"name"r!;r";hjr#;jXFaker$;r%;hjr&;hjr';jXspanr(;r);hjr*;jX() r+;r,;hjr-;jXspanr.;r/;jjr0;jXclassr1;r2;jnjr3;jX"kw"r4;r5;hjr6;jXdef r7;r8;hjr9;hjr:;jXspanr;;r<;hjr=;hjr>;jXspanr?;r@;jjrA;jXclassrB;rC;jnjrD;jX"fun"rE;rF;hjrG;jX_get_subject_joinrH;rI;hjrJ;hjrK;jXspanrL;rM;hjrN;jjrO;hjrP;jXspanrQ;rR;jjrS;jXclassrT;rU;jnjrV;jX"bn bn-pseudo"rW;rX;hjrY;jXselfrZ;r[;hjr\;hjr];jXspanr^;r_;hjr`;jX ): ra;rb;hjrc;jXspanrd;re;jjrf;jXclassrg;rh;jnjri;jX "st st-db"rj;rk;hjrl;j1X"rm;rn;j1X"ro;rp;j1X"rq;rr;hjrs;hjrt;jXspanru;rv;hjrw;hjrx;jXspanry;rz;jjr{;jXclassr|;r};jnjr~;jX"st"r;r;hjr;jX%Returns a subjoin for the subject id.r;r;hjr;hjr;jXspanr;r;hjr;hjr;jXspanr;r;jjr;jXclassr;r;jnjr;jX "st st-db"r;r;hjr;j1X"r;r;j1X"r;r;j1X"r;r;hjr;hjr;jXspanr;r;hjr;jX r;r;hjr;jXspanr;r;jjr;jXclassr;r;jnjr;jX"kw"r;r;hjr;jXifr;r;hjr;hjr;jXspanr;r;hjr;jjr;hjr;jXspanr;r;jjr;jXclassr;r;jnjr;jX"bn bn-pseudo"r;r;hjr;jXselfr;r;hjr;hjr;jXspanr;r;hjr;jjr;hjr;jXspanr;r;jjr;jXclassr;r;jnjr;jX"name"r;r;hjr;jX_typer;r;hjr;hjr;jXspanr;r;hjr;jjr;hjr;jXspanr;r;jjr;jXclassr;r;jnjr;jX"op"r;r;hjr;jX==r;r;hjr;hjr;jXspanr;r;hjr;jjr;hjr;jXspanr;r;jjr;jXclassr;r;jnjr;jX "st st-sg"r;r;hjr;j1X'r;r;hjr;hjr;jXspanr;r;hjr;hjr;jXspanr;r;jjr;jXclassr;r;jnjr;jX"st"r<r<hjr<jXuserr<r<hjr<hjr<jXspanr<r<hjr <hjr <jXspanr <r <jjr <jXclassr<r<jnjr<jX "st st-sg"r<r<hjr<j1X'r<r<hjr<hjr<jXspanr<r<hjr<jX: r<r<hjr<jXspanr<r<jjr <jXclassr!<r"<jnjr#<jX"kw"r$<r%<hjr&<jXreturnr'<r(<hjr)<hjr*<jXspanr+<r,<hjr-<jjr.<hjr/<jXspanr0<r1<jjr2<jXclassr3<r4<jnjr5<jX"name"r6<r7<hjr8<jXmetar9<r:<hjr;<hjr<<jXspanr=<r><hjr?<jjr@<hjrA<jXspanrB<rC<jjrD<jXclassrE<rF<jnjrG<jX"name"rH<rI<hjrJ<jXselectrK<rL<hjrM<hjrN<jXspanrO<rP<hjrQ<jX([rR<rS<hjrT<jXspanrU<rV<jjrW<jXclassrX<rY<jnjrZ<jX"name"r[<r\<hjr]<jXusersr^<r_<hjr`<hjra<jXspanrb<rc<hjrd<jjre<hjrf<jXspanrg<rh<jjri<jXclassrj<rk<jnjrl<jX"name"rm<rn<hjro<jj<rp<hjrq<hjrr<jXspanrs<rt<hjru<jjrv<hjrw<jXspanrx<ry<jjrz<jXclassr{<r|<jnjr}<jX"name"r~<r<hjr<jX subject_idr<r<hjr<hjr<jXspanr<r<hjr<jX], r<r<hjr<jXspanr<r<jjr<jXclassr<r<jnjr<jX"name"r<r<hjr<jXusersr<r<hjr<hjr<jXspanr<r<hjr<jjr<hjr<jXspanr<r<jjr<jXclassr<r<jnjr<jX"name"r<r<hjr<jj<r<hjr<hjr<jXspanr<r<hjr<jjr<hjr<jXspanr<r<jjr<jXclassr<r<jnjr<jX"name"r<r<hjr<jXuser_idr<r<hjr<hjr<jXspanr<r<hjr<jjr<hjr<jXspanr<r<jjr<jXclassr<r<jnjr<jX"op"r<r<hjr<jX==r<r<hjr<hjr<jXspanr<r<hjr<jjr<hjr<jXspanr<r<jjr<jXclassr<r<jnjr<jX"bn bn-pseudo"r<r<hjr<jXselfr<r<hjr<hjr<jXspanr<r<hjr<jjr<hjr<jXspanr<r<jjr<jXclassr<r<jnjr<jX"name"r<r<hjr<jXsubjectr<r<hjr<hjr<jXspanr<r<hjr<jjr<hjr<jXspanr<r<jjr<jXclassr<r<jnjr<jX"name"r<r<hjr<jXuser_idr<r=hjr=hjr=jXspanr=r=hjr=jX ) r=r=hjr=jXspanr =r =jjr =jXclassr =r =jnjr=jX"kw"r=r=hjr=jXreturnr=r=hjr=hjr=jXspanr=r=hjr=jjr=hjr=jXspanr=r=jjr=jXclassr=r=jnjr =jX"name"r!=r"=hjr#=jXmetar$=r%=hjr&=hjr'=jXspanr(=r)=hjr*=jjr+=hjr,=jXspanr-=r.=jjr/=jXclassr0=r1=jnjr2=jX"name"r3=r4=hjr5=jXselectr6=r7=hjr8=hjr9=jXspanr:=r;=hjr<=jX([r==r>=hjr?=jXspanr@=rA=jjrB=jXclassrC=rD=jnjrE=jX"name"rF=rG=hjrH=jXgroupsrI=rJ=hjrK=hjrL=jXspanrM=rN=hjrO=jjrP=hjrQ=jXspanrR=rS=jjrT=jXclassrU=rV=jnjrW=jX"name"rX=rY=hjrZ=jj<r[=hjr\=hjr]=jXspanr^=r_=hjr`=jjra=hjrb=jXspanrc=rd=jjre=jXclassrf=rg=jnjrh=jX"name"ri=rj=hjrk=jX subject_idrl=rm=hjrn=hjro=jXspanrp=rq=hjrr=jX], rs=rt=hjru=jXspanrv=rw=jjrx=jXclassry=rz=jnjr{=jX"name"r|=r}=hjr~=jXgroupsr=r=hjr=hjr=jXspanr=r=hjr=jjr=hjr=jXspanr=r=jjr=jXclassr=r=jnjr=jX"name"r=r=hjr=jj<r=hjr=hjr=jXspanr=r=hjr=jjr=hjr=jXspanr=r=jjr=jXclassr=r=jnjr=jX"name"r=r=hjr=jXgroup_idr=r=hjr=hjr=jXspanr=r=hjr=jjr=hjr=jXspanr=r=jjr=jXclassr=r=jnjr=jX"op"r=r=hjr=jX==r=r=hjr=hjr=jXspanr=r=hjr=jjr=hjr=jXspanr=r=jjr=jXclassr=r=jnjr=jX"bn bn-pseudo"r=r=hjr=jXselfr=r=hjr=hjr=jXspanr=r=hjr=jjr=hjr=jXspanr=r=jjr=jXclassr=r=jnjr=jX"name"r=r=hjr=jXsubjectr=r=hjr=hjr=jXspanr=r=hjr=jjr=hjr=jXspanr=r=jjr=jXclassr=r=jnjr=jX"name"r=r=hjr=jXgroup_idr=r=hjr=hjr=jXspanr=r=hjr=jX ) r=r=hjr=jXspanr=r=jjr=jXclassr=r=jnjr=jX"kw"r=r=hjr=jXdef r=r=hjr=hjr>jXspanr>r>hjr>hjr>jXspanr>r>jjr>jXclassr>r >jnjr >jX"fun"r >r >hjr >jX_fetch_privileger>r>hjr>hjr>jXspanr>r>hjr>jjr>hjr>jXspanr>r>jjr>jXclassr>r>jnjr>jX"bn bn-pseudo"r>r>hjr>jXselfr >r!>hjr">hjr#>jXspanr$>r%>hjr&>jX, r'>r(>hjr)>jXspanr*>r+>jjr,>jXclassr->r.>jnjr/>jX"name"r0>r1>hjr2>jXnamer3>r4>hjr5>hjr6>jXspanr7>r8>hjr9>jX ): r:>r;>hjr<>jXspanr=>r>>jjr?>jXclassr@>rA>jnjrB>jX "st st-db"rC>rD>hjrE>j1X"rF>rG>j1X"rH>rI>j1X"rJ>rK>hjrL>hjrM>jXspanrN>rO>hjrP>hjrQ>jXspanrR>rS>jjrT>jXclassrU>rV>jnjrW>jX"st"rX>rY>hjrZ>jX@Returns the priv_id for the given privilege. If it doesnr[>r\>hjr]>hjr^>jXspanr_>r`>hjra>hjrb>jXspanrc>rd>jjre>jXclassrf>rg>jnjrh>jX "st st-esc"ri>rj>hjrk>jj5rl>j1X'rm>rn>hjro>hjrp>jXspanrq>rr>hjrs>hjrt>jXspanru>rv>jjrw>jXclassrx>ry>jnjrz>jX"st"r{>r|>hjr}>jX>t exist by now the system will create a new privilege.r~>r>hjr>hjr>jXspanr>r>hjr>hjr>jXspanr>r>jjr>jXclassr>r>jnjr>jX "st st-db"r>r>hjr>j1X"r>r>j1X"r>r>j1X"r>r>hjr>hjr>jXspanr>r>hjr>jX r>r>hjr>jXspanr>r>jjr>jXclassr>r>jnjr>jX"name"r>r>hjr>jjr>hjr>hjr>jXspanr>r>hjr>jjr>hjr>jXspanr>r>jjr>jXclassr>r>jnjr>jX"op"r>r>hjr>jjr>hjr>hjr>jXspanr>r>hjr>jjr>hjr>jXspanr>r>jjr>jXclassr>r>jnjr>jX"bn bn-pseudo"r>r>hjr>jXselfr>r>hjr>hjr>jXspanr>r>hjr>jjr>hjr>jXspanr>r>jjr>jXclassr>r>jnjr>jX"name"r>r>hjr>jXctxr>r>hjr>hjr>jXspanr>r>hjr>jjr>hjr>jXspanr>r>jjr>jXclassr>r>jnjr>jX"name"r>r>hjr>jXenginer>r>hjr>hjr>jXspanr>r>hjr>jjr>hjr>jXspanr>r>jjr>jXclassr>r>jnjr>jX"name"r>r>hjr>jXexecuter>r>hjr?hjr?jXspanr?r?hjr?jjr?hjr?jXspanr?r?jjr ?jXclassr ?r ?jnjr ?jX"name"r ?r?hjr?jXmetar?r?hjr?hjr?jXspanr?r?hjr?jjr?hjr?jXspanr?r?jjr?jXclassr?r?jnjr?jX"name"r?r ?hjr!?jXselectr"?r#?hjr$?hjr%?jXspanr&?r'?hjr(?jX([r)?r*?hjr+?jXspanr,?r-?jjr.?jXclassr/?r0?jnjr1?jX"name"r2?r3?hjr4?jX privilegesr5?r6?hjr7?hjr8?jXspanr9?r:?hjr;?jjr?r??jjr@?jXclassrA?rB?jnjrC?jX"name"rD?rE?hjrF?jj<rG?hjrH?hjrI?jXspanrJ?rK?hjrL?jjrM?hjrN?jXspanrO?rP?jjrQ?jXclassrR?rS?jnjrT?jX"name"rU?rV?hjrW?jXpriv_idrX?rY?hjrZ?hjr[?jXspanr\?r]?hjr^?jX], r_?r`?hjra?jXspanrb?rc?jjrd?jXclassre?rf?jnjrg?jX"name"rh?ri?hjrj?jX privilegesrk?rl?hjrm?hjrn?jXspanro?rp?hjrq?jjrr?hjrs?jXspanrt?ru?jjrv?jXclassrw?rx?jnjry?jX"name"rz?r{?hjr|?jj<r}?hjr~?hjr?jXspanr?r?hjr?jjr?hjr?jXspanr?r?jjr?jXclassr?r?jnjr?jX"name"r?r?hjr?jXnamer?r?hjr?hjr?jXspanr?r?hjr?jjr?hjr?jXspanr?r?jjr?jXclassr?r?jnjr?jX"op"r?r?hjr?jX==r?r?hjr?hjr?jXspanr?r?hjr?jjr?hjr?jXspanr?r?jjr?jXclassr?r?jnjr?jX"name"r?r?hjr?jXnamer?r?hjr?hjr?jXspanr?r?hjr?jX )) r?r?hjr?jXspanr?r?jjr?jXclassr?r?jnjr?jX"name"r?r?hjr?jXrowr?r?hjr?hjr?jXspanr?r?hjr?jjr?hjr?jXspanr?r?jjr?jXclassr?r?jnjr?jX"op"r?r?hjr?jjr?hjr?hjr?jXspanr?r?hjr?jjr?hjr?jXspanr?r?jjr?jXclassr?r?jnjr?jX"name"r?r?hjr?jjr?hjr?hjr?jXspanr?r?hjr?jjr?hjr?jXspanr?r?jjr?jXclassr?r?jnjr?jX"name"r?r?hjr?jXfetchoner?r?hjr?hjr?jXspanr?r?hjr?e(jX () r@r@hjr@jXspanr@r@jjr@jXclassr@r@jnjr@jX"kw"r @r @hjr @jXifr @r @hjr@hjr@jXspanr@r@hjr@jjr@hjr@jXspanr@r@jjr@jXclassr@r@jnjr@jX"name"r@r@hjr@jXrowr@r@hjr @hjr!@jXspanr"@r#@hjr$@jjr%@hjr&@jXspanr'@r(@jjr)@jXclassr*@r+@jnjr,@jX "op op-word"r-@r.@hjr/@jXisr0@r1@hjr2@hjr3@jXspanr4@r5@hjr6@jjr7@hjr8@jXspanr9@r:@jjr;@jXclassr<@r=@jnjr>@jX "op op-word"r?@r@@hjrA@jXnotrB@rC@hjrD@hjrE@jXspanrF@rG@hjrH@jjrI@hjrJ@jXspanrK@rL@jjrM@jXclassrN@rO@jnjrP@jX"bn bn-pseudo"rQ@rR@hjrS@jXNonerT@rU@hjrV@hjrW@jXspanrX@rY@hjrZ@jX: r[@r\@hjr]@jXspanr^@r_@jjr`@jXclassra@rb@jnjrc@jX"kw"rd@re@hjrf@jXreturnrg@rh@hjri@hjrj@jXspanrk@rl@hjrm@jjrn@hjro@jXspanrp@rq@jjrr@jXclassrs@rt@jnjru@jX"name"rv@rw@hjrx@jXrowry@rz@hjr{@hjr|@jXspanr}@r~@hjr@jjr@hjr@jXspanr@r@jjr@jXclassr@r@jnjr@jX "nb nb-int"r@r@hjr@jjYr@hjr@hjr@jXspanr@r@hjr@jX ] r@r@hjr@jXspanr@r@jjr@jXclassr@r@jnjr@jX"name"r@r@hjr@jjr@hjr@hjr@jXspanr@r@hjr@jjr@hjr@jXspanr@r@jjr@jXclassr@r@jnjr@jX"op"r@r@hjr@jjr@hjr@hjr@jXspanr@r@hjr@jjr@hjr@jXspanr@r@jjr@jXclassr@r@jnjr@jX"bn bn-pseudo"r@r@hjr@jXselfr@r@hjr@hjr@jXspanr@r@hjr@jjr@hjr@jXspanr@r@jjr@jXclassr@r@jnjr@jX"name"r@r@hjr@jXctxr@r@hjr@hjr@jXspanr@r@hjr@jjr@hjr@jXspanr@r@jjr@jXclassr@r@jnjr@jX"name"r@r@hjr@jXenginer@r@hjr@hjr@jXspanr@r@hjr@jjr@hjr@jXspanr@r@jjr@jXclassr@r@jnjr@jX"name"r@r@hjr@jXexecuter@r@hjr@hjr@jXspanr@r@hjr@jjr@hjr@jXspanr@r@jjrAjXclassrArAjnjrAjX"name"rArAhjrAjX privilegesrArAhjr Ahjr AjXspanr Ar Ahjr AjjrAhjrAjXspanrArAjjrAjXclassrArAjnjrAjX"name"rArAhjrAjXinsertrArAhjrAhjrAjXspanrArAhjrAjX(), r Ar!Ahjr"AjXspanr#Ar$Ajjr%AjXclassr&Ar'Ajnjr(AjX"name"r)Ar*Ahjr+AjXnamer,Ar-Ahjr.Ahjr/AjXspanr0Ar1Ahjr2Ajjr3Ahjr4AjXspanr5Ar6Ajjr7AjXclassr8Ar9Ajnjr:AjX"op"r;ArAhjr?Ahjr@AjXspanrAArBAhjrCAjjrDAhjrEAjXspanrFArGAjjrHAjXclassrIArJAjnjrKAjX"name"rLArMAhjrNAjXnamerOArPAhjrQAhjrRAjXspanrSArTAhjrUAjX ) rVArWAhjrXAjXspanrYArZAjjr[AjXclassr\Ar]Ajnjr^AjX"kw"r_Ar`AhjraAjXreturnrbArcAhjrdAhjreAjXspanrfArgAhjrhAjjriAhjrjAjXspanrkArlAjjrmAjXclassrnAroAjnjrpAjX"name"rqArrAhjrsAjjrtAhjruAhjrvAjXspanrwArxAhjryAjjrzAhjr{AjXspanr|Ar}Ajjr~AjXclassrArAjnjrAjX"name"rArAhjrAjXlast_inserted_idsrArAhjrAhjrAjXspanrArAhjrAjX()[rArAhjrAjXspanrArAjjrAjXclassrArAjnjrAjX "nb nb-int"rArAhjrAjjYrAhjrAhjrAjXspanrArAhjrAjX] rArAhjrAjXspanrArAjjrAjXclassrArAjnjrAjX"kw"rArAhjrAjXdef rArAhjrAhjrAjXspanrArAhjrAhjrAjXspanrArAjjrAjXclassrArAjnjrAjX"fun"rArAhjrAjX__repr__rArAhjrAhjrAjXspanrArAhjrAjjrAhjrAjXspanrArAjjrAjXclassrArAjnjrAjX"bn bn-pseudo"rArAhjrAjXselfrArAhjrAhjrAjXspanrArAhjrAjX ): rArAhjrAjXspanrArAjjrAjXclassrArAjnjrAjX"kw"rArAhjrAjXifrArAhjrAhjrAjXspanrArAhjrAjjrAhjrAjXspanrArAjjrAjXclassrArAjnjrAjX"bn bn-pseudo"rArAhjrAjXselfrArAhjrAhjrAjXspanrArAhjrAjjrAhjrAjXspanrArAjjrAjXclassrArAjnjrBjX"name"rBrBhjrBjX_typerBrBhjrBhjrBjXspanrBr Bhjr Bjjr Bhjr BjXspanr BrBjjrBjXclassrBrBjnjrBjX"op"rBrBhjrBjX==rBrBhjrBhjrBjXspanrBrBhjrBjjrBhjrBjXspanrBr Bjjr!BjXclassr"Br#Bjnjr$BjX "st st-sg"r%Br&Bhjr'Bj1X'r(Br)Bhjr*Bhjr+BjXspanr,Br-Bhjr.Bhjr/BjXspanr0Br1Bjjr2BjXclassr3Br4Bjnjr5BjX"st"r6Br7Bhjr8BjXuserr9Br:Bhjr;BhjrBhjr?Bhjr@BjXspanrABrBBjjrCBjXclassrDBrEBjnjrFBjX "st st-sg"rGBrHBhjrIBj1X'rJBrKBhjrLBhjrMBjXspanrNBrOBhjrPBjX: rQBrRBhjrSBjXspanrTBrUBjjrVBjXclassrWBrXBjnjrYBjX"name"rZBr[Bhjr\BjXid_r]Br^Bhjr_Bhjr`BjXspanraBrbBhjrcBjjrdBhjreBjXspanrfBrgBjjrhBjXclassriBrjBjnjrkBjX"op"rlBrmBhjrnBjjroBhjrpBhjrqBjXspanrrBrsBhjrtBjjruBhjrvBjXspanrwBrxBjjryBjXclassrzBr{Bjnjr|BjX"bn bn-pseudo"r}Br~BhjrBjXselfrBrBhjrBhjrBjXspanrBrBhjrBjjrBhjrBjXspanrBrBjjrBjXclassrBrBjnjrBjX"name"rBrBhjrBjXsubjectrBrBhjrBhjrBjXspanrBrBhjrBjjrBhjrBjXspanrBrBjjrBjXclassrBrBjnjrBjX"name"rBrBhjrBjXuser_idrBrBhjrBhjrBjXspanrBrBhjrBjX rBrBhjrBjXspanrBrBjjrBjXclassrBrBjnjrBjX"kw"rBrBhjrBjXelserBrBhjrBhjrBjXspanrBrBhjrBjX: rBrBhjrBjXspanrBrBjjrBjXclassrBrBjnjrBjX"name"rBrBhjrBjXid_rBrBhjrBhjrBjXspanrBrBhjrBjjrBhjrBjXspanrBrBjjrBjXclassrBrBjnjrBjX"op"rBrBhjrBjjrBhjrBhjrBjXspanrBrBhjrBjjrBhjrBjXspanrBrBjjrBjXclassrBrBjnjrBjX"bn bn-pseudo"rBrBhjrBjXselfrBrBhjrBhjrBjXspanrBrBhjrBjjrBhjrBjXspanrBrBjjrBjXclassrBrBjnjrBjX"name"rBrBhjrBjXsubjectrBrChjrChjrCjXspanrCrChjrCjjrChjrCjXspanrCr Cjjr CjXclassr Cr Cjnjr CjX"name"rCrChjrCjXgroup_idrCrChjrChjrCjXspanrCrChjrCjX rCrChjrCjXspanrCrCjjrCjXclassrCrCjnjr CjX"kw"r!Cr"Chjr#CjXifr$Cr%Chjr&Chjr'CjXspanr(Cr)Chjr*Cjjr+Chjr,CjXspanr-Cr.Cjjr/CjXclassr0Cr1Cjnjr2CjX"bn bn-pseudo"r3Cr4Chjr5CjXselfr6Cr7Chjr8Chjr9CjXspanr:Cr;ChjrCjXspanr?Cr@CjjrACjXclassrBCrCCjnjrDCjX"name"rECrFChjrGCjXsubjectrHCrIChjrJChjrKCjXspanrLCrMChjrNCjjrOChjrPCjXspanrQCrRCjjrSCjXclassrTCrUCjnjrVCjX"name"rWCrXChjrYCjX subject_idrZCr[Chjr\Chjr]CjXspanr^Cr_Chjr`CjjraChjrbCjXspanrcCrdCjjreCjXclassrfCrgCjnjrhCjX "op op-word"riCrjChjrkCjXisrlCrmChjrnChjroCjXspanrpCrqChjrrCjjrsChjrtCjXspanruCrvCjjrwCjXclassrxCryCjnjrzCjX"bn bn-pseudo"r{Cr|Chjr}CjXNoner~CrChjrChjrCjXspanrCrChjrCjX: rCrChjrCjXspanrCrCjjrCjXclassrCrCjnjrCjX"kw"rCrChjrCjXreturnrCrChjrChjrCjXspanrCrChjrCjjrChjrCjXspanrCrCjjrCjXclassrCrCjnjrCjX "st st-sg"rCrChjrCj1X'rCrChjrChjrCjXspanrCrChjrChjrCjXspanrCrCjjrCjXclassrCrCjnjrCjX"st"rCrChjrCj1X<rCrChjrChjrCjXspanrCrChjrChjrCjXspanrCrCjjrCjXclassrCrCjnjrCjX "st st-int"rCrChjrCjX%srCrChjrChjrCjXspanrCrChjrChjrCjXspanrCrCjjrCjXclassrCrCjnjrCjX"st"rCrChjrCjjrChjrChjrCjXspanrCrChjrChjrCjXspanrCrCjjrCjXclassrCrCjnjrCjX "st st-int"rCrChjrCjX%srCrChjrChjrCjXspanrCrChjrChjrCjXspanrCrCjjrCjXclassrCrCjnjrCjX"st"rCrChjrCjjrChjrChjrCjXspanrCrChjrChjrCjXspanrCrCjjrDjXclassrDrDjnjrDjX "st st-int"rDrDhjrDjX%drDrDhjr Dhjr DjXspanr Dr Dhjr DhjrDjXspanrDrDjjrDjXclassrDrDjnjrDjX"st"rDrDhjrDjX inactiverDrDj1X>rDrDhjrDhjrDjXspanrDrDhjr Dhjr!DjXspanr"Dr#Djjr$DjXclassr%Dr&Djnjr'DjX "st st-sg"r(Dr)Dhjr*Dj1X'r+Dr,Dhjr-Dhjr.DjXspanr/Dr0Dhjr1Djjr2Dhjr3DjXspanr4Dr5Djjr6DjXclassr7Dr8Djnjr9DjX"op"r:Dr;DhjrDhjr?Dhjr@DjXspanrADrBDhjrCDjX ( rDDrEDhjrFDjXspanrGDrHDjjrIDjXclassrJDrKDjnjrLDjX"bn bn-pseudo"rMDrNDhjrODjXselfrPDrQDhjrRDhjrSDjXspanrTDrUDhjrVDjjrWDhjrXDjXspanrYDrZDjjr[DjXclassr\Dr]Djnjr^DjX"name"r_Dr`DhjraDjX __class__rbDrcDhjrdDhjreDjXspanrfDrgDhjrhDjjriDhjrjDjXspanrkDrlDjjrmDjXclassrnDroDjnjrpDjX"name"rqDrrDhjrsDjX__name__rtDruDhjrvDhjrwDjXspanrxDryDhjrzDjX, r{Dr|Dhjr}DjXspanr~DrDjjrDjXclassrDrDjnjrDjX"bn bn-pseudo"rDrDhjrDjXselfrDrDhjrDhjrDjXspanrDrDhjrDjjrDhjrDjXspanrDrDjjrDjXclassrDrDjnjrDjX"name"rDrDhjrDjX_typerDrDhjrDhjrDjXspanrDrDhjrDjX, rDrDhjrDjXspanrDrDjjrDjXclassrDrDjnjrDjX"name"rDrDhjrDjXid_rDrDhjrDhjrDjXspanrDrDhjrDjX ) rDrDhjrDjXspanrDrDjjrDjXclassrDrDjnjrDjX"kw"rDrDhjrDjXreturnrDrDhjrDhjrDjXspanrDrDhjrDjjrDhjrDjXspanrDrDjjrDjXclassrDrDjnjrDjX "st st-sg"rDrDhjrDj1X'rDrDhjrDhjrDjXspanrDrDhjrDhjrDjXspanrDrDjjrDjXclassrDrDjnjrDjX"st"rDrDhjrDj1X<rDrDhjrDhjrDjXspanrDrDhjrDhjrDjXspanrDrDjjrDjXclassrDrDjnjrDjX "st st-int"rDrDhjrDjX%srDrDhjrDhjrDjXspanrDrDhjrDhjrDjXspanrDrDjjrDjXclassrDrDjnjrEjX"st"rErEhjrEjjrEhjrEhjrEjXspanrErEhjr Ehjr EjXspanr Er Ejjr EjXclassrErEjnjrEjX "st st-int"rErEhjrEjX%srErEhjrEhjrEjXspanrErEhjrEhjrEjXspanrErEjjrEjXclassrEr Ejnjr!EjX"st"r"Er#Ehjr$Ejjr%Ehjr&Ehjr'EjXspanr(Er)Ehjr*Ehjr+EjXspanr,Er-Ejjr.EjXclassr/Er0Ejnjr1EjX "st st-int"r2Er3Ehjr4EjX%dr5Er6Ehjr7Ehjr8EjXspanr9Er:Ehjr;EhjrEjjr?EjXclassr@ErAEjnjrBEjX"st"rCErDEhjrEEjX active as rFErGEhjrHEhjrIEjXspanrJErKEhjrLEhjrMEjXspanrNErOEjjrPEjXclassrQErREjnjrSEjX "st st-int"rTErUEhjrVEjX%drWErXEhjrYEhjrZEjXspanr[Er\Ehjr]Ehjr^EjXspanr_Er`EjjraEjXclassrbErcEjnjrdEjX"st"reErfEhjrgEj1X>rhEriEhjrjEhjrkEjXspanrlErmEhjrnEhjroEjXspanrpErqEjjrrEjXclassrsErtEjnjruEe(jX "st st-sg"rvErwEhjrxEj1X'ryErzEhjr{Ehjr|EjXspanr}Er~EhjrEjjrEhjrEjXspanrErEjjrEjXclassrErEjnjrEjX"op"rErEhjrEjj=DrEhjrEhjrEjXspanrErEhjrEjX ( rErEhjrEjXspanrErEjjrEjXclassrErEjnjrEjX"bn bn-pseudo"rErEhjrEjXselfrErEhjrEhjrEjXspanrErEhjrEjjrEhjrEjXspanrErEjjrEjXclassrErEjnjrEjX"name"rErEhjrEjX __class__rErEhjrEhjrEjXspanrErEhjrEjjrEhjrEjXspanrErEjjrEjXclassrErEjnjrEjX"name"rErEhjrEjX__name__rErEhjrEhjrEjXspanrErEhjrEjX, rErEhjrEjXspanrErEjjrEjXclassrErEjnjrEjX"bn bn-pseudo"rErEhjrEjXselfrErEhjrEhjrEjXspanrErEhjrEjjrEhjrEjXspanrErEjjrEjXclassrErEjnjrEjX"name"rErEhjrEjX_typerErEhjrEhjrEjXspanrErEhjrEjX, rErEhjrEjXspanrErEjjrEjXclassrErEjnjrEjX"name"rErEhjrEjXid_rErEhjrEhjrEjXspanrErEhjrEjX, rFrFhjrFjXspanrFrFjjrFjXclassrFrFjnjrFjX"bn bn-pseudo"r Fr Fhjr FjXselfr Fr FhjrFhjrFjXspanrFrFhjrFjjrFhjrFjXspanrFrFjjrFjXclassrFrFjnjrFjX"name"rFrFhjrFjXsubjectrFrFhjr Fhjr!FjXspanr"Fr#Fhjr$Fjjr%Fhjr&FjXspanr'Fr(Fjjr)FjXclassr*Fr+Fjnjr,FjX"name"r-Fr.Fhjr/FjX subject_idr0Fr1Fhjr2Fhjr3FjXspanr4Fr5Fhjr6FjX ) r7Fr8Fe.