CPUG - Woodpecker Wiki for CPUG (original) (raw)
| 会课 CPyUG ClassMeet :: 是**CPyUG在各个城市自发组织的一种本地Py爱好者线下进行的技术交流活动,主要在北京和上海已经进行了3年多,从08年起珠三角/南昌/安徽/武汉各地也相继开展; 提示: 组办时,标题格式注意使用 CPyUG 的总计, e.g:ZPyUG 08.1 [广州]~总第26 | | | | +-- 会课总计,以列表中通告时间为序,非举办时间 | | | +-- 会课地点,如果是固定的城市,可以省略 | | +-- 当年会课次数 %02d | +-- 年度缩写 YY +-- 各地用户组缩写会课提倡使用: S5~简单幻灯系统 来组织讲演资料! BPyUG
啄木鸟会课历史索引 CPyUG 总第 51 次纪要CPyUG 总第 50 次纪要CPyUG总第 49 次hackpad笔记CPUG第48次hackpad笔记 BPyUG 12.2~总第47次规格主题演讲快速演讲媒体资料记要特别鸣谢! 又拍云存储好看薄的视频直播BPyUG 12.1~总第46次分享主题媒体资料特别鸣谢! 又拍云存储好看薄的视频直播 北京会课2010第2次 CPyUG总第43次公交路线讨论主题预定参加者会课角色语音下载会课照片会课回响CPyUG北京2010第1次 总第39次公交路线讨论主题预定参加者会课角色语音下载会课照片会课回响 ZPyUG 珠三角区Python用户组 Logo 设计ing... 珠三角技术沙龙第7次~并CPyUG会课总第40期公交路线讨论主题相关资料资料下载照片录音录像会课回响悲哀引发CPyUG会课总第38期~暨珠三角技术沙龙第6次讨论主题相关资料公交路线沙龙议程会课角色媒体下载照片录像回响问卷引发反馈ZPyUG 09.2 广州~总第36暨广州技术沙龙第 3讨论主题会课回响引发ZPyUG 09.1 广州~总第35公交路线讨论主题相关资料预定参加者会课角色语音下载会课照片会课回响引发ZPyUG 09.0 广州:bfg~总第32次发起预订记要,录音照片录音,录像ZPyUG 08.03 合OpenSourceCamp 广州~总第31次公交路线日程主题预约会课角色报道Josh Yin资料下载ZPyUG 08.02 珠海~总第30次交通路线讨论主题沈崴~eurasia+v刘鑫~跳票!ZoomQuiet~Easy SPE人员下载会课照片会课回响ZPyUG 08第01次~总第26公交路线会课角色讨论主题语音下载会课照片预定参加者总第24~ZPyUG 2007 第01次公交路线主题着装要求:Logo 征稿!照片,录音,资料预定参加者会课角色ZPyUG 2007 第00次公交路线主题着装要求:Logo 征稿!照片,录音,资料引发工程预定参加者会课角色07-10-17.zhpy 设计 SPyUG
上海5分钟Py分享第4期:CPyUG总第42次讨论主题SZP沈游侠+ZQ张博超会课照片会课回响引发上海5分钟Py分享第3期:CPyUG总第41次讨论主题相关资料语音下载会课照片会课回响引发SPUG会课 2006 总结SPUG第4次讨论主题相关资料参加者语音下载会课照片会课回响引发06年第一次 华东Python爱好者聚会聚会议程演讲者相关资料最终分享报名会课回响引发语音下载中国Python用户组华东分组聚会报名聚会安排讨论051029 烟雨江南聚会照片集锦合影华东Pythoner特写foundrun的小结华东Python用户组(SPUG/EPUG?)第一次聚会聚会纪实2005-08-29 筹划第一次活动2005-07-27 Hoxide激情启动宣言操作规则组织框架SPUG活动活动历史活动视频参与者邮件列表反馈 WHPyUG 武汉Py用户组 WHPyUG第1次总第45期公交路线讨论主题发言人发言大纲相关资料预定参加者会课角色在线转播语音下载会课照片会课回响引发 XAPyUG
100904 西安会课2010.1~CPyUG总第44次讨论主题资料下载会课回响宣言活动操作规则活动时间组织框架参与者反馈 啄木鸟历史会课
2005-02-26 WeKnow特邀佳宾庄秀丽发言主题毛 向辉发言主题相关资料时间安排引发录音预课语音下载不是我不小心!预定参加者会谈回响交流需要代价!2005-02-19.Skype头脑风暴Zoomq发言大纲会谈回响Limodou发言大纲相关资料引发进一步讨论项目倡议语音下载预定参加者网路宣传回响 啄木鸟社区分类 | FAQ CPUG技术邮件列表: python-chinese@lists.python.cn及python-cn@googlegroups.com(以下简称_PythonCN_)的常见问题集。 《提问的智慧》 是列表中发问前必看的文章 -- 我们提倡分享,BS教导! Contents 列表相关 订阅及退订 自动回复 Trolls-如何对付找骂的 搜索 我怎么才能找到以前的某个邮件? 存档里邮件好多,能不能用搜索呀? TiosnG 邮件工具 开发相关 开发工具 Leo 运行环境 如何运行Python程序 国际化 如何在python中使用中文 如何设定程序的文件编码 文档 中文教程 项目管理 列表相关 什么是邮件列表? 邮件列表的规范和礼节 订阅及退订 订阅或退订邮件列表PythonCN,请自行前往相关的订阅界面进行订阅或退订处理。 关于退订 已设立了在首页可以快捷退订的入口。 如果实在无法退订可以在邮件列表中发信要求退订,管理员会尽快处理你的退订请求。 如果你订阅了邮件列表,请注意要关闭邮件的自动回复功能,否则会被认为是垃圾订阅,管理员会在未警告的情况下取消你的订阅资格。 列表中标准引导回复 我想如何退订,在邮件列表订阅的时候已经说明了 并且每封邮件底下都有相关连接 你采用向列表中发送邮件要求退订的做法是非常不礼貌的 我试举出你这样做法会带来的一些后果: 1.每封发往列表的信件都会被转发给所有列表订阅者,目前这个列表大概有上千人 你的这封和列表主旨无关的信件将打扰上千人,并给服务器和大家带来不必要的带宽,存储开销 2.列表的信件是要归档存储的,不相干的内容充斥归档内容,将给后来搜索以前内容带来极大的干扰 不管下次订阅什么列表,希望能够发信前多考虑一下,因为每封信都会发给这个列表的所有成员 关于你要退订的事情,zoomq是列表管理员 我帮你把这封信抄送给他,请他帮你完成退订工作 如果管理员没时间帮你,请自己去 http://python.cn/mailman/listinfo/python-chinese 退订希望大家有空的时候利用私人信件纠正邮件列表使用中的不良习惯 大家共同维护良好的环境 广告语: 如果你看到了一封错误发到列表中的信件, 如果你恰好有时间, 请发一封私人信件联系发送者,讲解错误的使用列表带来的不便 指出如何正确使用邮件列表 列表中良好的环境,依靠大家共同维护自动回复 刚刚又发现了一个自动回复,我已经把他从列表里面删除了。他用的是网易的163.com邮箱,因为我没有网易的邮箱,我不知道是网易的邮箱默认的打开自动回复还是怎样,不过无论如何都请各位关掉,因为这个列表里面有一千多个订户,保守的估计至少有几百个是有效的,那么因为你的自动回复就会使邮件服务器每次多发出去1000多个邮件,这样对于我们的资源以及带宽都是一个极大的浪费,虽然很多人都设置了过滤功能,但是这样并不能阻止垃圾邮件的产生。所以我在这里呼吁大家都检查一下自己的自动回复更能是否打开。 从现在开始只要发现就一定删除,这是对大家的尊重,请不小心打开了自动回复功能的朋友谅解,虽然这可能不是你有意的,但是为了大家能有一个良好的环境,请你谅解,欢迎你回来,不过请关掉自动回复。163.com关闭自动回复的方法是: 右上方“选项”-〉“更多选项”-〉“自动回复”-〉停止-〉确定 帮助有提示 注意:若您使用邮件列表,请停止使用自动回复功能。Trolls-如何对付找骂的 像Chris Qie <longroad1999@gmail.com>这样的在公共论坛用侮辱性言语挑起骂战并从中获取某种不知名快感的人],在Usenet文化中有一个名称: Troll。 Troll作动词是钓鱼的意思,指那些人发表某种言论后等待别人的攻击性回复,从 而获得快感。Troll还有一个意思是斯堪的纳维亚神话中一种长相丑陋、爱恶作 剧、令人讨厌的巨人,和那些找骂的人有相似之处,因此也被引申过来形容那些 人,做名词使用。回troll的贴则被称为feed the trolls,即给trolls喂食。 Trolls有很多种,像Chris Qie只是其中一种,即使用种族歧视性语言激怒别人, 好让别人回帖骂他。comp.lang.python上著名的troll: Xah Lee则是长年在各个 script语言讨论组上交叉张贴无关内容或用错误百出的话语对某种语言或者文化进 行攻击。但无论那种troll,他们的目的都是一样的:想通过怪诞的举动引起别人 的注意。这是一种病态心理,是一种未成熟,类似小孩“人来疯”似的举动。 Trolls的存在对公共空间是破坏性的。它们的post会引起很多人回帖,甚至会有情 绪激动者采用谩骂的方式回敬,这些人被称为trollhunter。这些行为正中trolls 的下怀,使他们获得被骂的快乐,从而更加积极的trolling。而且即使 trollhunter的动机是好的,也会给论坛带来不好影响,使其他用户接收到大量无 关信息和攻击性信息,成为受害者。公共空间的和谐性被破坏。 Trolls最愿意看到别人回他的贴,无论是正儿八经指出他的错误还是义愤填膺的对 他谩骂。对一个troll来说,最能让他感到沮丧的则是没有人理他。而我们,正是 应该让他们沮丧,失去trolling的动力。 对待trolls的方法,一方面要靠大家自觉,克制自己回帖的冲动,不给他们喂食。 另一方面,在邮件列表这种有管理员的公共空间,可以向管理员提出封禁trolls的 提案。 下图是我从c.l.python上Keith Thompson对Xah Lee的trolling行为提醒公众的帖 子中拷贝过来的图片(请使用等宽字体观看) +-------------------+ .:\:\:/:/:. | PLEASE DO NOT | :.:\:\:/:/:.: | FEED THE TROLLS | :=.' - - '.=: | | '=(\ 9 9 /)=' | Thank you, | ( (_) ) | Management | /`-vvv-'\ +-------------------+ / \ | | @@@ / /|,,,,,|\ \ | | @@@ /_// /^\ \\_\ @x@@x@ | | | / WW( ( ) )WW \||||/ | | \| __\,,\ /,,/__ \||/ | | | jgs (______Y______) /\/\/\/\/\/\/\/\//\/\\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\原文链接] 历年python-cn 各种列表著名 Troll 案例: 051106-RE:python的无奈 唉,没想到这里乡下贱农(的贱崽)还真不少, 说城市人酒囊饭袋是农村人聊以自慰的一点点资本, 就象美国黑人在奥运会夺得金牌时获得的快乐一样, 我就是酒囊饭袋怎么样? 可惜就是你爸在田间地头为我流汗流泪的劳作养活的我, 哈哈?心理不平衡了?谁让你爹是农民! 还"龙村",真够恶心的,一辈子你都是低贱的乡下人 , 低贱!哈哈!就是血染你家老母老爹,然后发迹的,你能怎样?HOHO~ -- 是标准的运用城市差异来挑起回复的实例,在中国这样的发展中国家尤其奏效060612-RE:Web开发有必要选Python(或者是ruby)么? 黄叶 hylinux at gmail.com ... 对啊。 我这种人满大街都是呢。 来啊来啊。 继续呢。再搬张板凳。坐下。 哈哈。 -- 开始,仅仅是比较典型的"是否最优"探讨,后来立即转向意气之争,死认他人不过是教条的空论;是经典的通过技术争论引发回复的实例 搜索 我怎么才能找到以前的某个邮件? 如果你确信你要的邮件在你的邮箱里,你当然应该使用你邮件客户端的搜索功能. python-chinese@lists.python.cn可以进入python.cn 所有邮件存档来查找 python-cn@googlegroups.com可以进入网站使用google来查找 存档里邮件好多,能不能用搜索呀? 当然可以,python-chinese@lists.python.cn现在已经增加了google搜索功能。在网站的右上角的搜索栏键入你想要搜索的关键字,点击搜索按钮就可以了。 python-cn@googlegroups.com本来就是google的,更没有问题。 TiosnG 毕竟有好的搜索服务站点,任何问题先自行嘗試搜索一下子,一般说就不用在列表中受到大家的BS 了…… 有一个网站叫google,如果你用它找到了更好的,也可以回复分享在列表中,那么后来的人就可以省事了 There is a site named Google! 缩写为: TIASNG 哈哈哈!以后的经典回复! TiosnG~[ti'aosn'gu] There is one site named Google! -- 嗯嗯!有人建议正规点的E文是也乎 --修正为此单词! 谁能帮我找中文的PYTHON初学学习的资料 中提到 同类术语RTFM~Read The Fucking Manual STFW ("Search The Fucking Web") GIYF ("Google Is Your Friend") JFGI ("Just Fucking Google It") 邮件工具 大家都用什么工具收邮件呀? 你还不习惯处理如此多的邮件.你想找一个好的邮件客户端.下面是一些大家用得还可以得. 当然,他们可能与平台相关 在linux下 Evolution Sylpheed Kmail 你可以用过滤器,将列表信件自动分类到单独得文件夹 使用按线索排列,可以方便地分清线索 使用搜索框,可以在邮箱中任意搜索 Mutt (字符界面) 在windows下 outlook 在每台装有windows的机器上你都可以方便找到 未必吧,只有安装了office的机器上才有outlook,很贵的。windows自带的那个是outlook express incredimail 在任何平台下 gmail 首先,你得有邀请,不过现在gmail的邀请已经开始过剩了,如果实在找不到可以 联系我[qsb300@gmail.com] 可以在任何平台使用,只要你有浏览器 方便的线索功能 强大的搜索功能 不用担心容量问题 垃圾邮件过滤 Thunderbird 优秀的跨平台邮件客户端 自由/开源软件 强烈建议不使用foxmail和dreammail**订阅邮件列表,它们对标准支持不完善,会破坏列表线索,影响其他人正常使用列表 怎么我看到的邮件都是乱码? 有的邮件可能的确是乱码,那没救了 大部分邮件往往并非乱码,而是选用了与你默认设定不同字符集,这些包括utf8,gbk,gb2321 你可以前往python.cn所有邮件存档看看,如果那儿显示一封邮件是正常的,那往往是你自己本地的设置问题 开发相关 开发工具 python有什么好的IDE吗? 当然,你可以找到很多,不过有些也跟平台相关 在windows下 pythonwin挺好 activepython 简单,安装方便 有语法补全功能 支持自动缩进 支持循环折叠 方便的添加package linux下 eclipse+py_dev 在任何平台下 bao 疑是boa笔误 --- jacobfan 2006-07-18 支持拖放 下面是另一种分类方法 如果开发wxPython: boa wxDesigner 开发qt: 好像有一个Eric 一定要IDE才能开发python程序吗? 使用一些独立工具组合使用,一样可以高效的开发,而且会让你对python理解得更加透彻 PythonEditor Vim PythonShell python自带的交互式shell IPython An enhanced Interactive Python shell,在里面做语法测试很方便,支持用tab键补全的 PythonDebugger pdb模块 GuiBuilder wxGlade 手工写界面代码也不太难,而且比使用GuiBuilder还有一些好处 Beware The GUI Builder NewEdit limodou开发的Python编辑器 Leo Leo 文学编程环境 -- 优雅的组织你所有资料在统一界面中! 运行环境 如何运行Python程序 运行python程序有多种方式,如在一个IDE中运行,不同的IDE运行方式就不说了。 另一种就是在命令行运行,在windows下就是打开一个dos窗口,*nix下应该知道如何进入命令行了。 但是在命令行下运行需要设定系统可以找到python执行程序,在windows下就是要设定PATH环境变量, 你在命令行下敲入 python -V如果执行正确则可以看到当前安装的Python的版本。 确定python在命令行下可以运行后,就可以执行python程序了。一般为: python yourprogram.py args [args...]如果需要后面可以接命令行的参数。 国际化 如何在python中使用中文 你无法将关键字或变量名使用中文 你可以输入或输出中文,这需要编码转换,推荐的是使用utf8 这儿有中文使用实例,包括怎么用正则表达式来匹配中文 如何设定程序的文件编码 具体规范描述在 http://www.python.org/peps/pep-0263.html 文档中描述: More precisely, the first or second line must match the regular expression "coding[:=]\s*([-\w.]+)". 因此通过上述的正则表达式就可以知道: coding后面为:或=均可。根据上面的正则式可以推出几种正确的写法,找一种喜欢的吧。 coding:cp936 coding=cp936 至于前面有什么都无所谓。文档 中文教程 有哪些好的python入门教程?最好中文的. 有一些,不多,但入门还是够了,python.cn主页就有一些 如果你没有任何python基础,推荐首先阅读由limodou翻译的diveintopython中文版,该书浅显易懂,精简,基础内容也较全;或者阅读简明Python教程,这也是一本入门就可以看的书 其实,看英文文档也不是那么难. 怎么没有更多的呀? 翻译文档往往是一件费力的事情,这是一个需要协作的工作,也许你也可以贡献一点 项目管理 FAQ应该以回答问题为主,开发技巧就算了吧。 - limodou ::-- ZoomQuiet [2005-06-05 13:17:18] 这个FAQ 放个链接到wiki首页和 maillist的订阅页面吧,我花了5分钟才找到它,那些新来的就更不用说了 - BruceWang CPUG分类 |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | | ------------------------- | | | ---------------------- | | --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | --------------- | --------------- | | ---------------- | ---------- | ---------- | ---------- | ----------------------------------------------------------------- | | ---------------------------- | | ----------------------------------------- | | | ---------------------------------- | | ----------------------------------------- | | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |