dreamxyz

Experience

4,500

0 Best Reply Awards

  • Member Since 4 Months Ago
  • 1 Lesson Completed
  • 0 Favorites

19th October, 2017

dreamxyz started a new conversation Laravel Dompdf Pdf View Different With Chrome Pdf View • 2 hours ago

I have generated a pdf using dompdf, but the result is not like what i am expected. The overall content enlarged and different view as like browser view. When i am using google chrome to convert as pdf then it looks just fine, while using dompdf to convert it then it looks terrible.

Can anyone tell me what's problem with this?

17th October, 2017

dreamxyz started a new conversation How To Run Php Artisan Serve And Queue On The Same Time On Cmd? • 2 days ago

I use cmd to run my application, i need to run php artisan serve in order to start my application. I push something into the queue, and i need to use php artisan listen:queue to run the job. Now i need to manually stop application and change command to php artisan listen:queue to perform the job, how can i run the queue automatically whenever there's job stored in database? I also referred to https://laravel.com/docs/5.5/queues#supervisor-configuration but i don't understand how it works. Anyone can guide me? Thanks.

dreamxyz left a reply on How To Use Mail Queue For Send An Email With Pdf Attachment? • 2 days ago

@lancecoder Yes, i tried but seem like not working for me. If got sample then is good, not sure whether i am doing it in wrong way or what.

dreamxyz left a reply on How To Use Mail Queue For Send An Email With Pdf Attachment? • 2 days ago

@christianyeah When i convert a view into pdf it takes about 360 seconds of loading, which is not good.

16th October, 2017

dreamxyz started a new conversation How To Use Mail Queue For Send An Email With Pdf Attachment? • 2 days ago

I tried

Mail::queue(...)

but it just like

Mail::send(...)

It takes very long time to send the email out to user, can i use queue to prevent this issue?Or is there any method i can used to prevent execution time exceeded when sending mail with pdf attachment? Thanks.

dreamxyz left a reply on Is There A Method To Convert A Html Page Into Pdf And Attach Pdf In Email Without Save The Pdf To Storage? • 3 days ago

@tisuchi i get exceeded time when i load the view, how can i solve it? I tried extend the maximum time but not working also. thanks

dreamxyz left a reply on Is There A Method To Convert A Html Page Into Pdf And Attach Pdf In Email Without Save The Pdf To Storage? • 3 days ago

@tisuchi i tried something like

   $pdf = PDF::loadHtml(URL::to(......));
   $m->attachData($pdf->output(), 'abc.pdf', ['mime' => 'application/pdf']);

When email sent out, the attachment is blank and only with the url link, is my way correct to make the html as pdf and send as email attachment?

15th October, 2017

dreamxyz left a reply on Is There A Method To Convert A Html Page Into Pdf And Attach Pdf In Email Without Save The Pdf To Storage? • 3 days ago

@jlrdw Can i convert it and send directly without store the pdf file somewhere else?

dreamxyz started a new conversation Is There A Method To Convert A Html Page Into Pdf And Attach Pdf In Email Without Save The Pdf To Storage? • 3 days ago

I am using this method to send email

Mail::send('....')

I want to convert a html page to pdf format and send via email as attachment. Is there any method i can use for perform this?

13th October, 2017

dreamxyz started a new conversation White Space Occurred When Using Overlay Css By Creating Div To Highlight Element • 6 days ago

This is my css which used to highlight content of page.

overlay { position: absolute; opacity: .3; background: rgba(0,0,0,.8); }

I am using adminlte template and i am adding overlay to certain page then it caused this problem when overlay happened.

//Function to set position

