/system/bt/stack/avct/ |
H A D | avct_l2c.c | 73 static BOOLEAN avct_l2c_is_passive (tAVCT_LCB *p_lcb) argument 81 if (p_ccb->allocated && (p_ccb->p_lcb == p_lcb)) 106 tAVCT_LCB *p_lcb; local 112 if ((p_lcb = avct_lcb_by_bd(bd_addr)) == NULL) 115 if ((p_lcb = avct_lcb_alloc(bd_addr)) == NULL) 124 if (!avct_l2c_is_passive (p_lcb) || (p_lcb->ch_state == AVCT_CH_OPEN)) 132 p_lcb->conflict_lcid = p_lcb 180 tAVCT_LCB *p_lcb; local 241 tAVCT_LCB *p_lcb; local 291 tAVCT_LCB *p_lcb; local 341 tAVCT_LCB *p_lcb; local 371 tAVCT_LCB *p_lcb; local 400 tAVCT_LCB *p_lcb; local 422 tAVCT_LCB *p_lcb; local [all...] |
H A D | avct_lcb_act.c | 53 static BT_HDR *avct_lcb_msg_asmbl(tAVCT_LCB *p_lcb, BT_HDR *p_buf) argument 75 if (p_lcb->p_rx_msg != NULL) 77 GKI_freebuf(p_lcb->p_rx_msg); 78 p_lcb->p_rx_msg = NULL; 87 if (p_lcb->p_rx_msg != NULL) 89 GKI_freebuf(p_lcb->p_rx_msg); 96 p_lcb->p_rx_msg = (BT_HDR*)GKI_getbuf(GKI_MAX_BUF_SIZE); 97 if (p_lcb->p_rx_msg == NULL) 104 memcpy (p_lcb->p_rx_msg, p_buf, 110 p = (UINT8 *)(p_lcb 189 avct_lcb_chnl_open(tAVCT_LCB *p_lcb, tAVCT_LCB_EVT *p_data) argument 214 avct_lcb_unbind_disc(tAVCT_LCB *p_lcb, tAVCT_LCB_EVT *p_data) argument 234 avct_lcb_open_ind(tAVCT_LCB *p_lcb, tAVCT_LCB_EVT *p_data) argument 285 avct_lcb_open_fail(tAVCT_LCB *p_lcb, tAVCT_LCB_EVT *p_data) argument 311 avct_lcb_close_ind(tAVCT_LCB *p_lcb, tAVCT_LCB_EVT *p_data) argument 347 avct_lcb_close_cfm(tAVCT_LCB *p_lcb, tAVCT_LCB_EVT *p_data) argument 392 avct_lcb_bind_conn(tAVCT_LCB *p_lcb, tAVCT_LCB_EVT *p_data) argument 411 avct_lcb_chk_disc(tAVCT_LCB *p_lcb, tAVCT_LCB_EVT *p_data) argument 440 avct_lcb_chnl_disc(tAVCT_LCB *p_lcb, tAVCT_LCB_EVT *p_data) argument 458 avct_lcb_bind_fail(tAVCT_LCB *p_lcb, tAVCT_LCB_EVT *p_data) argument 475 avct_lcb_cong_ind(tAVCT_LCB *p_lcb, tAVCT_LCB_EVT *p_data) argument 516 avct_lcb_discard_msg(tAVCT_LCB *p_lcb, tAVCT_LCB_EVT *p_data) argument 535 avct_lcb_send_msg(tAVCT_LCB *p_lcb, tAVCT_LCB_EVT *p_data) argument 653 avct_lcb_free_msg_ind(tAVCT_LCB *p_lcb, tAVCT_LCB_EVT *p_data) argument 672 avct_lcb_msg_ind(tAVCT_LCB *p_lcb, tAVCT_LCB_EVT *p_data) argument [all...] |
H A D | avct_lcb.c | 194 void avct_lcb_event(tAVCT_LCB *p_lcb, UINT8 event, tAVCT_LCB_EVT *p_data) argument 201 AVCT_TRACE_EVENT("LCB lcb=%d event=%s state=%s", p_lcb->allocated, avct_lcb_evt_str[event], avct_lcb_st_str[p_lcb->state]); 203 AVCT_TRACE_EVENT("LCB lcb=%d event=%d state=%d", p_lcb->allocated, event, p_lcb->state); 207 state_table = avct_lcb_st_tbl[p_lcb->state]; 210 p_lcb->state = state_table[event][AVCT_LCB_NEXT_STATE]; 217 (*avct_lcb_action[action])(p_lcb, p_data); 282 tAVCT_LCB *p_lcb = &avct_cb.lcb[0]; local 285 for (i = 0; i < AVCT_NUM_LINKS; i++, p_lcb 317 tAVCT_LCB *p_lcb = &avct_cb.lcb[0]; local 350 avct_lcb_dealloc(tAVCT_LCB *p_lcb, tAVCT_LCB_EVT *p_data) argument 398 tAVCT_LCB *p_lcb = &avct_cb.lcb[0]; local 429 avct_lcb_has_pid(tAVCT_LCB *p_lcb, UINT16 pid) argument 454 avct_lcb_last_ccb(tAVCT_LCB *p_lcb, tAVCT_CCB *p_ccb_last) argument [all...] |
H A D | avct_int.h | 106 tAVCT_LCB *p_lcb; /* Associated LCB */ member in struct:__anon781 145 extern void avct_lcb_event(tAVCT_LCB *p_lcb, UINT8 event, tAVCT_LCB_EVT *p_data); 148 extern void avct_close_bcb(tAVCT_LCB *p_lcb, tAVCT_LCB_EVT *p_data); 150 extern tAVCT_BCB *avct_bcb_by_lcb(tAVCT_LCB *p_lcb); 156 extern void avct_lcb_dealloc(tAVCT_LCB *p_lcb, tAVCT_LCB_EVT *p_data); 158 extern tAVCT_CCB *avct_lcb_has_pid(tAVCT_LCB *p_lcb, UINT16 pid); 159 extern BOOLEAN avct_lcb_last_ccb(tAVCT_LCB *p_lcb, tAVCT_CCB *p_ccb_last); 162 extern void avct_lcb_chnl_open(tAVCT_LCB *p_lcb, tAVCT_LCB_EVT *p_data); 163 extern void avct_lcb_unbind_disc(tAVCT_LCB *p_lcb, tAVCT_LCB_EVT *p_data); 164 extern void avct_lcb_open_ind(tAVCT_LCB *p_lcb, tAVCT_LCB_EV [all...] |
H A D | avct_api.c | 137 tAVCT_LCB *p_lcb; local 155 if ((p_lcb = avct_lcb_by_bd(peer_addr)) == NULL) 157 if ((p_lcb = avct_lcb_alloc(peer_addr)) == NULL) 165 else if (avct_lcb_has_pid(p_lcb, p_cc->pid)) 174 p_ccb->p_lcb = p_lcb; 175 AVCT_TRACE_DEBUG("ch_state: %d", p_lcb->ch_state); 176 avct_lcb_event(p_lcb, AVCT_LCB_UL_BIND_EVT, (tAVCT_LCB_EVT *) &p_ccb); 209 else if (p_ccb->p_lcb == NULL) 216 avct_lcb_event(p_ccb->p_lcb, AVCT_LCB_UL_UNBIND_EV [all...] |
H A D | avct_ccb.c | 90 p_ccb->p_lcb = NULL;
|
/system/bt/stack/l2cap/ |
H A D | l2c_link.c | 44 static BOOLEAN l2c_link_send_to_lower (tL2C_LCB *p_lcb, BT_HDR *p_buf); 58 tL2C_LCB *p_lcb; local 64 p_lcb = l2cu_find_lcb_by_bd_addr (bd_addr, BT_TRANSPORT_BR_EDR); 67 if (!p_lcb) 69 p_lcb = l2cu_allocate_lcb (bd_addr, FALSE, BT_TRANSPORT_BR_EDR); 70 if (!p_lcb) 82 if (p_lcb_cur == p_lcb) 88 p_lcb->link_role = HCI_ROLE_MASTER; 96 p_lcb->link_role = HCI_ROLE_SLAVE; 98 p_lcb 159 tL2C_LCB *p_lcb; local 296 tL2C_LCB *p_lcb; local 362 tL2C_LCB *p_lcb; local 502 tL2C_LCB *p_lcb; local 533 l2c_link_timeout(tL2C_LCB *p_lcb) argument 660 l2c_info_timeout(tL2C_LCB *p_lcb) argument 717 tL2C_LCB *p_lcb; local 991 tL2C_LCB *p_lcb; local 1034 tL2C_LCB *p_lcb = l2cu_find_lcb_by_bd_addr (bd_addr, BT_TRANSPORT_BR_EDR); local 1053 l2c_link_check_power_mode(tL2C_LCB *p_lcb) argument 1105 l2c_link_check_send_pkts(tL2C_LCB *p_lcb, tL2C_CCB *p_ccb, BT_HDR *p_buf) argument 1278 l2c_link_send_to_lower(tL2C_LCB *p_lcb, BT_HDR *p_buf) argument 1428 tL2C_LCB *p_lcb; local 1566 tL2C_LCB *p_lcb; local [all...] |
H A D | l2c_ble.c | 36 static void l2cble_start_conn_update (tL2C_LCB *p_lcb); 51 tL2C_LCB *p_lcb; local 72 p_lcb = l2cu_find_lcb_by_bd_addr(rem_bda, BT_TRANSPORT_LE); 74 if (p_lcb != NULL && 75 !(p_lcb->link_role == HCI_ROLE_SLAVE && BTM_ACL_IS_CONNECTED(rem_bda))) 77 p_lcb->disc_reason = L2CAP_CONN_CANCEL; 78 l2cu_release_lcb (p_lcb); 103 tL2C_LCB *p_lcb; local 107 p_lcb = l2cu_find_lcb_by_bd_addr (rem_bda, BT_TRANSPORT_LE); 110 if (!p_lcb || !p_acl_c 151 tL2C_LCB *p_lcb; local 200 tL2C_LCB *p_lcb; local 218 tL2C_LCB *p_lcb; local 240 tL2C_LCB *p_lcb = l2cu_find_lcb_by_bd_addr (bda, BT_TRANSPORT_LE); local 267 tL2C_LCB *p_lcb; local 376 tL2C_LCB *p_lcb; local 480 l2cble_start_conn_update(tL2C_LCB *p_lcb) argument 562 tL2C_LCB *p_lcb; local 595 l2cble_process_sig_cmd(tL2C_LCB *p_lcb, UINT8 *p, UINT16 pkt_len) argument 685 l2cble_init_direct_conn(tL2C_LCB *p_lcb) argument 771 l2cble_create_conn(tL2C_LCB *p_lcb) argument 835 tL2C_LCB *p_lcb; local 954 tL2C_LCB *p_lcb = l2cu_find_lcb_by_handle (handle); local 992 l2cble_update_data_length(tL2C_LCB *p_lcb) argument 1033 tL2C_LCB *p_lcb = l2cu_find_lcb_by_handle(handle); local 1056 tL2C_LCB *p_lcb = l2cu_find_lcb_by_bd_addr(remote_bda, BT_TRANSPORT_LE); local [all...] |
H A D | l2c_utils.c | 56 tL2C_LCB *p_lcb = &l2cb.lcb_pool[0]; local 58 for (xx = 0; xx < MAX_L2CAP_LINKS; xx++, p_lcb++) 60 if (!p_lcb->in_use) 62 memset (p_lcb, 0, sizeof (tL2C_LCB)); 64 memcpy (p_lcb->remote_bd_addr, p_bd_addr, BD_ADDR_LEN); 66 p_lcb->in_use = TRUE; 67 p_lcb->link_state = LST_DISCONNECTED; 68 p_lcb->handle = HCI_INVALID_HANDLE; 69 p_lcb->link_flush_tout = 0xFFFF; 70 p_lcb 111 tL2C_LCB *p_lcb = l2cu_find_lcb_by_bd_addr (p_bd_addr, BT_TRANSPORT_BR_EDR); local 132 l2cu_release_lcb(tL2C_LCB *p_lcb) argument 265 tL2C_LCB *p_lcb = &l2cb.lcb_pool[0]; local 312 l2c_is_cmd_rejected(UINT8 cmd_code, UINT8 id, tL2C_LCB *p_lcb) argument 342 l2cu_build_header(tL2C_LCB *p_lcb, UINT16 len, UINT8 cmd, UINT8 id) argument 410 l2cu_adj_id(tL2C_LCB *p_lcb, UINT8 adj_mask) argument 428 l2cu_send_peer_cmd_reject(tL2C_LCB *p_lcb, UINT16 reason, UINT8 rem_id, UINT16 p1, UINT16 p2) argument 555 l2cu_reject_connection(tL2C_LCB *p_lcb, UINT16 remote_cid, UINT8 rem_id, UINT16 result) argument 968 l2cu_send_peer_disc_rsp(tL2C_LCB *p_lcb, UINT8 remote_id, UINT16 local_cid, UINT16 remote_cid) argument 1000 l2cu_send_peer_echo_req(tL2C_LCB *p_lcb, UINT8 *p_data, UINT16 data_len) argument 1035 l2cu_send_peer_echo_rsp(tL2C_LCB *p_lcb, UINT8 id, UINT8 *p_data, UINT16 data_len) argument 1093 l2cu_send_peer_info_req(tL2C_LCB *p_lcb, UINT16 info_type) argument 1132 l2cu_send_peer_info_rsp(tL2C_LCB *p_lcb, UINT8 remote_id, UINT16 info_type) argument 1469 l2cu_allocate_ccb(tL2C_LCB *p_lcb, UINT16 cid) argument 1626 tL2C_LCB *p_lcb = l2cu_find_lcb_by_handle(handle); local 1677 tL2C_LCB *p_lcb = p_ccb->p_lcb; local 1767 l2cu_find_ccb_by_remote_cid(tL2C_LCB *p_lcb, UINT16 remote_cid) argument 2085 tL2C_LCB *p_lcb; local 2201 tL2C_LCB *p_lcb = &l2cb.lcb_pool[0]; local 2224 l2cu_create_conn(tL2C_LCB *p_lcb, tBT_TRANSPORT transport) argument 2310 tL2C_LCB *p_lcb = &l2cb.lcb_pool[0]; local 2334 l2cu_create_conn_after_switch(tL2C_LCB *p_lcb) argument 2414 tL2C_LCB *p_lcb = &l2cb.lcb_pool[0]; local 2443 tL2C_LCB *p_lcb; local 2493 tL2C_LCB *p_lcb; local 2565 tL2C_LCB *p_lcb; local 2681 l2cu_initialize_fixed_ccb(tL2C_LCB *p_lcb, UINT16 fixed_cid, tL2CAP_FCR_OPTS *p_fcr) argument 2744 l2cu_no_dynamic_ccbs(tL2C_LCB *p_lcb) argument 2816 l2cu_process_fixed_chnl_resp(tL2C_LCB *p_lcb) argument 2887 l2cu_process_fixed_disc_cback(tL2C_LCB *p_lcb) argument 2941 l2cu_send_peer_ble_par_req(tL2C_LCB *p_lcb, UINT16 min_int, UINT16 max_int, UINT16 latency, UINT16 timeout) argument 2979 l2cu_send_peer_ble_par_rsp(tL2C_LCB *p_lcb, UINT16 reason, UINT8 rem_id) argument 3019 tL2C_LCB *p_lcb = &l2cb.lcb_pool[0]; local 3044 l2cu_find_ccb_by_cid(tL2C_LCB *p_lcb, UINT16 local_cid) argument 3106 l2cu_get_next_channel_in_rr(tL2C_LCB *p_lcb) argument 3213 l2cu_get_next_channel(tL2C_LCB *p_lcb) argument 3259 l2cu_get_next_buffer_to_send(tL2C_LCB *p_lcb) argument [all...] |
H A D | l2c_api.c | 131 tL2C_LCB *p_lcb; local 138 p_lcb = &l2cb.lcb_pool[0]; 139 for (ii = 0; ii < MAX_L2CAP_LINKS; ii++, p_lcb++) 141 if (p_lcb->in_use) 143 if (((p_ccb = p_lcb->ccb_queue.p_first_ccb) == NULL) 144 || (p_lcb->link_state == LST_DISCONNECTING)) 241 tL2C_LCB *p_lcb; local 267 if ((p_lcb = l2cu_find_lcb_by_bd_addr (p_bd_addr, BT_TRANSPORT_BR_EDR)) == NULL) 270 if ( ((p_lcb = l2cu_allocate_lcb (p_bd_addr, FALSE, BT_TRANSPORT_BR_EDR)) == NULL) 272 || (l2cu_create_conn(p_lcb, BT_TRANSPORT_BR_ED 407 tL2C_LCB *p_lcb; local 646 tL2C_LCB *p_lcb; local 713 tL2C_LCB *p_lcb; local 791 tL2C_LCB *p_lcb; local 838 tL2C_LCB *p_lcb; local 856 tL2C_LCB *p_lcb = &l2cb.lcb_pool[0]; local 943 tL2C_LCB *p_lcb; local 1170 tL2C_LCB *p_lcb; local 1275 tL2C_LCB *p_lcb; local 1311 tL2C_LCB *p_lcb = NULL; local 1389 tL2C_LCB *p_lcb; local 1508 tL2C_LCB *p_lcb; local 1618 tL2C_LCB *p_lcb; local 1689 tL2C_LCB *p_lcb; local 1787 tL2C_LCB *p_lcb; local 1889 tL2C_LCB *p_lcb; local [all...] |
H A D | l2c_ucd.c | 328 tL2C_LCB *p_lcb; local 346 if (((p_lcb = l2cu_find_lcb_by_bd_addr (rem_bda, BT_TRANSPORT_BR_EDR)) == NULL) 347 ||((p_ccb = l2cu_find_ccb_by_cid (p_lcb, L2CAP_CONNECTIONLESS_CID)) == NULL)) 364 if ((p_lcb)&&(p_lcb->link_state == LST_CONNECTED)) 368 p_ccb = l2cu_find_ccb_by_cid (p_lcb, L2CAP_CONNECTIONLESS_CID); 394 tL2C_LCB *p_lcb; local 414 if (((p_lcb = l2cu_find_lcb_by_bd_addr (rem_bda, BT_TRANSPORT_BR_EDR)) == NULL) 415 ||((p_ccb = l2cu_find_ccb_by_cid (p_lcb, L2CAP_CONNECTIONLESS_CID)) == NULL)) 424 if (((p_lcb 484 tL2C_LCB *p_lcb; local 517 tL2C_LCB *p_lcb; local 556 tL2C_LCB *p_lcb; local 640 l2c_ucd_delete_sec_pending_q(tL2C_LCB *p_lcb) argument 904 l2c_ucd_check_rx_pkts(tL2C_LCB *p_lcb, BT_HDR *p_msg) argument [all...] |
H A D | l2c_int.h | 260 struct t_l2c_linkcb *p_lcb; /* Link this CCB is assigned to */ member in struct:t_l2c_ccb 560 extern void l2cu_release_lcb (tL2C_LCB *p_lcb); 572 extern tL2C_CCB *l2cu_allocate_ccb (tL2C_LCB *p_lcb, UINT16 cid); 574 extern tL2C_CCB *l2cu_find_ccb_by_cid (tL2C_LCB *p_lcb, UINT16 local_cid); 575 extern tL2C_CCB *l2cu_find_ccb_by_remote_cid (tL2C_LCB *p_lcb, UINT16 remote_cid); 576 extern void l2cu_adj_id (tL2C_LCB *p_lcb, UINT8 adj_mask); 577 extern BOOLEAN l2c_is_cmd_rejected (UINT8 cmd_code, UINT8 id, tL2C_LCB *p_lcb); 579 extern void l2cu_send_peer_cmd_reject (tL2C_LCB *p_lcb, UINT16 reason, 587 extern void l2cu_send_peer_disc_rsp (tL2C_LCB *p_lcb, UINT8 remote_id, UINT16 local_cid, UINT16 remote_cid); 588 extern void l2cu_send_peer_echo_req (tL2C_LCB *p_lcb, UINT [all...] |
H A D | l2c_main.c | 44 static void process_l2cap_cmd (tL2C_LCB *p_lcb, UINT8 *p, UINT16 pkt_len); 127 tL2C_LCB *p_lcb; local 141 if ((p_lcb = l2cu_find_lcb_by_handle (handle)) == NULL) 191 if (p_lcb && p_lcb->transport == BT_TRANSPORT_LE && p_lcb->link_state != LST_DISCONNECTING) 193 l2cble_notify_le_connection(p_lcb->remote_bd_addr); 199 if ((p_ccb = l2cu_find_ccb_by_cid (p_lcb, rcv_cid)) == NULL) 233 process_l2cap_cmd (p_lcb, p, l2cap_len); 240 /* process_connectionless_data (p_lcb); */ 321 process_l2cap_cmd(tL2C_LCB *p_lcb, UINT8 *p, UINT16 pkt_len) argument [all...] |
H A D | l2c_csm.c | 170 btm_sec_l2cap_access_req (p_ccb->p_lcb->remote_bd_addr, p_ccb->p_rcb->psm, 171 p_ccb->p_lcb->handle, TRUE, &l2c_link_sec_comp, p_ccb); 177 || !btm_acl_notif_conn_collision(p_ccb->p_lcb->remote_bd_addr)) 200 BTM_SetPowerMode (BTM_PM_SET_ONLY_ID, p_ccb->p_lcb->remote_bd_addr, &settings); 204 if (btm_sec_l2cap_access_req (p_ccb->p_lcb->remote_bd_addr, p_ccb->p_rcb->psm, 205 p_ccb->p_lcb->handle, TRUE, &l2c_link_sec_comp, p_ccb) == BTM_CMD_STARTED) 213 if (!p_ccb->p_lcb->w4_info_rsp) 237 btu_stop_timer (&p_ccb->p_lcb->timer_entry); 253 BTM_SetPowerMode (BTM_PM_SET_ONLY_ID, p_ccb->p_lcb->remote_bd_addr, &settings); 257 if (btm_sec_l2cap_access_req (p_ccb->p_lcb [all...] |
H A D | l2c_fcr.c | 391 if ((p_ccb->p_lcb->sent_not_acked < 2)&&(l2cb.controller_xmit_window > 0)) 596 l2c_link_check_send_pkts (p_ccb->p_lcb, NULL, p_buf); 828 l2c_link_check_send_pkts (p_ccb->p_lcb, NULL, NULL); 1481 (p_ccb->local_cid, p_ccb->p_lcb->remote_bd_addr, p_buf); 1552 for (const list_node_t *node = list_begin(p_ccb->p_lcb->link_xmit_data_q); 1553 node != list_end(p_ccb->p_lcb->link_xmit_data_q);) { 1559 list_remove(p_ccb->p_lcb->link_xmit_data_q, p_buf); 1588 l2c_link_check_send_pkts (p_ccb->p_lcb, NULL, NULL); 1802 if (!(p_ccb->p_lcb->peer_ext_fea & L2CAP_EXTFEA_ENH_RETRANS)) 1805 if (!(p_ccb->p_lcb [all...] |
/system/bt/bta/av/ |
H A D | bta_av_act.c | 459 tBTA_AV_LCB *p_lcb = NULL; local 466 p_lcb = &p_cb->lcb[xx]; 475 return p_lcb; 493 tBTA_AV_LCB *p_lcb; local 550 p_lcb = &p_cb->lcb[BTA_AV_NUM_LINKS]; 551 bdcpy(p_lcb->addr, p_data->rc_conn_chg.peer_addr); 553 p_lcb->addr[0], p_lcb->addr[1], 554 p_lcb->addr[2], p_lcb 1175 tBTA_AV_LCB *p_lcb; local 1424 tBTA_AV_LCB *p_lcb = NULL; local 1533 tBTA_AV_LCB *p_lcb = NULL; local 1704 tBTA_AV_LCB *p_lcb; local 1813 tBTA_AV_LCB *p_lcb; local [all...] |
/system/bt/stack/btm/ |
H A D | btm_pm.c | 791 tL2C_LCB *p_lcb; local 807 if ((p_lcb = l2cu_find_lcb_by_bd_addr(p->remote_addr, BT_TRANSPORT_BR_EDR)) != NULL) 814 l2c_link_check_send_pkts(p_lcb, NULL, NULL);
|
H A D | btm_sec.c | 3027 tL2C_LCB *p_lcb = l2cu_find_lcb_by_bd_addr(p_dev_rec->bd_addr, BT_TRANSPORT_BR_EDR); local 3028 if (p_lcb && (p_lcb->link_state == LST_CONNECTED || p_lcb->link_state == LST_CONNECTING)) 3035 if (!p_lcb && (p_lcb = l2cu_allocate_lcb (p_dev_rec->bd_addr, TRUE, BT_TRANSPORT_BR_EDR)) == NULL) 3047 if (l2cu_create_conn(p_lcb, BT_TRANSPORT_BR_EDR) == FALSE) 3053 l2cu_release_lcb(p_lcb);
|