Docker镜像、容器操作2018-8-20镜像操作查看镜像dockerimages保存镜像dockersavemyimage-o/home/zzz/docker/myimage.tar载入镜像dockerload
强化学习:在无人驾驶中的应用
AI天才研究院
AI大模型企业级应用开发实战大数据AI人工智能计算计算科学神经计算深度学习神经网络大数据人工智能大型语言模型AIAGILLMJavaPython架构设计AgentRPA
强化学习:在无人驾驶中的应用作者:禅与计算机程序设计艺术/ZenandtheArtofComputerProgramming1.背景介绍1.1问题的由来随着科技的飞速发展,无人驾驶技术逐渐成为汽车工业和人工智能领域的热点。无人驾驶汽车被认为是未来交通系统的重要组成部分,它能够提高道路安全性、缓解交通拥堵、降低环境污染等。然而,实现无人驾驶面临着诸多挑战,其中最为关键的是如何让汽车在复杂多变的交通环
基于强化学习的自动驾驶决策规划算法
AI天才研究院
LLM大模型落地实战指南AI大模型应用入门实战与进阶计算科学神经计算深度学习神经网络大数据人工智能大型语言模型AIAGILLMJavaPython架构设计AgentRPA
基于强化学习的自动驾驶决策规划算法作者:禅与计算机程序设计艺术1.背景介绍自动驾驶技术是当前人工智能领域最受关注和投入的方向之一。自动驾驶汽车需要在复杂多变的交通环境中做出安全、舒适和高效的决策和行动。传统基于规则和模型的决策规划方法已经难以满足自动驾驶的需求。近年来,基于强化学习的决策规划算法越来越受到关注,它能够在复杂动态环境中学习出高效的决策策略。2.核心概念与联系强化学习是一种通过与环境的
C++ STL?看这篇就够啦。草履虫都能学会的STL教程!
温州草履虫
c++数据结构java
C++中容器容器是什么?string容器构造函数常见函数vector容器与array的区别构造函数常见函数迭代器迭代器是什么?deque容器实现原理常见函数stack容器栈常见函数queue容器常见函数list容器链表链表的概念list容器的迭代器常见函数set/multiset容器二叉树常见函数map/multimap容器map和set的**区别**是:容器是什么?几乎可以说,任何特定的数据结构
数组与链表
Majoy2
算法链表算法数据结构
数组与链表基本概念数组就是指数据是放在连续的内存空间,数组数据称为元素。使用索引存取数组内容由于数组数据是在连续空间,存取是用索引方式存取,这个读取方式在计算机领域称作随机存取,只要一个步骤就可以取得数组元素内容,所以时间复杂度是O(1)。新数据插入数组数组结构虽然好用,但插入删除元素需要较多时间。插入删除数据时,可能要移动所有数组元素,所以时间复杂度是O(n)。数组的优缺点当数组空间不足时,必须
时间复杂度与空间复杂度
Majoy2
算法算法数据结构
时间复杂度与空间复杂度一、基本概念我们可以使用程序语言的时间函数记录一个程序执行所需的时间,最大的缺点是程序执行的时间会随计算机的不同有所差异,所以绝对时间概念一般不被计算机科学家采用。程序运行时间的测量方法是采用步骤数表示程序运行时间,基本测量单位是1个步骤,由步骤数测量程序执行所需时间,又将步骤数称时间复杂度。假设骑自行车每2分钟可以骑1千米,请问骑10千米需要多少时间?答案是2*10,需要2
Docker:容器(Container)和镜像(Image)的关系
D3Zane
Docker相关基础概念docker
文章目录引言一、广义上的Docker二、与Docker相关的名词和概念1.容器(Container)2.镜像(Image)3.仓库(Registry)4.Docker引擎(DockerEngine)5.Dockerfile三、对容器和镜像理解*1.什么是容器?2.什么是Docker镜像?3.Docker镜像的主要组成部分四、容器和镜像的关系*五、容器的创建六、Docker镜像的编写总结引言首先阐述
渲染定义
ccqq0507
openglui
渲染定义渲染管线也称渲染流水线,是显示芯片内部处理图形信号相互独立的并行的处理单位。一个流水线是一序列可以并行和按固定顺序进行的阶段。也就是说每个阶段都是从它的前一阶段输入,然后输出发给随后的阶段。渲染一般分为离线渲染与实时渲染,游戏中我们用的都是实时渲染。实时渲染又可以分为2D渲染与3D渲染。早期的2D渲染,是通过把一块内存(图片像素数据)往另一块(显示缓冲区)上搬运的方式,实现图片绘制的。不过
Python如何获取股票实时行情?有哪些好用的库和工具
股票程序化交易接口
量化交易股票API接口Python股票量化交易大数据python股票实时行情库工具股票量化接口股票API接口
Python股票接口实现查询账户,提交订单,自动交易(1)Python股票程序交易接口查账,提交订单,自动交易(2)股票量化,Python炒股,CSDN交流社区>>>Python与股票行情获取的基础Python在金融数据处理中的优势Python是一种功能强大且灵活的编程语言。在金融领域,它的简洁语法和丰富的库使其成为处理股票行情数据的理想选择。Python能够方便地进行数据获取、清洗、分析和可视化
【网站架构部署与优化】Tomcat优化、Tomcat多实例部署
Karoku066
架构tomcatfirefoxlinux运维服务器bash
文章目录Tomcat优化Tomcat配置文件参数优化示例配置TomcatJVM参数配置参数解释注意总结Tomcat配置文件参数优化(`server.xml`)1.线程池参数2.网络连接参数3.性能优化参数Java虚拟机(JVM)调优1.堆内存设置2.新生代和老年代设置3.垃圾收集器设置4.其他性能优化参数常见错误及解决方法Tomcat多实例部署1.安装JDK和Tomcat2.配置Tomcat环境变
C++实现,简单的命令行交互框架
智驾
生产力工具C/C++c++交互开发语言
目录背景背景在实际开发中,经常需要有对端测试程序,配合自己的程序,验证功能、逻辑等。面对繁杂、多变的需求,如果对端程序设计得不够灵活,则无法提升工作效率,如果能够与对端程序交互,通过命令行输入命令的方式完成测试验证,将大大提升工作效率,下面的示例程序是一个简单的命令行交互框架,各位小伙伴可以根据自己的需求添加命令即可,如果对你有帮助,请点赞、收藏,谢谢!#include#include#inclu
在汇编语言中,ASSUME 是一个用于告诉汇编器如何将段寄存器与特定段名称关联的指令
laocooon523857886
算法汇编
在汇编语言中,ASSUME是一个用于告诉汇编器如何将段寄存器与特定段名称关联的指令。它主要用于定义代码段、数据段和栈段等的段寄存器使用方式,帮助编译器生成正确的代码。具体到ASSUMEDS:DATA,CS:CODE,SS:STACK,这行代码的作用如下:ASSUMEDS:DATA:告诉汇编器,数据段(DATA)应该与数据段寄存器(DS)关联。ASSUMECS:CODE:告诉汇编器,代码段(CODE
使用CSS实现一个加载的进度条
eqa11
css前端进度条
文章目录使用CSS实现一个加载的进度条一、引言二、步骤一:HTML结构与CSS基础样式1、HTML结构2、CSS基础样式三、步骤二:添加动画效果1、使用CSS动画2、结合JavaScript控制动画四、使用示例五、总结使用CSS实现一个加载的进度条一、引言在现代网页设计中,加载速度对用户体验至关重要。为了提升用户体验,加载进度条成为了一个常见的交互元素。它不仅能告知用户页面加载的进度,还能减少用户
2024 java面试题
TPBoreas
#Java面试开发语言后端
目录JAVA初级请简述你对MVC模式的理解SpringBean的生命周期可以分为以下几步:Spring自动装配bean有哪些方式?说一下类的加载过程?在使用HashMap的时候,用String做key有什么好处?HashMap、LinkedHashMap、TreeMap的区别?this与super之间有什么区别?乐观锁和悲观锁的实现是怎么样的?==与equals的区别Final在java中有什么作
多系统萎缩患者的科学锻炼指南
小知识来科普
生活
多系统萎缩(MSA)是一种神经退行性疾病,患者面临着运动、自主神经和认知等多方面的挑战。然而,通过科学合理的锻炼,可以有效缓解症状,提升生活质量。本文将详细介绍多系统萎缩患者应该进行的锻炼项目,帮助患者制定个性化的康复计划。一、有氧运动,增强心肺功能对于病情较轻的患者,适量的有氧运动能够增强心肺功能,提高耐力。推荐的运动方式包括:慢跑与快走:每周进行3-5次,每次持续20-30分钟。选择平坦、
构建DDPM模型:实现手写数字生成
AI天才研究院
AI大模型企业级应用开发实战大数据AI人工智能计算科学神经计算深度学习神经网络大数据人工智能大型语言模型AIAGILLMJavaPython架构设计AgentRPA
构建DDPM模型:实现手写数字生成作者:禅与计算机程序设计艺术1.背景介绍1.1.图像生成技术的演进图像生成技术近年来取得了飞速的发展,从早期的像素级操作到如今的深度生成模型,技术不断革新,生成的图像也越来越逼真。早期的图像生成方法主要依赖于手工设计的规则和特征,例如,基于规则的纹理合成、基于特征的图像变形等。这些方法通常需要大量的领域知识和人工调整,难以生成高质量的图像。1.2.深度生成模型的崛
CloudCompare 二次开发(37)——点云最近邻插值
点云侠
CloudCompare二次开发c++开发语言算法矩阵3d
目录一、概述二、代码集成三、结果展示一、概述 使用CloudCompare与PCL编程实现的点云最近邻插值。二、代码集成1、mainwindow.h文件public中添加:voiddoActionNearestInsert();//最近邻插值2、mainwindow.cpp文件voidMainWindow::connectActions()函数中添加:connect(m_UI->actionNe
python中文件加密
你猜
python文件加密
1、RSA加密算法详解参考:https://blog.csdn.net/wm_1991/article/details/519545652、http://blog.sina.com.cn/s/blog_8657e5490102xy7b.html
原创prompt:员工加班助手
姚瑞南
prompt实战应用案例prompt
本文原创作者:姚瑞南AI-agent大模型运营专家,先后任职于美团、猎聘等中大厂AI训练专家和智能运营专家岗;多年人工智能行业智能产品运营及大模型落地经验,拥有AI外呼方向国家专利与PMP项目管理证书。(转载需经授权)#Role:员工加班填报助手##Profile:你是一个在公司内部帮助员工填报加班信息、审批的办公室助手,主要任务是通过友好且礼貌的引导员工对话填报加班方式来帮助员工完成加班信息填报
[0157]基于JAVA的井下瓦斯及灾害预警智慧管理系统的设计与实现
阿鑫学长【毕设工场】
java开发语言毕业设计课程设计
毕业设计(论文)开题报告表姓名学院专业班级题目基于JAVA的井下瓦斯及灾害预警智慧管理系统的设计与实现指导老师(一)选题的背景和意义选题背景与意义:随着我国煤炭工业的持续发展,井下安全生产问题特别是瓦斯灾害防治成为制约煤矿高效、安全运营的关键环节。据统计数据显示,瓦斯爆炸事故在各类煤矿安全事故中占据较高比例,严重威胁矿工生命安全和煤矿生产秩序。因此,实现对井下瓦斯浓度的实时监测、智能预警以及高效的
Python Kivy 进阶功能教程
蜡笔小新星
Kivypythonnginx开发语言学习经验分享
文章目录1.动画和效果1.1Kivy的Animation类示例:简单按钮动画1.2创造更多动画效果示例:移动和旋转动画2.音频与视频2.1使用MediaPlayer播放音频和视频文件示例:播放音频文件2.2播放视频文件示例:播放视频3.多媒体和图形处理3.1使用Canvas绘制简单图形示例:绘制形状3.2创建一个图形绘制工具应用示例:基本绘图工具总结在本教程中,我们将深入学习Kivy的一些进阶功能
Python 如何使用访问Windows共享文件夹
蜡笔小新星
pythonwindows开发语言经验分享
文章目录引言前置条件步骤一:导入必要的模块步骤二:配置连接参数步骤三:实例化SMB连接对象并尝试连接步骤四:列出共享文件夹中的文件与文件夹步骤五:下载与上传文件(可选)步骤六:处理连接错误错误排查指南结论引言本教程旨在帮助您使用pysmb库,通过SMB(ServerMessageBlock)协议,轻松连接到Windows共享文件夹,并列举其中的文件与文件夹。此外,我们还将简要介绍如何下载和上传文件
从天气项目看 Spring Cloud 微服务治理
_SpringBoot
微服务天气项目
从天气项目看SpringCloud微服务治理||项目概述及最初项目环境从天气项目看SpringCloud微服务治理||单体项目搭建从天气项目看SpringCloud微服务治理||天气预报系统的微服务架构设计与实现从天气项目看SpringCloud微服务治理||微服务注册与发现从天气项目看SpringCloud微服务治理||微服务之间的通信从天气项目看SpringCloud微服务治理||API网关进
Oracle SQL Developer:数据库开发与数据管理的利器
2401_85812026
oraclesql数据库开发
在数据库管理和开发领域,拥有一个强大而灵活的工具是至关重要的。OracleSQLDeveloper是Oracle公司提供的一个免费集成开发环境,它专为数据库开发、管理和数据建模而设计。本文将详细介绍OracleSQLDeveloper的功能、特点以及如何使用它来执行数据库任务,包括编写和执行SQL语句、数据建模和数据库管理。1.什么是OracleSQLDeveloperOracleSQLDevel
Python的加密与解密_pyarmor解码
2401_84584583
程序员python网络安全
随着信息化和数字化社会的发展,人们对信息安全和保密的重要性认识不断提高,于是在1997年,美国国家标准局公布实施了“美国数据加密标准(DES)”,民间力量开始全面介入密码学的研究和应用中,采用的加密算法有DES、RSA、SHA等。随着对加密强度需求的不断提高,近期又出现了AES、ECC等。使用密码学可以达到以下目的:保密性:防止用户的标识或数据被读取。数据完整性:防止数据被更改。身份验证:确保数据
java数字签名三种方式
知了ing
javajdk
以下3钟数字签名都是基于jdk7的
1,RSA
String password="test";
// 1.初始化密钥
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
keyPairGenerator.initialize(51
Hibernate学习笔记
caoyong
Hibernate
1>、Hibernate是数据访问层框架,是一个ORM(Object Relation Mapping)框架,作者为:Gavin King
2>、搭建Hibernate的开发环境
a>、添加jar包:
aa>、hibernatte开发包中/lib/required/所
设计模式之装饰器模式Decorator(结构型)
漂泊一剑客
Decorator
1. 概述
若你从事过面向对象开发,实现给一个类或对象增加行为,使用继承机制,这是所有面向对象语言的一个基本特性。如果已经存在的一个类缺少某些方法,或者须要给方法添加更多的功能(魅力),你也许会仅仅继承这个类来产生一个新类—这建立在额外的代码上。
读取磁盘文件txt,并输入String
一炮送你回车库
String
public static void main(String[] args) throws IOException {
String fileContent = readFileContent("d:/aaa.txt");
System.out.println(fileContent);
js三级联动下拉框
3213213333332132
三级联动
//三级联动
省/直辖市<select id="province"></select>
市/省直辖<select id="city"></select>
县/区 <select id="area"></select>
erlang之parse_transform编译选项的应用
616050468
parse_transform游戏服务器属性同步abstract_code
最近使用erlang重构了游戏服务器的所有代码,之前看过C++/lua写的服务器引擎代码,引擎实现了玩家属性自动同步给前端和增量更新玩家数据到数据库的功能,这也是现在很多游戏服务器的优化方向,在引擎层面去解决数据同步和数据持久化,数据发生变化了业务层不需要关心怎么去同步给前端。由于游戏过程中玩家每个业务中玩家数据更改的量其实是很少
JAVA JSON的解析
darkranger
java
// {
// “Total”:“条数”,
// Code: 1,
//
// “PaymentItems”:[
// {
// “PaymentItemID”:”支款单ID”,
// “PaymentCode”:”支款单编号”,
// “PaymentTime”:”支款日期”,
// ”ContractNo”:”合同号”,
//
POJ-1273-Drainage Ditches
aijuans
ACM_POJ
POJ-1273-Drainage Ditches
http://poj.org/problem?id=1273
基本的最大流,按LRJ的白书写的
#include<iostream>
#include<cstring>
#include<queue>
using namespace std;
#define INF 0x7fffffff
int ma
工作流Activiti5表的命名及含义
atongyeye
工作流Activiti
activiti5 - http://activiti.org/designer/update在线插件安装
activiti5一共23张表
Activiti的表都以ACT_开头。 第二部分是表示表的用途的两个字母标识。 用途也和服务的API对应。
ACT_RE_*: 'RE'表示repository。 这个前缀的表包含了流程定义和流程静态资源 (图片,规则,等等)。
A
android的广播机制和广播的简单使用
百合不是茶
android广播机制广播的注册
Android广播机制简介 在Android中,有一些操作完成以后,会发送广播,比如说发出一条短信,或打出一个电话,如果某个程序接收了这个广播,就会做相应的处理。这个广播跟我们传统意义中的电台广播有些相似之处。之所以叫做广播,就是因为它只负责“说”而不管你“听不听”,也就是不管你接收方如何处理。另外,广播可以被不只一个应用程序所接收,当然也可能不被任何应
Spring事务传播行为详解
bijian1013
javaspring事务传播行为
在service类前加上@Transactional,声明这个service所有方法需要事务管理。每一个业务方法开始时都会打开一个事务。
Spring默认情况下会对运行期例外(RunTimeException)进行事务回滚。这
eidtplus operate
征客丶
eidtplus
开启列模式: Alt+C 鼠标选择 OR Alt+鼠标左键拖动
列模式替换或复制内容(多行):
右键-->格式-->填充所选内容-->选择相应操作
OR
Ctrl+Shift+V(复制多行数据,必须行数一致)
-------------------------------------------------------
【Kafka一】Kafka入门
bit1129
kafka
这篇文章来自Spark集成Kafka(http://bit1129.iteye.com/blog/2174765),这里把它单独取出来,作为Kafka的入门吧
下载Kafka
http://mirror.bit.edu.cn/apache/kafka/0.8.1.1/kafka_2.10-0.8.1.1.tgz
2.10表示Scala的版本,而0.8.1.1表示Kafka
Spring 事务实现机制
BlueSkator
spring代理事务
Spring是以代理的方式实现对事务的管理。我们在Action中所使用的Service对象,其实是代理对象的实例,并不是我们所写的Service对象实例。既然是两个不同的对象,那为什么我们在Action中可以象使用Service对象一样的使用代理对象呢?为了说明问题,假设有个Service类叫AService,它的Spring事务代理类为AProxyService,AService实现了一个接口
bootstrap源码学习与示例:bootstrap-dropdown(转帖)
BreakingBad
bootstrapdropdown
bootstrap-dropdown组件是个烂东西,我读后的整体感觉。
一个下拉开菜单的设计:
<ul class="nav pull-right">
<li id="fat-menu" class="dropdown">
读《研磨设计模式》-代码笔记-中介者模式-Mediator
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
/*
* 中介者模式(Mediator):用一个中介对象来封装一系列的对象交互。
* 中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。
*
* 在我看来,Mediator模式是把多个对象(
常用代码记录
chenjunt3
UIExcelJ#
1、单据设置某行或某字段不能修改
//i是行号,"cash"是字段名称
getBillCardPanelWrapper().getBillCardPanel().getBillModel().setCellEditable(i, "cash", false);
//取得单据表体所有项用以上语句做循环就能设置整行了
getBillC
搜索引擎与工作流引擎
comsci
算法工作搜索引擎网络应用
最近在公司做和搜索有关的工作,(只是简单的应用开源工具集成到自己的产品中)工作流系统的进一步设计暂时放在一边了,偶然看到谷歌的研究员吴军写的数学之美系列中的搜索引擎与图论这篇文章中的介绍,我发现这样一个关系(仅仅是猜想)
-----搜索引擎和流程引擎的基础--都是图论,至少像在我在JWFD中引擎算法中用到的是自定义的广度优先
oracle Health Monitor
daizj
oracleHealth Monitor
About Health Monitor
Beginning with Release 11g, Oracle Database includes a framework called Health Monitor for running diagnostic checks on the database.
About Health Monitor Checks
Health M
JSON字符串转换为对象
dieslrae
javajson
作为前言,首先是要吐槽一下公司的脑残编译部署方式,web和core分开部署本来没什么问题,但是这丫居然不把json的包作为基础包而作为web的包,导致了core端不能使用,而且我们的core是可以当web来用的(不要在意这些细节),所以在core中处理json串就是个问题.没办法,跟编译那帮人也扯不清楚,只有自己写json的解析了.
C语言学习八结构体,综合应用,学生管理系统
dcj3sjt126com
C语言
实现功能的代码:
# include <stdio.h>
# include <malloc.h>
struct Student
{
int age;
float score;
char name[100];
};
int main(void)
{
int len;
struct Student * pArr;
int i,
vagrant学习笔记
dcj3sjt126com
vagrant
想了解多主机是如何定义和使用的, 所以又学习了一遍vagrant
1. vagrant virtualbox 下载安装
https://www.vagrantup.com/downloads.html
https://www.virtualbox.org/wiki/Downloads
查看安装在命令行输入vagrant
2.
14.性能优化-优化-软件配置优化
frank1234
软件配置性能优化
1.Tomcat线程池
修改tomcat的server.xml文件:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxThreads="1200" m
一个不错的shell 脚本教程 入门级
HarborChung
linuxshell
一个不错的shell 脚本教程 入门级
建立一个脚本 Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用。所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在 bash的大姐,bourne shell中运行)。 如同其他语言一样
Spring4新特性——核心容器的其他改进
jinnianshilongnian
spring动态代理spring4依赖注入
Spring4新特性——泛型限定式依赖注入
Spring4新特性——核心容器的其他改进
Spring4新特性——Web开发的增强
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
Spring4新特性——Groovy Bean定义DSL
Spring4新特性——更好的Java泛型操作API
Spring4新
Linux设置tomcat开机启动
liuxingguome
tomcatlinux开机自启动
执行命令sudo gedit /etc/init.d/tomcat6
然后把以下英文部分复制过去。(注意第一句#!/bin/sh如果不写,就不是一个shell文件。然后将对应的jdk和tomcat换成你自己的目录就行了。
#!/bin/bash
#
# /etc/rc.d/init.d/tomcat
# init script for tomcat precesses
第13章 Ajax进阶(下)
onestopweb
Ajax
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
Troubleshooting Crystal Reports off BW
blueoxygen
BO
http://wiki.sdn.sap.com/wiki/display/BOBJ/Troubleshooting+Crystal+Reports+off+BW#TroubleshootingCrystalReportsoffBW-TracingBOE
Quite useful, especially this part:
SAP BW connectivity
For t
Java开发熟手该当心的11个错误
tomcat_oracle
javajvm多线程单元测试
#1、不在属性文件或XML文件中外化配置属性。比如,没有把批处理使用的线程数设置成可在属性文件中配置。你的批处理程序无论在DEV环境中,还是UAT(用户验收
测试)环境中,都可以顺畅无阻地运行,但是一旦部署在PROD 上,把它作为多线程程序处理更大的数据集时,就会抛出IOException,原因可能是JDBC驱动版本不同,也可能是#2中讨论的问题。如果线程数目 可以在属性文件中配置,那么使它成为
正则表达式大全
yang852220741
html编程正则表达式
今天向大家分享正则表达式大全,它可以大提高你的工作效率
正则表达式也可以被当作是一门语言,当你学习一门新的编程语言的时候,他们是一个小的子语言。初看时觉得它没有任何的意义,但是很多时候,你不得不阅读一些教程,或文章来理解这些简单的描述模式。
一、校验数字的表达式
数字:^[0-9]*$
n位的数字:^\d{n}$
至少n位的数字:^\d{n,}$
m-n位的数字:^\d{m,n}$