setPosition: function(step, targetBounds){
        // check if step has disabled the highlight:
        if (!this.stepOpts.highlight){
            return;
        }

        var margin = this.stepOpts.highlightMargin;

        var body = document.body,
            html = document.documentElement;

        var documentHeight = Math.max( body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight );

        // top div:
        el = this.element.top;
        el.style.top = '0px';
        el.style.left = '0px';
        el.style.width = window.screen.width + 'px';
        el.style.height = targetBounds.top + utils.getScrollTop() - margin + 'px';

        // right div:
        el = this.element.right;
        el.style.top = targetBounds.top + utils.getScrollTop() - margin + 'px';
        el.style.left = targetBounds.left + targetBounds.width + utils.getScrollLeft() + margin + 'px';
        el.style.width = window.screen.width  - (targetBounds.left + targetBounds.width + utils.getScrollLeft() + margin) +  'px';
        el.style.height = targetBounds.height + margin * 2 + 'px';

        // bottom div:
        el = this.element.bottom;
        el.style.top = targetBounds.top + utils.getScrollTop() + targetBounds.height + margin + 'px';
        el.style.left = '0px';
        el.style.width = window.screen.width + 'px';
        el.style.height = documentHeight - (targetBounds.top + utils.getScrollTop() + targetBounds.height + margin) + 'px';

        // left div:
        el = this.element.left;
        el.style.top = targetBounds.top + utils.getScrollTop() + - margin + 'px';
        el.style.left = '0px';
        el.style.width = targetBounds.left + utils.getScrollLeft() - margin + 'px';
        el.style.height = targetBounds.height + margin * 2 + 'px';
    },

The problem caused by the height of the html, any way to solve the problem? The problem caused by the //bottom div

11th October, 2017

dreamxyz started a new conversation Intro.js How To Select Multiple Element, Navigate Between Pages With Continuous Steps? • 1 week ago

I am currently using Intro.js for my website.

//Page 1
    function startIntro(){
            var intro = introJs();

    intro.setOptions({
            steps: [
                {
                element: "#id_supplier",
                //   intro: "This is a dropdown",
                intro:'User click apply <hr><p><b>The tutorial video as shown below:<b></p><iframe class="abcd" src="https://www.youtube.com/embed/EU7PRmCpx-0" frameborder="0" ></iframe>',

            },
            {
                element: ".panel-group",
                intro: "Hello world!",
            },
            {
                element: ".panel-group",
                intro: 'More features, more <span style="color: red;">f</span><span style="color: green;">u</span><span style="color: blue;">n</span>.',
                position: 'left'
            },
            {
                element: '#step4',
                intro: "<span style='font-family: Tahoma'>Another step with new font!</span>",
                position: 'bottom'
            },
            {
                element: '#step5',
                intro: '<strong>Get</strong> it, <strong>use</strong> it.'
            }
        ]
});

intro.onchange(function(element) {
     if (this._currentStep === 0) {

     $("#id_supplier")[0].selectedIndex = 1;
         $("#id_supplier").trigger('change');
     }
     else{
        window.location.href= "/index?multipage=true";
     }
});
        intro.start();
};

$('#info').click(function () {
        startIntro();
})

How can i make it to select multiple element? E.g. select the same class name

//Page 2
 if (RegExp('multipage', 'gi').test(window.location.search)) {

        var intro = introJs();

        intro.setOptions({
            steps: [
                {
                    intro:'User click apply <hr><p><b>The tutorial video as shown below:<b></p><iframe class="abcd" src="https://www.youtube.com/embed/EU7PRmCpx-0" frameborder="0" ></iframe>',

                },
                {
                    element: "#create",
                    intro: "Hello world!",
                },
                {
                    element: ".panel-group",
                    intro: 'More features, more <span style="color: red;">f</span><span style="color: green;">u</span><span style="color: blue;">n</span>.',
                    position: 'left'
                }            
            ]
        });

        intro.start();
    }

When go to next page, how can i return back to previous page and the step is continuing from previous page? E.g. Page 1 - Step 1- Step 3, when redirect to Page 2 then the step will start from 4.

Anyone know the solution for this problem? Thanks in advanced.

2nd October, 2017

dreamxyz started a new conversation How To Generate A Unique Id Based On Own Format? • 2 weeks ago

I have a table as shown below

| id         | id_p       | doc_no       |
|:-----------|------------:|:------------:|
| 1           | 1             |     D11710001
| 2          | 2            |     D21710001
| 3          | 3            |     D31710001
| 4          | 4           |     D41710001
| 5          | 5            |     D51710001
| 6          | 1            |     D11710002

I want to generate an unique id based on the id given. For example, when i have item to be stored in this table, it will generate an unique id based on the id of the table.

Note: The id in this table is a foreign key. The doc no can be modified by user into their own format manually. The doc no only will be generated automatically when user does not input a value to the doc no field.

