Tp-׷-R7"p2^dFhL-c ɡ tZ%SwsK]9m]h`o1X DےZLjL B*8xs~lKɘXF/X؂{z0ƚghOښMb[% &塾o 5KO֥GBu]]4_nhw̼7NxB?x"E #8aIy7yg[$E:k9#ZH>fXOx 4=#6.bB|>d=+ĿtiIqC=$[b*`3&yYdO1g^*v睨m'SQ\aDs cUSilTX^Q"swl=QTCcF&LQm^ lPzMrt[6@D͗dYIIZޫfy^' Nɓi' > [Mk& ꤲ$YutO  &3 I]C63OPT |`D$f mu-r$L[3PU^ؐځƴ?ϕmB{ħelHSְ?toKɤ}o0y%\o~f{hMJA.Nhd ě]xX3u)D{Lhd({iR3-es4Nq0x\݅wJ:cBm1`sfo82sXmyZp HZRԅAB Qiz SH|i.3Cy[5 6'4.+@;?^kLS+5UcqS5>g ijw(~|JqWi%FKv<న3\Ws jnH4k[K>AȊVֹp+SG!=#)2H5&zT!+=Rϑ&\MBK40uNk 3nW>Fݓ .yvb"@­İ e w ht&o*s4qT !_rbzq `ޚt`J& ;f@kyfTdmk8{[;Z"G{:tA)*i T/?xs3d>cg6zCfL7/QըI@s=D{ˢtv}D+eLTrj(pl`ޏx} ߮K +Wyj[oQ?5ZiM%rʔhMx|7E=Tj&#'SimGx `"/ ``FECZwoBa&C3XU2;Fm&=B-`4N(,Ƈ܈]i"JHy:MmŒy¶s{^gţTݴadBߴyi%M ,S\m 07skbU7IcCh.4EktH 0;S lp:b,fZ^2r59'Zi4; V~]v6rO,/9]CO&#J𾶯-Q|G% &塾o 5KOֿoUaJL&7JRmR2IďˡD>en֠JށR~GX腞q53[=W 9gtSL% aǫa kW-ߐ̲q@;nYaS>rrR _$[?q:{Ð؝ZoU'W~6~D M:eSbRLKUPwVkdˆUvkM#eQP/9,x$۵ɜ `UkPt/aU6{w @۱bEk et* M]4p>>e<"4h߭ʮ?maa!2~*̩}kT#L؀Cr2qGp,冡Y(x<} mo]:)sR6J0!^fDχO_N*GȎTN7`agnI[ DJŜȋz^,晇C+2s&͇hoy]A m[+i 0:%;7 ϕkkL b ^;~~Av_`}z۴*˘L=P Ih7ʍI罗r_vǔ &٠)b]!T?u; Sϴ4Z,)?FT; 1q^Evn/'נSI;TM YYsc]Q[}0e^E{]wصNӯy}yHmn YD#N]JzwDu5{Ot1̀agh|J24f*2Nb};Vx2-xÛb.+0OQWY[ĤSp6alqt}, r}4@FojxY1s^"֫|`jJ(mYvn4zŏ,[`p?ytـbʍhd*`Y#_,Վ'ךJ8Hh~t<>? Nչ4<({5s*~`n-7dÚ⾾th1J4'e>8}}ؼm*1BE6iܐ#91--i'ܬe|9Λkx|'_C0]BTM,kh :`] _htoniS#Dž8C!NݓàLWK^gDٔ6QW }1^@'N|)@;`&Bkn1mvK㊲S2?t߆ 6J>R2fPp+ϓQ5޺?BZg6NV]F9NA.)%_-G*$O9 _Rz C71|ĪT=ECâ,m 0&d549Ta0e}` |NNTNн2Y n&{b2fۮ7ɌM!I9-yOM瞦 %@bPat2 t<;4y2*Ƹ{ C(c |e@܌hm¸  A 8nVNjDK=vV.5ĘUpOb\c*29!Y"4XMƔ '8@Bo={~:}ن,iu(ճ =[>o,Ipf([A/ !E]gMKlg_=[&І`Gߓ`\TI Cq]X0u$TlC j6طCSl9z4EMɨը VJ\OCt%3-dz_ԑO?mrɒ+tive value alias. * * Directive value aliases are convenient for developers because it lets * them set a directive to several values and get the same result. * @param string $key Name of Directive * @param array $aliases Hash of aliased values to the real alias */ public function addValueAliases($key, $aliases) { if (!isset($this->info[$key]->aliases)) { $this->info[$key]->aliases = array(); } foreach ($aliases as $alias => $real) { $this->info[$key]->aliases[$alias] = $real; } } /** * Defines a set of allowed values for a directive. * @warning This is slightly different from the corresponding static * method definition. * @param string $key Name of directive * @param array $allowed Lookup array of allowed values */ public function addAllowedValues($key, $allowed) { $this->info[$key]->allowed = $allowed; } /** * Defines a directive alias for backwards compatibility * @param string $key Directive that will be aliased * @param string $new_key Directive that the alias will be to */ public function addAlias($key, $new_key) { $obj = new stdClass; $obj->key = $new_key; $obj->isAlias = true; $this->info[$key] = $obj; } /** * Replaces any stdClass that only has the type property with type integer. */ public function postProcess() { foreach ($this->info as $key => $v) { if (count((array) $v) == 1) { $this->info[$key] = $v->type; } elseif (count((array) $v) == 2 && isset($v->allow_null)) { $this->info[$key] = -$v->type; } } } } // vim: et sw=4 sts=4