 Falcon v1.4.1-post-1 Documentationarchitectural style. class CatalogItem(object): # ... @falcon.before(hooks.to_oid) def on_get(self, id): return self._collection.find_one(id) app = falcon.API(after=[hooks.serialize]) app Codes Error Handling Media Redirection Middleware Hooks Routing Utilities Testing Community Guide Get Help Contribute to Falcon FAQ Changelogs 1.4.1 1.4.0 1.3.0 1.2.0 1.1.0 1.0.0 0.3.0 0.2.0 User Guide ujson with CPython deployments: $ pip install ujson Installing the Falcon wheel is a great way to get up and running quickly in a development environment, but for an extra speed boost when deploying your0 码力 | 229 页 | 273.39 KB | 1 年前3 Falcon v1.4.1-post-1 Documentationarchitectural style. class CatalogItem(object): # ... @falcon.before(hooks.to_oid) def on_get(self, id): return self._collection.find_one(id) app = falcon.API(after=[hooks.serialize]) app Codes Error Handling Media Redirection Middleware Hooks Routing Utilities Testing Community Guide Get Help Contribute to Falcon FAQ Changelogs 1.4.1 1.4.0 1.3.0 1.2.0 1.1.0 1.0.0 0.3.0 0.2.0 User Guide ujson with CPython deployments: $ pip install ujson Installing the Falcon wheel is a great way to get up and running quickly in a development environment, but for an extra speed boost when deploying your0 码力 | 229 页 | 273.39 KB | 1 年前3
 Laravel 5.6 中文文档版本的发布恰逢 Spark 6.0 的发布,所以这也是自 Laravel Spark 发布以来第一次重大版本升级。Spark 6.0 为 Stripe 和 Braintree 引入 了按座定价功能,以及本地化、Bootstrap 4、增强 UI 和 Stripe Elements 支持。 注:本文档只是概述了框架大部分引人注目的重要升级,要了解详细升级日志可以查看 GitHub 上到 change 已存在的日志频道。想要了解更多细节,请查看完整日志文档。 单机任务调度 注:要使用这个新特性,必须使用 memcached 或 redis 缓存驱动作为应用默认缓存驱动。此外,所有服务器必须和同一个中心缓存服务器进行通 信。 如果你的应用运行在多个服务器上,现在可以限定只在一台机器上运行调度任务。例如,假设你有一个在每周五晚上生成新报告的调度任务,如果任 务调度器运行在三个服务器上,这个 cademy.org 2 Route::middleware('auth:api', 'throttle:60,1')->group(function () { Route::get('/user', function () { // }); }); 在 Laravel 5.6 中,你可以基于认证用户模型属性指定一个动态的最大请求次数,如果 User0 码力 | 377 页 | 14.56 MB | 1 年前3 Laravel 5.6 中文文档版本的发布恰逢 Spark 6.0 的发布,所以这也是自 Laravel Spark 发布以来第一次重大版本升级。Spark 6.0 为 Stripe 和 Braintree 引入 了按座定价功能,以及本地化、Bootstrap 4、增强 UI 和 Stripe Elements 支持。 注:本文档只是概述了框架大部分引人注目的重要升级,要了解详细升级日志可以查看 GitHub 上到 change 已存在的日志频道。想要了解更多细节,请查看完整日志文档。 单机任务调度 注:要使用这个新特性,必须使用 memcached 或 redis 缓存驱动作为应用默认缓存驱动。此外,所有服务器必须和同一个中心缓存服务器进行通 信。 如果你的应用运行在多个服务器上,现在可以限定只在一台机器上运行调度任务。例如,假设你有一个在每周五晚上生成新报告的调度任务,如果任 务调度器运行在三个服务器上,这个 cademy.org 2 Route::middleware('auth:api', 'throttle:60,1')->group(function () { Route::get('/user', function () { // }); }); 在 Laravel 5.6 中,你可以基于认证用户模型属性指定一个动态的最大请求次数,如果 User0 码力 | 377 页 | 14.56 MB | 1 年前3
 Laravel 6.0 中文文档务中间件、新增懒集合、优化数据库子查询、将前端脚手架提取到独 立的 Composer 包 laravel/ui、以及多个 bug 修复和可用性的提 升。 语义化版本 Laravel 框架包 laravel/framework 现在遵循语义化版本标准。这使 得框架得以和其他已经遵循该版本标准的 Laravel 扩展包保持一 致,不过 Laravel 的发布周期将保持不变。 兼容 Laravel anjun.com 3 Laravel 6.0 支持 Ignition,这个一个开源的错误和异常详情页项目, 由 Freek Van der Herten 和 Marcel Pociot 创建并维护。相对于之 前版本的错误显示,Ignition 提供了诸多便捷之处,比如优化了 Blade 错误文件和行号处理、针对常见问题的可执行解决方案、代码 编辑、异常分享、以及经过优化的用户体验。 优化授权响应 Laravel 中,获取并提供自定义授权消息给终端用户 很困难,主要难点在于如何向终端用户解释清楚为什么特定的请求被 拒绝了。在 Laravel 6.0 中,我们可以使用 Gate::inspect 方法和 授权响应消息来轻松实现。例如,给定如下策略方法: /** * 判断用户是否可以查看指定的航班. * * @param \App\User $user * @param \App\Flight0 码力 | 1442 页 | 14.66 MB | 1 年前3 Laravel 6.0 中文文档务中间件、新增懒集合、优化数据库子查询、将前端脚手架提取到独 立的 Composer 包 laravel/ui、以及多个 bug 修复和可用性的提 升。 语义化版本 Laravel 框架包 laravel/framework 现在遵循语义化版本标准。这使 得框架得以和其他已经遵循该版本标准的 Laravel 扩展包保持一 致,不过 Laravel 的发布周期将保持不变。 兼容 Laravel anjun.com 3 Laravel 6.0 支持 Ignition,这个一个开源的错误和异常详情页项目, 由 Freek Van der Herten 和 Marcel Pociot 创建并维护。相对于之 前版本的错误显示,Ignition 提供了诸多便捷之处,比如优化了 Blade 错误文件和行号处理、针对常见问题的可执行解决方案、代码 编辑、异常分享、以及经过优化的用户体验。 优化授权响应 Laravel 中,获取并提供自定义授权消息给终端用户 很困难,主要难点在于如何向终端用户解释清楚为什么特定的请求被 拒绝了。在 Laravel 6.0 中,我们可以使用 Gate::inspect 方法和 授权响应消息来轻松实现。例如,给定如下策略方法: /** * 判断用户是否可以查看指定的航班. * * @param \App\User $user * @param \App\Flight0 码力 | 1442 页 | 14.66 MB | 1 年前3
 Laravel 5.2 中文文档版本,比如 Laravel 5.1,我们将会提供为期两年的 bug 修复和三年的安全修复 支持。LTS 版本将会提供最长时间的支持和维护。 对于其他通用版本,只提供六个月的 bug 修复和一年的安全修复支持,比如 Laravel 5.2。 2、Laravel 5.2 Laravel 5.2 在 5.1 基础上继续改进和优化,添加了许多新的功能特性:多认证驱动支 持、隐式模型绑定、简化 Eloquent Laravel 5.2 中,你可以定义多个认证驱动,还有多个认证模型 以及用户表,并且可以独立控制其认证处理(登录、注册、密码重置)。例如,如果你的 应用包含一个后台管理员用户表和一个前台学生用户表,现在你可以使用 Auth 门面来实现 后台用户和学生用户的独立登录而不相互影响。 认证脚手架 通过多认证驱动,Laravel 可以轻松处理后台用户认证;此外,Laravel 5.2 还提供了便捷 的方式来创建前台认证视图,只需在终端执行如下 的方式来创建前台认证视图,只需在终端执行如下 Artisan 命令即可: php artisan make:auth 该命令会生成纯文本的、兼容 Bootstrap 样式的视图用于登录、注册和密码重置。该命令 还会使用相应路由更新路由文件。 注意:该功能特性只能在新应用中使用,不能再应用升级过程中使用。 隐式模型绑定 隐式模型绑定使得在路由或控制器中直接注入相应模型实例更加便捷。假设你有一个路由0 码力 | 377 页 | 4.56 MB | 1 年前3 Laravel 5.2 中文文档版本,比如 Laravel 5.1,我们将会提供为期两年的 bug 修复和三年的安全修复 支持。LTS 版本将会提供最长时间的支持和维护。 对于其他通用版本,只提供六个月的 bug 修复和一年的安全修复支持,比如 Laravel 5.2。 2、Laravel 5.2 Laravel 5.2 在 5.1 基础上继续改进和优化,添加了许多新的功能特性:多认证驱动支 持、隐式模型绑定、简化 Eloquent Laravel 5.2 中,你可以定义多个认证驱动,还有多个认证模型 以及用户表,并且可以独立控制其认证处理(登录、注册、密码重置)。例如,如果你的 应用包含一个后台管理员用户表和一个前台学生用户表,现在你可以使用 Auth 门面来实现 后台用户和学生用户的独立登录而不相互影响。 认证脚手架 通过多认证驱动,Laravel 可以轻松处理后台用户认证;此外,Laravel 5.2 还提供了便捷 的方式来创建前台认证视图,只需在终端执行如下 的方式来创建前台认证视图,只需在终端执行如下 Artisan 命令即可: php artisan make:auth 该命令会生成纯文本的、兼容 Bootstrap 样式的视图用于登录、注册和密码重置。该命令 还会使用相应路由更新路由文件。 注意:该功能特性只能在新应用中使用,不能再应用升级过程中使用。 隐式模型绑定 隐式模型绑定使得在路由或控制器中直接注入相应模型实例更加便捷。假设你有一个路由0 码力 | 377 页 | 4.56 MB | 1 年前3
 Laravel 5.3 中文文档Laravel 5.1,我们将会提供为期两年的 bug 修复和三年的安全修复支持。 LTS 版本将会提供最长时间的支持和维护。 对于其他通用版本,只提供六个月的 bug 修复和一年的安全修复支持,比如 Laravel 5.3。 2、Laravel 5.3 Laravel 5.3 在 5.2 的基础上继续进行优化,提供了大量新功能和新特性:基于驱动的通知系统; 通过 Laravel Echo 服务器;通过 Laravel Scout 实现全文模型搜索;在 Laravel Elixir 中支持 Webpack;“可邮寄”的对象;明确分离 web 和 api 路由;基于闭包的控制台命令;存储上传文件的辅助函数;支持 POPO 和单动作控制 器;以及优化前端脚手架;等等等等。 通知(Notifications) 注:Laracasts 上有关于此特性的免费视频教程。 Laravel Laravel Notifications 为我们提供了简单、优雅的 API 用于在不同的发行渠道中发送通知,例如邮 件、SMS、Slack 等等。例如,你可以定义一个单据已经支付的通知,然后通过邮件和 SMS 发送这 本文档由 Laravel 学院(LaravelAcademy.org)提供 Laravel 学院致力于提供优质 Laravel 中文学习资源 4 个通知,你可以使用一个很简单的来实现:0 码力 | 691 页 | 9.37 MB | 1 年前3 Laravel 5.3 中文文档Laravel 5.1,我们将会提供为期两年的 bug 修复和三年的安全修复支持。 LTS 版本将会提供最长时间的支持和维护。 对于其他通用版本,只提供六个月的 bug 修复和一年的安全修复支持,比如 Laravel 5.3。 2、Laravel 5.3 Laravel 5.3 在 5.2 的基础上继续进行优化,提供了大量新功能和新特性:基于驱动的通知系统; 通过 Laravel Echo 服务器;通过 Laravel Scout 实现全文模型搜索;在 Laravel Elixir 中支持 Webpack;“可邮寄”的对象;明确分离 web 和 api 路由;基于闭包的控制台命令;存储上传文件的辅助函数;支持 POPO 和单动作控制 器;以及优化前端脚手架;等等等等。 通知(Notifications) 注:Laracasts 上有关于此特性的免费视频教程。 Laravel Laravel Notifications 为我们提供了简单、优雅的 API 用于在不同的发行渠道中发送通知,例如邮 件、SMS、Slack 等等。例如,你可以定义一个单据已经支付的通知,然后通过邮件和 SMS 发送这 本文档由 Laravel 学院(LaravelAcademy.org)提供 Laravel 学院致力于提供优质 Laravel 中文学习资源 4 个通知,你可以使用一个很简单的来实现:0 码力 | 691 页 | 9.37 MB | 1 年前3
 Laravel 5.1 中文文档1,将会提供两年的 bug 修复和三年的安全修复支持。这些版本将 会提供最长时间的支持和维护。 对于其他通用版本,只提供六个月的 bug 修复和一年的安全修复支持。 Laravel 5.1.4 Laravel 5.1.4 将登录次数限制引入框架,更多详情请参考认证限制一节。 Laravel 5.1 Laravel 5.1 在 5.0 的基础上继续进行优化和提升,接受 PSR-2 代码风格,新增事件广播 开发组不会再提供安全更新,Laravel 5.1 要求 PHP5.5.9 或更高版本。PHP5.5.9 兼容一些最新版本的流行 PHP 库如 Guzzle 和 AWS SDK。 LTS Laravel 5.1 是 Laravel 第一个长期支持版本,将会提供两年的 bug 修复和安全修复,这是 迄今为止,Laravel 提供的最大跨度的支持,并且将会持续为更多的企业用户及普通用户提 供稳定平滑的支持。 PSR-2 代码风格指南已经被 Laravel 框架采取为默认风格指南,此外,所有代码生成器已经 被更新到生成兼容 PSR-2 语法的代码。 文档 Laravel 文档的每一个页面都进行了一丝不苟的审查和引人注目的优化,所有代码示例都被 审查并且扩展到更好的支持上下文相关性。 本文档由 Laravel 学院(LaravelAcademy.org)提供 2 事件广播 在很多现代的 web0 码力 | 307 页 | 3.46 MB | 1 年前3 Laravel 5.1 中文文档1,将会提供两年的 bug 修复和三年的安全修复支持。这些版本将 会提供最长时间的支持和维护。 对于其他通用版本,只提供六个月的 bug 修复和一年的安全修复支持。 Laravel 5.1.4 Laravel 5.1.4 将登录次数限制引入框架,更多详情请参考认证限制一节。 Laravel 5.1 Laravel 5.1 在 5.0 的基础上继续进行优化和提升,接受 PSR-2 代码风格,新增事件广播 开发组不会再提供安全更新,Laravel 5.1 要求 PHP5.5.9 或更高版本。PHP5.5.9 兼容一些最新版本的流行 PHP 库如 Guzzle 和 AWS SDK。 LTS Laravel 5.1 是 Laravel 第一个长期支持版本,将会提供两年的 bug 修复和安全修复,这是 迄今为止,Laravel 提供的最大跨度的支持,并且将会持续为更多的企业用户及普通用户提 供稳定平滑的支持。 PSR-2 代码风格指南已经被 Laravel 框架采取为默认风格指南,此外,所有代码生成器已经 被更新到生成兼容 PSR-2 语法的代码。 文档 Laravel 文档的每一个页面都进行了一丝不苟的审查和引人注目的优化,所有代码示例都被 审查并且扩展到更好的支持上下文相关性。 本文档由 Laravel 学院(LaravelAcademy.org)提供 2 事件广播 在很多现代的 web0 码力 | 307 页 | 3.46 MB | 1 年前3
 CmlPHP v2.x 开发手册
0新增)这几类域名时框架会自动识别当时环境为开发环境,默 认加载 Config/development.php 这个通用配置文件 product product 即除了 cli 和 development 之外的域名框架识别为 正式环境,默认加载 Config/normal.php 这个通用配置文件 自定义配置加载实现 自v2.7.2起。 cli/development/product // 1 (PATHINFO 模式显示index.php); 2 (PATHINFO 不显 示index.php); 3 (兼容模式) 默认为PATHINFO 模式,提供最好 的用户体验和SEO支持 'url_pathinfo_depr' => '/', // PATHINFO模式下,各参 数之间的分割符号 'url_html_suffix' => '.html' 'auth_key'=>'a5et3e41d', //Encry加密key 'check_csrf' => 1, //检查csrf跨站攻击 0、不检查,1、 只检查post数据提交方式,2、get/post都检查 默认只检查post 'form_token'=> 0, //表单令牌 0不开启,1开启 /*语言包设置*/ 'lang' =>'zh-cn', //读取zh-cn0 码力 | 245 页 | 720.67 KB | 1 年前3 CmlPHP v2.x 开发手册
0新增)这几类域名时框架会自动识别当时环境为开发环境,默 认加载 Config/development.php 这个通用配置文件 product product 即除了 cli 和 development 之外的域名框架识别为 正式环境,默认加载 Config/normal.php 这个通用配置文件 自定义配置加载实现 自v2.7.2起。 cli/development/product // 1 (PATHINFO 模式显示index.php); 2 (PATHINFO 不显 示index.php); 3 (兼容模式) 默认为PATHINFO 模式,提供最好 的用户体验和SEO支持 'url_pathinfo_depr' => '/', // PATHINFO模式下,各参 数之间的分割符号 'url_html_suffix' => '.html' 'auth_key'=>'a5et3e41d', //Encry加密key 'check_csrf' => 1, //检查csrf跨站攻击 0、不检查,1、 只检查post数据提交方式,2、get/post都检查 默认只检查post 'form_token'=> 0, //表单令牌 0不开启,1开启 /*语言包设置*/ 'lang' =>'zh-cn', //读取zh-cn0 码力 | 245 页 | 720.67 KB | 1 年前3
 CmlPHP v2.x 开发手册
8.0新增)这几类域名时框架会自动识别当时环境为开发环境,默认加载 Config/development.php 这个通用配置文件 product product 即除了 cli 和 development 之外的域名框架识别为正式环境,默认加载 Config/normal.php 这个通用配置文件 自定义配置加载实现 自v2.7.2起。 cli/development/product // 1 (PATHINFO 模式显示index.php); 2 (PATHINFO 不显示index.php); 3 (兼容模式) 默认为 PATHINFO 模式,提供最好的用户体验和SEO支持 'url_pathinfo_depr' => '/', // PATHINFO模式下,各参数之间的分割符号 'url_html_suffix' => '.html', 'auth_key'=>'a5et3e41d', //Encry加密key 'check_csrf' => 1, //检查csrf跨站攻击 0、不检查,1、只检查post数据提交方式,2、get/post 21 都检查 默认只检查post 'form_token'=> 0, //表单令牌 0不开启,1开启 /*语言包设置*/ 'lang' =>'zh-cn', //读取zh-cn0 码力 | 143 页 | 1.54 MB | 1 年前3 CmlPHP v2.x 开发手册
8.0新增)这几类域名时框架会自动识别当时环境为开发环境,默认加载 Config/development.php 这个通用配置文件 product product 即除了 cli 和 development 之外的域名框架识别为正式环境,默认加载 Config/normal.php 这个通用配置文件 自定义配置加载实现 自v2.7.2起。 cli/development/product // 1 (PATHINFO 模式显示index.php); 2 (PATHINFO 不显示index.php); 3 (兼容模式) 默认为 PATHINFO 模式,提供最好的用户体验和SEO支持 'url_pathinfo_depr' => '/', // PATHINFO模式下,各参数之间的分割符号 'url_html_suffix' => '.html', 'auth_key'=>'a5et3e41d', //Encry加密key 'check_csrf' => 1, //检查csrf跨站攻击 0、不检查,1、只检查post数据提交方式,2、get/post 21 都检查 默认只检查post 'form_token'=> 0, //表单令牌 0不开启,1开启 /*语言包设置*/ 'lang' =>'zh-cn', //读取zh-cn0 码力 | 143 页 | 1.54 MB | 1 年前3
 CmlPHP v2.x 开发手册
8.0新增)这几类域名时框架 会自动识别当时环境为开发环境,默认加载 Config/development.php 这个通用配置 文件 product product 即除了 cli 和 development 之外的域名框架识别为正式环境,默认加载 Config/normal.php 这个通用配置文件 自定义配置加载实现 自v2.7.2起。 cli/development/product 代表以下四种模式: // 1 (PATHINFO 模式显示index.php); 2 (PATHINFO 不显示index.php); 3 (兼容模式) 默认为 PATHINFO 模式,提供最好的用户体验和SEO支持 'url_pathinfo_depr' => '/', // PATHINFO模式下,各参数之间的分割符号 'url_html_suffix' => '.html', // 'auth_key'=>'a5et3e41d', //Encry加密key 'check_csrf' => 1, //检查csrf跨站攻击 0、不检查,1、只检查post数据提交方式,2、get/post 都检查 默认只检查post 'form_token'=> 0, //表单令牌 0不开启,1开启 /*语言包设置*/ 'lang' =>'zh-cn', //读取zh-cn0 码力 | 251 页 | 973.37 KB | 1 年前3 CmlPHP v2.x 开发手册
8.0新增)这几类域名时框架 会自动识别当时环境为开发环境,默认加载 Config/development.php 这个通用配置 文件 product product 即除了 cli 和 development 之外的域名框架识别为正式环境,默认加载 Config/normal.php 这个通用配置文件 自定义配置加载实现 自v2.7.2起。 cli/development/product 代表以下四种模式: // 1 (PATHINFO 模式显示index.php); 2 (PATHINFO 不显示index.php); 3 (兼容模式) 默认为 PATHINFO 模式,提供最好的用户体验和SEO支持 'url_pathinfo_depr' => '/', // PATHINFO模式下,各参数之间的分割符号 'url_html_suffix' => '.html', // 'auth_key'=>'a5et3e41d', //Encry加密key 'check_csrf' => 1, //检查csrf跨站攻击 0、不检查,1、只检查post数据提交方式,2、get/post 都检查 默认只检查post 'form_token'=> 0, //表单令牌 0不开启,1开启 /*语言包设置*/ 'lang' =>'zh-cn', //读取zh-cn0 码力 | 251 页 | 973.37 KB | 1 年前3
 10 WEB攻击与防护技术 徐震 杨亮 《PHP语⾔程序设计》WEB攻击与防护技术 徐 震 信息安全国家重点实验室 提纲 一、背景概述 二、典型攻击 三、攻防原理 四、防护产品体系 1.1.技术背景 n Web成为主流的网络和应用技术 q CNCERT/CC 网络安全监测系统对流量数据进行的抽样统计 显示,Web 应用流量占整个TCP 流量的81.1% q B/S居统治地位:网上银行、电子商务、电子政务、证劵、 手机上网 3 相关政策、法规(2) n 胡锦涛总书记重要指示 q “把握信息化发展的方向、维护国家在网络空间的安全和利益成 为信息时代的重大战略课题。” n 政策文件和规划中对信息安全的要求 q 《国家信息化的战略目标(2006-2020)》指出:“建立和完善 信息安全等级保护制度,重点保护基础信息网络和关系国家安全、 经济命脉、社会稳定的重要信息系统”,我国到2020年应该达到: “国家信息安全保障水平大幅提高”。 q 隐藏变量篡改 n 配置管理类(家法不严) q 不安全的数据存储 q 信息泄露和不正确的参数处理 应用安全问题根源 防火墙/IPS OS Web服务器 应用服务器 防火墙\IPS 数据库系统 遗留系统 Web 服务 目录服务 人力资源 计费 定制开发的应用代码 用户和 攻击者 网络层防护(防火墙, SSL, IDS, OS加固) 无法检测并阻止应用层攻击0 码力 | 114 页 | 3.65 MB | 1 年前3 10 WEB攻击与防护技术 徐震 杨亮 《PHP语⾔程序设计》WEB攻击与防护技术 徐 震 信息安全国家重点实验室 提纲 一、背景概述 二、典型攻击 三、攻防原理 四、防护产品体系 1.1.技术背景 n Web成为主流的网络和应用技术 q CNCERT/CC 网络安全监测系统对流量数据进行的抽样统计 显示,Web 应用流量占整个TCP 流量的81.1% q B/S居统治地位:网上银行、电子商务、电子政务、证劵、 手机上网 3 相关政策、法规(2) n 胡锦涛总书记重要指示 q “把握信息化发展的方向、维护国家在网络空间的安全和利益成 为信息时代的重大战略课题。” n 政策文件和规划中对信息安全的要求 q 《国家信息化的战略目标(2006-2020)》指出:“建立和完善 信息安全等级保护制度,重点保护基础信息网络和关系国家安全、 经济命脉、社会稳定的重要信息系统”,我国到2020年应该达到: “国家信息安全保障水平大幅提高”。 q 隐藏变量篡改 n 配置管理类(家法不严) q 不安全的数据存储 q 信息泄露和不正确的参数处理 应用安全问题根源 防火墙/IPS OS Web服务器 应用服务器 防火墙\IPS 数据库系统 遗留系统 Web 服务 目录服务 人力资源 计费 定制开发的应用代码 用户和 攻击者 网络层防护(防火墙, SSL, IDS, OS加固) 无法检测并阻止应用层攻击0 码力 | 114 页 | 3.65 MB | 1 年前3
共 89 条
- 1
- 2
- 3
- 4
- 5
- 6
- 9