The id format - P 'id' 'month' 'day' 001(auto increment)

How can i query this to generate unique id during storing data?

22nd September, 2017

dreamxyz left a reply on How To Pass An Array To Ajax And Accessible In Controller? • 3 weeks ago

I can't get it. This is how my controller function 1 look like

// this is the array get from dropdown list
 $categoryOption = Input::get('categoryOption'); 

.....

return View::make('view2')->with($categoryOption);
 

When in view2, user click a button and will call controller function 2

return View::make('view3')..;

In view2 i need to get the $categoryOption array value from function 1. How can i make it works?

dreamxyz left a reply on How To Pass An Array To Ajax And Accessible In Controller? • 3 weeks ago

@vanderb E.g. i have a dropdownlist from view1 which allow multiselect, after that using query builder to filter data based on the dropdown selection and then return to view2. In view2, i need to get the dropdown selection from view 1 for the ajax call for printing. This is why actually i want to do this.

dreamxyz left a reply on How To Pass An Array To Ajax And Accessible In Controller? • 3 weeks ago

@vanderb Can i ask, is that possible to pass an array return from view1 controller to view 2 and then from view 2 pass it to another controller?

dreamxyz started a new conversation How To Pass An Array To Ajax And Accessible In Controller? • 3 weeks ago

I have an array

[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]

How can i pass this array to ajax and get it from controller?

  $(document).on('click', '#print', function(){
        var code = $(this).attr('data-code');
        $.ajax({
            type: 'GET',
            url: 'print',
            data: {code: code,option: array here},
            dataType: 'html',
            success: function (html) {
                w = window.open(window.location.href,"_blank");
                w.document.open();
                w.document.write(html);
                w.document.close();
            },
            error: function (data) {
                console.log('Error:', data);
            }
        });
    });

In controller

Input::get('option');

20th September, 2017

dreamxyz left a reply on How Can I Store An Multiselection From A Dropdown List And Allow Accessible From Multiple View? • 4 weeks ago

@tisuchi Thanks, the alternative method is working fine. Just want get to know, is it necessary to loop it in order to get the value?

dreamxyz left a reply on How Can I Store An Multiselection From A Dropdown List And Allow Accessible From Multiple View? • 4 weeks ago

@tisuchi but i will get this error if i do it like this

htmlspecialchars() expects parameter 1 to be string, array given

Error caused by

<input type="hidden" value="{{$option}} "name="option"/>

dreamxyz left a reply on How Can I Store An Multiselection From A Dropdown List And Allow Accessible From Multiple View? • 4 weeks ago

@tisuchi Sorry, maybe my question not clear. What i mean is, when i get the selection from view1 and pass the multiple select value to controller. From the controller function, i will return to view2. In view2 i need to get the array value from the dropdownlist where i passed from view1 to controller. How could i get the value in view2 for ajax purpose?

19th September, 2017

dreamxyz started a new conversation How Can I Store An Multiselection From A Dropdown List And Allow Accessible From Multiple View? • 4 weeks ago

I have a dropdown list like

<select class="selectpicker form-control" data-live-search="true" title="Select branch" name="id_branch" id="id_branch" required>
@foreach($branches as $branch)
<option value="{{$branch->id_branch}}">{{ $branch->branch_name }}</option>
@endforeach

In controller, i will get the selection and do filtering

$id= Input::get('id_branch');

After that return to another page for printing purpose. When i click on the print button, how can i get the selection from dropdownlist and pass the selection through ajax?

dreamxyz started a new conversation Datatable Row Grouping Function • 1 month ago

How to sum up the textbox value in datatable while using row grouping function? The code below is worked when the column is not a textbox. How can i get the value from textbox and sum it up by using the following code?

$('#myTable').DataTable( {
order: [[2, 'asc']],
rowGroup: {
    startRender: null,
    endRender: function ( rows, group ) {
         var ageAvg = rows
            .data()
            .pluck(3)
            .reduce( function (a, b) {
                return a + b*1;
            }, 0) / rows.count();

        var salaryAvg = rows
            .data()
            .pluck(5)
            .reduce( function (a, b) {
                return a + b.replace(/[^\d]/g, '')*1;
            }, 0) / rows.count();
        salaryAvg = $.fn.dataTable.render.number(',', '.', 0, '$').display( salaryAvg );

        return $('<tr/>')
            .append( '<td colspan="3">Averages for '+group+'</td>' )
            .append( '<td>'+ageAvg.toFixed(0)+'</td>' )
            .append( '<td/>' )
            .append( '<td>'+salaryAvg+'</td>' );
    },
    dataSrc: 2
   }
});

