如果需要生成PHP客户端的代码,则需要使用grpc php的命令行工具grpc_php_plugin,前面小结如果执行成功,这个工具已经有了然后最终生成的文件注意编译那里如果我们不加grpc_out=$out plugin=protocgengrpc=usrlocalbingrpc_php_plugin,生成的PHP类是没有GreeterClient的这个文。

标签: phpgrpc客户端代码
%5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1
%5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1如果需要生成PHP客户端的代码,则需要使用grpc php的命令行工具grpc_php_plugin,前面小结如果执行成功,这个工具已经有了然后最终生成的文件注意编译那里如果我们不加grpc_out=$out plugin=protocgengrpc=usrlocalbingrpc_php_plugin,生成的PHP类是没有GreeterClient的这个文。

标签: phpgrpc客户端代码
发表评论 (已有4条评论)
%5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1
评论列表
%5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1 %5+1如果需要生成PHP客户端的代码,则需要使用grpc php的命令行工具grpc_php_plugin,前面小结如果执行成功,这个工具已经有了然后最终生成的文件注意编译那里如果我们不加grpc_out=$out plugin=protocgengrpc=usrlo
里如果我们不加grpc_out=$out plugin=protocgengrpc=usrlocalbingrpc_php_plugin,生成的PHP类是没有Greet
如果需要生成PHP客户端的代码,则需要使用grpc php的命令行工具grpc_php_plugin,前面小结如果执行成功,这个工具已经有了然后最终生成的文件注意编译那里如果我们不加grpc_out=$out plugin=protocgengrpc=usrlocalbingrpc_php_plu
grpc=usrlocalbingrpc_php_plugin,生成的PHP类是没有GreeterClient的这个文。