I tried to get the value from the column if the column is a textbox and it is not working with the code above, it only works if it is a text. What possible way i can use to get the value from textbox.

18th September, 2017

dreamxyz started a new conversation Can I Pass Array Get An Input Field To Another View Without Looping It? • 1 month ago

I want to pass an array get from the dropdown list to another view without looping it. For example, in view1, i get the value from dropdownlist.

// all the branch id get from selection.
$id_branch = Input::get('id_branch');

And in controller pass it to another view

 return View::make('pages.report')->with('id_branch');
  

From the view2, when i press the button, it will pass this array to the controller to filter data. Is that possible to make it?

15th September, 2017

dreamxyz left a reply on How To Pass The Array Value Into Raw Query? • 1 month ago

To make it work, just do in this way, am i right?

 ->leftJoin('sb_item_code', 'sb_item_code.id_product','=','catalogs.id_product')
 ->where('sb_item_code.stock_date',$dateOption)
 ->where('sb_item_code.period',$scOption)

dreamxyz left a reply on How To Pass The Array Value Into Raw Query? • 1 month ago

At least i need get to know what the problem before moving on. If without where clause inside the leftjoin subquery then it worked, else returned null value for all the field from the subquery table.

dreamxyz left a reply on How To Pass The Array Value Into Raw Query? • 1 month ago

@tisuchi Relationships between tables are defined, but not sure how it works. So, i use my own way to do it. The query should be working fine, but during leftJoin sb_item_code table, the value for the field returned null value. No idea haha.

dreamxyz left a reply on How To Pass The Array Value Into Raw Query? • 1 month ago

@tisuchi Do you mean something like this?

$productLists = Catalog::leftJoin('products','catalogs.id_product', '=', 'products.id_product')

                      //  ->leftJoin('products', 'catalogs.id_product', '=', 'products.id_product')
                       // ->leftJoin($sbb, 'catalogs.id_product', '=', 'sbb.id_product')
                        ->leftJoin(DB::raw('(Select sb.* from sb_item_code sb where sb.stock_date='.$dateOption.' AND sb.period ='.$scOption.') as sbb'),function($join){
                           $join->on("sbb.id_product","=","catalogs.id_product");
                        })
                        ->leftJoin('categories', 'products.id_category', '=', 'categories.id_category')
                        ->where('catalogs.id_branch',Auth::user()->id_branch)
                        ->whereIn('products.id_category',$categoryOption)
                        ->whereIn('products.id_supplier',$supplierOption)
                        ->where('catalogs.catalog_tags','like','%'.$tags.'%')
                        ->where('catalogs.catalog_status',1)
                        ->where('catalogs.wm_stock_count',1)
                        ->orderBy('categories.category_name','asc')
                        ->orderBy('catalogs.catalog_tags','asc')
                        ->orderBy('products.product_name','asc')
                        ->select('sbb.*','products.*','categories.*','catalogs.*')
                        ->get();

dreamxyz left a reply on How To Pass The Array Value Into Raw Query? • 1 month ago

@tisuchi Can i know what's wrong between this 2 query? I am having some problem after modify, where field from sb_item_code return null value.

// Expected query 
$sql = 'SELECT sbb.*, p.*
                            FROM catalogs c
                            LEFT JOIN products p on c.id_product = p.id_product
                            LEFT JOIN (SELECT sb.* FROM sb_item_code sb WHERE sb.stock_date = "'.$dateOption.'" AND sb.period = '.$scOption.'
                            ) as sbb on sbb.id_product = c.id_product
                            WHERE c.id_branch = '.Auth::user()->id_branch.'
                            AND c.catalog_status = 1 AND c.wm_stock_count = 1
                            ';

Modified

 $sbb = DB::raw('(Select sb.* from sb_item_code sb where sb.stock_date='.$dateOption.' AND sb.period ='.$scOption.') as sbb');

                    $productLists = DB::table('catalogs')
                        ->leftJoin('products', 'catalogs.id_product', '=', 'products.id_product')
                        ->leftJoin($sbb, 'sbb.id_product', '=', 'catalogs.id_product')
                        ->leftJoin('categories', 'products.id_category', '=', 'categories.id_category')
                        ->where('catalogs.id_branch',Auth::user()->id_branch)
                        ->whereIn('products.id_category',$categoryOption)
                        ->whereIn('products.id_supplier',$supplierOption)
                        ->where('catalogs.catalog_tags','like','%'.$tags.'%')
                        ->where('catalogs.catalog_status',1)
                        ->where('catalogs.wm_stock_count',1)
                        ->orderBy('categories.category_name','asc')
                        ->orderBy('catalogs.catalog_tags','asc')
                        ->orderBy('products.product_name','asc')
                        ->select('sbb.*','products.*','categories.*','catalogs.*')
                        ->get();

Am i doing it in wrong way?

14th September, 2017

dreamxyz left a reply on How To Pass The Array Value Into Raw Query? • 1 month ago

@tisuchi Yeah, i know this. But just want get to know is that possible for raw query?

dreamxyz started a new conversation How To Pass The Array Value Into Raw Query? • 1 month ago

$input = Input::get('id');

$sql = 'SELECT something.*
                            FROM something s                         
                            WHERE s.id= '.$input.';

How can i pass the value if the $input is an array get from blade?

12th September, 2017

dreamxyz left a reply on How To Ignore The Where Clause When There Is No Value For The Field? • 1 month ago

@kirankrishnan Ok, thanks. I found my mistake.

dreamxyz started a new conversation How To Ignore The Where Clause When There Is No Value For The Field? • 1 month ago

$val = Input::get('id'); //if this id is empty then ignore the where clause for id.

$test= DB::table('item')
                  ->where('id_item', $id)
                  ->where('qty','<', 10)       
                  ->get();

I want to remove the where clause for id_item if null value. e.g.

$test= DB::table('item')
               {{--   ->where('id_item', $id) --}} // if null value, then will not go through
                  ->where('qty','<', 10)       
                  ->get();

How can i do this?

11th September, 2017

dreamxyz started a new conversation How To Display All The Data From Table A With Corresponding Data From Table B? • 1 month ago

I have Table A and Table B.

//Table A

a_id     | name |   
1      abc
2      efg
3      hij

//Table B
b_id | a_id | qty
1     2     3
2        1         5

I will display all the table A item in a datatable if the following id got qty in table B then the qty will be displayed as shown in table B else will return 0. Is that possible to show in this way?

7th September, 2017

dreamxyz started a new conversation Copy Text To Clipboard Not Working In Bootstrap Modal Dialog. • 1 month ago

Everything is fine, but when copy text to clipboard in bootstrap modal dialog then it does not work.

<button class="btn btn-primary-outline" data-toggle="modal" data-target="#dia">Open</button>
<button type="button" class="btn btn-info-outline btn-sm copy" data-clipboard-text="not in modal"><i class="fa fa-clipboard"></i></button>
                    
<div class="modal fade" id="dia" tabindex="-1" role="dialog" aria-hidden="false">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <form>
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                        <span aria-hidden="true">&times;</span>
                        <span class="sr-only">Close</span>
                    </button>
                    <h4 class="modal-title">Test</h4>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-info-outline btn-sm copy" data-clipboard-text="in modal">
                        <i class="fa fa-clipboard"></i>
                    </button>
                </div>
            </form>
        </div>
    </div>
</div>

<script> 
var clipboard = new Clipboard('.copy');
</script>

This is the sample code for the clipboard function in modal and not in modal. Is there any solution to fix this issue?

5th September, 2017

dreamxyz left a reply on How Can I Replace The Bracket Or Any Punctuation On Non English Characters? • 1 month ago

@tisuchi but the characters not always the same

dreamxyz left a reply on How Can I Replace The Bracket Or Any Punctuation On Non English Characters? • 1 month ago

@tisuchi For more clear, i provide few example.

//sample string
string1 = '(Circle) (圈)  '
string2 = '(圈) (Circle) '
string3 = '(Circle) (圈) abc '
string4 = 'def (Circle) (圈)  '

//expected output
'(Circle)'
'(Circle)'
'(Circle) abc'
'def (Circle)'

dreamxyz left a reply on How Can I Replace The Bracket Or Any Punctuation On Non English Characters? • 1 month ago

@tisuchi My string

(Circle) (圈) 

Output

(Circle) 

dreamxyz left a reply on How Can I Replace The Bracket Or Any Punctuation On Non English Characters? • 1 month ago

@tisuchi If i am using this method, all bracket will be removed right? I just want to remove the bracket around the non-English characters and others will be remained.

dreamxyz left a reply on How Can I Replace The Bracket Or Any Punctuation On Non English Characters? • 1 month ago

@tisuchi i able to remove, but the bracket around the non english characters is still existed.

dreamxyz started a new conversation How Can I Replace The Bracket Or Any Punctuation On Non English Characters? • 1 month ago

I am using the code below to replace those characters

.replace(/([^\x00-\x7F])/g, "")

For example

(Circle) ( ** any non-english characters **) 

The result will be

(Circle) ()

My expected result is

(Circle)

4th September, 2017

dreamxyz left a reply on How To Access Another Model Data Within Current Model? • 1 month ago

@Jaytee

dd($items); // return collection of data

dd($item->supplier->supplier_name); // Undefined property: stdClass::$suplier

dreamxyz left a reply on How To Access Another Model Data Within Current Model? • 1 month ago

@Jaytee Sorry it was just a mistake, but not working also.

dreamxyz left a reply on How To Access Another Model Data Within Current Model? • 1 month ago

@Jaytee I put it in my Item model, i don't think the relationship incorrect?

 public function supplier()
    {
        return $this->belongsTo('App\Models\Item', 'item_id');
    }

dreamxyz started a new conversation How To Access Another Model Data Within Current Model? • 1 month ago

I have 2 table - supplier and item. In my item model, i have supplier function

 public function supplier()
    {
        return $this->belongsTo('App\Models\Item', 'item_id');
    }

In my controller

$items = DB::table('item')
                ->where('active', 1)
                ->get();

In my view, i want to get the name of supplier how can i do it?

@foreach($items as $item)
{{ $item->supplier->supplier_name}}
@endfor

30th August, 2017

dreamxyz left a reply on How To Compare A String With Carbon Date If More Than Or Less Than? • 1 month ago

$date1 =Carbon::parse($date);
$today = Carbon::now();

dreamxyz started a new conversation How To Compare A String With Carbon Date If More Than Or Less Than? • 1 month ago

Is it correct to compare between string date and carbon date?

$today = Carbon::today();
$date= '22-7-2017';

if($date > $today){
//.....
}

dreamxyz started a new conversation How Can I Access The Variable Pass To The View From Js File? • 1 month ago

I have a view and js file. I want to display the the value in my js file. e.g.

var c = '{{$sample)}';

When i display, it will display as {{$sample}} instead of value passed. My view will access the function in js file. How could i make it work in this case?

28th August, 2017

dreamxyz left a reply on How To Replace Or Escape All Chinese Character From A String? • 1 month ago

The problem occurred if retrieve the data from my database, and it will show apostrophe as ' . Any know what is the solution for this case?

dreamxyz left a reply on How To Replace Or Escape All Chinese Character From A String? • 1 month ago

@impbob Yeah, i am still finding the reason why this is happening.

dreamxyz left a reply on How To Replace Or Escape All Chinese Character From A String? • 1 month ago

@impbob Sorry, forgot to mention where i am going to display the output. I am sharing some text via web 'whatsapp' sharing button. When i am sharing the text to the chat, it show incorrect result. By right, everything should be worked. I have no idea and finding solution.

dreamxyz started a new conversation How To Replace Or Escape All Chinese Character From A String? • 1 month ago

I tried the code below

str = 'Arc's (a chinese character here)'
str.replace(/[^a-z\d\s]+/gi,'');

The result show

Arc039s

Expected result

Arc's

What's wrong with the code, and is that the right way for removing chinese character including punctuation?

Thanks in advance.

Edit Your Profile
Update

Want to change your profile photo? We pull from gravatar.com.